:root{
  /* Charte FLOREK « Atelier » : crème, vert forêt, or. Une seule ambiance, claire.
     Idée directrice : le plan d'architecte. Papier quadrillé, traits de cote, numéros de repère ;
     le plan d'un logement sert de sommaire aux savoir-faire. */
  color-scheme: light;
  --cream:#f5f0e4;
  --paper:#fffdf8;
  --forest:#1d3a2c;
  --forest-deep:#142920;
  --gold:#ab873a;
  --gold-soft:#d8c38e;
  --ink:#212e28;
  --muted:#5c6962;
  --line:#dcd2bd;
  --display:"Cormorant Garamond", "Times New Roman", Georgia, serif;
  --body:"DM Sans", "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(2.5rem,5.6vw,4.3rem);color:var(--forest)}
h1 em,h2 em{font-style:italic;font-weight:500;color:var(--gold)}
h2{font-size:clamp(2rem,4vw,3rem);color:var(--forest)}
h3{font-size:1.6rem;color:var(--forest)}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:3px}
[hidden]{display:none !important}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.lead{font-size:1.14rem;color:var(--muted);max-width:58ch}

/* Repère de section : filet or + intitulé, comme un cartouche de plan */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold);flex:none}
.head{display:grid;gap:14px;margin-bottom:40px}
.page-head{padding:64px 0 8px}
.page-head h1{font-size:clamp(2.3rem,4.8vw,3.6rem);margin-top:14px}
.page-head .lead{margin-top:16px}

