:root{--primary:#264C3B;--primary-rgb:38,76,59;--ivory:#F7F3E9;--gold-light:#E3CC97;--gold-rgb:185,154,91;--veil-rgb:14,30,23}
[hidden]{display:none!important}
img{max-width:100%}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{padding-top:env(safe-area-inset-top,0px)}
/* Layout: slogan ticker, full-bleed photo slider, then calm glass panels on ivory; mobile = burger overlay + bottom action bar */
:root{
  --bg:var(--ivory); --surface:#FFFFFF; --glass:rgba(255,255,255,.66); --ink:#333333; --muted:#5E625A;
  --head:var(--primary); --btn:var(--primary); --btn-ink:#FFFFFF; --gold:#B99A5B; --gold-soft:rgba(var(--gold-rgb),.16);
  --line:rgba(var(--primary-rgb),.14); --grid:rgba(var(--primary-rgb),.05); --shadow:0 18px 50px -24px rgba(var(--primary-rgb),.38);
  --band:var(--primary); --band-ink:var(--ivory); --on-photo:#FFFFFF; --veil:rgba(var(--veil-rgb),.82);
  --ok:#3D7A5A; --warn:#B98A2E; --alert:#B4533A;
  --f-display:"Marcellus","Cormorant Garamond",Georgia,serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --bar-h:0px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D1814; --surface:#14231C; --glass:rgba(20,35,28,.7); --ink:#E7E2D4; --muted:#A9AEA2;
  --head:#EADCB8; --btn:#2F6049; --btn-ink:#FFFFFF; --gold:#CDB07A; --gold-soft:rgba(205,176,122,.14);
  --line:rgba(234,220,184,.13); --grid:rgba(234,220,184,.04); --shadow:0 18px 50px -24px rgba(0,0,0,.75);
  --band:#14231C; --band-ink:#EADCB8; --ok:#6FB58E; --warn:#D9AE55; --alert:#E07C62; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0D1814; --surface:#14231C; --glass:rgba(20,35,28,.7); --ink:#E7E2D4; --muted:#A9AEA2;
  --head:#EADCB8; --btn:#2F6049; --btn-ink:#FFFFFF; --gold:#CDB07A; --gold-soft:rgba(205,176,122,.14);
  --line:rgba(234,220,184,.13); --grid:rgba(234,220,184,.04); --shadow:0 18px 50px -24px rgba(0,0,0,.75);
  --band:#14231C; --band-ink:#EADCB8; --ok:#6FB58E; --warn:#D9AE55; --alert:#E07C62; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1rem;line-height:1.6;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px;
  padding-bottom:var(--bar-h)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--band)}
img{display:block}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:400;color:var(--head);text-wrap:balance;margin:0;line-height:1.12}
h2{font-size:clamp(1.75rem,3.4vw,2.6rem)}
h3{font-size:1.4rem}
p{margin:0}
.eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

/* ---------- slogan ticker ---------- */
.ticker{background:var(--band);color:var(--band-ink);font-size:.86rem;position:relative;z-index:40}
.ticker .wrap{display:flex;align-items:center;justify-content:center;gap:14px;min-height:40px}
.ticker-track{position:relative;flex:1;max-width:720px;height:40px;overflow:hidden;text-align:center}
.ticker-track p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s;opacity:0;transform:translateY(100%);padding-inline:4px;line-height:1.25}
.ticker-track p.on{opacity:1;transform:none}
.ticker-track p.out{opacity:0;transform:translateY(-100%)}
.ticker-track p::before{content:"◆";color:var(--gold);font-size:.6rem}
.tick-btn{background:none;border:0;color:var(--band-ink);opacity:.7;cursor:pointer;font:1rem var(--f-mono);padding:6px 8px}
.tick-btn:hover{opacity:1}
@media (max-width:560px){.ticker{font-size:.78rem}.tick-btn{display:none}}

/* ---------- nav ---------- */
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-size:1.35rem;color:var(--head)}
.logo span{color:var(--gold)}
.menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:.92rem}
.menu a{text-decoration:none;color:var(--muted)} .menu a:hover{color:var(--head)}
.burger{display:none;width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:var(--glass);cursor:pointer;place-items:center;color:var(--head)}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:1.6px;background:currentColor;position:relative;transition:transform .3s,background .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
.overlay{position:fixed;inset:0;z-index:45;background:var(--bg);padding-top:calc(130px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));
  padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:6px;overflow-y:auto;
  opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .35s,transform .35s}
