*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;color:#171512;background:#faf7f1}a{color:inherit}img{max-width:100%;display:block}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;background:rgba(250,247,241,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(40,32,22,.08)}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand img{height:58px;width:auto;display:block}nav{display:flex;gap:24px}nav a{text-decoration:none;font-size:14px;color:#43382b}.hero{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch}.hero-media{background:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,0)),url('/assets/images/hero.jpg') center/cover no-repeat;min-height:620px}.hero-content{display:flex;flex-direction:column;justify-content:center;padding:120px 7vw 70px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:#8b6b42;margin:0 0 14px}.hero h1,.intro h2,.portfolio h2,.process h2,.contact h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.03;margin:0;color:#1d1710}.hero h1{font-size:clamp(42px,5vw,74px)}.hero p:not(.eyebrow){font-size:18px;line-height:1.65;color:#5a5148;max-width:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;text-decoration:none;border:1px solid #1f1a14;font-weight:700;cursor:pointer}.primary{background:#1f1a14;color:white}.secondary{background:transparent;color:#1f1a14}.intro,.portfolio,.process,.contact{padding:92px 5vw}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;background:white}.intro h2,.portfolio h2,.process h2,.contact h2{font-size:clamp(32px,4vw,54px)}.cards,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article,.steps div,form,.contact-card{background:#faf7f1;border:1px solid rgba(40,32,22,.08);border-radius:28px;padding:28px;box-shadow:0 20px 60px rgba(57,42,23,.06)}h3{margin:0 0 10px}.cards p,.steps p,.section-title p,.contact p{color:#62574d;line-height:1.65}.section-title{max-width:760px;margin-bottom:36px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:28px;background:#ddd;min-height:330px}.gallery figure.wide{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .45s ease}.gallery figure:hover img{transform:scale(1.04)}figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);padding:10px 14px;border-radius:999px;font-size:13px}.process{background:#211b15;color:white}.process h2{color:white}.steps div{background:#2d251d;border-color:rgba(255,255,255,.08);box-shadow:none}.steps span{color:#c9a46b;font-weight:800}.steps p{color:#d6cec2}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;background:white}.contact-lines{font-size:22px;font-weight:700}.contact-lines a{text-decoration:none}form{display:grid;gap:16px;background:#faf7f1}label{display:grid;gap:7px;font-weight:700;color:#342c23}input,textarea{width:100%;border:1px solid rgba(45,37,29,.18);border-radius:16px;padding:14px 15px;font:inherit;background:white}textarea{resize:vertical}.hidden{display:none}footer{padding:34px 5vw;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(40,32,22,.08);color:#62574d}@media(max-width:900px){.hero,.intro,.contact{grid-template-columns:1fr}.hero-media{min-height:56vh}.hero-content{padding:46px 5vw 70px}.gallery,.cards,.steps{grid-template-columns:1fr}.gallery figure.wide{grid-column:auto}.site-header{position:sticky}nav{gap:13px}.intro,.portfolio,.process,.contact{padding:62px 5vw}footer{flex-direction:column}}/* OPTIMISATION MOBILE */
@media (max-width: 768px) {

  body {
    font-size: 16px;
    overflow-x: hidden;
  }

  header {
    padding: 18px 20px;
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }

  nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }

  nav a {
    font-size: 14px;
  }

  .hero {
    min-height: 75vh;
    padding: 80px 20px;
    text-align: center;
  }

  .hero h1 {
    font-size: 36px;
    line-height: 1.1;
  }

  .hero p {
    font-size: 18px;
  }

  .btn {
    display: inline-block;
    width: 100%;
    max-width: 320px;
    text-align: center;
  }

  section {
    padding: 60px 20px;
  }

  h2 {
    font-size: 28px;
  }

  .portfolio-grid,
  .services-grid,
  .gallery,
  .grid {
    grid-template-columns: 1fr !important;
    gap: 20px;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .portfolio img,
  .gallery img {
    height: auto;
    object-fit: cover;
  }

  .contact {
    text-align: center;
  }

  footer {
    padding: 30px 20px;
    text-align: center;
  }
}

@media (max-width: 480px) {

  .hero h1 {
    font-size: 30px;
  }

  .hero p {
    font-size: 16px;
  }

  h2 {
    font-size: 24px;
  }

  section {
    padding: 45px 16px;
  }
}

/* LOGO NICOLAS BESSOLES */
.brand img{max-width:260px;object-fit:contain}
@media(max-width:900px){.brand img{height:52px;max-width:240px}}
@media(max-width:480px){.brand img{height:46px;max-width:220px}.site-header{padding:14px 18px}}