/* Bandeau supérieur + en-tête */
.strip{background:var(--forest-deep);color:#c9d3cc;font-size:.82rem}
.strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:8px 20px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px}
.strip a{color:var(--cream);font-weight:700;text-decoration:none;white-space:nowrap}
.strip-r{display:flex;align-items:center;gap:16px}
.langs{display:flex;border:1px solid rgba(216,195,142,.6);border-radius:999px;overflow:hidden}
.langs button{background:none;border:0;color:var(--cream);font:700 .72rem var(--body);letter-spacing:.08em;padding:4px 10px;cursor:pointer}
.langs button[aria-pressed="true"]{background:var(--gold-soft);color:var(--forest-deep)}
header{background:var(--forest);color:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--gold)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:8px 26px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.brand svg{width:48px;height:48px;flex:none}
.brand b{font-family:var(--display);font-size:1.7rem;letter-spacing:.16em;font-weight:600;display:block;line-height:1}
.brand small{font-size:.62rem;letter-spacing:.34em;color:var(--gold-soft);display:block;margin-top:5px}
nav{display:flex;align-items:center;gap:4px 26px;flex-wrap:wrap}
nav a{text-decoration:none;font-size:.93rem;padding:6px 0;position:relative;color:#dfe6e0}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
nav a:hover::after,nav a[aria-current="page"]::after{transform:scaleX(1)}
nav a[aria-current="page"]{color:#fff}
@media (prefers-reduced-motion:reduce){nav a::after{transition:none}}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--gold);color:var(--forest-deep);font:700 .98rem var(--body);padding:14px 26px;border-radius:2px;border:1.5px solid var(--gold);text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:#bd9947;border-color:#bd9947}
.btn.arrow::after{content:"→";font-weight:400}
.btn.ghost{background:none;color:var(--forest);border-color:var(--forest)}
.btn.ghost:hover{background:var(--forest);color:var(--cream)}
.btn.light{background:none;color:var(--cream);border-color:var(--gold-soft)}
.btn.light:hover{background:var(--cream);color:var(--forest);border-color:var(--cream)}
.btn.wa{background:#1f8f4e;border-color:#1f8f4e;color:#fff}
.btn.small{padding:10px 18px;font-size:.88rem}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.tlink{font-weight:700;color:var(--forest);text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:2px;background:none;border-top:0;border-left:0;border-right:0;font-family:var(--body);font-size:.95rem;cursor:pointer}
.tlink:hover{color:var(--gold)}

section{padding:84px 0}
.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dark{background:var(--forest);color:var(--cream)}
.dark h2,.dark h3{color:var(--cream)}
.dark .lead{color:#c9d3cc}

/* Accueil : texte + plan */
.hero{padding:70px 0 76px;border-bottom:1px solid var(--line);background:
  linear-gradient(var(--cream),var(--cream)) padding-box}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero h1{margin:20px 0 24px}
.hero .cta{margin-top:32px}
.plan{background-color:var(--paper);background-image:linear-gradient(rgba(171,135,58,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(171,135,58,.11) 1px,transparent 1px);background-size:22px 22px;border:1px solid var(--line);padding:22px 22px 18px;box-shadow:0 22px 50px -32px rgba(20,41,32,.45)}
.plan svg{display:block;width:100%;height:auto}
.plan .wall{fill:none;stroke:var(--forest);stroke-linecap:square}
.plan .draw{stroke-dasharray:1700;animation:draw 1.8s ease-out both}
@keyframes draw{from{stroke-dashoffset:1700}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.plan .draw{animation:none}}
.plan .fix{fill:none;stroke:#8d9a92;stroke-width:1.2}
.plan .dim{stroke:var(--gold);stroke-width:1;fill:none}
.plan .dimt{font:500 11px var(--body);fill:var(--gold);letter-spacing:.06em}
.plan .zone{cursor:pointer;text-decoration:none}
.plan .zone rect.hit{fill:rgba(171,135,58,0);transition:fill .2s}
.plan .zone:hover rect.hit,.plan .zone:focus rect.hit,.plan .zone.on rect.hit{fill:rgba(171,135,58,.2)}
.plan .zone:focus{outline:none}
.plan .zone:focus-visible rect.hit{stroke:var(--gold);stroke-width:2}
.plan .badge{fill:var(--forest)}
.plan .zone.on .badge{fill:var(--gold)}
.plan .bt{font:700 11px var(--body);fill:var(--cream);text-anchor:middle}
.plan .zl{font:500 10.5px var(--body);fill:var(--muted);text-anchor:middle;letter-spacing:.04em}
.plan-cap{border-top:1px solid var(--line);margin-top:14px;padding-top:14px;display:grid;gap:4px;min-height:104px;align-content:start}
.plan-cap b{font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--forest);line-height:1.15}
.plan-cap b span{color:var(--gold);margin-right:8px}
.plan-cap p{font-size:.93rem;color:var(--muted)}
.plan-note{font-size:.78rem;color:var(--muted);margin-top:10px}

/* Repères */
.facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.facts div{padding:26px 24px;border-left:1px solid var(--line);display:grid;gap:4px}
.facts div:first-child{border-left:0}
.facts dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.facts dd{margin:0;font-family:var(--display);font-size:1.38rem;font-weight:600;color:var(--forest);line-height:1.2}

/* Sommaire des savoir-faire */
.index{border-top:1px solid var(--forest)}
.index a{display:grid;grid-template-columns:70px 1fr 1.25fr 40px;gap:20px;align-items:baseline;padding:24px 6px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}
.index a:hover{background:var(--paper);padding-left:16px;padding-right:0}
@media (prefers-reduced-motion:reduce){.index a{transition:none}}
.index .n{font-family:var(--display);font-size:1.5rem;color:var(--gold);font-weight:500;font-variant-numeric:tabular-nums}
.index h3{font-size:1.75rem}
.index p{color:var(--muted);font-size:.98rem}
.index .go{font-size:1.3rem;color:var(--gold);text-align:right}

/* Idées de projets */
.ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(216,195,142,.32);border:1px solid rgba(216,195,142,.32)}
.idea{background:var(--forest);padding:28px 26px;font-family:var(--display);font-size:1.5rem;line-height:1.2}
.idea span{display:block;font:400 .92rem/1.5 var(--body);color:#c9d3cc;margin-top:10px}
.ideas-foot{margin-top:28px;color:var(--gold-soft);max-width:60ch}

/* Déroulé */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;list-style:none;margin:0;padding:0;border-top:1px solid var(--forest)}
.steps li{counter-increment:s;padding:26px 26px 6px 0;position:relative}
.steps li::before{content:"0" counter(s);font-family:var(--display);font-size:3.2rem;color:var(--gold);font-weight:500;line-height:1;display:block;margin-bottom:14px}
.steps li::after{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--gold);border-radius:50%}
.steps b{display:block;font-family:var(--display);font-size:1.4rem;color:var(--forest);font-weight:600;line-height:1.18;margin-bottom:8px}
.steps span{color:var(--muted);font-size:.97rem}

/* Engagements + estimation */
.duo{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:start}
.why{display:grid;gap:0;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.why li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:34px 1fr;gap:6px 10px}
.why li::before{content:"";width:16px;height:9px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg);margin-top:7px}
.why b{color:var(--forest);font-size:1.06rem}
.why span{color:var(--muted);font-size:.97rem;grid-column:2}
.teaser{background:var(--forest);color:var(--cream);padding:36px 34px;display:grid;gap:16px;border-top:4px solid var(--gold)}
.teaser h3{color:var(--cream);font-size:1.9rem}
.teaser p{color:#c9d3cc}
.teaser .eyebrow{color:var(--gold-soft)}
.band{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}

/* Page savoir-faire */
.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.subnav button{background:var(--paper);border:1px solid var(--line);color:var(--forest);font:500 .88rem var(--body);padding:8px 14px;border-radius:999px;cursor:pointer}
.subnav button:hover{border-color:var(--gold);color:var(--gold)}
.act{display:grid;grid-template-columns:150px 1fr 1fr;gap:34px;padding:46px 0;border-top:1px solid var(--line);scroll-margin-top:96px}
.act:first-child{border-top:1px solid var(--forest)}
.act .num{font-family:var(--display);font-size:4.6rem;font-weight:500;color:var(--gold);line-height:.9;display:grid;gap:18px;align-content:start;font-variant-numeric:tabular-nums}
.act svg{width:44px;height:44px;stroke:var(--forest);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.act h2{font-size:2.2rem;margin-bottom:12px}
.act .txt p{color:var(--muted)}
.act .links{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px}
.act ul{margin:0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.act li{padding:13px 0 13px 26px;position:relative;border-bottom:1px solid var(--line)}
.act li::before{content:"";position:absolute;left:0;top:1.55em;width:13px;height:1.5px;background:var(--gold)}

/* Estimation */
.est{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:start}
.est-q{display:grid;gap:30px}
.est fieldset{border:0;margin:0;padding:0;min-width:0}
.est legend{display:flex;align-items:baseline;gap:12px;padding:0;margin-bottom:14px;font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--forest)}
.est legend i{font-style:normal;font-size:1.15rem;color:var(--gold);font-variant-numeric:tabular-nums}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{background:var(--paper);border:1px solid #cfc4ab;color:var(--ink);font:500 .96rem var(--body);padding:11px 16px;border-radius:2px;cursor:pointer;text-align:left}
.chip small{display:block;font-size:.81rem;color:var(--muted);font-weight:400;max-width:27ch;line-height:1.35;margin-top:3px}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:var(--cream);font-weight:700}
.chip[aria-pressed="true"] small{color:#c9d3cc}
.sheet{background:var(--forest);color:var(--cream);padding:30px 30px 28px;display:grid;gap:18px;position:sticky;top:96px;border-top:4px solid var(--gold);box-shadow:0 26px 54px -34px rgba(20,41,32,.7)}
.sheet .eyebrow{color:var(--gold-soft)}
.sheet dl{margin:0;display:grid;gap:0}
.sheet dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed rgba(216,195,142,.4);font-size:.95rem}
.sheet dt{color:#b9c6bd}
.sheet dd{margin:0;font-weight:700;text-align:right}
.sheet .range{font-family:var(--display);font-size:clamp(2rem,3.4vw,2.7rem);font-weight:600;line-height:1.08;font-variant-numeric:tabular-nums}
.sheet .lbl{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);font-weight:700}
.sheet .note{font-size:.84rem;color:#b9c6bd;line-height:1.5}
.faq{display:grid;gap:0;max-width:820px;border-top:1px solid var(--forest)}
.faq details{border-bottom:1px solid var(--line);padding:20px 4px}
.faq summary{cursor:pointer;font-family:var(--display);font-size:1.35rem;font-weight:600;color:var(--forest);list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-family:var(--body);font-weight:400;font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin-top:10px;max-width:66ch}

/* Page en construction */
.soon{background-color:var(--paper);background-image:linear-gradient(rgba(171,135,58,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(171,135,58,.11) 1px,transparent 1px);background-size:22px 22px;border:1px solid var(--line);padding:60px 44px;display:grid;gap:18px;justify-items:start}
.soon .tag{background:var(--forest);color:var(--cream);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:6px 12px}
.soon h2{max-width:20ch}

/* Rendez-vous */
.rdv{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:start}
.contact{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--forest)}
.contact p{padding:16px 0;border-bottom:1px solid var(--line)}
.contact a,.contact span{font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--forest);word-break:break-word;text-decoration:none}
.contact a:hover{color:var(--gold)}
.contact small{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:2px}
form{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--forest);padding:32px;display:grid;gap:18px;box-shadow:0 22px 50px -36px rgba(20,41,32,.45)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:6px;font-size:.88rem;font-weight:500;color:var(--forest)}
input,select,textarea{font:400 1rem var(--body);color:var(--ink);background:#fff;border:1px solid #cabfa7;border-radius:2px;padding:12px 13px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--forest)}
textarea{min-height:104px;resize:vertical}
.note{font-size:.88rem;color:var(--muted)}
.err{color:#9c2b1e;font-size:.9rem;font-weight:500}
.estline{background:var(--cream);border-left:3px solid var(--gold);padding:11px 15px;font-size:.92rem}
#result{background:var(--cream);border:1px solid var(--gold);padding:22px;display:grid;gap:14px;margin-top:18px}
#result pre{margin:0;white-space:pre-wrap;font:400 .93rem/1.55 var(--body);background:#fff;border:1px solid var(--line);padding:14px}
#result .send{display:flex;gap:10px;flex-wrap:wrap}

.legal{max-width:780px;display:grid;gap:0;border-top:1px solid var(--forest)}
.legal div{padding:22px 0;border-bottom:1px solid var(--line)}
.legal h3{font-size:1.35rem;margin-bottom:6px}
.legal p{color:var(--muted)}

footer{background:var(--forest-deep);color:#c2cdc5;font-size:.92rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.3fr;gap:36px;padding-top:56px;padding-bottom:44px}
.foot b.name{font-family:var(--display);font-size:1.9rem;letter-spacing:.16em;color:var(--cream);font-weight:600;display:block;line-height:1;margin-bottom:10px}
.foot h4{margin:0 0 12px;font:700 .72rem var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.foot a{text-decoration:none;color:#dfe6e0}
.foot a:hover{color:var(--gold-soft)}
.foot-b{border-top:1px solid rgba(216,195,142,.25);padding-top:16px;padding-bottom:20px;font-size:.8rem;color:#9fada4}

@media (max-width:940px){
  .hero-grid,.rdv,.est,.duo{grid-template-columns:1fr;gap:38px}
  .sheet{position:static}
  .facts{grid-template-columns:1fr 1fr}
  .facts div:nth-child(3){border-left:0}
  .facts div:nth-child(n+3){border-top:1px solid var(--line)}
  .index a{grid-template-columns:48px 1fr 30px}
  .index p{grid-column:2}
  .index .go{grid-row:1;grid-column:3}
  .ideas{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .act{grid-template-columns:1fr;gap:20px;padding:36px 0}
  .act .num{grid-auto-flow:column;justify-content:start;align-items:end;font-size:3.4rem}
  .foot{grid-template-columns:1fr 1fr}
  section{padding:60px 0}
  nav{flex-wrap:nowrap;overflow-x:auto;width:100%;gap:22px;padding-bottom:2px}
  nav a{white-space:nowrap}
  .bar .btn{display:none}
}
@media (max-width:560px){
  .ideas,.steps,.row,.facts,.foot{grid-template-columns:1fr}
  .facts div{border-left:0;border-top:1px solid var(--line)}
  .facts div:first-child{border-top:0}
  .index h3{font-size:1.45rem}
  .soon{padding:40px 24px}
  form{padding:22px}
}
/* Sommaire des savoir-faire (page) */
.sfgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.sf{background:var(--paper);border:1px solid var(--line);padding:30px;display:grid;grid-template-columns:auto 1fr;gap:6px 22px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.sf:hover{border-color:var(--gold);box-shadow:0 22px 44px -34px rgba(20,41,32,.5)}
.sf .n{font-family:var(--display);font-size:3rem;font-weight:500;color:var(--gold);line-height:.9;grid-row:span 4;font-variant-numeric:tabular-nums}
.sf h2{font-size:1.85rem}
.sf p{color:var(--muted);font-size:.97rem}
.sf ul{margin:8px 0 4px;padding:0;list-style:none;display:grid;gap:5px;font-size:.93rem}
.sf li{padding-left:20px;position:relative}
.sf li::before{content:"";position:absolute;left:0;top:.75em;width:11px;height:1.5px;background:var(--gold)}
.sf .more{font-weight:700;color:var(--forest);font-size:.93rem;margin-top:8px}
.sf .more::after{content:" →";color:var(--gold)}
/* Page détaillée */
.crumb{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:22px}
.crumb a{color:var(--gold);text-decoration:none}
.d-head{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start}
.d-num{font-family:var(--display);font-size:clamp(4rem,9vw,7rem);font-weight:500;color:var(--gold);line-height:.82;font-variant-numeric:tabular-nums}
.d-head h1{margin-top:0}
.d-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start}
.d-intro{font-family:var(--display);font-size:1.5rem;line-height:1.38;color:var(--forest);font-weight:500;margin-bottom:44px;max-width:34em}
.d-h{font-size:1.9rem;margin-bottom:18px}
.d-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 34px;border-top:1px solid var(--forest);counter-reset:d}
.d-list li{padding:15px 0 15px 38px;border-bottom:1px solid var(--line);position:relative;counter-increment:d}
.d-list li::before{content:counter(d,decimal-leading-zero);position:absolute;left:0;top:17px;font-size:.78rem;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.d-side{display:grid;gap:18px;position:sticky;top:104px}
.d-card{background:var(--forest);color:var(--cream);padding:28px;display:grid;gap:14px;border-top:4px solid var(--gold)}
.d-card .eyebrow{color:var(--gold-soft)}
.d-card ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.d-card li{font-family:var(--display);font-size:1.3rem;line-height:1.25;padding:12px 0;border-bottom:1px dashed rgba(216,195,142,.4)}
.d-card li:last-child{border-bottom:0;padding-bottom:0}
.d-card.note{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--gold)}
.d-card.note .eyebrow{color:var(--gold)}
.d-card.note p:last-child{color:var(--muted)}
.d-actions{display:grid;gap:10px}
.d-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}
.d-nav a[id]{text-decoration:none;display:grid;gap:2px}
.d-nav a[id] small{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.d-nav a[id] b{font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--forest)}
.d-nav a[id]:hover b{color:var(--gold)}
#d-next{text-align:right}
@media (max-width:940px){
  .sfgrid,.d-grid{grid-template-columns:1fr}
  .d-side{position:static}
  .d-head{gap:18px}
}
@media (max-width:560px){
  .sf{grid-template-columns:1fr;padding:24px}
  .sf .n{grid-row:auto;font-size:2.4rem}
  .d-list{grid-template-columns:1fr}
  .d-head{grid-template-columns:1fr}
  .d-nav{grid-template-columns:1fr;text-align:left}
  #d-next{text-align:left}
}
/* Curseur de dimension */
.slider{display:flex;align-items:center;gap:20px}
.slider input{flex:1;padding:0;border:0;background:none;accent-color:var(--forest);height:28px}
.slider output{font-family:var(--display);font-size:2rem;font-weight:600;color:var(--forest);min-width:4.2em;text-align:right;font-variant-numeric:tabular-nums}
.slider-ends{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-right:calc(8.4rem + 20px)}
/* Idées cliquables */
a.idea{text-decoration:none;color:var(--cream);position:relative;transition:background .2s}
a.idea:hover{background:#25483a}
a.idea::after{content:"→";position:absolute;right:22px;bottom:18px;color:var(--gold-soft);font-family:var(--body);font-size:1.1rem}
a.idea span{padding-right:26px}
/* Zone d'intervention */
.zones{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--forest)}
.zones li{padding:22px 22px 22px 0;border-bottom:1px solid var(--line)}
.zones b{display:block;font-family:var(--display);font-size:1.6rem;font-weight:600;color:var(--forest);line-height:1.15}
.zones span{color:var(--gold);font-weight:700;font-size:.82rem;letter-spacing:.14em}
/* WhatsApp flottant + barre d'action mobile */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:10px;background:#1f8f4e;color:#fff;text-decoration:none;font-weight:700;font-size:.92rem;padding:12px 18px 12px 14px;border-radius:999px;box-shadow:0 14px 30px -12px rgba(20,41,32,.6)}
.wa-float:hover{background:#19794a}
.wa-float svg{width:26px;height:26px}
.mbar{display:none}
@media (max-width:940px){
  .wa-float{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--forest-deep);border-top:1px solid var(--gold);padding-bottom:env(safe-area-inset-bottom,0)}
  .mbar a{color:var(--cream);text-decoration:none;font-weight:700;font-size:.88rem;text-align:center;padding:15px 6px;border-left:1px solid rgba(216,195,142,.25)}
  .mbar a:first-child{border-left:0}
  .mbar a.main{background:var(--gold);color:var(--forest-deep)}
  body{padding-bottom:54px}
  .zones{grid-template-columns:1fr 1fr}
  .slider-ends{margin-right:0}
  .slider{flex-wrap:wrap}
}