.overlay.open{opacity:1;pointer-events:auto;transform:none}
.overlay a.big{font-family:var(--f-display);font-size:2rem;color:var(--head);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.overlay a.big::after{content:"→";font-family:var(--f-mono);font-size:1rem;color:var(--gold)}
.overlay .btn{margin-top:22px;justify-content:center}
.overlay .small{margin-top:auto;padding-top:24px;color:var(--muted);font-size:.9rem}
@media (max-width:900px){.menu,.nav .cta-desk{display:none}.burger{display:grid}}

.btn{display:inline-flex;align-items:center;gap:10px;font:600 .95rem var(--f-body);padding:14px 22px;border-radius:999px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;white-space:nowrap}
.btn-primary{background:var(--btn);color:var(--btn-ink);box-shadow:0 10px 30px -12px var(--btn)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#1E2A22}
.btn-gold:hover{transform:translateY(-2px)}
.btn-ghost{border-color:var(--line);color:var(--head);background:var(--glass)}
.btn-ghost:hover{border-color:var(--gold)}
.btn-photo{border-color:rgba(255,255,255,.5);color:var(--on-photo);background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.btn-photo:hover{border-color:var(--on-photo)}
.btn-sm{padding:10px 16px;font-size:.86rem}

/* ---------- hero slider ---------- */
.hero{padding-block:22px 0}
.slider{position:relative;border-radius:30px;overflow:hidden;height:clamp(500px,58vw,660px);box-shadow:var(--shadow);background:#0E1E17;isolation:isolate;touch-action:pan-y}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 7s ease-out}
.slide.on img{transform:scale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--veil) 0%,rgba(var(--veil-rgb),.55) 45%,rgba(var(--veil-rgb),.05) 80%)}
.slide-copy{position:absolute;z-index:2;left:clamp(22px,5vw,64px);right:clamp(22px,5vw,64px);bottom:clamp(86px,9vw,110px);max-width:620px;display:grid;gap:16px;color:var(--on-photo)}
.slide-copy .eyebrow{color:var(--gold-light)}
.slide-copy h1{color:var(--on-photo);font-size:clamp(2rem,4.8vw,3.7rem)}
.slide-copy p.sub{font-size:clamp(1rem,1.6vw,1.15rem);color:rgba(255,255,255,.86);max-width:50ch}
.slide.on .slide-copy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.slide.on .slide-copy>*:nth-child(2){animation-delay:.1s}.slide.on .slide-copy>*:nth-child(3){animation-delay:.2s}.slide.on .slide-copy>*:nth-child(4){animation-delay:.3s}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.s-ui{position:absolute;z-index:3;left:clamp(22px,5vw,64px);right:clamp(22px,5vw,64px);bottom:26px;display:flex;align-items:center;gap:18px}
.dots{display:flex;gap:8px;flex:1;max-width:340px}
.dots button{flex:1;height:3px;border:0;padding:8px 0;background:transparent;cursor:pointer;position:relative}
.dots button::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:rgba(255,255,255,.3);border-radius:3px}
.dots button i{position:absolute;left:0;top:50%;height:3px;margin-top:-1.5px;width:0;background:var(--gold-light);border-radius:3px}
.dots button.on i{animation:fill var(--dur,6.5s) linear forwards}
.dots button.done i{width:100%}
.slider.paused .dots button.on i{animation-play-state:paused}
.counter{font-family:var(--f-mono);font-size:.78rem;color:rgba(255,255,255,.85);letter-spacing:.1em;font-variant-numeric:tabular-nums}
.arrows{display:flex;gap:8px;margin-left:auto}
.arrows button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:1.1rem;backdrop-filter:blur(6px)}
.arrows button:hover{border-color:#fff}
@keyframes fill{to{width:100%}}
@keyframes rise{from{opacity:.0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .slider{border-radius:22px;height:min(600px,calc(100svh - 190px));min-height:500px}
  .slide::after{background:linear-gradient(0deg,var(--veil) 0%,rgba(var(--veil-rgb),.7) 50%,rgba(var(--veil-rgb),.15) 100%)}
  .slide-copy{bottom:84px}
  .arrows{display:none}
  .ctas .btn{flex:1 1 auto;justify-content:center}
}

/* ---------- trust strip ---------- */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden}
.trust>div{display:flex;gap:14px;align-items:center;padding:20px 22px;border-right:1px solid var(--line);min-width:0}
.trust>div:last-child{border-right:0}
.trust svg{flex:none;width:34px;height:34px;color:var(--gold)}
.trust>div>div{display:grid;gap:2px;min-width:0}
.trust strong{display:block;color:var(--head);font-size:.95rem;line-height:1.3}
.trust span{font-size:.84rem;color:var(--muted);line-height:1.35}
@media (max-width:980px){.trust{grid-template-columns:1fr 1fr}.trust>div:nth-child(2){border-right:0}.trust>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:520px){.trust{grid-template-columns:1fr}.trust>div{border-right:0;border-bottom:1px solid var(--line)}.trust>div:last-child{border-bottom:0}}

section.block{padding-block:clamp(56px,8vw,90px)}
.sec-head{display:grid;gap:12px;max-width:64ch;margin-bottom:36px}
.sec-head p{color:var(--muted)}

/* ---------- packs ---------- */
.packs{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
@media (max-width:860px){.packs{grid-template-columns:1fr}}
.pack{position:relative;display:flex;flex-direction:column;border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0;overflow:hidden}
.pack.featured{border-color:var(--gold)}
.pack-media{position:relative;aspect-ratio:16/10;max-width:100%;overflow:hidden}
.pack-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.pack:hover .pack-media img{transform:scale(1.04)}
.pack-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(var(--veil-rgb),.75),transparent 55%)}
.pack-media .over{position:absolute;z-index:2;left:24px;right:24px;bottom:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;color:#fff}
.pack-media .name{font-family:var(--f-display);font-size:1.7rem;line-height:1.1}
.pack-media .name small{display:block;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);margin-bottom:6px}
.price{font-family:var(--f-display);font-size:2.4rem;line-height:1;font-variant-numeric:tabular-nums;text-align:right}
.price small{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin-top:6px}
.badge{position:absolute;z-index:3;top:18px;right:18px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:#1E2A22;padding:6px 12px;border-radius:999px}
.pack-body{display:flex;flex-direction:column;gap:16px;padding:26px 28px 30px;flex:1}
.pack .tagline{font-family:var(--f-display);font-size:1.25rem;color:var(--head)}
.pack .desc{color:var(--muted)}
.pack ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pack li{display:flex;gap:12px;align-items:flex-start}
.pack li::before{content:"";flex:none;width:8px;height:8px;margin-top:.55em;transform:rotate(45deg);border:1.5px solid var(--gold)}
.pack .btn{margin-top:auto;align-self:flex-start}
@media (max-width:520px){.pack .btn{align-self:stretch;justify-content:center}.pack-body{padding:22px}}
.note{margin-top:20px;font-size:.9rem;color:var(--muted);max-width:82ch}

.table-box{overflow-x:auto;border-radius:20px;border:1px solid var(--line);background:var(--surface);margin-top:40px}
table{width:100%;border-collapse:collapse;min-width:520px}
caption{text-align:left;padding:20px 22px 4px}
th,td{padding:14px 22px;text-align:left;border-bottom:1px solid var(--line)}
thead th{font-family:var(--f-display);font-weight:400;font-size:1.1rem;color:var(--head)}
thead th:not(:first-child),td:not(:first-child){text-align:center;width:24%}
tbody tr:last-child td{border-bottom:0;font-family:var(--f-display);font-size:1.2rem;color:var(--head);font-variant-numeric:tabular-nums}
.yes{color:var(--gold);font-weight:600}.no{color:var(--muted)}

/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery figure{margin:0;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;max-width:100%;background:var(--surface);border:1px solid var(--line)}
.gallery figure.wide{grid-column:span 2;aspect-ratio:auto}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:10px;bottom:10px;right:10px;font-size:.82rem;font-weight:600;color:#fff;background:rgba(var(--veil-rgb),.6);backdrop-filter:blur(6px);padding:7px 12px;border-radius:999px;width:fit-content;max-width:calc(100% - 20px)}
@media (max-width:860px){.gallery{grid-template-columns:repeat(2,1fr)}.gallery figure.wide{grid-column:span 2;aspect-ratio:4/3}}

/* ---------- calculator + thermometer ---------- */
.calc{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) auto;gap:28px;padding:34px;border-radius:28px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(10px);box-shadow:var(--shadow);align-items:stretch}
@media (max-width:980px){.calc{grid-template-columns:minmax(0,1fr) auto}.calc-in{grid-column:1/-1}}
@media (max-width:560px){.calc{grid-template-columns:1fr;padding:22px}}
.calc-in{display:grid;gap:12px;align-content:start}
.calc-out{display:grid;gap:12px;align-content:start}
.stat{padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.stat .k{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stat .v{font-family:var(--f-display);font-size:1.3rem;color:var(--head);line-height:1.2;text-align:right}
.push{padding:16px 18px;border-radius:16px;border:1px solid var(--state,var(--gold));background:color-mix(in srgb,var(--state,var(--gold)) 10%,var(--surface));display:grid;gap:10px}
.push strong{color:var(--state,var(--head))}
.push .btn{justify-self:start}
.calc-note{font-size:.84rem;color:var(--muted)}
.thermo{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;gap:12px;min-width:132px;padding:18px 14px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.thermo .k{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center}
.th-body{display:flex;gap:12px;align-items:stretch;min-height:240px}
.tube{position:relative;width:26px;display:flex;flex-direction:column;align-items:center}
.tube .glass{position:relative;flex:1;width:16px;border-radius:12px 12px 0 0;background:var(--gold-soft);border:1px solid var(--line);border-bottom:0;overflow:hidden}
.tube .mercury{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,var(--state,var(--gold)),color-mix(in srgb,var(--state,var(--gold)) 70%,#fff));transition:height 1s cubic-bezier(.2,.7,.2,1),background .4s}
.tube .bulb{width:30px;height:30px;border-radius:50%;margin-top:-4px;background:var(--state,var(--gold));box-shadow:0 0 18px var(--state,var(--gold));transition:background .4s,box-shadow .4s}
.scale{display:flex;flex-direction:column;justify-content:space-between;font-family:var(--f-mono);font-size:.64rem;color:var(--muted);padding-bottom:30px;text-align:left}
.scale span{white-space:nowrap}
.th-state{font-weight:700;font-size:.9rem;color:var(--state,var(--head));text-align:center}
@media (max-width:560px){
  .thermo{grid-template-rows:auto;grid-template-columns:1fr;justify-items:stretch}
  .th-body{flex-direction:column;min-height:0;gap:8px}
  .tube{width:100%;flex-direction:row}
  .tube .glass{height:16px;flex:1;border-radius:0 12px 12px 0;border:1px solid var(--line);border-left:0;order:2}
  .tube .mercury{top:0;bottom:0;left:0;right:auto;height:auto!important;width:var(--lvl,0%);transition:width 1s cubic-bezier(.2,.7,.2,1)}
  .tube .bulb{margin:0 -4px 0 0;order:1;flex:none}
  .scale{flex-direction:row-reverse;padding:0 0 0 30px}
}
label{font-size:.88rem;font-weight:600;color:var(--ink)}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr;gap:0}.step{border-left:1px solid var(--gold);border-top:0!important;padding:4px 0 26px 22px!important;position:relative}.step::before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--gold)}}
.step{padding:24px 4px 0;border-top:1px solid var(--gold);display:grid;gap:8px;align-content:start}
.step .n{font-family:var(--f-mono);font-size:.78rem;color:var(--gold);letter-spacing:.1em}
.step strong{color:var(--head);font-size:1.05rem}
.step p{color:var(--muted)}

/* ---------- story ---------- */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
@media (max-width:860px){.story{grid-template-columns:1fr;gap:32px}}
.story-media{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/5;max-width:100%;box-shadow:var(--shadow)}
.story-media img{width:100%;height:100%;object-fit:cover}
.story-media blockquote{position:absolute;left:18px;right:18px;bottom:18px;margin:0;padding:18px 20px;border-radius:18px;background:rgba(var(--veil-rgb),.66);backdrop-filter:blur(8px);color:#fff;font-family:var(--f-display);font-size:1.25rem;line-height:1.35}
.story-copy{display:grid;gap:18px}
.story-copy>p{font-size:1.08rem;max-width:58ch}
.engage{display:grid;border-radius:20px;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.engage div{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:14px}
.engage div:last-child{border-bottom:0}
.engage div::before{content:"";flex:none;width:6px;height:6px;margin-top:.62em;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}

/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}}
.faq{display:grid;gap:12px}
details{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:0 22px}
summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;display:flex;justify-content:space-between;gap:16px;color:var(--head)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--f-mono);color:var(--gold);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding-bottom:18px;color:var(--muted)}

