:root{
      --black:#0A0A0A;
      --ink:#111111;
      --white:#FFFFFF;
      --ivory:#F4EDE4;
      --stone:#E9E2D8;
      --gold:#D4AF37;
      --gold-matte:#C9A646;
      --shadow: 0 18px 50px rgba(0,0,0,.10);
      --radius: 20px;
      --radius2: 28px;
      --max: 1120px;
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0;background:var(--white);color:var(--ink)}
    body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; line-height:1.5}
    a{color:inherit;text-decoration:none}
    .container{max-width:var(--max); margin:0 auto; padding:0 22px}
    .topbar{
      position:sticky; top:0; z-index:50;
      backdrop-filter:saturate(180%) blur(14px);
      background:rgba(255,255,255,.72);
      border-bottom:1px solid rgba(0,0,0,.06);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between;
      gap:14px; padding:14px 0;
    }
    .brand{
      display:flex; align-items:baseline; gap:12px;
      letter-spacing:.08em;
    }
    .brand .wordmark{
      font-family:"Playfair Display", serif;
      font-weight:600;
      font-size:20px;
      letter-spacing:.10em;
    }
    .brand .tag{
      font-size:11px;
      letter-spacing:.26em;
      color:rgba(17,17,17,.65);
      text-transform:uppercase;
    }
    .navlinks{
      display:flex; gap:18px; align-items:center;
      font-size:13px; color:rgba(17,17,17,.72);
    }
    .navlinks a{padding:10px 10px; border-radius:12px}
    .navlinks a:hover{background:rgba(0,0,0,.04); color:rgba(17,17,17,.95)}
    .cta{display:flex; align-items:center; gap:10px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      padding:11px 14px;
      border-radius:999px;
      font-family:Poppins, Inter, sans-serif;
      font-weight:600;
      font-size:12px;
      letter-spacing:.06em;
      text-transform:uppercase;
      border:1px solid rgba(0,0,0,.10);
      transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-1px); box-shadow:0 14px 30px rgba(0,0,0,.10)}
    .btn.primary{background:var(--ink); color:var(--white); border-color:rgba(0,0,0,.22)}
    .btn.ghost{background:transparent}
    .btn.gold{background:linear-gradient(180deg, var(--gold), var(--gold-matte)); color:#111; border-color:rgba(212,175,55,.55)}
    .btn.primary:hover{background:#000}

    .hero{position:relative; padding:70px 0 34px; overflow:hidden}
    .hero::before{
      content:""; position:absolute; inset:-120px -60px auto -60px; height:520px;
      background:
        radial-gradient(1200px 420px at 30% 30%, rgba(212,175,55,.12), transparent 55%),
        radial-gradient(700px 360px at 75% 35%, rgba(17,17,17,.08), transparent 60%),
        linear-gradient(180deg, rgba(244,237,228,.85), rgba(255,255,255,1));
      transform:skewY(-6deg);
      border-bottom:1px solid rgba(0,0,0,.04);
    }
    .hero-grid{position:relative; display:grid; grid-template-columns: 1.15fr .85fr; gap:26px; align-items:center}
    .kicker{color:rgba(17,17,17,.68); letter-spacing:.22em; text-transform:uppercase; font-size:12px; margin:0 0 10px}
    h1{font-family:"Playfair Display", serif; font-size:52px; line-height:1.05; letter-spacing:.02em; margin:0 0 16px; font-weight:600}
    .lead{font-size:16px; color:rgba(17,17,17,.78); margin:0 0 22px; max-width:60ch}
    .hero-actions{display:flex; gap:12px; flex-wrap:wrap}
    .hero-note{margin-top:14px; font-size:12px; color:rgba(17,17,17,.60)}
    .card{background:rgba(255,255,255,.78); border:1px solid rgba(0,0,0,.06); border-radius:var(--radius2); box-shadow:var(--shadow); overflow:hidden}
    .card-inner{padding:18px}
    .mini{display:grid; gap:12px}
    .mini .row{
      display:flex; justify-content:space-between; align-items:center;
      padding:12px; border:1px solid rgba(0,0,0,.06); border-radius:16px; background:rgba(255,255,255,.72)
    }
    .mini .row .l{display:flex; align-items:center; gap:10px; min-width:0}
    .pill{width:34px; height:34px; border-radius:12px; background:radial-gradient(circle at 30% 30%, rgba(212,175,55,.55), rgba(212,175,55,.10)); border:1px solid rgba(212,175,55,.35); flex:0 0 auto}
    .mini .row b{font-size:13px}
    .mini .row span{font-size:12px; color:rgba(17,17,17,.60)}
    .mini .row .r{font-size:12px; color:rgba(17,17,17,.70); letter-spacing:.06em}

    section{padding:54px 0}
    .section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:18px}
    .section-head h2{margin:0; font-family:"Playfair Display", serif; font-size:30px; font-weight:600}
    .section-head p{margin:0; color:rgba(17,17,17,.70); max-width:68ch; font-size:14px}
    .grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px}
    .grid-2{display:grid; grid-template-columns:repeat(2, 1fr); gap:16px}

    .service{
      padding:18px; border-radius:var(--radius);
      border:1px solid rgba(0,0,0,.07);
      background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(244,237,228,.55));
    }
    .service .top{display:flex; align-items:center; gap:12px; margin-bottom:10px}
    .service .icon{
      width:42px; height:42px; border-radius:16px;
      background:radial-gradient(circle at 35% 30%, rgba(212,175,55,.55), rgba(17,17,17,.08));
      border:1px solid rgba(0,0,0,.06);
    }
    .service h3{margin:0; font-size:16px; font-family:Poppins, Inter, sans-serif; font-weight:600}
    .service p{margin:0; color:rgba(17,17,17,.72); font-size:13px}
    .service ul{margin:12px 0 0; padding:0 0 0 18px; color:rgba(17,17,17,.72); font-size:13px}
    .service li{margin:6px 0}

    .steps{
      padding:22px; border-radius:var(--radius2);
      border:1px solid rgba(0,0,0,.07);
      background:linear-gradient(180deg, rgba(244,237,228,.65), rgba(255,255,255,1));
    }
    .step{display:grid; grid-template-columns: 44px 1fr; gap:14px; padding:14px 0; border-bottom:1px solid rgba(0,0,0,.06)}
    .step:last-child{border-bottom:0}
    .badge{
      width:36px; height:36px; border-radius:999px;
      background:rgba(17,17,17,.95); color:#fff;
      display:flex; align-items:center; justify-content:center;
      font-family:Poppins, Inter, sans-serif; font-weight:600; font-size:12px;
    }
    .step b{display:block; margin-bottom:4px}
    .muted{color:rgba(17,17,17,.70); font-size:13px}

    .folio{border-radius:var(--radius2); border:1px solid rgba(0,0,0,.07); overflow:hidden; background:#fff}
    .folio .thumb{
      height:150px;
      background:
        radial-gradient(700px 240px at 30% 40%, rgba(212,175,55,.18), transparent 60%),
        linear-gradient(180deg, rgba(17,17,17,.06), rgba(244,237,228,.55));
      border-bottom:1px solid rgba(0,0,0,.06);
    }
    .folio .pad{padding:16px}
    .folio h4{margin:0 0 8px; font-family:Poppins, Inter, sans-serif; font-size:14px}
    .folio p{margin:0; color:rgba(17,17,17,.70); font-size:13px}

    .pricing{
      border-radius:var(--radius2); border:1px solid rgba(0,0,0,.07);
      padding:18px; background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(244,237,228,.55));
    }
    .price{font-family:"Playfair Display", serif; font-size:34px; margin:8px 0 6px}
    .pricing small{color:rgba(17,17,17,.65)}
    .pricing ul{margin:14px 0 0; padding:0 0 0 18px; color:rgba(17,17,17,.72); font-size:13px}
    .pricing li{margin:7px 0}
    .pricing .btn{margin-top:14px; width:100%}

    .contact{display:grid; grid-template-columns: 1fr .9fr; gap:16px; align-items:start}
    .panel{border-radius:var(--radius2); border:1px solid rgba(0,0,0,.07); padding:18px; background:#fff; box-shadow:var(--shadow)}
    label{display:block; font-size:12px; color:rgba(17,17,17,.70); margin:10px 0 6px}
    input, textarea{
      width:100%; padding:12px;
      border-radius:14px; border:1px solid rgba(0,0,0,.12);
      font-family:Inter, system-ui, sans-serif; font-size:13px; outline:none;
    }
    textarea{min-height:120px; resize:vertical}
    input:focus, textarea:focus{border-color:rgba(212,175,55,.65); box-shadow:0 0 0 4px rgba(212,175,55,.12)}
    .fine{font-size:12px; color:rgba(17,17,17,.62); margin-top:10px}
    footer{padding:26px 0 40px; border-top:1px solid rgba(0,0,0,.06); background:linear-gradient(180deg, rgba(244,237,228,.35), rgba(255,255,255,1))}
    .foot{display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; color:rgba(17,17,17,.70); font-size:12px}
    .foot .smallcaps{letter-spacing:.22em; text-transform:uppercase; color:rgba(17,17,17,.58)}
    .divider{height:1px; background:rgba(0,0,0,.06); margin:16px 0}
    .chips{display:flex; gap:10px; flex-wrap:wrap}
    .chip{padding:9px 12px; border-radius:999px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.65); font-size:12px; color:rgba(17,17,17,.74)}
    .menu-btn{display:none}
    @media (max-width: 980px){
      .hero-grid{grid-template-columns:1fr; gap:18px}
      h1{font-size:44px}
      .grid-3{grid-template-columns:1fr}
      .grid-2{grid-template-columns:1fr}
      .contact{grid-template-columns:1fr}
      .navlinks{display:none}
      .menu-btn{display:inline-flex}
    }

