  :root{
    --noir:#15110c;--noir-2:#1d1812;--ivoire:#f3ede2;--ivoire-2:#e9e0d1;
    --laiton:#bfa06a;--laiton-clair:#d8c099;--texte:#26211a;--texte-clair:#8a8174;
    --ligne:#ddd2bf;--ligne-noir:#322b22;--maxw:1180px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Jost',sans-serif;color:var(--texte);background:var(--ivoire);line-height:1.7;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.1}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .label{font-family:'Jost';font-weight:500;text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;color:var(--laiton)}
  .it{font-style:italic;color:var(--laiton)}

  .btn{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;font-weight:400;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--laiton);cursor:pointer;transition:.35s;background:none}
  .btn-fill{background:var(--laiton);color:var(--noir)}
  .btn-fill:hover{background:transparent;color:var(--laiton)}
  .btn-line-light{color:var(--ivoire);border-color:rgba(243,237,226,.4)}
  .btn-line-light:hover{background:var(--laiton);border-color:var(--laiton);color:var(--noir)}

  header{position:fixed;inset:0 0 auto 0;z-index:100;transition:.4s;padding:22px 0}
  header.scrolled{background:rgba(21,17,12,.94);backdrop-filter:blur(12px);padding:14px 0}
  .nav{display:flex;align-items:center;justify-content:space-between}
  .logo{font-family:'Cormorant Garamond';font-weight:600;font-size:1.6rem;color:var(--ivoire)}
  .logo .ap{color:var(--laiton)}
  nav ul{display:flex;gap:34px;list-style:none}
  nav ul a{font-family:'Jost';font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire);opacity:.85;transition:.3s}
  nav ul a:hover{opacity:1;color:var(--laiton)}
  .nav-cta{font-family:'Jost';font-size:.82rem;color:var(--ivoire);display:flex;gap:22px;align-items:center}
  .nav-cta .ic{color:var(--laiton)}
  @media(max-width:860px){nav ul,.nav-cta .tel{display:none}}

  .hero{position:relative;min-height:74vh;display:flex;align-items:center;background:var(--noir);color:var(--ivoire);overflow:hidden;padding:150px 0 70px}
  .hero-bg{position:absolute;inset:0}
  .hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.4}
  .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(21,17,12,.95) 22%,rgba(21,17,12,.55) 70%,rgba(21,17,12,.3))}
  .hero .wrap{position:relative;z-index:1}
  .crumb{font-family:'Jost';font-size:.74rem;letter-spacing:.08em;color:#9a9082;margin-bottom:22px}
  .crumb a:hover{color:var(--laiton)}
  .hero h1{font-size:clamp(2.4rem,5.4vw,4.2rem);font-weight:400;max-width:16ch}
  .hero p{font-family:'Jost';font-weight:300;font-size:1.12rem;color:#cfc6b6;max-width:48ch;margin:26px 0 38px}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap}

  section{padding:96px 0}
  .intro{max-width:760px}
  .intro .label{display:block;margin-bottom:20px}
  .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:400;margin-bottom:22px}
  .intro p{color:var(--texte-clair);font-size:1.06rem;margin-bottom:16px}

  .presta{background:var(--ivoire-2)}
  .presta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
  .pcard{background:#fff;border:1px solid var(--ligne);padding:30px 26px;transition:.35s}
  .pcard:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(28,26,23,.12)}
  .pcard .n{font-family:'Cormorant Garamond';font-style:italic;color:var(--laiton);font-size:1.3rem}
  .pcard h3{font-size:1.5rem;font-weight:500;margin:8px 0 8px}
  .pcard p{color:var(--texte-clair);font-size:.95rem}

  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
  .wc{border-top:1px solid var(--ligne);padding-top:22px}
  .wc b{font-family:'Cormorant Garamond';font-size:1.4rem;font-weight:500;display:block;margin-bottom:8px}
  .wc span{color:var(--texte-clair);font-size:.94rem}

  .zones{background:var(--noir);color:var(--ivoire);text-align:center}
  .zones h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:400;margin:14px 0 24px}
  .zones p{color:#cfc6b6;max-width:60ch;margin:0 auto 10px}
  .zones .list{color:var(--laiton-clair);font-family:'Cormorant Garamond';font-style:italic;font-size:1.3rem;margin-top:18px}

  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}
  .gallery img{width:100%;height:230px;object-fit:cover;transition:.5s;filter:grayscale(.1)}
  .gallery a{overflow:hidden}
  .gallery a:hover img{transform:scale(1.06);filter:none}

  .faq{max-width:820px}
  .faq h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:400;margin-bottom:36px}
  details{border-top:1px solid var(--ligne);padding:22px 0}
  details:last-child{border-bottom:1px solid var(--ligne)}
  summary{font-family:'Cormorant Garamond';font-size:1.4rem;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";color:var(--laiton);font-size:1.5rem;transition:.3s}
  details[open] summary::after{transform:rotate(45deg)}
  details p{color:var(--texte-clair);margin-top:14px}

  .cta{background:var(--noir-2);color:var(--ivoire);text-align:center;padding:110px 0}
  .cta h2{font-size:clamp(2.4rem,5vw,4rem);font-weight:400;margin-bottom:16px}
  .cta p{color:#cfc6b6;max-width:46ch;margin:0 auto 38px}

  .contact{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:start}
  .c-info .label{display:block;margin-bottom:18px}
  .c-info h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:400;margin-bottom:26px}
  .c-row{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--ligne);align-items:center}
  .c-row .ic{font-size:1.2rem;color:var(--laiton)}
  .c-row small{font-family:'Jost';text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;color:var(--texte-clair);display:block;margin-bottom:3px}
  .c-row b{font-family:'Cormorant Garamond';font-size:1.3rem;font-weight:500}
  .form{background:var(--noir);color:var(--ivoire);padding:46px}
  .form h3{font-size:1.8rem;font-weight:400;margin-bottom:6px}
  .form .sub{font-family:'Jost';font-weight:300;color:#a79e8f;margin-bottom:28px;font-size:.92rem}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .field{margin-bottom:20px}
  .field label{font-family:'Jost';text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;color:var(--laiton);display:block;margin-bottom:8px}
  .field input,.field select,.field textarea{width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--ligne-noir);background:none;color:var(--ivoire);font-family:'Jost';font-weight:300;font-size:1rem}
  .field input::placeholder,.field textarea::placeholder{color:#6b6356}
  .field select option{background:var(--noir)}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--laiton)}
  .field textarea{resize:vertical;min-height:70px}
  .form .btn{width:100%;justify-content:center;margin-top:6px}
  .form-ok{display:none;border:1px solid var(--laiton);color:var(--laiton-clair);padding:14px;text-align:center;font-size:.9rem;margin-top:16px}

  footer{background:var(--noir-2);color:#9a9082;padding:60px 0 30px;text-align:center}
  footer .logo{font-size:1.8rem;margin-bottom:16px;display:inline-block}
  footer .fnav{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin:18px 0 26px;font-family:'Jost';font-size:.82rem}
  footer .fnav a:hover{color:var(--laiton)}
  .foot-bot{border-top:1px solid var(--ligne-noir);padding-top:22px;font-size:.78rem}

  .wa{position:fixed;bottom:26px;right:26px;z-index:90;width:56px;height:56px;border-radius:50%;background:var(--noir);border:1px solid var(--laiton);display:grid;place-items:center;transition:.3s}
  .wa:hover{background:var(--laiton)}
  .wa svg{width:27px;height:27px;fill:var(--laiton)}
  .wa:hover svg{fill:var(--noir)}

  @media(max-width:860px){
    section{padding:64px 0}
    .presta-grid,.why-grid,.gallery,.contact{grid-template-columns:1fr;gap:18px}
    .row2{grid-template-columns:1fr}
    .form{padding:30px 22px}
  }