/* ---------- contact ---------- */
.contact-band{border-radius:30px;background:var(--band);color:var(--band-ink);padding:clamp(24px,5vw,56px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start;position:relative;overflow:hidden}
.contact-band::before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-220px;border-radius:50%;border:1px solid rgba(227,204,151,.25);box-shadow:0 0 0 60px rgba(227,204,151,.04),0 0 0 120px rgba(227,204,151,.03)}
@media (max-width:860px){.contact-band{grid-template-columns:1fr}}
.contact-band h2{color:var(--ivory)}
.contact-band .eyebrow{color:var(--gold-light)}
.contact-info{display:grid;gap:18px;position:relative}
.contact-info p{color:rgba(247,243,233,.82)}
.mail{font-family:var(--f-mono);font-size:1rem;color:var(--gold-light);user-select:all;word-break:break-all}
.form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:28px;border-radius:22px;background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.form .full{grid-column:1/-1}
.field{display:grid;gap:6px;min-width:0}
@media (max-width:560px){.form{grid-template-columns:1fr;padding:20px}.form .btn{width:100%;justify-content:center;white-space:normal}}
.recap{display:grid;gap:12px;padding:18px;border-radius:16px;border:1px dashed var(--gold);background:var(--gold-soft)}
.recap pre{margin:0;white-space:pre-wrap;font-family:var(--f-mono);font-size:.82rem;color:var(--ink)}
.err{color:var(--alert);font-size:.9rem}


/* ---------- mobile action bar ---------- */
.mbar{display:none}
@media (max-width:900px){
  :root{--bar-h:calc(76px + env(safe-area-inset-bottom,0px))}
  .mbar{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:44;
    padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));
    background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);
    transform:translateY(110%);transition:transform .35s}
  .mbar.show{transform:none}
  .mbar .btn{justify-content:center;padding:14px 10px}
}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ═══════════ Boutique, espace client, pages ═══════════ */
.page-top{padding-block:clamp(32px,6vw,64px) 8px}
.page-top .wrap{display:grid;gap:12px}
.page-top h1{font-size:clamp(2rem,4.4vw,3rem)}
.page-top p{color:var(--muted);max-width:64ch}
.crumbs{font-size:.85rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--head)}

.flash{margin-top:18px;padding:14px 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:flex;gap:12px;align-items:flex-start}
.flash::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;margin-top:.5em;background:var(--ok)}
.flash.err::before{background:var(--alert)}
.errors{padding:16px 18px;border-radius:14px;border:1px solid var(--alert);background:color-mix(in srgb,var(--alert) 8%,var(--surface));display:grid;gap:6px;margin-bottom:22px}
.errors strong{color:var(--alert)}
.errors ul{margin:0;padding-left:18px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3vw,30px);box-shadow:var(--shadow);min-width:0}
.card h2{font-size:1.5rem}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}
.field{display:grid;gap:6px;min-width:0}
.hint{font-size:.84rem;color:var(--muted)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;font-weight:400}
.check input{width:auto;margin-top:.3em;accent-color:var(--btn)}
input[type=file]{padding:10px;background:var(--bg)}

/* commande */
.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
@media (max-width:980px){.order-layout{grid-template-columns:1fr}}
.osec{display:grid;gap:18px}
.osec+.osec{margin-top:22px}
.osec-head{display:flex;align-items:center;gap:14px}
.osec-head .num{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:.85rem;background:var(--gold-soft);color:var(--head);border:1px solid var(--gold)}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.choice{position:relative;display:grid;gap:4px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--bg);cursor:pointer;transition:border-color .2s,background .2s}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice strong{color:var(--head)}
.choice span{font-size:.86rem;color:var(--muted)}
.choice:has(input:checked){border-color:var(--gold);background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold)}
.choice:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.choice:has(input:disabled){opacity:.5;cursor:not-allowed}
.summary{position:sticky;top:calc(84px + env(safe-area-inset-top,0px))}
.summary img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;max-width:100%}
.sum-rows{display:grid;gap:10px;margin-top:16px}
.sum-rows div{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.sum-rows .total{padding-top:12px;border-top:1px solid var(--line);font-family:var(--f-display);font-size:1.3rem;color:var(--head)}
.sum-rows .now{color:var(--head);font-weight:600}
.secure{display:flex;gap:10px;align-items:center;font-size:.84rem;color:var(--muted);margin-top:14px}
.pack-switch{display:flex;gap:8px;flex-wrap:wrap}
.pack-switch a{font-size:.84rem;padding:8px 14px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--muted)}
.pack-switch a.on{border-color:var(--gold);color:var(--head);background:var(--gold-soft)}
.bank{display:grid;gap:4px;padding:16px 18px;border-radius:14px;background:var(--bg);border:1px dashed var(--gold);font-family:var(--f-mono);font-size:.88rem;word-break:break-all}