/* =========================================================
   DOCALISE — Patch navigation mobile responsive
   ========================================================= */
.nav-toggle{ -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.nav-mobile{ display:none; }
.site-header.is-open .nav-mobile{ display:block; }

@media (max-width: 900px){
  .nav-desktop{ display:none !important; }
  .nav-toggle{ display:flex !important; }
}

.site-header .nav-mobile{
  opacity:0;
  transform: translateY(-10px);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events:none;
}
.site-header.is-open .nav-mobile{
  opacity:1;
  transform: translateY(0);
  pointer-events:auto;
}

/* =========================================================
   DOCALISE — Merci (message premium + animation discrète)
   ========================================================= */
[data-animate]{
  opacity:0;
  transform: translateY(14px);
  transition: opacity .55s ease, transform .55s ease;
  will-change: opacity, transform;
}
.in-view[data-animate]{
  opacity:1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  [data-animate], .in-view[data-animate]{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}
.thanks-card{ position:relative; overflow:hidden; }
.thanks-badge{
  position:absolute;
  right:16px;
  top:16px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background: rgba(201,166,70,.18);
  border: 1px solid rgba(201,166,70,.35);
  font-weight:700;
  transform: scale(.96);
  animation: docalisePop .6s ease .2s both;
}
@keyframes docalisePop{
  from{ opacity:0; transform: translateY(-6px) scale(.92); }
  to{ opacity:1; transform: translateY(0) scale(1); }
}