/* espace client */
.acc-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:900px){.acc-layout{grid-template-columns:1fr}}
.acc-nav{display:grid;gap:4px;position:sticky;top:calc(84px + env(safe-area-inset-top,0px))}
.acc-nav a,.acc-nav button{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;text-decoration:none;color:var(--muted);font:inherit;background:none;border:0;cursor:pointer;text-align:left;width:100%}
.acc-nav a:hover,.acc-nav button:hover{color:var(--head);background:var(--gold-soft)}
.acc-nav a.on{color:var(--head);background:var(--surface);border:1px solid var(--line);font-weight:600}
@media (max-width:900px){.acc-nav{position:static;display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}.acc-nav a,.acc-nav button{white-space:nowrap;width:auto}.acc-nav form{display:contents}}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:700px){.kpis{grid-template-columns:1fr}}
.kpi{padding:18px 20px;border-radius:18px;background:var(--surface);border:1px solid var(--line);display:grid;gap:4px}
.kpi .k{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.kpi .v{font-family:var(--f-display);font-size:1.6rem;color:var(--head);font-variant-numeric:tabular-nums;line-height:1.2}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;border:1px solid currentColor}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.info{color:var(--head)}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.alert{color:var(--alert)}.pill.done{color:var(--muted)}
.list{display:grid}
.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
.list-row:last-child{border-bottom:0}
.list-row strong{color:var(--head)}
.list-row small{display:block;color:var(--muted)}
.list-row .r{text-align:right;display:grid;gap:6px;justify-items:end;font-variant-numeric:tabular-nums}
.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.timeline{display:grid;gap:0;list-style:none;margin:0;padding:0}
.timeline li{position:relative;padding:0 0 18px 24px;border-left:1px solid var(--line);margin-left:6px}
.timeline li::before{content:"";position:absolute;left:-6px;top:4px;width:11px;height:11px;border-radius:50%;background:var(--surface);border:2px solid var(--gold)}
.timeline li:first-child::before{background:var(--gold)}
.timeline small{display:block;color:var(--muted);font-family:var(--f-mono);font-size:.72rem}
.progress{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0 4px}
.progress span{height:6px;border-radius:6px;background:var(--line)}
.progress span.on{background:var(--gold)}
.progress-labels{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;font-size:.7rem;color:var(--muted);text-align:center}
@media (max-width:560px){.progress-labels{display:none}}
.dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0}
.dl dt{color:var(--muted);font-size:.9rem}.dl dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}
.tbl{overflow-x:auto}
.tbl table{min-width:480px}
.auth{max-width:460px;margin:0 auto}

/* pages légales */
.prose{max-width:72ch;font-size:1.02rem}
.prose h2{font-size:1.45rem;margin:34px 0 10px}
.prose p,.prose ul{margin:0 0 14px}
.prose ul{padding-left:20px}
.prose a{color:var(--head)}

/* footer complet */
.site-footer{margin-top:40px;background:var(--band);color:var(--band-ink);padding-block:56px 0}
.site-footer a{text-decoration:none;color:inherit;opacity:.82}
.site-footer a:hover{opacity:1;color:var(--gold-light)}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}
@media (max-width:980px){.fgrid{grid-template-columns:1fr 1fr}.fgrid .fbrand{grid-column:1/-1}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}}
.fgrid h4{margin:0 0 14px;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);font-weight:500}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.92rem}
.fbrand{display:grid;gap:14px;align-content:start;font-size:.92rem}
.fbrand .logo{color:var(--ivory)}
.fbrand p{opacity:.8;max-width:38ch}
.fid{font-size:.84rem;opacity:.75;line-height:1.55}
.fpay{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.fpay span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;padding:6px 10px;border-radius:8px;border:1px solid rgba(247,243,233,.25)}
.fbottom{margin-top:44px;border-top:1px solid rgba(247,243,233,.16);padding-block:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.82rem;opacity:.8}
.fbottom nav{display:flex;flex-wrap:wrap;gap:6px 16px}
.cookie{position:fixed;z-index:46;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + var(--bar-h));max-width:520px;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;gap:14px;align-items:center;font-size:.88rem}
.acc-link{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;text-decoration:none;color:var(--head)}
@media (max-width:900px){.acc-link span{display:none}}
.logo .lt{font-weight:400}

/* ═══════════ Gabarit large (comme les sites netdev-creative : bloc « largeur large ») ═══════════
   Contenu jusqu'à 1720 px, marges latérales fluides, très fines sur téléphone. */
:root{--maxw:1720px;--gut:clamp(12px,3.2vw,48px)}
html,body{overflow-x:clip}
.wrap{max-width:calc(var(--maxw) + 2*var(--gut));padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
.hero{padding-block:0}
.hero .slider{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;box-shadow:none;height:clamp(540px,78vh,860px)}
.hero .slide-copy,.hero .s-ui{left:max(var(--gut),calc((100vw - var(--maxw))/2));right:max(var(--gut),calc((100vw - var(--maxw))/2))}
.hero .slide-copy{max-width:720px;bottom:150px}
.hero .slide-copy h1{font-size:clamp(2.1rem,4.6vw,4.6rem)}
.hero .slide::after{background:linear-gradient(90deg,var(--veil) 0%,rgba(var(--veil-rgb),.6) 40%,rgba(var(--veil-rgb),.08) 75%)}
.hero .trust{position:relative;z-index:4;margin-top:-56px;box-shadow:var(--shadow)}
.hero .s-ui{bottom:84px}
/* grilles plus généreuses sur grand écran */
@media (min-width:1400px){.packs{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.pack-media{aspect-ratio:16/8}.gallery{grid-template-columns:repeat(4,1fr);gap:18px}}
@media (max-width:980px){.hero .trust{margin-top:18px}.hero .s-ui{bottom:22px}.hero .slide-copy{bottom:80px}}

/* ── Téléphone : contenu au plus près des bords ── */
@media (max-width:640px){
  :root{--gut:12px}
  body{font-size:15.5px}
  .hero .slider{height:min(640px,calc(100svh - 110px));min-height:500px}
  .hero .slide-copy,.hero .s-ui{left:var(--gut);right:var(--gut)}
  .hero .slide-copy{gap:12px}
  .hero .slide::after{background:linear-gradient(0deg,var(--veil) 0%,rgba(var(--veil-rgb),.7) 50%,rgba(var(--veil-rgb),.15) 100%)}
  section.block{padding-block:40px}
  .sec-head{margin-bottom:20px;gap:8px}
  .page-top{padding-block:22px 4px}
  .ribbon .wrap{padding-block:14px;font-size:1.05rem;gap:6px 14px}
  .trust>div{padding:14px}
  .packs,.gallery,.steps{gap:10px}
  .pack{border-radius:18px}
  .pack-body{padding:16px;gap:12px}
  .pack-media .over{left:14px;right:14px;bottom:12px;align-items:flex-end}
  .pack-media .name{font-size:1.3rem}
  .pack-media .name small{font-size:.6rem;letter-spacing:.12em}
  .price{font-size:1.75rem}
  .price small{font-size:.56rem}
  .table-box{margin-top:24px;border-radius:14px}
  th,td{padding:11px 12px}
  .gallery figure{border-radius:12px}
  .calc{padding:14px;gap:14px;border-radius:18px}
  .stat,.push{padding:12px 14px}
  .step{padding:4px 0 20px 18px!important}
  .story{gap:20px}
  .story-media{border-radius:18px}
  details{padding:0 14px;border-radius:12px}
  summary{padding:14px 0}
  .contact-band{padding:18px;border-radius:18px;gap:18px}
  .form{padding:14px;gap:12px;border-radius:16px}
  .card{padding:16px;border-radius:16px}
  .order-layout,.acc-layout{gap:14px}
  .osec+.osec{margin-top:16px}
  .osec{gap:12px}
  .choice{padding:12px 14px}
  .site-footer{padding-block:36px 0}
  .fgrid{gap:22px}
  .fbottom{margin-top:26px}
  .cookie{left:var(--gut);right:var(--gut);padding:12px 14px}
  .mbar{padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px));gap:8px}
}
.slide-copy .h1{color:var(--on-photo);font-size:clamp(2.1rem,4.6vw,4.6rem);line-height:1.12;margin:0}

/* ═══════════ Pages rubriques, accueil « explorer », modules interactifs ═══════════ */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.menu a.on{color:var(--head);font-weight:600;position:relative}
.menu a.on::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--gold)}

/* En-tête de page rubrique */
.rtop{position:relative;isolation:isolate;color:var(--on-photo);background:#0E1E17;overflow:hidden}
.rtop-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);animation:rtz 14s ease-out both}
.rtop::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(var(--veil-rgb),.92) 0%,rgba(var(--veil-rgb),.72) 45%,rgba(var(--veil-rgb),.35) 100%)}
@keyframes rtz{to{transform:scale(1)}}
.rtop-in{display:grid;gap:14px;padding-block:clamp(40px,7vw,96px) clamp(24px,4vw,40px)}
.rtop .crumbs{color:rgba(255,255,255,.75)} .rtop .crumbs a{color:rgba(255,255,255,.85)}
.rtop .eyebrow{color:var(--gold-light)}
.rtop h1{color:var(--on-photo);font-size:clamp(2rem,4.4vw,3.8rem);max-width:22ch}
.rtop .lede{max-width:62ch;font-size:clamp(1rem,1.5vw,1.15rem);color:rgba(255,255,255,.88)}
.rnav{display:flex;gap:8px;overflow-x:auto;padding-top:14px;scrollbar-width:none;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut)}
.rnav::-webkit-scrollbar{display:none}
.rnav a{flex:none;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.28);text-decoration:none;font-size:.88rem;color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(6px);transition:background .2s,border-color .2s}
.rnav a:hover{border-color:var(--gold-light)}
.rnav a.on{background:var(--gold-light);border-color:var(--gold-light);color:#1E2A22;font-weight:600}

/* Explications détaillées */
.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px}
.detail{position:relative;padding:28px 26px 24px;border-radius:22px;background:var(--surface);border:1px solid var(--line);display:grid;gap:10px;align-content:start}
.detail h2{font-size:1.4rem}
.detail p{color:var(--muted)}
.dnum{font-family:var(--f-mono);font-size:.75rem;color:var(--gold);letter-spacing:.12em}

/* Appel à l'action */
.cta-band{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;padding:clamp(22px,4vw,44px);border-radius:26px;background:var(--band);color:var(--band-ink);position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;width:420px;height:420px;right:-140px;top:-200px;border-radius:50%;border:1px solid rgba(227,204,151,.25);box-shadow:0 0 0 60px rgba(227,204,151,.04)}
.cta-band h2{color:var(--ivory)}
.cta-band p{color:rgba(247,243,233,.82);max-width:56ch;margin-top:8px}
.cta-band .ctas{position:relative}

/* Autres rubriques */
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.more-card{display:grid;gap:10px;padding:22px;border-radius:20px;background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s}
.more-card strong{color:var(--head);font-family:var(--f-display);font-weight:400;font-size:1.2rem;line-height:1.25}
.more-card .go{color:var(--gold);font-weight:600;font-size:.9rem}
.more-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--shadow)}
.sec-more{display:grid;gap:12px;justify-items:start;margin-top:20px}

/* Accueil : cartes « Explorer » */
.explore-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:minmax(220px,auto);gap:16px}
.xcard{position:relative;display:flex;align-items:flex-end;min-height:260px;border-radius:24px;overflow:hidden;text-decoration:none;color:#fff;background:#0E1E17;isolation:isolate;box-shadow:var(--shadow)}
.xcard.xl{grid-row:span 2}
.xcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.xcard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(var(--veil-rgb),.92) 0%,rgba(var(--veil-rgb),.55) 50%,rgba(var(--veil-rgb),.1) 100%)}
.xcard:hover img{transform:scale(1.06)}
.xbody{display:grid;gap:8px;padding:22px}
.xstat{justify-self:start;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(227,204,151,.18);color:var(--gold-light);border:1px solid rgba(227,204,151,.35)}
.xcard strong{font-family:var(--f-display);font-weight:400;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.15}
.xcard.xl strong{font-size:clamp(1.6rem,2.8vw,2.6rem)}
.xtext{color:rgba(255,255,255,.85);max-width:46ch}
.xgo{font-weight:600;color:var(--gold-light);display:inline-flex;gap:6px}
.xgo span{transition:transform .25s}.xcard:hover .xgo span{transform:translateX(4px)}
@media (max-width:980px){.explore-grid{grid-template-columns:1fr 1fr}.xcard.xl{grid-column:1/-1;grid-row:auto;min-height:320px}}
@media (max-width:560px){.explore-grid{grid-template-columns:1fr}.xcard{min-height:230px}}

.quickcalc{margin-top:18px;display:grid;grid-template-columns:auto minmax(150px,220px) 1fr auto;gap:14px;align-items:center;padding:16px 20px;border-radius:20px;background:var(--surface);border:1px solid var(--gold);box-shadow:var(--shadow)}
.quickcalc strong{display:block;color:var(--head);font-family:var(--f-display);font-weight:400;font-size:1.2rem}
.quickcalc output{font-weight:600;color:var(--head)}
@media (max-width:860px){.quickcalc{grid-template-columns:1fr 1fr}.quickcalc>div,.quickcalc output{grid-column:1/-1}}
@media (max-width:420px){.quickcalc{grid-template-columns:1fr}.quickcalc .btn{justify-content:center}}

/* Assistant de choix */
.quiz{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:22px 36px;padding:clamp(18px,3vw,34px);border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.quiz-head{display:grid;gap:10px;align-content:start}
.quiz-head p{color:var(--muted)}
.quiz-qs{display:grid;gap:14px}
.qq{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qq legend{font-weight:600;color:var(--ink);margin-bottom:8px;padding:0}
.quiz-res{grid-column:1/-1;display:grid;gap:8px;justify-items:start;padding:20px;border-radius:18px;border:1px solid var(--gold);background:var(--gold-soft);animation:rise .5s both}
.quiz-res h3{font-size:1.7rem}
@media (max-width:860px){.quiz{grid-template-columns:1fr}}
@media (max-width:520px){.qq{grid-template-columns:1fr}}

/* Filtres */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{font:inherit;font-size:.88rem;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .2s}
.chip b{font-family:var(--f-mono);font-weight:500;font-size:.75rem;margin-left:4px;opacity:.7}
.chip:hover{border-color:var(--gold)}
.chip.on{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.gallery figure.off{display:none}
.zoom{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.zoom:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}

/* Visionneuse */
.lightbox{border:0;padding:0;max-width:min(1100px,94vw);width:100%;background:transparent;color:#fff;overflow:visible}
.lightbox::backdrop{background:rgba(8,16,12,.88);backdrop-filter:blur(6px)}
.lightbox figure{margin:0;display:grid;gap:12px}
.lightbox img{width:100%;max-height:76vh;object-fit:contain;border-radius:16px;background:#0E1E17}
.lightbox figcaption{display:grid;gap:4px}
.lightbox figcaption strong{font-family:var(--f-display);font-weight:400;font-size:1.5rem}
.lightbox figcaption span{color:rgba(255,255,255,.82)}
.lightbox figcaption em{font-style:normal;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light)}
.lb-close,.lb-nav{position:absolute;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(var(--veil-rgb),.6);color:#fff;font-size:1.1rem;cursor:pointer}
.lb-close{top:-56px;right:0}
.lb-nav{top:38%}.lb-prev{left:-58px}.lb-next{right:-58px}
@media (max-width:900px){.lb-prev{left:8px}.lb-next{right:8px}.lb-close{top:8px;right:8px;z-index:2}}

/* Parcours (fonctionnement) */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;counter-reset:f}
.flow-step{position:relative;display:grid;gap:14px;align-content:start;padding:26px 22px;border-radius:22px;background:var(--surface);border:1px solid var(--line);animation:rise .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i)*90ms)}
.flow-step h2{font-size:1.35rem}
.flow-step p{color:var(--muted)}
.fnum{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-size:1.3rem;color:#1E2A22;background:linear-gradient(135deg,var(--gold-light),var(--gold));box-shadow:0 0 0 6px var(--gold-soft)}
.pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.pay-card{padding:24px;border-radius:22px;border:1px solid var(--gold);background:linear-gradient(160deg,var(--gold-soft),transparent 60%),var(--surface);display:grid;gap:8px}
.pay-card h3{font-size:1.3rem}
.pay-card p{color:var(--muted)}

/* Questions */
.faq-tools{display:grid;gap:12px;margin-bottom:18px}
.search{display:flex;align-items:center;gap:10px;padding:0 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--muted);max-width:640px}
.search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.search input{border:0;background:transparent;padding:14px 0;outline:none}
.faq-full{max-width:900px}
.faq-full details.off{display:none}
mark{background:var(--gold-soft);color:inherit;border-radius:4px;padding:0 2px}

@media (max-width:640px){
  .rtop-in{padding-block:30px 18px;gap:10px}
  .detail{padding:18px 16px;border-radius:16px}
  .cta-band{border-radius:18px;padding:18px}
  .more-card{padding:16px;border-radius:16px}
  .explore-grid{gap:10px}
  .xcard{border-radius:18px}
  .xbody{padding:16px}
  .quickcalc{padding:14px;border-radius:16px}
  .quiz{border-radius:18px}
  .flow-step,.pay-card{padding:18px 16px;border-radius:16px}
}
@media (prefers-reduced-motion:reduce){.rtop-img,.flow-step,.quiz-res{animation:none}}
.reveal{transform:translateY(18px);transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s}
.reveal.in{transform:none}
.pack.picked{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft),var(--shadow)}
.explore-grid .xcard:nth-child(4):last-child{grid-column:span 2}
@media (max-width:980px){.explore-grid .xcard:nth-child(4):last-child{grid-column:1/-1}}
@media (max-width:560px){.explore-grid .xcard:nth-child(4):last-child{grid-column:auto}}

/* ═══════════ Navigation v1.3 : icônes fines, accueil, espace client ═══════════ */
.mi{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.menu{gap:4px}
.menu a{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;transition:color .2s,background .2s}
.menu a .mi{opacity:.7;transition:opacity .2s,transform .3s}
.menu a:hover{background:var(--gold-soft)}
.menu a:hover .mi,.menu a.on .mi{opacity:1;color:var(--gold)}
.menu a:hover .mi{transform:translateY(-1px)}
.menu a.on::after{left:10px;right:10px;bottom:-1px}
.acc-link,.acc-out button{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:.9rem;color:var(--head);text-decoration:none;background:none;border:0;cursor:pointer;padding:8px 10px;border-radius:10px}
.acc-link:hover,.acc-out button:hover{background:var(--gold-soft)}
.acc-out{margin:0}
.acc-out button{color:var(--muted)}
.overlay a.big{justify-content:flex-start;gap:14px}
.overlay a.big::after{margin-left:auto}
.overlay .mi{width:22px;height:22px;color:var(--gold)}
.ov-out{margin:0}
.ov-out button.big{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;width:100%;font-family:var(--f-display);font-size:2rem;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.rnav a{display:inline-flex;align-items:center;gap:7px}
.rnav .mi{width:16px;height:16px}
.more-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold)}
@media (max-width:1240px){.menu,.nav .cta-desk{display:none}.burger{display:grid}}
@media (max-width:1240px) and (min-width:641px){.acc-link span,.acc-out span{display:inline}}
@media (max-width:640px){.acc-link span,.acc-out span{display:none}}
.promo-box{display:grid;gap:6px}
.promo-row{display:flex;gap:8px}
.promo-row input{flex:1}
.hint.ok{color:var(--ok);font-weight:600}.hint.ko{color:var(--alert)}
.sum-rows .disc{color:var(--ok);font-weight:600}

/* ═══════════ Mise en page avec colonne latérale + bannière marketing ═══════════ */
.with-aside{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.aside-col{display:grid;gap:18px;position:sticky;top:calc(96px + env(safe-area-inset-top,0px))}
@media (max-width:1040px){.with-aside{grid-template-columns:1fr}.aside-col{position:static}}
.promo-banner{position:relative;overflow:hidden;border-radius:24px;isolation:isolate;display:grid;min-height:340px;align-items:end;box-shadow:var(--shadow)}
.promo-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.promo-banner:hover img{transform:scale(1.04)}
.promo-banner::after{content:"";position:absolute;inset:0;z-index:-1}
.pb-body{display:grid;gap:10px;padding:24px;justify-items:start}
.pb-mark{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
.pb-mark .mi{width:16px;height:16px}
.promo-banner strong{font-family:var(--f-display);font-weight:400;font-size:1.65rem;line-height:1.15}
.promo-banner p{font-size:.95rem;line-height:1.55}
.theme-vert{background:var(--band);color:var(--ivory)}
.theme-vert::after{background:linear-gradient(0deg,rgba(var(--veil-rgb),.94) 10%,rgba(var(--veil-rgb),.55) 60%,rgba(var(--veil-rgb),.2))}
.theme-vert .pb-mark{color:var(--gold-light)}.theme-vert p{color:rgba(247,243,233,.85)}
.theme-photo{color:#fff}.theme-photo::after{background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.15) 70%)}
.theme-photo .pb-mark{color:var(--gold-light)}.theme-photo p{color:rgba(255,255,255,.88)}
.theme-ivoire{background:var(--surface);color:var(--ink);border:1px solid var(--gold);min-height:0}
.theme-ivoire img{position:static;height:180px;z-index:0}
.theme-ivoire .pb-mark{color:var(--gold)}.theme-ivoire strong{color:var(--head)}.theme-ivoire p{color:var(--muted)}
.wide-banner .promo-banner{min-height:300px}
.wide-banner .pb-body{max-width:640px;padding:clamp(22px,4vw,44px)}
.wide-banner .theme-vert::after,.wide-banner .theme-photo::after{background:linear-gradient(90deg,rgba(var(--veil-rgb),.94) 0%,rgba(var(--veil-rgb),.6) 50%,rgba(var(--veil-rgb),.1))}
@media (max-width:640px){.promo-banner{border-radius:18px;min-height:300px}.pb-body{padding:18px}}
/* v1.3 — barre de navigation connectée : pas de retour à la ligne */
.menu a,.acc-link,.acc-out button{white-space:nowrap}
@media (max-width:1680px) and (min-width:1241px){.acc-out span{display:none}.acc-out button{padding:8px}}
@media (max-width:1440px) and (min-width:1241px){.menu a{padding:8px 7px;gap:6px}.menu{gap:2px}}

/* ═══ v1.4 — Questions : pleine largeur de colonne, lecture facile ═══ */
.faq-full{max-width:none}
.faq-main{min-width:0;display:grid;gap:14px;align-content:start}
.faq-main .faq-tools{margin-bottom:4px}
.search-xl{max-width:none;min-height:62px;border-radius:18px;padding:0 8px 0 18px;font-size:1.06rem;background:var(--surface)}
.search-xl input{font-size:1.06rem;padding:18px 0;min-width:0;flex:1;color:var(--ink)}
.search-xl input::placeholder{color:var(--muted)}
.mic{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--bg);color:var(--head);border-radius:12px;padding:10px 14px;font:600 .92rem var(--f-body);cursor:pointer;flex:none}
.mic:hover{border-color:var(--gold)}
.mic.on{background:var(--alert);border-color:var(--alert);color:#fff;animation:micpulse 1.2s infinite}
@keyframes micpulse{50%{box-shadow:0 0 0 8px rgba(180,83,58,.18)}}
.chips-xl .chip{min-height:44px;padding:9px 16px;font-size:.95rem}
.chips-xl .chip b{font-family:var(--f-mono);font-weight:500;font-size:.75rem;opacity:.7;margin-left:4px}
.faq-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.faq-count{color:var(--muted);font-size:.95rem}
.faq-acts{display:flex;gap:6px}
.linkbtn{background:none;border:0;color:var(--head);font:600 .95rem var(--f-body);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--gold);cursor:pointer;padding:8px 6px;display:inline-flex;align-items:center;gap:8px;border-radius:8px}
.linkbtn:hover{background:var(--gold-soft)}
#faq-list details{padding:0;border-radius:18px;transition:border-color .2s,box-shadow .2s}
#faq-list details[open]{border-color:var(--gold);box-shadow:var(--shadow)}
#faq-list summary{padding:20px 22px;font-size:1.1rem;line-height:1.4;align-items:center;gap:16px;min-height:64px}
#faq-list summary::after{content:none}
#faq-list summary:hover .qt{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.qn{font:500 .78rem var(--f-mono);color:var(--gold);flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center}
.qt{flex:1}
.qi{flex:none;width:36px;height:36px;border-radius:50%;background:var(--gold-soft);position:relative}
.qi::before,.qi::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:var(--head);border-radius:2px;transition:transform .25s}
.qi::after{transform:rotate(90deg)}
details[open] .qi::after{transform:rotate(0)}
.qa{padding:0 22px 20px 72px;display:grid;gap:12px}
#faq-list .qa p{padding:0;color:var(--ink);font-size:1.05rem;line-height:1.7;max-width:72ch}
.qa-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.qa-tools .linkbtn{padding-left:0}
.speak.on{color:var(--alert)}
.qcat{font:500 .7rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
#faq-list details:target{outline:3px solid var(--gold);outline-offset:3px}
.faq-empty{display:grid;gap:12px;padding:26px}
.help-card{display:grid;gap:12px;padding:24px}
.help-card p{color:var(--muted)}
.help-card .btn{justify-content:center}
.h3{font-size:1.45rem;font-family:var(--f-display);font-weight:400;color:var(--head);margin:0;line-height:1.2}
.btn-lg{min-height:52px;padding:14px 22px;font-size:1rem}
@media (max-width:640px){
  .qa{padding:0 16px 18px}
  #faq-list summary{padding:16px;font-size:1.04rem;gap:12px}
  .qn{display:none}
  .mic span{display:none}
  .mic{padding:10px}
}

/* ═══ Confort de lecture (accessibilité, seniors) ═══ */
html[data-text="l"]{font-size:112.5%}
html[data-text="xl"]{font-size:125%}
html[data-text] .menu{gap:0}
html[data-text="xl"] .with-aside{grid-template-columns:minmax(0,1fr) 320px}
html[data-spacing] body{line-height:1.85;letter-spacing:.02em;word-spacing:.08em}
html[data-spacing] p,html[data-spacing] li{max-width:70ch}
html[data-contrast="hi"]{--muted:#2B2F2A;--line:rgba(var(--primary-rgb),.45);--ink:#1A1D1A;--gold:#8A6D2F;--gold-soft:rgba(138,109,47,.16)}
@media (prefers-color-scheme: dark){html[data-contrast="hi"]:not([data-theme="light"]){--muted:#E5E1D6;--ink:#FFFFFF;--line:rgba(234,220,184,.5);--gold:#E3C88E}}
html[data-contrast="hi"] main p a:not(.btn),html[data-contrast="hi"] main li a:not(.btn),html[data-contrast="hi"] .site-footer li a{text-decoration:underline;text-underline-offset:3px}
html[data-contrast="hi"] :focus-visible{outline:3px solid var(--head)!important;outline-offset:3px}
html[data-contrast="hi"] .page-top::before,html[data-contrast="hi"] .hero::before{background:rgba(8,18,14,.86)!important}
html[data-calm] *,html[data-calm] *::before,html[data-calm] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

.cf-fab{position:fixed;left:max(14px,env(safe-area-inset-left,0px));bottom:calc(14px + var(--bar-h,0px));z-index:45;display:inline-flex;align-items:center;gap:8px;
  padding:11px 16px 11px 12px;border-radius:999px;border:1px solid rgba(227,204,151,.4);background:var(--band);color:var(--ivory);font:600 .9rem var(--f-body);cursor:pointer;box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
.cf-fab:hover{filter:brightness(1.12)}
.cf-fab svg{color:var(--gold-light)}
@media (max-width:900px){.cf-fab span{display:none}.cf-fab{padding:12px;bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
.cf-panel{border:1px solid var(--line);border-radius:24px;padding:0;width:min(460px,calc(100vw - 24px));max-height:calc(100vh - 24px);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);margin:auto auto 12px 12px}
.cf-panel[open]{display:grid;gap:16px;padding:22px}
.cf-panel::backdrop{background:rgba(8,18,14,.45)}
@media (max-width:640px){.cf-panel{margin:auto auto 0;width:100%;max-width:100%;border-radius:24px 24px 0 0}}
.cf-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cf-x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--head);font-size:1.6rem;line-height:1;cursor:pointer}
.cf-intro{color:var(--muted)}
.cf-group{border:0;margin:0;padding:0;display:grid;gap:8px}
.cf-group legend{font-weight:600;color:var(--head);margin-bottom:8px}
.cf-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cf-seg button{display:grid;place-items:center;gap:2px;min-height:76px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:500 .85rem var(--f-body);cursor:pointer}
.cf-seg button span{font-family:var(--f-display);color:var(--head);line-height:1}
.cf-seg button[aria-checked="true"]{border:2px solid var(--gold);background:var(--gold-soft);font-weight:700}
.cf-list{display:grid;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cf-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--line);font-weight:400}
.cf-row:last-child{border-bottom:0}
.cf-row strong{display:block;color:var(--head)}
.cf-row small{display:block;color:var(--muted);font-size:.86rem}
.cf-sw{position:relative;width:52px;height:30px;flex:none}
.cf-sw input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.cf-sw i{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background .2s;pointer-events:none}
.cf-sw i::after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
.cf-sw input:checked+i{background:var(--ok)}
.cf-sw input:checked+i::after{transform:translateX(22px)}
.cf-sw input:focus-visible+i{outline:3px solid var(--gold);outline-offset:2px}
.cf-voice .btn{width:100%;justify-content:center}
.cf-voice .btn.on{background:var(--alert)}
.cf-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.cookie{left:auto}

/* ═══ v1.5 — pages légales pleine largeur + colonne de droite ═══ */
.prose-full{max-width:none;padding:clamp(22px,3.4vw,44px);font-size:1.05rem;line-height:1.75}
.prose-full>*{max-width:none}
.prose-full h2{scroll-margin-top:110px}
.prose-full h2:first-child{margin-top:0}
.toc{display:grid;gap:10px;padding:22px}
.toc ol{margin:0;padding:0;list-style:none;display:grid;gap:2px;counter-reset:t;max-height:46vh;overflow:auto}
.toc li{counter-increment:t}
.toc a{display:flex;gap:10px;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:.95rem;line-height:1.4}
.toc a::before{content:counter(t,decimal-leading-zero);font:500 .72rem var(--f-mono);color:var(--gold);padding-top:3px}
.toc a:hover,.toc a.on{background:var(--gold-soft);color:var(--head)}
.toc a.on{font-weight:600}
@media (max-width:1040px){.toc ol{max-height:none}}

/* ═══ v1.8 — Messagerie en direct ═══ */
.kc{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(14px + var(--bar-h,0px));z-index:70;font-family:var(--f-body)}
.kc-fab{display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;border-radius:999px;border:0;background:var(--btn);color:#fff;font:600 .95rem var(--f-body);cursor:pointer;box-shadow:0 16px 36px -14px rgba(var(--veil-rgb),.7);position:relative}
.kc-fab:hover{filter:brightness(1.1)}
.kc.is-open .kc-fab{display:none}
.kc-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;border-radius:11px;background:var(--alert);color:#fff;font:700 .75rem var(--f-body);display:grid;place-items:center;padding:0 6px;border:2px solid var(--bg)}
.kc-panel{width:min(400px,calc(100vw - 24px));height:min(620px,calc(100vh - 110px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 70px -24px rgba(var(--veil-rgb),.55);overflow:hidden}
.kc-panel[hidden]{display:none!important}
.kc-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--band);color:var(--band-ink)}
.kc-ava{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:var(--gold-light);flex:none}
.kc-head strong{display:block;font-weight:600;font-size:1rem;color:#fff}
.kc-head small{display:flex;align-items:center;gap:6px;font-size:.8rem;opacity:.85}
.kc-head small i{width:8px;height:8px;border-radius:50%;background:var(--gold-light)}
.kc-head small.on i{background:#6FD39A;box-shadow:0 0 0 3px rgba(111,211,154,.25)}
.kc-x{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;flex:none}
.kc-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg);overscroll-behavior:contain}
.kc-m{display:grid;gap:3px;max-width:86%}
.kc-m small{font-size:.72rem;color:var(--muted);padding:0 6px}
.kc-b{padding:10px 14px;border-radius:16px;line-height:1.5;font-size:.97rem;white-space:pre-wrap;overflow-wrap:anywhere}
.kc-b a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.kc-visitor{align-self:flex-end;justify-items:end}
.kc-visitor .kc-b{background:var(--btn);color:#fff;border-bottom-right-radius:5px}
.kc-bot .kc-b,.kc-admin .kc-b{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:5px}
.kc-admin .kc-b{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.kc-system{align-self:center;max-width:100%;font-size:.78rem;color:var(--muted);text-align:center;background:var(--gold-soft);border-radius:999px;padding:4px 12px}
.kc-pending{opacity:.6}.kc-failed .kc-b{background:var(--alert)}
.kc-typing .kc-b{display:flex;gap:4px;padding:14px}
.kc-typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:kcdot 1.2s infinite}
.kc-typing i:nth-child(2){animation-delay:.15s}.kc-typing i:nth-child(3){animation-delay:.3s}
@keyframes kcdot{0%,60%,100%{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.kc-sug{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
.kc-sug[hidden]{display:none}
.kc-sug button{border:1px solid var(--line);background:var(--bg);color:var(--head);border-radius:999px;padding:8px 12px;font:500 .85rem var(--f-body);cursor:pointer;text-align:left}
.kc-sug button:hover{border-color:var(--gold)}
.kc-sug [data-human]{border-color:var(--gold);background:var(--gold-soft)}
.kc-id{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 12px;border-top:1px solid var(--line);background:var(--gold-soft)}
.kc-id p,.kc-id .kc-id-a,.kc-id [name=email]{grid-column:1/-1}
.kc-id p{font-size:.85rem;color:var(--head);font-weight:600;margin:0}
.kc-id input{width:100%;min-width:0;font:inherit;font-size:16px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.kc-id-a{display:flex;gap:8px;align-items:center}
.kc-err{color:var(--alert)!important}
.kc-form{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
.kc-form textarea{flex:1;resize:none;font:inherit;font-size:16px;line-height:1.4;padding:11px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);max-height:140px;outline:none}
.kc-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.kc-send{width:46px;height:46px;border-radius:50%;border:0;background:var(--btn);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.kc-foot{margin:0;padding:6px 14px 10px;font-size:.72rem;color:var(--muted);background:var(--surface);text-align:center}
.kc-foot a{color:inherit}
@media (max-width:900px){.kc{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.kc-fab-label{display:none}.kc-fab{padding:14px}}
@media (max-width:640px){
  .kc.is-open{inset:0;right:0;bottom:0}
  .kc-panel{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}
}
html[data-text="xl"] .kc-panel{width:min(460px,calc(100vw - 24px))}
/* Connexion Google */
.gbtn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 18px;border-radius:999px;border:1px solid #dadce0;background:#fff;color:#1f1f1f;font:600 .97rem var(--f-body);text-decoration:none;transition:box-shadow .2s,background .2s}
.gbtn:hover{background:#f8f9fa;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.85rem}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
body:has(.overlay.open) .kc:not(.is-open),body:has(.overlay.open) .cf-fab{display:none}

/* ═══ v1.9 — Texte enrichi (éditeur du back-office) ═══ */
.rt>*:last-child,.prose>*:last-child{margin-bottom:0}
.rt p{margin:0 0 .75em}
.rt h2,.rt h3,.rt h4{margin:1em 0 .45em}
.rt h3{font-size:1.25rem}.rt h4{font-size:1.08rem;font-family:var(--f-body);font-weight:700;color:var(--head)}
.rt ul,.rt ol,.prose ol{padding-left:1.3em;margin:0 0 .8em}
.rt li,.prose li{margin:.2em 0}
.rt a:not(.btn),.prose a:not(.btn){color:var(--head);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.slide-copy .rt a:not(.btn),.contact-band .rt a:not(.btn),.cta-band .rt a:not(.btn){color:inherit}
.rt blockquote,.prose blockquote{margin:1em 0;padding:.5em 1.1em;border-left:3px solid var(--gold);background:var(--gold-soft);border-radius:0 12px 12px 0;font-style:italic}
.rt img,.prose img{max-width:100%;height:auto;border-radius:14px}
.rt figure,.prose figure{margin:1em 0}
.rt figure.image,.prose figure.image{display:table}
.rt figcaption,.prose figcaption{font-size:.85rem;color:var(--muted);text-align:center;padding-top:6px}
.rt hr,.prose hr{border:0;border-top:1px solid var(--line);margin:1.6em 0}
.rt table,.prose table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95rem;display:block;overflow-x:auto}
.rt th,.rt td,.prose th,.prose td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.rt th,.prose th{background:var(--gold-soft);color:var(--head)}
.rt iframe,.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:14px}
.rt .btn,.prose .btn{margin:.3em .3em .3em 0}
.rt details,.prose details{margin:.6em 0}
.rt pre,.prose pre{background:var(--gold-soft);padding:12px;border-radius:10px;white-space:pre-wrap;font-size:.9rem}
.rt mark,.prose mark{background:rgba(var(--gold-rgb),.3)}
.slide-copy .sub.rt{font-size:clamp(1rem,1.6vw,1.15rem);color:rgba(255,255,255,.86);max-width:50ch}
.slide-copy .sub.rt p{margin:0}
.story-text{font-size:1.08rem;max-width:58ch}
