
.assembly-page[data-page="home"]{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.assembly-page[data-page="home"]{scroll-padding-top:env(safe-area-inset-top,0px)}.assembly-page[data-page="home"]{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}.assembly-page[data-page="home"] img{max-width:100%}.assembly-page[data-page="home"] [hidden]:not([hidden=until-found i]){display:none!important}

.assembly-page[data-page="home"] .proof{width:100%;justify-content:center;margin-top:18px}
.assembly-page[data-page="home"] .proof a{justify-content:center;gap:9px;padding:5px 8px;border:0;border-radius:0;background:transparent;font-size:.8rem;line-height:1.7;color:var(--muted);text-align:center}
.assembly-page[data-page="home"] .proof b{font-weight:500;color:var(--ink)}
.assembly-page[data-page="home"] .proof .yt{width:21px;height:15px}
.assembly-page[data-page="home"] .proof a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:480px){.assembly-page[data-page="home"] .proof a{font-size:.72rem;gap:7px}.assembly-page[data-page="home"] .proof .yt{width:19px;height:14px}}


  .assembly-page[data-page="home"]{
    --paper:#f3efe6; --stage:#e6dfd0; --ink:#172234; --green:#1d4f86; --muted:#6a685f; --line:rgb(23 34 52 / 14%);
    --card:rgb(255 255 255 / 55%); --dark:#071a33; --dark-2:#0f2847; --cream:#f3ecdc; --mint:#9cc0e0; --note:#ece6d9;
    --serif:"Fraunces", Georgia, "Times New Roman", serif;
    --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --gut:clamp(16px,4vw,56px);
    color-scheme: light;
  }
  .assembly-page[data-page="home"] *{box-sizing:border-box}
  .assembly-page[data-page="home"] [hidden]{display:none!important}
  .assembly-page[data-page="home"]{scroll-behavior:smooth}
  .assembly-page[data-page="home"]{margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 var(--sans)}
  .assembly-page[data-page="home"] a{color:inherit}
  .assembly-page[data-page="home"] img{max-width:100%}
  .assembly-page[data-page="home"] :focus-visible{outline:2px solid var(--green); outline-offset:3px; border-radius:6px}
  .assembly-page[data-page="home"] .wrap{padding-inline:var(--gut)}
  .assembly-page[data-page="home"] .inner{max-width:1260px; margin-inline:auto}
  .assembly-page[data-page="home"] .eyebrow{font:500 .72rem/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:12px; margin:0}
  .assembly-page[data-page="home"] .eyebrow::before{content:""; width:26px; height:1px; background:currentColor; flex:none}
  .assembly-page[data-page="home"] .btn{display:inline-flex; align-items:center; gap:10px; font:500 .95rem var(--sans); background:var(--green); color:#f6f2e8; border:0; border-radius:999px; padding:14px 24px; text-decoration:none; cursor:pointer}
  .assembly-page[data-page="home"] .btn-ghost{background:transparent; color:inherit; border:1px solid currentColor}
  .assembly-page[data-page="home"] .link{font-weight:500; text-underline-offset:6px; text-decoration-thickness:1px}
  .assembly-page[data-page="home"] section{scroll-margin-top:70px}

  /* ---- Bandeau de revue ---- */
  .assembly-page[data-page="home"] .review{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:var(--ink); color:var(--cream); font-size:.8rem}
  .assembly-page[data-page="home"] .review .inner{display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; justify-content:space-between; padding-block:8px}
  .assembly-page[data-page="home"] .review nav{display:flex; flex-wrap:wrap; gap:4px}
  .assembly-page[data-page="home"] .review nav a{color:var(--cream); text-decoration:none; padding:3px 9px; border-radius:999px; border:1px solid rgb(255 255 255 / 18%)}
  .assembly-page[data-page="home"] .review nav a:hover{background:rgb(255 255 255 / 10%)}
  .assembly-page[data-page="home"] .review .tools{display:flex; gap:6px; align-items:center}
  .assembly-page[data-page="home"] .seg{display:inline-flex; border:1px solid rgb(255 255 255 / 25%); border-radius:999px; padding:2px; gap:2px}
  .assembly-page[data-page="home"] .seg button,.assembly-page[data-page="home"] .review .tools > button{font:500 .76rem var(--sans); border:0; background:none; color:var(--cream); padding:4px 10px; border-radius:999px; cursor:pointer}
  .assembly-page[data-page="home"] .seg button[aria-pressed="true"]{background:var(--cream); color:var(--ink)}
  .assembly-page[data-page="home"] .zone-tag{display:inline-flex; gap:8px; align-items:center; font:500 .7rem var(--sans); letter-spacing:.08em; text-transform:uppercase; padding:5px 11px; border-radius:999px; background:#ffe9a8; color:#4a3a00; margin-bottom:18px}
  .assembly-page[data-page="home"].clean .zone-tag, .assembly-page[data-page="home"].clean .zone-note{display:none}
  .assembly-page[data-page="home"] .zone-note{font-size:.8rem; color:#6b5a1a; background:#fff6d6; border-radius:10px; padding:8px 12px; margin:14px 0 0; max-width:70ch}
  .assembly-page[data-page="home"] .on-dark .zone-note{background:#3a3520; color:#f3e3a8}

  /* ---- En-tête du site ---- */
  .assembly-page[data-page="home"] header.site .inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:22px}
  .assembly-page[data-page="home"] .logo{display:grid; gap:3px; text-decoration:none}
  .assembly-page[data-page="home"] .logo-word{font:400 clamp(1.15rem,2vw,1.5rem)/1 var(--sans); letter-spacing:.2em}
  .assembly-page[data-page="home"] .logo-word span{color:var(--muted)}
  .assembly-page[data-page="home"] .logo-sig{font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="home"] .menu{display:flex; gap:22px; font-size:.92rem}
  .assembly-page[data-page="home"] .menu a{text-decoration:none}
  .assembly-page[data-page="home"] .head-cta{display:flex; gap:8px}
  .assembly-page[data-page="home"] .pill{font:500 .86rem var(--sans); border:1px solid var(--ink); border-radius:999px; padding:9px 16px; text-decoration:none; white-space:nowrap}
  .assembly-page[data-page="home"] .pill-dark{background:var(--ink); color:var(--paper)}
  @media (max-width:900px){ .assembly-page[data-page="home"] .menu{display:none} .assembly-page[data-page="home"] .pill-dark{display:none} }

  /* =========== ZONE 1 · SILHOUETTE =========== */
  .assembly-page[data-page="home"] .z1{padding-block:18px 60px; text-align:center}
  .assembly-page[data-page="home"] .z1 .eyebrow{justify-content:center}
  .assembly-page[data-page="home"] .z1 h1{font:330 clamp(2.3rem,5.4vw,5.2rem)/1.04 var(--serif); letter-spacing:-.03em; margin:14px auto 12px; max-width:20ch; text-wrap:balance}
  .assembly-page[data-page="home"] .z1 .intro{color:var(--muted); max-width:60ch; margin:0 auto}
  .assembly-page[data-page="home"] .proof{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:22px}
  .assembly-page[data-page="home"] .proof a{display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-size:.9rem; padding:8px 14px 8px 10px; border:1px solid var(--line); border-radius:999px; background:var(--card)}
  .assembly-page[data-page="home"] .proof b{font-weight:500}
  .assembly-page[data-page="home"] .proof .yt{width:26px; height:18px; flex:none}
  .assembly-page[data-page="home"] .proof .vvt{display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--green); color:#fff; font:600 .62rem var(--sans); letter-spacing:.02em; flex:none}
  .assembly-page[data-page="home"] .stage{display:grid; grid-template-columns:1fr minmax(240px,370px) 1fr; gap:clamp(16px,3vw,48px); align-items:center; margin-top:30px; text-align:left}
  .assembly-page[data-page="home"] .col{display:grid}
  .assembly-page[data-page="home"] .entry{display:grid; gap:4px; padding:18px 18px 18px 22px; border-top:1px solid var(--line); border-radius:0 0 14px 14px; position:relative; transition:background .35s}
  .assembly-page[data-page="home"] .entry::before{content:""; position:absolute; left:6px; top:28px; width:7px; height:7px; border-radius:50%; background:#f3a54a; opacity:0; box-shadow:0 0 12px 3px rgb(255 170 70 / 70%); transition:opacity .35s}
  .assembly-page[data-page="home"] .entry[aria-current="true"]{background:var(--card)}
  .assembly-page[data-page="home"] .entry[aria-current="true"]::before{opacity:1}
  .assembly-page[data-page="home"] .entry-main{display:grid; gap:4px; text-decoration:none}
  .assembly-page[data-page="home"] .entry h3{margin:0; font:450 clamp(1.15rem,1.6vw,1.4rem)/1.25 var(--sans); letter-spacing:-.02em}
  .assembly-page[data-page="home"] .entry p{margin:0; color:var(--muted)}
  .assembly-page[data-page="home"] .entry-main > span{font-weight:500; font-size:.9rem; color:var(--green); margin-top:4px}
  .assembly-page[data-page="home"] .pick{display:flex; gap:12px; align-items:center; margin-top:12px; padding:6px 14px 6px 6px; width:fit-content; max-width:100%; border:1px solid var(--line); border-radius:14px; background:var(--card); text-decoration:none; transition:border-color .35s, box-shadow .35s}
  .assembly-page[data-page="home"] .entry .pick + .pick{margin-top:8px}
  .assembly-page[data-page="home"] .pick img{width:52px; height:52px; flex:none; object-fit:cover; object-position:center 58%; border-radius:10px; background:#fff}
  .assembly-page[data-page="home"] .pick > span{display:grid; gap:1px; line-height:1.3; color:var(--ink)}
  .assembly-page[data-page="home"] .pick small{font:500 .64rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="home"] .pick b{font-weight:500; font-size:.95rem}
  .assembly-page[data-page="home"] .pick i{font-style:normal; font-size:.8rem; color:var(--muted)}
  .assembly-page[data-page="home"] .entry[aria-current="true"] .pick{border-color:rgb(243 165 74 / 55%); box-shadow:0 6px 24px -10px rgb(243 150 50 / 55%)}
  .assembly-page[data-page="home"] .entry[aria-current="true"] .pick img,.assembly-page[data-page="home"] .entry[aria-current="true"] .cup{box-shadow:0 0 0 2px rgb(255 190 92 / 60%), 0 0 18px 2px rgb(255 170 70 / 45%)}
  .assembly-page[data-page="home"] .cup{width:52px; height:52px; flex:none; border-radius:10px; background:radial-gradient(circle at 50% 70%, #fbe3c2, #f1cfa3 60%, #e7bd8c); display:grid; place-items:center}
  .assembly-page[data-page="home"] .cup svg{width:44px; height:44px; overflow:visible}
  .assembly-page[data-page="home"] .cup .mug{fill:#fffaf2; stroke:#8a5a2b; stroke-width:1.6; stroke-linejoin:round}
  .assembly-page[data-page="home"] .cup .handle,.assembly-page[data-page="home"] .cup .saucer{fill:none; stroke:#8a5a2b; stroke-width:1.6; stroke-linecap:round}
  .assembly-page[data-page="home"] .cup .steam{fill:none; stroke:#8a5a2b; stroke-width:1.5; stroke-linecap:round; opacity:.35}
  .assembly-page[data-page="home"] .entry[aria-current="true"] .cup .steam,.assembly-page[data-page="home"] .pick-serena:hover .cup .steam{animation:steam 2.4s ease-in-out infinite}
  .assembly-page[data-page="home"] .cup .s2{animation-delay:.5s!important} .assembly-page[data-page="home"] .cup .s3{animation-delay:1s!important}
  @keyframes steam{0%{opacity:0; transform:translateY(4px)}40%{opacity:.8}100%{opacity:0; transform:translateY(-7px)}}
  .assembly-page[data-page="home"] .chip{font-style:normal; margin-left:6px; padding:1px 7px; border-radius:999px; background:var(--green); color:var(--paper); letter-spacing:.08em}
  .assembly-page[data-page="home"] figure.fig{position:relative; margin:0; aspect-ratio:1000/1429; max-width:100%}
  .assembly-page[data-page="home"] .fig .halo{position:absolute; inset:8% -12%; border-radius:50%; background:radial-gradient(closest-side, rgb(120 170 230 / 30%), transparent 72%); animation:halo 10s ease-in-out infinite}
  .assembly-page[data-page="home"] .fig img,.assembly-page[data-page="home"] .fig svg{position:absolute; inset:0; width:100%; height:100%}
  .assembly-page[data-page="home"] .fig img{transition:filter .7s ease}
  .assembly-page[data-page="home"] .fig[data-zone="rest"] img{animation:breathe 10s ease-in-out infinite}
  .assembly-page[data-page="home"] .fig:not([data-zone="rest"]) img{filter:brightness(.58) saturate(.78)}
  .assembly-page[data-page="home"] .fig[data-zone="sommeil"] img{filter:brightness(.4) saturate(.55)}
  .assembly-page[data-page="home"] .fig[data-zone="matin"] img{filter:brightness(.66) saturate(.85)}
  .assembly-page[data-page="home"] .fig[data-zone="chanvre"] img{filter:brightness(.72) saturate(.85)}
  .assembly-page[data-page="home"] .fig[data-zone="serena"] img{filter:brightness(.5) saturate(.7) sepia(.15)}
  .assembly-page[data-page="home"] .fig svg{mix-blend-mode:screen; overflow:hidden; pointer-events:none}
  .assembly-page[data-page="home"] .glow{transition:opacity .7s ease}
  @keyframes breathe{0%,100%{filter:brightness(.97) saturate(1)}50%{filter:brightness(1.07) saturate(1.1)}}
  @keyframes halo{0%,100%{transform:scale(.97); opacity:.8}50%{transform:scale(1.04); opacity:1}}
  .assembly-page[data-page="home"].phone .fig{cursor:pointer}
  .assembly-page[data-page="home"] .legend{min-height:3.2em; margin-top:10px; text-align:center; display:grid; gap:2px}
  .assembly-page[data-page="home"] .legend strong{font:500 .72rem/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="home"] .legend em{font:italic 400 1rem/1.35 var(--serif)}
  .assembly-page[data-page="home"] .legend small{color:var(--muted); font-size:.82rem}
  .assembly-page[data-page="home"] .ctrl{display:flex; justify-content:center; margin-top:8px}
  .assembly-page[data-page="home"] .ctrl button{font:500 .8rem var(--sans); border:1px solid var(--line); background:var(--card); color:var(--ink); border-radius:999px; padding:6px 14px; cursor:pointer}
  .assembly-page[data-page="home"] .z1-actions{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px 28px; margin-top:34px}
  .assembly-page[data-page="home"].phone .stage{grid-template-columns:1fr; max-width:440px; margin-inline:auto}
  .assembly-page[data-page="home"].phone .figwrap{order:-1; width:min(72%,300px); justify-self:center}
  .assembly-page[data-page="home"].phone .entry[aria-current="true"]{background:none}
  .assembly-page[data-page="home"].phone .entry::before{display:none}
  @media (max-width:760px){ .assembly-page[data-page="home"] .stage{grid-template-columns:1fr} .assembly-page[data-page="home"] .figwrap{order:-1; width:min(72%,300px); justify-self:center} }

  /* =========== ZONE 2 · MANIFESTE =========== */
  .assembly-page[data-page="home"] .z2{padding-block:clamp(50px,7vw,100px)}
  .assembly-page[data-page="home"] .z2 .inner{display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(24px,5vw,72px); align-items:center}
  .assembly-page[data-page="home"] .z2 h2{font:330 clamp(2.4rem,5vw,4.6rem)/1.02 var(--serif); letter-spacing:-.03em; margin:14px 0 18px; text-wrap:balance}
  .assembly-page[data-page="home"] .z2 h2 em{color:var(--green)}
  .assembly-page[data-page="home"] .z2 p{margin:0}
  .assembly-page[data-page="home"] .film{position:relative; margin:0; border-radius:22px; overflow:hidden; background:#2a2420; aspect-ratio:16/10; box-shadow:0 30px 60px -30px rgb(40 30 10 / 45%)}
  .assembly-page[data-page="home"] .film video{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="home"] .film-ctrl{position:absolute; right:12px; bottom:12px; font:500 .78rem var(--sans); border:0; border-radius:999px; padding:6px 12px; background:rgb(20 20 16 / 55%); color:#fff; cursor:pointer}
  .assembly-page[data-page="home"] .film-cap{margin-top:10px; font:italic 400 1rem var(--serif)}
  @media (max-width:860px){ .assembly-page[data-page="home"] .z2 .inner{grid-template-columns:1fr} }

  /* =========== ZONE 3 · MINI-BILAN =========== */
  .assembly-page[data-page="home"] #bilan{background:var(--dark); color:var(--cream); padding-block:clamp(50px,6vw,90px)}
  .assembly-page[data-page="home"] #bilan .eyebrow{color:var(--mint)}
  .assembly-page[data-page="home"] #bilan .grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr); gap:clamp(24px,5vw,72px); align-items:start}
  .assembly-page[data-page="home"] #bilan h2{font:330 clamp(2.2rem,4.4vw,3.8rem)/1.05 var(--serif); letter-spacing:-.03em; margin:14px 0 10px; text-wrap:balance}
  .assembly-page[data-page="home"] #bilan h2 em{font-style:italic; color:#cfe2f3}
  .assembly-page[data-page="home"] #bilan .lede{margin:0; color:#cfc7b4; max-width:52ch}
  .assembly-page[data-page="home"] #bilan .progress{display:flex; gap:6px; margin:26px 0 18px}
  .assembly-page[data-page="home"] #bilan .progress i{flex:1; height:3px; border-radius:2px; background:rgb(255 255 255 / 15%); transition:background .4s}
  .assembly-page[data-page="home"] #bilan .progress i.on{background:var(--mint)}
  .assembly-page[data-page="home"] #bilan .step{display:none}
  .assembly-page[data-page="home"] #bilan .step.on{display:block; animation:rise .45s ease both}
  @keyframes rise{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
  .assembly-page[data-page="home"] #bilan .q{font:400 clamp(1.3rem,2.2vw,1.7rem)/1.3 var(--serif); margin:0 0 6px; text-wrap:balance}
  .assembly-page[data-page="home"] #bilan .hint{margin:0 0 16px; font-size:.88rem; color:#b9b19e}
  .assembly-page[data-page="home"] #bilan .choices{display:grid; gap:8px}
  .assembly-page[data-page="home"] #bilan .choice{display:flex; align-items:center; gap:12px; text-align:left; width:100%; font:inherit; color:var(--cream); background:rgb(255 255 255 / 6%); border:1px solid rgb(255 255 255 / 14%); border-radius:14px; padding:13px 16px; cursor:pointer; transition:background .25s, border-color .25s}
  .assembly-page[data-page="home"] #bilan .choice:hover{background:rgb(255 255 255 / 10%)}
  .assembly-page[data-page="home"] #bilan .choice[aria-pressed="true"]{background:rgb(156 192 224 / 18%); border-color:var(--mint)}
  .assembly-page[data-page="home"] #bilan .choice .dot{width:10px; height:10px; border-radius:50%; flex:none; box-shadow:0 0 10px 2px currentColor}
  .assembly-page[data-page="home"] #bilan .scale{grid-template-columns:repeat(4,1fr)}
  .assembly-page[data-page="home"] #bilan .scale .choice{justify-content:center; text-align:center; padding:14px 8px}
  .assembly-page[data-page="home"] #bilan .nav{display:flex; justify-content:space-between; gap:10px; margin-top:20px}
  .assembly-page[data-page="home"] #bilan .bbtn{font:500 .95rem var(--sans); border:0; border-radius:999px; padding:13px 22px; background:var(--mint); color:var(--dark); cursor:pointer}
  .assembly-page[data-page="home"] #bilan .bbtn[disabled]{opacity:.4; cursor:default}
  .assembly-page[data-page="home"] #bilan .bbtn-ghost{background:transparent; color:var(--cream); border:1px solid rgb(255 255 255 / 25%)}
  .assembly-page[data-page="home"] #bilan .status{margin-top:18px; font-size:.78rem; color:#9c947f; max-width:60ch}
  .assembly-page[data-page="home"] #bilan .figcol{position:sticky; top:70px}
  .assembly-page[data-page="home"] .bfig{position:relative; margin:0 auto; aspect-ratio:1000/1429; width:min(100%,320px)}
  .assembly-page[data-page="home"] .bfig img,.assembly-page[data-page="home"] .bfig svg{position:absolute; inset:0; width:100%; height:100%}
  .assembly-page[data-page="home"] .bfig img{filter:brightness(.42) saturate(.6); transition:filter 1s}
  .assembly-page[data-page="home"] .bfig.done img{filter:brightness(.5) saturate(.7)}
  .assembly-page[data-page="home"] .bfig svg{mix-blend-mode:screen}
  .assembly-page[data-page="home"] .bzone{transition:opacity 1.1s ease}
  .assembly-page[data-page="home"] .breath{animation:breathz 10s ease-in-out infinite}
  @keyframes breathz{0%,100%{opacity:.85}50%{opacity:1}}
  .assembly-page[data-page="home"] #bilan .bars{display:grid; gap:9px; margin:18px auto 0; width:min(100%,320px)}
  .assembly-page[data-page="home"] #bilan .bar{display:grid; grid-template-columns:8.5rem 1fr; gap:10px; align-items:center; font-size:.82rem; color:#cfc7b4}
  .assembly-page[data-page="home"] #bilan .bar b{font-weight:500}
  .assembly-page[data-page="home"] #bilan .track{height:6px; border-radius:3px; background:rgb(255 255 255 / 10%); overflow:hidden}
  .assembly-page[data-page="home"] #bilan .fill{height:100%; width:0; border-radius:3px; transition:width 1s ease}
  .assembly-page[data-page="home"] #bilan .res h3{font:330 clamp(1.7rem,3vw,2.4rem)/1.1 var(--serif); margin:10px 0 12px; letter-spacing:-.02em; text-wrap:balance}
  .assembly-page[data-page="home"] #bilan .res h3 em{font-style:italic; color:#cfe2f3}
  .assembly-page[data-page="home"] #bilan .reading{margin:0; color:#e4dccb; max-width:56ch}
  .assembly-page[data-page="home"] #bilan .reading-src{margin:6px 0 0; font-size:.78rem; color:#9c947f}
  .assembly-page[data-page="home"] #bilan .orient{margin-top:22px; padding:18px; border-radius:16px; background:var(--dark-2); border:1px solid rgb(255 255 255 / 10%); display:grid; gap:10px}
  .assembly-page[data-page="home"] #bilan .orient small{font:500 .7rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--mint)}
  .assembly-page[data-page="home"] #bilan .orient p{margin:0}
  .assembly-page[data-page="home"] #bilan .reco{display:flex; flex-wrap:wrap; gap:8px}
  .assembly-page[data-page="home"] #bilan .reco a{text-decoration:none; color:var(--cream); border:1px solid rgb(255 255 255 / 20%); border-radius:999px; padding:8px 14px; font-size:.9rem}
  .assembly-page[data-page="home"] #bilan .flagmsg{border-color:#e7b86a}
  .assembly-page[data-page="home"] #bilan .mail{margin-top:18px; display:grid; gap:8px; padding:18px; border-radius:16px; background:var(--cream); color:var(--ink)}
  .assembly-page[data-page="home"] #bilan .mail label{font-weight:500}
  .assembly-page[data-page="home"] #bilan .mail .row{display:flex; gap:8px; flex-wrap:wrap}
  .assembly-page[data-page="home"] #bilan .mail input{flex:1 1 200px; min-width:0; font:inherit; border:1px solid var(--line); border-radius:999px; padding:11px 14px; background:#fffdf8; color:var(--ink)}
  .assembly-page[data-page="home"] #bilan .mail button{font:500 .9rem var(--sans); border:0; border-radius:999px; padding:11px 18px; background:var(--green); color:#f6f2e8; cursor:pointer}
  .assembly-page[data-page="home"] #bilan .mail p{margin:0; font-size:.82rem; color:var(--muted)}
  .assembly-page[data-page="home"] #bilan .toast{color:var(--green)!important; min-height:1.2em}
  @media (max-width:820px){ .assembly-page[data-page="home"] #bilan .grid{grid-template-columns:1fr} .assembly-page[data-page="home"] #bilan .figcol{position:static; order:-1} .assembly-page[data-page="home"] .bfig{width:min(60%,240px)} .assembly-page[data-page="home"] #bilan .scale{grid-template-columns:1fr 1fr} }

  /* ---- Mini-bilan v2 : cinq blocs ---- */
  .assembly-page[data-page="home"] #bilan .kicker{margin:0 0 4px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--mint)}
  .assembly-page[data-page="home"] #bilan .qrow{padding:14px 0; border-top:1px solid rgb(255 255 255 / 10%)}
  .assembly-page[data-page="home"] #bilan .qrow:first-of-type{border-top:0}
  .assembly-page[data-page="home"] #bilan .qtext{margin:0 0 10px; font-size:1.02rem}
  .assembly-page[data-page="home"] #bilan .qtext .tag{display:inline-block; margin-right:8px; padding:2px 8px; border-radius:999px; background:rgb(156 192 224 / 16%); color:var(--mint); font-size:.72rem; letter-spacing:.06em; vertical-align:2px}
  .assembly-page[data-page="home"] #bilan .scale4{display:grid; grid-template-columns:repeat(4,1fr); gap:6px}
  .assembly-page[data-page="home"] #bilan .scale4 .choice{flex-direction:column; justify-content:center; gap:2px; text-align:center; padding:10px 6px; font-size:.86rem; line-height:1.25}
  .assembly-page[data-page="home"] #bilan .scale4 .choice small{font-size:.72rem; color:#b9b19e}
  .assembly-page[data-page="home"] #bilan .level{display:inline-block; margin:0 0 10px; padding:3px 10px; border-radius:999px; background:rgb(255 190 92 / 16%); color:#ffd9a0; font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase}
  .assembly-page[data-page="home"] #bilan .most{margin:12px 0 0; font-size:.92rem; color:#d7cfbd}
  .assembly-page[data-page="home"] #bilan .most b{color:var(--cream); font-weight:500}
  .assembly-page[data-page="home"] #bilan .geste{margin-top:18px; padding:16px 18px; border-radius:16px; background:rgb(156 192 224 / 12%); border:1px solid rgb(156 192 224 / 30%)}
  .assembly-page[data-page="home"] #bilan .geste small{font:500 .7rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--mint)}
  .assembly-page[data-page="home"] #bilan .geste p{margin:6px 0 0; font:italic 400 1.08rem/1.45 var(--serif); color:var(--cream)}
  .assembly-page[data-page="home"] #bilan .picks{display:flex; flex-wrap:wrap; gap:8px}
  .assembly-page[data-page="home"] .rpick{display:flex; gap:12px; align-items:center; padding:6px 14px 6px 6px; border-radius:14px; background:var(--cream); color:var(--ink); text-decoration:none; max-width:100%}
  .assembly-page[data-page="home"] .rpick img{width:52px; height:52px; flex:none; object-fit:cover; object-position:center 58%; border-radius:10px; background:#fff}
  .assembly-page[data-page="home"] .rpick > span{display:grid; gap:1px; line-height:1.3}
  .assembly-page[data-page="home"] .rpick small{font:500 .62rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="home"] .rpick b{font-weight:500; font-size:.95rem}
  .assembly-page[data-page="home"] .rpick i{font-style:normal; font-size:.8rem; color:var(--muted)}
  .assembly-page[data-page="home"] .rpick .cup .steam{animation:steam 2.4s ease-in-out infinite}
  .assembly-page[data-page="home"] #bilan .dayplan{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; margin-top:4px}
  .assembly-page[data-page="home"] #bilan .slot{display:grid; gap:8px; align-content:start; padding:12px; border-radius:14px; background:rgb(255 255 255 / 5%); border-top:3px solid var(--mint)}
  .assembly-page[data-page="home"] #bilan .slot small{font:500 .7rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--mint)}
  .assembly-page[data-page="home"] #bilan .slot .rpick{padding:5px 10px 5px 5px}
  .assembly-page[data-page="home"] #bilan .slot .rpick img,.assembly-page[data-page="home"] #bilan .slot .rpick .cup{width:40px; height:40px}
  .assembly-page[data-page="home"] #bilan .slot .rpick small{display:none}
  .assembly-page[data-page="home"] #bilan .daycta{justify-self:start; text-decoration:none; margin-top:6px}
  .assembly-page[data-page="home"] #bilan .bar{grid-template-columns:11.5rem 1fr}
  @media (max-width:820px){ .assembly-page[data-page="home"] #bilan .scale4{grid-template-columns:1fr 1fr} .assembly-page[data-page="home"] #bilan .dayplan{grid-template-columns:1fr} }

  /* =========== ZONE 4 · PRODUITS =========== */
  .assembly-page[data-page="home"] .z4{padding-block:clamp(50px,7vw,100px)}
  .assembly-page[data-page="home"] .z4-head{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,64px); align-items:center}
  .assembly-page[data-page="home"] .z4 h2{font:330 clamp(2.4rem,5vw,4.6rem)/1.02 var(--serif); letter-spacing:-.03em; margin:14px 0 14px; text-wrap:balance}
  .assembly-page[data-page="home"] .synergy{margin:0; font-size:1.15rem}
  .assembly-page[data-page="home"] .braid{margin:0; border-radius:22px; overflow:hidden; background:#fff}
  .assembly-page[data-page="home"] .braid img{display:block; width:100%}
  .assembly-page[data-page="home"] .z4-links{display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center; margin-top:22px}
  .assembly-page[data-page="home"] .still{display:flex; justify-content:center; align-items:flex-end; gap:0; margin-top:34px; padding:28px 16px 0; border-radius:22px; background:radial-gradient(120% 90% at 50% 100%, #efe3cb, #e6dfd0 60%)}
  .assembly-page[data-page="home"] .still img{height:clamp(150px,22vw,260px); width:auto; margin-inline:-3%; object-fit:contain; mix-blend-mode:multiply}
  .assembly-page[data-page="home"] .featured{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:34px}
  .assembly-page[data-page="home"] .card{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:18px; display:grid; gap:10px; align-content:start}
  .assembly-page[data-page="home"] .card .shot{background:linear-gradient(160deg,#f7f3ea,#e9e2d3); border-radius:16px; display:grid; place-items:center; aspect-ratio:4/3; overflow:hidden}
  .assembly-page[data-page="home"] .card .shot img{width:100%; height:100%; object-fit:contain; padding:6%; mix-blend-mode:multiply}
  .assembly-page[data-page="home"] .card h3{margin:0; font:450 1.6rem/1.2 var(--sans); letter-spacing:-.02em}
  .assembly-page[data-page="home"] .card h3 span{font-size:.85rem; color:var(--green); font-weight:500; letter-spacing:.06em; margin-right:6px}
  .assembly-page[data-page="home"] .card p{margin:0; color:var(--muted)}
  .assembly-page[data-page="home"] .supporting{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:18px}
  .assembly-page[data-page="home"] .supporting .card{grid-template-columns:90px 1fr; align-items:center}
  .assembly-page[data-page="home"] .supporting .shot{aspect-ratio:1; border-radius:12px}
  .assembly-page[data-page="home"] .supporting h3{font-size:1.2rem}
  .assembly-page[data-page="home"] .supporting .cup{width:100%; height:100%; border-radius:12px}
  .assembly-page[data-page="home"] .supporting .cup svg{width:60%; height:60%}
  .assembly-page[data-page="home"] .cbd-card{margin-top:18px; grid-template-columns:120px 1fr auto; align-items:center; gap:18px}
  .assembly-page[data-page="home"] .cbd-card .shot{aspect-ratio:1; border-radius:12px}
  .assembly-page[data-page="home"] .cbd-card .cat{font-size:.82rem; color:var(--muted); font-style:italic}
  @media (max-width:760px){ .assembly-page[data-page="home"] .cbd-card{grid-template-columns:90px 1fr} .assembly-page[data-page="home"] .cbd-card .link{grid-column:1/-1} }
  .assembly-page[data-page="home"] details.hemp{margin-top:18px; border:1px solid var(--line); border-radius:18px; padding:16px 20px; background:var(--card)}
  .assembly-page[data-page="home"] details.hemp summary{cursor:pointer; font-weight:500; list-style:none; display:flex; justify-content:space-between}
  .assembly-page[data-page="home"] details.hemp summary::-webkit-details-marker{display:none}
  .assembly-page[data-page="home"] details.hemp > div{display:grid; grid-template-columns:110px 1fr; gap:16px; align-items:center; margin-top:14px}
  .assembly-page[data-page="home"] details.hemp img{width:110px; mix-blend-mode:multiply}
  @media (max-width:900px){ .assembly-page[data-page="home"] .z4-head,.assembly-page[data-page="home"] .featured{grid-template-columns:1fr} .assembly-page[data-page="home"] .supporting{grid-template-columns:1fr} }

  /* ---- Cordes : un brin par produit, couleur de la tresse ---- */
  .assembly-page[data-page="home"] .rope{display:block; width:min(200px,100%); height:9px; border-radius:6px; margin:2px 0 4px;
    background:repeating-linear-gradient(118deg, var(--c) 0 5px, color-mix(in srgb, var(--c) 68%, #000) 5px 6.5px, color-mix(in srgb, var(--c) 78%, #fff) 6.5px 8.5px);
    box-shadow:0 2px 3px rgb(35 38 29 / 18%)}
  .assembly-page[data-page="home"] .braid figcaption{padding:10px 16px 14px; font:italic 400 1rem var(--serif); color:var(--muted); background:#fff}
  .assembly-page[data-page="home"] .window3d{margin-top:34px}
  .assembly-page[data-page="home"] .window3d .still{margin-top:0}
  .assembly-page[data-page="home"] .window3d-cap{margin:10px 0 0; font:italic 400 1rem var(--serif); color:var(--muted)}

  /* =========== ZONE 5 · APPROCHE =========== */
  .assembly-page[data-page="home"] .z5b{padding-block:clamp(50px,7vw,100px)}
  .assembly-page[data-page="home"] .appr{display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(24px,5vw,72px); align-items:start}
  .assembly-page[data-page="home"] .mat{margin:0}
  .assembly-page[data-page="home"] .mat-frame{position:relative; aspect-ratio:3/2; border-radius:22px; overflow:hidden; background:#e9e2d3; box-shadow:0 30px 60px -34px rgb(40 30 10 / 45%)}
  .assembly-page[data-page="home"] .mat-frame > *{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity 1s ease}
  .assembly-page[data-page="home"] .mat-frame .out{opacity:0}
  .assembly-page[data-page="home"] .mat-card{display:grid; place-content:center; text-align:center; gap:8px; padding:24px; background:radial-gradient(120% 100% at 30% 20%, #f4ecd9, #e2d6bd 70%, #d6c7a8)}
  .assembly-page[data-page="home"] .mat-card b{font:italic 330 clamp(1.8rem,3.4vw,2.8rem)/1.1 var(--serif); color:#1d3a5f}
  .assembly-page[data-page="home"] .mat-card span{font:500 .7rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:#6b6247}
  .assembly-page[data-page="home"] .mat-card small{font-size:.74rem; color:#8a7d5c}
  .assembly-page[data-page="home"].clean .mat-card small{display:none}
  .assembly-page[data-page="home"] .mat figcaption{margin-top:12px; font:500 .74rem var(--sans); letter-spacing:.1em; text-transform:uppercase; min-height:2.4em}
  .assembly-page[data-page="home"] .mat figcaption i{text-transform:none; letter-spacing:0; font:italic 400 .9rem var(--serif)}
  .assembly-page[data-page="home"] .mat-ctrl{display:flex; gap:8px; align-items:center; margin-top:10px}
  .assembly-page[data-page="home"] .mat-ctrl button{font:500 .85rem var(--sans); border:1px solid var(--line); background:var(--card); color:var(--ink); border-radius:999px; padding:8px 14px; cursor:pointer}
  .assembly-page[data-page="home"] .mat-count{font-size:.82rem; color:var(--muted); font-variant-numeric:tabular-nums; margin-left:4px}
  .assembly-page[data-page="home"] .appr-copy h2{font:330 clamp(2.6rem,5vw,4.6rem)/1.02 var(--serif); letter-spacing:-.03em; margin:14px 0 16px}
  .assembly-page[data-page="home"] .appr-copy h2 em{color:var(--green)}
  .assembly-page[data-page="home"] .appr-lead{font-size:1.2rem; margin:0 0 12px}
  .assembly-page[data-page="home"] .appr-intro{color:var(--muted); margin:0 0 14px}
  .assembly-page[data-page="home"] .appr-mat{margin:0 0 24px; padding-left:14px; border-left:2px solid var(--green); min-height:4.8em; transition:opacity 1s ease}
  @media (max-width:860px){ .assembly-page[data-page="home"] .appr{grid-template-columns:1fr} }

  /* =========== ZONE 5 · 90 JOURS =========== */
  .assembly-page[data-page="home"] .z5{background:var(--stage); padding-block:clamp(50px,7vw,100px)}
  .assembly-page[data-page="home"] .z5 .head{display:grid; grid-template-columns:auto 1fr; gap:24px 56px; align-items:end; margin-top:18px}
  .assembly-page[data-page="home"] .z5 h2{font:330 clamp(4.4rem,11vw,10rem)/.9 var(--serif); letter-spacing:-.06em; margin:0}
  .assembly-page[data-page="home"] .z5 .intro{margin:0; max-width:46ch; font-size:1.1rem}
  .assembly-page[data-page="home"] .yours{margin-top:36px; display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(20px,4vw,56px); align-items:start; padding-block:28px; border-block:1px solid var(--line)}
  .assembly-page[data-page="home"] .yours-date{font:330 clamp(1.7rem,3.2vw,2.6rem)/1.15 var(--serif); letter-spacing:-.02em; margin:0; text-wrap:balance}
  .assembly-page[data-page="home"] .yours-date em{font-style:italic; color:var(--green)}
  .assembly-page[data-page="home"] .season{margin:12px 0 0; color:var(--muted)}
  .assembly-page[data-page="home"] .start{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:16px; font-size:.9rem; color:var(--muted)}
  .assembly-page[data-page="home"] .start button{font:500 .85rem var(--sans); border:1px solid var(--line); background:var(--card); color:var(--ink); border-radius:999px; padding:7px 14px; cursor:pointer}
  .assembly-page[data-page="home"] .start button[aria-pressed="true"]{background:var(--ink); color:var(--paper); border-color:var(--ink)}
  .assembly-page[data-page="home"] .start input{font:500 .85rem var(--sans); border:1px solid var(--line); background:var(--card); color:var(--ink); border-radius:999px; padding:6px 12px}
  .assembly-page[data-page="home"] .acts{display:grid; gap:12px; align-content:start}
  .assembly-page[data-page="home"] .acts .btn{justify-content:center}
  .assembly-page[data-page="home"] .remind{display:grid; gap:8px; margin-top:6px; padding:16px; border-radius:16px; background:var(--card); border:1px solid var(--line)}
  .assembly-page[data-page="home"] .remind label{font-weight:500}
  .assembly-page[data-page="home"] .remind p{margin:0; font-size:.85rem; color:var(--muted)}
  .assembly-page[data-page="home"] .remind .row{display:flex; gap:8px; flex-wrap:wrap}
  .assembly-page[data-page="home"] .remind input{flex:1 1 180px; min-width:0; font:inherit; font-size:.95rem; border:1px solid var(--line); border-radius:999px; padding:10px 14px; background:#fffdf8; color:var(--ink)}
  .assembly-page[data-page="home"] .remind button{font:500 .9rem var(--sans); border:0; border-radius:999px; padding:10px 18px; background:var(--ink); color:var(--paper); cursor:pointer}
  .assembly-page[data-page="home"] .jtoast{font-size:.85rem; color:var(--green); min-height:1.2em; margin:0}
  .assembly-page[data-page="home"] .j-stages{display:grid; grid-template-columns:repeat(5,1fr); margin-top:34px; border-top:1px solid var(--line)}
  .assembly-page[data-page="home"] .j-stage{padding:14px 16px 4px 0; border-right:1px solid var(--line); display:grid; gap:2px}
  .assembly-page[data-page="home"] .j-stage:last-child{border-right:0}
  .assembly-page[data-page="home"] .j-stage + .j-stage{padding-left:16px}
  .assembly-page[data-page="home"] .j-stage small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="home"] .j-stage b{font-weight:450; font-size:1.05rem}
  .assembly-page[data-page="home"] .j-stage span{font-size:.82rem; color:var(--muted); font-variant-numeric:tabular-nums}
  .assembly-page[data-page="home"] .help{margin:30px 0 8px; font-size:.85rem; color:var(--muted)}
  .assembly-page[data-page="home"] .phase{margin-top:18px}
  .assembly-page[data-page="home"] .phase-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
  .assembly-page[data-page="home"] .phase-head h3{margin:0; font:450 1.2rem var(--sans); letter-spacing:-.02em}
  .assembly-page[data-page="home"] .phase-head span{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="home"] .days{display:grid; grid-template-columns:repeat(30,1fr); gap:4px; margin-top:8px; padding-bottom:16px}
  .assembly-page[data-page="home"] .day{position:relative; aspect-ratio:1.15; border:0; border-radius:4px; padding:0; cursor:pointer; transition:transform .15s}
  .assembly-page[data-page="home"] .day:hover,.assembly-page[data-page="home"] .day:focus-visible,.assembly-page[data-page="home"] .day[aria-pressed="true"]{transform:translateY(-3px)}
  .assembly-page[data-page="home"] .day[aria-pressed="true"]{outline:2px solid var(--ink); outline-offset:2px}
  .assembly-page[data-page="home"] .day.today::after{content:""; position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:var(--ink)}
  .assembly-page[data-page="home"] .mark{position:absolute; left:0; top:calc(100% + 3px); font:500 .62rem var(--sans); letter-spacing:.06em; color:var(--muted); white-space:nowrap; pointer-events:none; text-transform:lowercase}
  .assembly-page[data-page="home"] .readout{margin-top:22px; min-height:3.4em; display:grid; gap:2px; padding:14px 18px; border-left:3px solid var(--green); background:var(--card); border-radius:0 12px 12px 0}
  .assembly-page[data-page="home"] .readout small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="home"] .readout span{font:italic 400 1.1rem/1.4 var(--serif)}
  .assembly-page[data-page="home"] .fine{margin-top:18px; display:grid; gap:4px; font-size:.82rem; color:var(--muted); max-width:70ch}
  @media (max-width:860px){ .assembly-page[data-page="home"] .z5 .head,.assembly-page[data-page="home"] .yours{grid-template-columns:1fr} .assembly-page[data-page="home"] .j-stages{grid-template-columns:1fr 1fr} .assembly-page[data-page="home"] .j-stage{border-right:0; border-bottom:1px solid var(--line); padding:12px 0} .assembly-page[data-page="home"] .j-stage + .j-stage{padding-left:0} .assembly-page[data-page="home"] .days{grid-template-columns:repeat(15,1fr)} }

  .assembly-page[data-page="home"] .card.linked{position:relative; cursor:pointer} .assembly-page[data-page="home"] .card.linked a.link::after{content:""; position:absolute; inset:0; z-index:1} .assembly-page[data-page="home"] .card.linked:hover .shot img{transform:scale(1.03)} .assembly-page[data-page="home"] .card.linked .shot img{transition:transform .4s}
.assembly-page[data-page="home"] .ftip{position:absolute; z-index:5; width:max-content; max-width:min(320px,calc(100vw - 32px)); padding:10px 14px; border-radius:12px; background:#172234; color:#f3ecdc; box-shadow:0 18px 40px -18px rgb(0 0 0 / 55%); pointer-events:none; display:grid; gap:3px}
.assembly-page[data-page="home"] .ftip small{font:500 .66rem/1.3 var(--sans, system-ui); letter-spacing:.12em; text-transform:uppercase; color:#9cc0e0}
.assembly-page[data-page="home"] .ftip span{font:italic 400 1rem/1.35 var(--serif, Georgia, serif)}
.assembly-page[data-page="home"] .ftip::after{content:""; position:absolute; left:var(--ax,50%); top:100%; margin-left:-6px; border:6px solid transparent; border-top-color:#172234}
.assembly-page[data-page="home"] .ftip.below::after{top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:#172234}
.assembly-page[data-page="home"] .sr-only{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
  /* Zone 6 compactée (comme les fiches produit) */
  .assembly-page[data-page="home"] .z5{padding-block:clamp(36px,4.6vw,64px)}
  .assembly-page[data-page="home"] .z5 .head{margin-top:12px; gap:18px 44px}
  .assembly-page[data-page="home"] .z5 h2{font-size:clamp(3.4rem,7.6vw,7rem)}
  .assembly-page[data-page="home"] .z5 .intro{font-size:1rem}
  .assembly-page[data-page="home"] .yours{margin-top:24px; padding-block:20px; gap:clamp(18px,3vw,40px)}
  .assembly-page[data-page="home"] .yours-date{font-size:clamp(1.4rem,2.4vw,2rem)}
  .assembly-page[data-page="home"] .season{margin-top:8px; font-size:.92rem}
  .assembly-page[data-page="home"] .start{margin-top:12px}
  .assembly-page[data-page="home"] .acts{gap:9px}
  .assembly-page[data-page="home"] .acts .btn{padding-block:11px; font-size:.92rem}
  .assembly-page[data-page="home"] .remind{padding:12px 14px; gap:6px}
  .assembly-page[data-page="home"] .remind label{font-size:.95rem}
  .assembly-page[data-page="home"] .remind input,.assembly-page[data-page="home"] .remind button{padding-block:8px}
  .assembly-page[data-page="home"] .j-stages{margin-top:22px}
  .assembly-page[data-page="home"] .j-stage{padding:10px 16px 2px 0}
  .assembly-page[data-page="home"] .j-stage b{font-size:.98rem}
  .assembly-page[data-page="home"] .help{margin:18px 0 4px}
  .assembly-page[data-page="home"] .phase{margin-top:12px}
  .assembly-page[data-page="home"] .phase-head h3{font-size:1.05rem}
  .assembly-page[data-page="home"] .days{gap:3px; margin-top:5px; padding-bottom:14px}
  .assembly-page[data-page="home"] .day{aspect-ratio:2.2}
  .assembly-page[data-page="home"] .readout{margin-top:14px; padding:10px 16px; min-height:0}
  .assembly-page[data-page="home"] .readout span{font-size:1rem}
  .assembly-page[data-page="home"] .fine{margin-top:12px}

  /* =========== ZONE 6 · YOUTUBE =========== */
  .assembly-page[data-page="home"] #youtube{background:var(--dark); color:var(--cream); padding-block:clamp(50px,7vw,100px)}
  .assembly-page[data-page="home"] #youtube .grid{display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(24px,5vw,72px); align-items:start}
  .assembly-page[data-page="home"] #youtube .brand{display:flex; align-items:center; gap:12px; font:500 .74rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:#cfe2f3; margin:0}
  .assembly-page[data-page="home"] #youtube h2{font:330 clamp(2.4rem,5vw,4.4rem)/1.04 var(--serif); letter-spacing:-.03em; margin:16px 0 16px}
  .assembly-page[data-page="home"] #youtube p{color:#d7cfbd; max-width:48ch}
  .assembly-page[data-page="home"] #youtube .btn{background:var(--cream); color:var(--ink)}
  .assembly-page[data-page="home"] #youtube details{margin-top:26px; border-top:1px solid rgb(255 255 255 / 14%); border-bottom:1px solid rgb(255 255 255 / 14%); padding-block:14px}
  .assembly-page[data-page="home"] #youtube summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; font-weight:500}
  .assembly-page[data-page="home"] #youtube summary::-webkit-details-marker{display:none}
  .assembly-page[data-page="home"] .player{position:relative; border-radius:18px; overflow:hidden; aspect-ratio:974/478; background:#000}
  .assembly-page[data-page="home"] .player img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="home"] .vid-title{margin:12px 0 0; font-weight:500}
  .assembly-page[data-page="home"] .vid-ctrl{display:flex; gap:8px; align-items:center; margin-top:12px; font-size:.88rem}
  .assembly-page[data-page="home"] .vid-ctrl button{font:inherit; color:var(--cream); background:none; border:1px solid rgb(255 255 255 / 25%); border-radius:999px; padding:6px 12px; cursor:pointer}
  .assembly-page[data-page="home"] .metrics{grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; border-top:1px solid rgb(255 255 255 / 14%); padding-top:32px; margin-top:34px}
  .assembly-page[data-page="home"] .metric strong{display:block; font:330 clamp(2rem,4vw,3.4rem)/1.1 var(--serif); color:#cfe2f3; font-variant-numeric:tabular-nums}
  .assembly-page[data-page="home"] .metric span{display:block; font-size:.92rem}
  .assembly-page[data-page="home"] .metric small{display:block; font-size:.76rem; color:#a79f8b; margin-top:2px}
  @media (max-width:860px){ .assembly-page[data-page="home"] #youtube .grid{grid-template-columns:1fr} .assembly-page[data-page="home"] .metrics{grid-template-columns:1fr} }

  /* =========== ZONE 7 · PERSONNES =========== */
  .assembly-page[data-page="home"] .z7{padding-block:clamp(50px,7vw,100px)}
  .assembly-page[data-page="home"] .z7-head{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,64px); align-items:start}
  .assembly-page[data-page="home"] .z7 h2{font:330 clamp(2.4rem,5vw,4.4rem)/1.04 var(--serif); letter-spacing:-.03em; margin:14px 0 0; text-wrap:balance}
  .assembly-page[data-page="home"] .z7 p{margin:0 0 12px; color:var(--muted)}
  .assembly-page[data-page="home"] .people{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; align-items:start}
  .assembly-page[data-page="home"] .people figure{margin:0}
  .assembly-page[data-page="home"] .people figure:nth-child(2){margin-top:40px} .assembly-page[data-page="home"] .people figure:nth-child(3){margin-top:80px}
  .assembly-page[data-page="home"] .people .ph{border-radius:20px; overflow:hidden; aspect-ratio:4/5}
  .assembly-page[data-page="home"] .people img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="home"] .people figcaption{display:flex; justify-content:space-between; align-items:baseline; margin-top:12px; font:400 1.3rem var(--serif)}
  .assembly-page[data-page="home"] .people figcaption span{font:500 .68rem var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
  @media (max-width:760px){ .assembly-page[data-page="home"] .z7-head{grid-template-columns:1fr} .assembly-page[data-page="home"] .people{grid-template-columns:1fr 1fr} .assembly-page[data-page="home"] .people figure:nth-child(n){margin-top:0} }

  /* =========== PIED DE PAGE =========== */
  .assembly-page[data-page="home"] footer{background:#0b2140; color:var(--cream); padding-block:56px 40px}
  .assembly-page[data-page="home"] footer .grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px}
  .assembly-page[data-page="home"] footer .man{font:330 1.6rem/1.15 var(--serif); margin:0 0 10px}
  .assembly-page[data-page="home"] footer h4{margin:0 0 12px; font:500 .8rem var(--sans); color:#9cc0e0; letter-spacing:.04em}
  .assembly-page[data-page="home"] footer ul{list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:.92rem}
  .assembly-page[data-page="home"] footer a{text-decoration:none}
  .assembly-page[data-page="home"] footer .legal{margin-top:36px; padding-top:18px; border-top:1px solid rgb(255 255 255 / 12%); font-size:.78rem; color:#a9b8ae; display:flex; flex-wrap:wrap; gap:6px 18px}
  @media (max-width:860px){ .assembly-page[data-page="home"] footer .grid{grid-template-columns:1fr 1fr} }

  /* =========== APPROBATION =========== */
  .assembly-page[data-page="home"] .approve{padding-block:50px 70px}
  .assembly-page[data-page="home"] .approve .box{background:var(--note); border-radius:22px; padding:clamp(18px,3vw,34px); display:grid; gap:18px}
  .assembly-page[data-page="home"] .approve h2{margin:0; font:400 1.7rem/1.2 var(--serif)}
  .assembly-page[data-page="home"] .approve h3{margin:6px 0 0; font:500 1rem var(--sans)}
  .assembly-page[data-page="home"] .approve ol,.assembly-page[data-page="home"] .approve ul{margin:0; padding-left:1.2em; display:grid; gap:6px}
  .assembly-page[data-page="home"] .approve p{margin:0; color:var(--muted); font-size:.9rem}

  @media (prefers-reduced-motion:reduce){
    .assembly-page[data-page="home"]{scroll-behavior:auto}
    .assembly-page[data-page="home"] .fig .halo,.assembly-page[data-page="home"] .fig[data-zone="rest"] img,.assembly-page[data-page="home"] .cup .steam,.assembly-page[data-page="home"] .breath{animation:none!important}
    .assembly-page[data-page="home"] #bilan .step.on{animation:none} .assembly-page[data-page="home"] .bzone,.assembly-page[data-page="home"] #bilan .fill,.assembly-page[data-page="home"] .day{transition:none}
  }

.assembly-page[data-page="home"] .neo-scene{display:block;width:100%;height:850px;border:0;border-radius:24px;margin:28px 0;background:#f3efe6}.assembly-page[data-page="home"] .z4-head{grid-template-columns:1fr}.assembly-page[data-page="home"] .review-only{padding:14px 5%;background:#e6dfd0;font:14px/1.5 system-ui}@media(max-width:759px){.assembly-page[data-page="home"] .neo-scene{height:1150px;border-radius:12px}}

.assembly-page[data-page="home"] #youtube .player{aspect-ratio:16/9}.assembly-page[data-page="home"] #youtube .player iframe{width:100%;height:100%;border:0}.assembly-page[data-page="home"] #youtube .play-video{position:absolute;inset:0;width:100%;border:0;cursor:pointer;background:#071c32;color:white;font:inherit}.assembly-page[data-page="home"] #youtube .play-video img{width:100%;height:100%;object-fit:cover}.assembly-page[data-page="home"] #youtube .play-video span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 26px;background:#c00;border-radius:12px;font-size:28px}.assembly-page[data-page="home"] #youtube select{width:100%;margin:10px 0 16px;padding:14px;border-radius:8px;border:1px solid #8794a0;background:#102b43;color:#fff;font:inherit}.assembly-page[data-page="home"] #youtube .humanitaire{display:flex;align-items:center;gap:18px;margin-top:26px;border-top:1px solid #ffffff30;padding-top:20px}.assembly-page[data-page="home"] #youtube .humanitaire img{width:70px;height:84px;object-fit:contain}.assembly-page[data-page="home"] #youtube .humanitaire p{margin:0;font-size:.95rem}.assembly-page[data-page="home"] #youtube a:focus-visible,.assembly-page[data-page="home"] #youtube button:focus-visible,.assembly-page[data-page="home"] #youtube select:focus-visible{outline:3px solid #f0cd76;outline-offset:4px}.assembly-page[data-page="home"] #youtube .video-meta{font-size:.85rem;color:#d7cfbd}.assembly-page[data-page="home"] #youtube label{display:block;margin-top:20px}

.assembly-page[data-page="home"] #youtube .humanitaire{grid-column:1/-1;margin-top:12px;padding:26px 32px;border:1px solid #ffffff28;border-radius:18px;background:#ffffff06;gap:26px}.assembly-page[data-page="home"] #youtube .humanitaire p{max-width:none;font-size:1rem}.assembly-page[data-page="home"] #youtube .humanitaire strong{display:block;margin-bottom:8px;font-size:1.2rem}.assembly-page[data-page="home"] #youtube .humanitaire img{flex:0 0 78px;width:78px;height:94px}@media(max-width:540px){.assembly-page[data-page="home"] #youtube .humanitaire{padding:20px 16px;gap:16px;align-items:flex-start}.assembly-page[data-page="home"] #youtube .humanitaire img{flex-basis:54px;width:54px;height:65px}}

  .assembly-page[data-page="balance"]{
    --paper:#f3efe6; --paper-2:#f8f5ee; --stage:#e6dfd0; --ink:#172234; --green:#1d4f86; --muted:#6a685f; --line:rgb(23 34 52 / 14%);
    --dark:#071a33; --dark-2:#0f2847; --cream:#f3ecdc; --mint:#9cc0e0; --note:#ece6d9;
    --serif:"Fraunces", Georgia, "Times New Roman", serif;
    --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --gut:clamp(20px,4vw,56px);
    color-scheme: light;
  }
  .assembly-page[data-page="balance"] *{box-sizing:border-box}
  .assembly-page[data-page="balance"]{scroll-behavior:smooth}
  .assembly-page[data-page="balance"]{margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased}
  .assembly-page[data-page="balance"] a{color:inherit}
  .assembly-page[data-page="balance"] img{max-width:100%; display:block}
  .assembly-page[data-page="balance"] :focus-visible{outline:2px solid var(--green); outline-offset:3px; border-radius:6px}
  .assembly-page[data-page="balance"] .wrap{padding-inline:var(--gut)}
  .assembly-page[data-page="balance"] .inner{max-width:1260px; margin-inline:auto}
  .assembly-page[data-page="balance"] .narrow{max-width:760px}
  .assembly-page[data-page="balance"] section{scroll-margin-top:70px}
  .assembly-page[data-page="balance"] .eyebrow{font:500 .72rem/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:12px; margin:0}
  .assembly-page[data-page="balance"] .eyebrow::before{content:""; width:26px; height:1px; background:currentColor; flex:none}
  .assembly-page[data-page="balance"] .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:500 .93rem var(--sans); background:var(--green); color:#f6f2e8; border:0; border-radius:999px; padding:13px 22px; text-decoration:none; cursor:pointer}
  .assembly-page[data-page="balance"] .btn-ghost{background:transparent; color:inherit; border:1px solid currentColor}
  .assembly-page[data-page="balance"] .link{font-weight:500; text-underline-offset:6px; text-decoration-thickness:1px}
  .assembly-page[data-page="balance"] .serif{font-family:var(--serif)}
  .assembly-page[data-page="balance"] h1,.assembly-page[data-page="balance"] h2,.assembly-page[data-page="balance"] h3{font-weight:330; letter-spacing:-.03em; text-wrap:balance}

  /* ---- Bandeau de revue (repris de la home) ---- */
  .assembly-page[data-page="balance"] .review{position:sticky; top:0; z-index:50; background:var(--ink); color:var(--cream); font-size:.8rem}
  .assembly-page[data-page="balance"] .review .inner{display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; justify-content:space-between; padding-block:8px}
  .assembly-page[data-page="balance"] .review nav{display:flex; flex-wrap:wrap; gap:4px}
  .assembly-page[data-page="balance"] .review a,.assembly-page[data-page="balance"] .review button{color:var(--cream); text-decoration:none; padding:3px 9px; border-radius:999px; border:1px solid rgb(255 255 255 / 18%); background:none; font:500 .76rem var(--sans); cursor:pointer}
  .assembly-page[data-page="balance"] .review a:hover{background:rgb(255 255 255 / 10%)}
  .assembly-page[data-page="balance"] .zone-note{font-size:.8rem; line-height:1.5; color:#6b5a1a; background:#fff6d6; border-radius:10px; padding:8px 12px; margin:18px 0 0; max-width:70ch}
  .assembly-page[data-page="balance"] .on-dark .zone-note{background:#3a3520; color:#f3e3a8}
  .assembly-page[data-page="balance"].clean .zone-note, .assembly-page[data-page="balance"].clean .to-supply{display:none}

  /* ---- En-tête ---- */
  .assembly-page[data-page="balance"] header.site .inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:22px}
  .assembly-page[data-page="balance"] .logo{display:grid; gap:3px; text-decoration:none}
  .assembly-page[data-page="balance"] .logo-word{font:400 clamp(1.15rem,2vw,1.5rem)/1 var(--sans); letter-spacing:.2em}
  .assembly-page[data-page="balance"] .logo-word span{color:var(--muted)}
  .assembly-page[data-page="balance"] .logo-sig{font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="balance"] .menu{display:flex; gap:22px; font-size:.92rem}
  .assembly-page[data-page="balance"] .menu a{text-decoration:none}
  .assembly-page[data-page="balance"] .head-cta{display:flex; gap:8px}
  .assembly-page[data-page="balance"] .pill{font:500 .86rem var(--sans); border:1px solid var(--ink); border-radius:999px; padding:9px 16px; text-decoration:none; white-space:nowrap}
  .assembly-page[data-page="balance"] .pill-dark{background:var(--ink); color:var(--paper)}
  @media (max-width:900px){ .assembly-page[data-page="balance"] .menu{display:none} .assembly-page[data-page="balance"] .pill-dark{display:none} }

  .assembly-page[data-page="balance"] .crumb{font-size:.85rem; color:var(--muted); padding-block:4px 0}
  .assembly-page[data-page="balance"] .crumb a{text-decoration:none} .assembly-page[data-page="balance"] .crumb a:hover{text-decoration:underline}

  /* =========== HERO =========== */
  .assembly-page[data-page="balance"] .hero{padding-block:clamp(12px,2vw,28px) clamp(40px,5vw,72px)}
  .assembly-page[data-page="balance"] .hero .inner{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="balance"] .hero-shot{position:relative; margin:0; aspect-ratio:1/1; max-height:600px; border-radius:26px; overflow:hidden;
    background:radial-gradient(90% 70% at 50% 62%, #f7efdc 0%, #ece3d0 45%, #ddd3bd 100%)}
  .assembly-page[data-page="balance"] .hero-shot img{position:absolute; inset:6% 4% 2%; width:92%; height:92%; object-fit:contain; mix-blend-mode:multiply; animation:rise 1.2s ease both}
  .assembly-page[data-page="balance"] .hero-shot figcaption{position:absolute; left:22px; bottom:18px; font:italic 400 .95rem var(--serif); color:#6b6247}
  @keyframes rise{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
  .assembly-page[data-page="balance"] .hero h1{font:300 clamp(2.8rem,5.6vw,5rem)/.95 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="balance"] .hero h1 small{display:block; font:500 .74rem/1 var(--sans); letter-spacing:.18em; color:var(--green); margin-bottom:10px}
  .assembly-page[data-page="balance"] .hero .sub{font:400 clamp(1.15rem,1.7vw,1.4rem)/1.35 var(--sans); margin:0}
  .assembly-page[data-page="balance"] .hero blockquote{margin:16px 0 0; font:italic 330 clamp(1.2rem,1.7vw,1.4rem)/1.35 var(--serif); color:var(--green); max-width:26ch}
  .assembly-page[data-page="balance"] .meta{display:flex; flex-wrap:wrap; gap:6px 14px; margin:18px 0 0; padding:10px 0; border-block:1px solid var(--line); font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="balance"] .meta span+span::before{content:"·"; margin-right:14px; color:var(--muted)}
  .assembly-page[data-page="balance"] .know{margin:6px 0 0; display:grid; gap:0}
  .assembly-page[data-page="balance"] .know div{display:grid; grid-template-columns:8.5rem 1fr; gap:16px; padding:9px 0; font-size:.95rem; border-bottom:1px solid var(--line)}
  .assembly-page[data-page="balance"] .know dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="balance"] .know dd{margin:0}
  .assembly-page[data-page="balance"] .ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
  .assembly-page[data-page="balance"] .signup{margin-top:18px; display:grid; gap:8px; max-width:460px}
  .assembly-page[data-page="balance"] .signup label{font:400 1.05rem var(--serif)}
  .assembly-page[data-page="balance"] .signup .row{display:flex; align-items:center; border-bottom:1px solid var(--ink)}
  .assembly-page[data-page="balance"] .signup input{flex:1; min-width:0; font:inherit; font-size:1rem; border:0; background:transparent; padding:9px 0; color:var(--ink)}
  .assembly-page[data-page="balance"] .signup input:focus{outline:none}
  .assembly-page[data-page="balance"] .signup button{font:500 .9rem var(--sans); background:none; border:0; color:var(--green); padding:12px 0 12px 12px; cursor:pointer; white-space:nowrap}
  .assembly-page[data-page="balance"] .signup p{margin:0; font-size:.78rem; color:var(--muted)}
  .assembly-page[data-page="balance"] .toast{min-height:1.2em; color:var(--green)!important}
  .assembly-page[data-page="balance"] .trust{margin:16px 0 0; font:500 .68rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 16px}
  @media (max-width:880px){
    .assembly-page[data-page="balance"] .hero .inner{grid-template-columns:1fr}
    .assembly-page[data-page="balance"] .hero-shot{aspect-ratio:1/1; border-radius:22px}
    .assembly-page[data-page="balance"] .know div{grid-template-columns:1fr; gap:2px}
    .assembly-page[data-page="balance"] .ctas .btn{flex:1 1 100%}
  }

  /* =========== FILM =========== */
  .assembly-page[data-page="balance"] .film-sec{background:var(--paper-2); padding-block:clamp(36px,4.5vw,64px)}
  .assembly-page[data-page="balance"] .film-sec .head{display:grid; gap:10px; margin-bottom:6px}
  .assembly-page[data-page="balance"] .film-sec h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="balance"] .film-sec .lead{font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); margin:0}
  .assembly-page[data-page="balance"] .film{position:relative; display:block; margin:0; border-radius:26px; overflow:hidden; background:#1b1612; aspect-ratio:16/9; box-shadow:0 40px 80px -40px rgb(40 30 10 / 55%); text-decoration:none; color:#fff}
  .assembly-page[data-page="balance"] .film img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease, filter .6s}
  .assembly-page[data-page="balance"] .film:hover img{transform:scale(1.02); filter:brightness(.9)}
  .assembly-page[data-page="balance"] .film::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgb(0 0 0 / 55%))}
  .assembly-page[data-page="balance"] .play{position:absolute; left:50%; top:50%; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; background:rgb(243 236 220 / 92%); display:grid; place-items:center; z-index:2; transition:transform .3s}
  .assembly-page[data-page="balance"] .play::before{content:""; margin-left:6px; border-left:20px solid var(--ink); border-block:12px solid transparent}
  .assembly-page[data-page="balance"] .film:hover .play{transform:scale(1.06)}
  .assembly-page[data-page="balance"] .film .cap{position:absolute; left:24px; right:24px; bottom:20px; z-index:2; display:flex; justify-content:space-between; gap:16px; font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="balance"] .film-body{display:grid; grid-template-columns:1.45fr 1fr; gap:clamp(24px,4vw,56px); align-items:center}
  .assembly-page[data-page="balance"] .film-text{display:grid; gap:14px}
  .assembly-page[data-page="balance"] .film-text p{margin:0; color:var(--muted)}
  .assembly-page[data-page="balance"] .film-text .head + p{color:var(--ink); font:400 1.1rem/1.45 var(--serif)}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .film-sec .head,.assembly-page[data-page="balance"] .film-body{grid-template-columns:1fr} .assembly-page[data-page="balance"] .film{border-radius:18px; margin-inline:calc(var(--gut) * -1); border-radius:0} .assembly-page[data-page="balance"] .play{width:68px; height:68px; margin:-34px 0 0 -34px} }

  /* =========== RITUEL =========== */
  .assembly-page[data-page="balance"] .rituel{background:var(--stage); padding-block:clamp(34px,4vw,54px) clamp(20px,2.4vw,30px)}
  .assembly-page[data-page="balance"] .rituel h2{font:330 clamp(2.1rem,3.8vw,3.4rem)/1.05 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="balance"] .rituel h2 em{color:var(--green)}
  .assembly-page[data-page="balance"] .steps{list-style:none; margin:clamp(24px,3vw,40px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); position:relative}
  .assembly-page[data-page="balance"] .steps::before{content:""; position:absolute; left:0; right:0; top:1.6rem; height:1px; background:var(--line)}
  .assembly-page[data-page="balance"] .steps li{position:relative; padding-right:clamp(16px,3vw,48px)}
  .assembly-page[data-page="balance"] .steps .n{display:block; font:300 clamp(2.4rem,3.4vw,3.2rem)/1 var(--serif); color:var(--green); background:var(--stage); width:fit-content; padding-right:14px; position:relative}
  .assembly-page[data-page="balance"] .steps .n::after{content:""; position:absolute; right:-2px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--green)}
  .assembly-page[data-page="balance"] .steps li:last-child .n::after{background:transparent; border:1px solid var(--green)}
  .assembly-page[data-page="balance"] .steps small{display:block; margin-top:12px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .steps p{margin:4px 0 0; font-size:1.05rem; max-width:28ch}
  .assembly-page[data-page="balance"] .dose{margin:22px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:760px){
    .assembly-page[data-page="balance"] .steps{grid-template-columns:1fr; gap:0}
    .assembly-page[data-page="balance"] .steps::before{left:.55rem; right:auto; top:1rem; bottom:1rem; width:1px; height:auto}
    .assembly-page[data-page="balance"] .steps::before{left:1.4rem; top:3.4rem; bottom:2rem}
    .assembly-page[data-page="balance"] .steps li{display:grid; grid-template-columns:3.6rem 1fr; column-gap:14px; padding:0 0 36px 0}
    .assembly-page[data-page="balance"] .steps .n{grid-row:1 / span 2; font-size:2.6rem; padding:0 0 8px; background:var(--stage)}
    .assembly-page[data-page="balance"] .steps .n::after{display:none}
    .assembly-page[data-page="balance"] .steps small{margin-top:10px}
  }

  /* Respiration typographique */
  .assembly-page[data-page="balance"] .breath{background:var(--stage); padding-block:clamp(20px,2.4vw,32px) clamp(36px,4.5vw,60px); text-align:center}
  .assembly-page[data-page="balance"] .breath .inner{border-top:1px solid var(--line); padding-top:clamp(30px,3.5vw,44px)}
  .assembly-page[data-page="balance"] .breath p.q{margin:0 auto; max-width:24ch; font:300 clamp(1.8rem,3.7vw,3.3rem)/1.08 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="balance"] .breath p.q span{display:block; color:var(--green); font-style:italic}
  .assembly-page[data-page="balance"] .bottles{display:flex; justify-content:center; gap:clamp(6px,1.2vw,12px); margin:clamp(24px,3vw,36px) auto 10px}
  .assembly-page[data-page="balance"] .bottles i{display:block; width:clamp(34px,6vw,64px); height:6px; border-radius:3px}
  .assembly-page[data-page="balance"] .bottles-cap{margin:0; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="balance"] .breath .btn{margin-top:20px}

  .assembly-page[data-page="balance"] .frise{text-align:left; margin-top:clamp(22px,2.6vw,32px)}
  .assembly-page[data-page="balance"] .j-stages{display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line)}
  .assembly-page[data-page="balance"] .j-stage{padding:10px 16px 2px 0; border-right:1px solid var(--line); display:grid; gap:2px}
  .assembly-page[data-page="balance"] .j-stage:last-child{border-right:0}
  .assembly-page[data-page="balance"] .j-stage + .j-stage{padding-left:16px}
  .assembly-page[data-page="balance"] .j-stage small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .j-stage b{font-weight:450; font-size:.98rem}
  .assembly-page[data-page="balance"] .j-stage span{font-size:.82rem; color:var(--muted); font-variant-numeric:tabular-nums}
  .assembly-page[data-page="balance"] .help{margin:14px 0 2px; font-size:.85rem; color:var(--muted)}
  .assembly-page[data-page="balance"] .phase{margin-top:8px}
  .assembly-page[data-page="balance"] .phase-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
  .assembly-page[data-page="balance"] .phase-head h3{margin:0; font:450 1rem var(--sans); letter-spacing:-.02em}
  .assembly-page[data-page="balance"] .phase-head span{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="balance"] .days{display:grid; grid-template-columns:repeat(30,1fr); gap:3px; margin-top:5px; padding-bottom:14px}
  .assembly-page[data-page="balance"] .day{position:relative; aspect-ratio:2.2; border:0; border-radius:4px; padding:0; cursor:pointer; transition:transform .15s}
  .assembly-page[data-page="balance"] .day:hover,.assembly-page[data-page="balance"] .day:focus-visible,.assembly-page[data-page="balance"] .day[aria-pressed="true"]{transform:translateY(-3px)}
  .assembly-page[data-page="balance"] .day[aria-pressed="true"]{outline:2px solid var(--ink); outline-offset:2px}
  .assembly-page[data-page="balance"] .day.today::after{content:""; position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:var(--ink)}
  .assembly-page[data-page="balance"] .mark{position:absolute; left:0; top:calc(100% + 3px); font:500 .62rem var(--sans); letter-spacing:.06em; color:var(--muted); white-space:nowrap; pointer-events:none; text-transform:lowercase}
  .assembly-page[data-page="balance"] .readout{margin-top:10px; min-height:3em; display:grid; gap:2px; padding:10px 16px; border-left:3px solid var(--green); background:rgb(255 255 255 / 55%); border-radius:0 12px 12px 0}
  .assembly-page[data-page="balance"] .readout small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .readout span{font:italic 400 1.02rem/1.4 var(--serif)}
  .assembly-page[data-page="balance"] .fine{margin-top:10px; display:grid; gap:4px; font-size:.82rem; color:var(--muted); max-width:70ch}
  .assembly-page[data-page="balance"] .frise .btn{margin-top:16px}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .j-stages{grid-template-columns:1fr 1fr} .assembly-page[data-page="balance"] .j-stage{border-right:0; border-bottom:1px solid var(--line); padding:12px 0} .assembly-page[data-page="balance"] .j-stage + .j-stage{padding-left:0} .assembly-page[data-page="balance"] .days{grid-template-columns:repeat(15,1fr)} }

  /* =========== PLANTES =========== */
  .assembly-page[data-page="balance"] .plants{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.4vw,36px)}
  .assembly-page[data-page="balance"] .plants .head{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="balance"] .plants .head h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="balance"] .plants .head p{margin:0; color:var(--muted); font-size:1.02rem}
  .assembly-page[data-page="balance"] .plants .head{margin-bottom:clamp(8px,1.5vw,20px)}
  .assembly-page[data-page="balance"] .chapter{display:grid; grid-template-columns:42% 1fr; gap:clamp(28px,5vw,72px); align-items:center; padding-block:clamp(32px,4vw,52px); border-bottom:1px solid var(--line)}
  .assembly-page[data-page="balance"] .chapter:last-of-type{border-bottom:0}
  .assembly-page[data-page="balance"] .chapter.flip{grid-template-columns:1fr 42%}
  .assembly-page[data-page="balance"] .chapter.flip .plate{order:2}
  .assembly-page[data-page="balance"] .plate{position:relative; margin:0; aspect-ratio:5/4; border-radius:22px; overflow:hidden}
  .assembly-page[data-page="balance"] .plate img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="balance"] .plate.type{display:grid; place-content:center; text-align:center; gap:10px; padding:32px}
  .assembly-page[data-page="balance"] .plate.type b{font:italic 300 clamp(2rem,3.4vw,3rem)/1.02 var(--serif)}
  .assembly-page[data-page="balance"] .plate.type span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="balance"] .plate.type .to-supply{font-size:.74rem; opacity:.7}
  .assembly-page[data-page="balance"] .plate.romarin{background:radial-gradient(110% 90% at 30% 20%, #eef0e2, #cfd6bd 60%, #b3bf9c); color:#2f3d2a}
  .assembly-page[data-page="balance"] .plate.sauge{background:radial-gradient(110% 90% at 70% 20%, #eef0ec, #cbd3cd 60%, #aab6ad); color:#2c3a33}
  .assembly-page[data-page="balance"] .plate .no{position:absolute; left:22px; top:18px; font:300 1.3rem var(--serif); color:#fff; mix-blend-mode:difference; z-index:2}
  .assembly-page[data-page="balance"] .plate.type .no{color:inherit; mix-blend-mode:normal}
  .assembly-page[data-page="balance"] .plate .latin{position:absolute; left:22px; bottom:18px; font:italic 400 1rem var(--serif); color:#fff; text-shadow:0 1px 8px rgb(0 0 0 / 35%)}
  .assembly-page[data-page="balance"] .chap small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="balance"] .chap h3{font:330 clamp(1.9rem,3vw,2.7rem)/1.02 var(--serif); margin:8px 0 4px}
  .assembly-page[data-page="balance"] .chap .lat{font:italic 400 1.1rem var(--serif); color:var(--muted); margin:0}
  .assembly-page[data-page="balance"] .chap .angle{display:inline-flex; align-items:center; gap:10px; margin:14px 0 0; font:500 .78rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .chap .angle::before{content:""; width:26px; height:1px; background:currentColor}
  .assembly-page[data-page="balance"] .chap p.txt{margin:10px 0 0; max-width:58ch; font-size:.97rem}
  .assembly-page[data-page="balance"] .chap blockquote{margin:18px 0 0; padding-left:18px; border-left:1px solid var(--green); font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); max-width:30ch}
  .assembly-page[data-page="balance"] .vlink{display:flex; align-items:center; gap:14px; margin-top:18px; text-decoration:none; width:fit-content}
  .assembly-page[data-page="balance"] .vlink .dot{width:40px; height:40px; border-radius:50%; border:1px solid var(--ink); display:grid; place-items:center; transition:background .3s}
  .assembly-page[data-page="balance"] .vlink .dot::before{content:""; margin-left:3px; border-left:11px solid var(--ink); border-block:7px solid transparent}
  .assembly-page[data-page="balance"] .vlink:hover .dot{background:var(--ink)} .assembly-page[data-page="balance"] .vlink:hover .dot::before{border-left-color:var(--paper)}
  .assembly-page[data-page="balance"] .vlink span{display:grid; line-height:1.3}
  .assembly-page[data-page="balance"] .vlink b{font-weight:500} .assembly-page[data-page="balance"] .vlink i{font-style:normal; font-size:.82rem; color:var(--muted)}
  @media (max-width:860px){
    .assembly-page[data-page="balance"] .plants .head{grid-template-columns:1fr}
    .assembly-page[data-page="balance"] .chapter{grid-template-columns:1fr; gap:28px}
    .assembly-page[data-page="balance"] .chapter.flip{grid-template-columns:1fr}
    .assembly-page[data-page="balance"] .chapter.flip .plate{order:0}
    .assembly-page[data-page="balance"] .plate{aspect-ratio:4/3; border-radius:18px}
  }

  /* Trois plantes : trois colonnes vidéo */
  .assembly-page[data-page="balance"] .trio{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,44px); margin-top:clamp(16px,2vw,26px)}
  .assembly-page[data-page="balance"] .plant{display:flex; flex-direction:column; border-top:1px solid var(--line); padding-top:16px}
  .assembly-page[data-page="balance"] .thumb{display:block; width:80%; aspect-ratio:16/9; border-radius:4px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="balance"] .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease, filter .4s}
  .assembly-page[data-page="balance"] .thumb:hover img{transform:scale(1.03); filter:brightness(1.05)}
  .assembly-page[data-page="balance"] .plant h3{font:330 clamp(1.25rem,1.7vw,1.55rem)/1.15 var(--serif); margin:14px 0 2px}
  .assembly-page[data-page="balance"] .plant .lat{margin:0; font:italic 400 .98rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="balance"] .plant .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .plant .txt{margin:8px 0 14px; font-size:.93rem; color:var(--muted)}
  .assembly-page[data-page="balance"] .plant blockquote{margin:auto 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.05rem/1.35 var(--serif); color:var(--green)}
  @media (max-width:900px){ .assembly-page[data-page="balance"] .thumb{width:100%} .assembly-page[data-page="balance"] .trio{grid-template-columns:1fr; gap:40px} }

  /* =========== HYDROLAT =========== */
  .assembly-page[data-page="balance"] .hydro{background:#fbf9f3; padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="balance"] .hydro .top{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:end}
  .assembly-page[data-page="balance"] .hydro h2{font:330 clamp(2rem,3.6vw,3.2rem)/1 var(--serif); margin:10px 0 0}
  .assembly-page[data-page="balance"] .hydro h2 em{display:block; color:var(--green)}
  .assembly-page[data-page="balance"] .hydro .intro{margin:0; font-size:.97rem; max-width:52ch}
  .assembly-page[data-page="balance"] .figs{display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(20px,2.4vw,28px); border-top:1px solid var(--ink)}
  .assembly-page[data-page="balance"] .fig{padding:12px 24px 0 0; display:flex; align-items:baseline; gap:12px}
  .assembly-page[data-page="balance"] .fig + .fig{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="balance"] .fig strong{display:block; flex:none; font:300 clamp(2rem,3.2vw,2.8rem)/1 var(--serif); letter-spacing:-.04em}
  .assembly-page[data-page="balance"] .fig strong sup{font-size:.35em; letter-spacing:0; vertical-align:super; margin-left:4px}
  .assembly-page[data-page="balance"] .fig span{display:block; margin-top:0; font-size:.9rem; color:var(--muted); max-width:22ch}
  .assembly-page[data-page="balance"] .labels{display:flex; flex-wrap:wrap; gap:6px 22px; margin:18px 0 0; padding:0; list-style:none; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .labels li{display:flex; align-items:center; gap:10px}
  .assembly-page[data-page="balance"] .labels li::before{content:""; width:5px; height:5px; border-radius:50%; background:currentColor}
  .assembly-page[data-page="balance"] .spec{display:grid; grid-template-columns:repeat(3,1fr); gap:0 clamp(20px,3vw,44px); margin:14px 0 0}
  .assembly-page[data-page="balance"] .spec div{display:grid; grid-template-columns:1fr; gap:2px; padding:8px 0; font-size:.9rem; border-top:1px solid var(--line)}
  .assembly-page[data-page="balance"] .spec dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="balance"] .spec dd{margin:0}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .hydro .top,.assembly-page[data-page="balance"] .spec{grid-template-columns:1fr} .assembly-page[data-page="balance"] .figs{grid-template-columns:1fr} .assembly-page[data-page="balance"] .fig,.assembly-page[data-page="balance"] .fig+.fig{padding:22px 0; border-left:0; border-bottom:1px solid var(--line)} .assembly-page[data-page="balance"] .spec div{grid-template-columns:1fr; gap:2px} }

  /* Accordéons sobres */
  .assembly-page[data-page="balance"] details.acc{border-top:1px solid var(--line)}
  .assembly-page[data-page="balance"] details.acc:last-of-type{border-bottom:1px solid var(--line)}
  .assembly-page[data-page="balance"] details.acc summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; font:400 1.15rem var(--serif)}
  .assembly-page[data-page="balance"] details.acc summary::-webkit-details-marker{display:none}
  .assembly-page[data-page="balance"] details.acc summary::after{content:"+"; font:300 1.5rem/1 var(--sans); color:var(--green); transition:transform .3s}
  .assembly-page[data-page="balance"] details.acc[open] summary::after{transform:rotate(45deg)}
  .assembly-page[data-page="balance"] details.acc > div{padding:0 0 20px; max-width:62ch; color:var(--muted)}
  .assembly-page[data-page="balance"] .how{margin-top:10px}

  /* =========== PRÉCAUTIONS =========== */
  .assembly-page[data-page="balance"] .prec{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="balance"] .prec .grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(24px,5vw,72px); align-items:start}
  .assembly-page[data-page="balance"] .prec h2{font:330 clamp(1.8rem,3vw,2.4rem)/1.1 var(--serif); margin:14px 0 0}
  .assembly-page[data-page="balance"] .prec .mand{margin:0 0 18px; font-size:.95rem; color:var(--muted)}
  .assembly-page[data-page="balance"] .prec .mand b{color:var(--ink); font-weight:500}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .prec .grid{grid-template-columns:1fr} }

  /* =========== PHILOSOPHIE =========== */
  .assembly-page[data-page="balance"] .philo{background:var(--dark); color:var(--cream); padding-block:clamp(54px,7.5vw,112px); text-align:center; position:relative; overflow:hidden}
  .assembly-page[data-page="balance"] .philo::before{content:""; position:absolute; inset:auto -20% -60% -20%; height:120%; background:radial-gradient(closest-side, rgb(156 192 224 / 14%), transparent 70%)}
  .assembly-page[data-page="balance"] .philo .inner{position:relative}
  .assembly-page[data-page="balance"] .philo .eyebrow{color:var(--mint); justify-content:center}
  .assembly-page[data-page="balance"] .philo p.q{margin:18px auto 0; max-width:18ch; font:300 clamp(2rem,4vw,3.5rem)/1.04 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="balance"] .philo p.q em{color:#cfe2f3}
  .assembly-page[data-page="balance"] .philo a{display:inline-block; margin-top:22px; color:var(--cream)}

  /* =========== GAMME =========== */
  .assembly-page[data-page="balance"] .gamme{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="balance"] .gamme h2{font:330 clamp(1.6rem,2.4vw,2.1rem)/1.05 var(--serif); margin:8px 0 0}
  .assembly-page[data-page="balance"] .range{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:clamp(14px,1.8vw,22px); border-top:1px solid var(--line)}
  .assembly-page[data-page="balance"] .prod{display:grid; gap:4px; align-content:start; padding:12px 14px 6px; border-right:1px solid var(--line); text-decoration:none; position:relative}
  .assembly-page[data-page="balance"] .prod:last-child{border-right:0}
  .assembly-page[data-page="balance"] .prod .shot{height:clamp(116px,10.5vw,145px); display:flex; align-items:flex-end; justify-content:center; margin-bottom:6px; border-radius:16px; background:radial-gradient(90% 70% at 50% 80%, #efe6d2, transparent 70%)}
  .assembly-page[data-page="balance"] .prod .shot img{height:100%; width:auto; max-width:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .5s}
  .assembly-page[data-page="balance"] .prod:hover .shot img{transform:translateY(-6px)}
  .assembly-page[data-page="balance"] .prod small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .prod b{font:400 1.15rem/1.15 var(--serif)}
  .assembly-page[data-page="balance"] .prod i.go{font-style:normal; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="balance"] .prod.here{background:var(--paper-2)}
  .assembly-page[data-page="balance"] .prod .chip{position:absolute; top:14px; right:14px; font:500 .64rem var(--sans); letter-spacing:.12em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background:var(--green); color:var(--paper)}
  .assembly-page[data-page="balance"] .prod .chip.soon{background:transparent; color:var(--muted); border:1px solid var(--line)}
  .assembly-page[data-page="balance"] .rope{display:block; width:min(140px,100%); height:8px; border-radius:6px; margin:2px 0 2px;
    background:repeating-linear-gradient(118deg, var(--c) 0 5px, color-mix(in srgb, var(--c) 68%, #000) 5px 6.5px, color-mix(in srgb, var(--c) 78%, #fff) 6.5px 8.5px)}
  .assembly-page[data-page="balance"] .cup{width:auto; height:62%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 50% 70%, #fbe3c2, #f1cfa3 60%, #e7bd8c); display:grid; place-items:center; align-self:center}
  .assembly-page[data-page="balance"] .cup svg{width:62%; height:62%}
  .assembly-page[data-page="balance"] .cup .mug{fill:#fffaf2; stroke:#8a5a2b; stroke-width:1.6; stroke-linejoin:round}
  .assembly-page[data-page="balance"] .cup .handle,.assembly-page[data-page="balance"] .cup .saucer{fill:none; stroke:#8a5a2b; stroke-width:1.6; stroke-linecap:round}
  .assembly-page[data-page="balance"] .cup .steam{fill:none; stroke:#8a5a2b; stroke-width:1.5; stroke-linecap:round; opacity:.45}
  .assembly-page[data-page="balance"] .also{margin:12px 0 0; font-size:.92rem; color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="balance"] .range{grid-template-columns:repeat(5,minmax(200px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="balance"] .prod{scroll-snap-align:start} }

  /* =========== CTA FINAL =========== */
  .assembly-page[data-page="balance"] .final{background:var(--dark); color:var(--cream); padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="balance"] .final .inner{display:grid; grid-template-columns:.75fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="balance"] .final figure{margin:0 auto; width:100%; max-width:330px; position:relative; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side, rgb(243 236 220 / 22%), rgb(243 236 220 / 6%) 60%, transparent 72%); display:grid; place-items:center}
  .assembly-page[data-page="balance"] .final figure img{width:78%; filter:drop-shadow(0 40px 40px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="balance"] .final .eyebrow{color:var(--mint)}
  .assembly-page[data-page="balance"] .final h2{font:300 clamp(2.3rem,4.4vw,3.9rem)/1 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="balance"] .final .prog{margin:0; font-size:1.1rem; color:#d7cfbd}
  .assembly-page[data-page="balance"] .final .signup label{color:var(--cream)}
  .assembly-page[data-page="balance"] .final .signup .row{border-color:rgb(243 236 220 / 60%)}
  .assembly-page[data-page="balance"] .final .signup input{color:var(--cream)} .assembly-page[data-page="balance"] .final .signup input::placeholder{color:#a79f8b}
  .assembly-page[data-page="balance"] .final .signup button{color:var(--mint)}
  .assembly-page[data-page="balance"] .final .signup p{color:#a79f8b}
  .assembly-page[data-page="balance"] .final .btn{background:var(--cream); color:var(--ink)}
  .assembly-page[data-page="balance"] .final .btn-ghost{background:transparent; color:var(--cream)}
  .assembly-page[data-page="balance"] .final .j0{display:inline-block; margin-top:16px; color:var(--mint)}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .final .inner{grid-template-columns:1fr} .assembly-page[data-page="balance"] .final figure{width:min(80%,340px); margin-inline:auto} }

  /* =========== PIED DE PAGE (repris de la home) =========== */
  .assembly-page[data-page="balance"] footer{background:#0b2140; color:var(--cream); padding-block:56px 40px; font-size:.92rem}
  .assembly-page[data-page="balance"] footer .grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px}
  .assembly-page[data-page="balance"] footer .man{font:330 1.6rem/1.15 var(--serif); margin:0 0 10px}
  .assembly-page[data-page="balance"] footer h4{margin:0 0 12px; font:500 .8rem var(--sans); color:#9cc0e0; letter-spacing:.04em}
  .assembly-page[data-page="balance"] footer ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
  .assembly-page[data-page="balance"] footer a{text-decoration:none}
  .assembly-page[data-page="balance"] footer .legal{margin-top:36px; padding-top:18px; border-top:1px solid rgb(255 255 255 / 12%); font-size:.78rem; color:#a9b8ae; display:flex; flex-wrap:wrap; gap:6px 18px}
  @media (max-width:860px){ .assembly-page[data-page="balance"] footer .grid{grid-template-columns:1fr 1fr} }

  /* ---- Barre d'action mobile ---- */
  .assembly-page[data-page="balance"] .dock{position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:40; display:none; gap:8px; padding:8px; border-radius:999px; background:rgb(23 34 52 / 94%); backdrop-filter:blur(8px); box-shadow:0 14px 40px -14px rgb(0 0 0 / 50%); transform:translateY(140%); transition:transform .4s}
  .assembly-page[data-page="balance"] .dock.on{transform:none}
  .assembly-page[data-page="balance"] .dock a{flex:1; text-align:center; text-decoration:none; font:500 .92rem var(--sans); padding:12px 10px; border-radius:999px; color:var(--cream)}
  .assembly-page[data-page="balance"] .dock a:first-child{background:var(--cream); color:var(--ink)}
  @media (max-width:760px){ .assembly-page[data-page="balance"] .dock{display:flex} .assembly-page[data-page="balance"]{padding-bottom:84px} }

  /* ---- À valider ---- */
  .assembly-page[data-page="balance"] .approve{padding-block:50px 70px}
  .assembly-page[data-page="balance"] .approve .box{background:var(--note); border-radius:22px; padding:clamp(18px,3vw,34px); display:grid; gap:14px; font-size:.95rem}
  .assembly-page[data-page="balance"] .approve h2{margin:0; font:400 1.7rem/1.2 var(--serif)}
  .assembly-page[data-page="balance"] .approve h3{margin:8px 0 0; font:500 1rem var(--sans)}
  .assembly-page[data-page="balance"] .approve ul{margin:0; padding-left:1.2em; display:grid; gap:6px}
  .assembly-page[data-page="balance"].clean .approve{display:none}

  @media (prefers-reduced-motion:reduce){ .assembly-page[data-page="balance"]{scroll-behavior:auto} .assembly-page[data-page="balance"] *{animation:none!important; transition:none!important} }

  /* =========== Déclinaisons produit =========== */
  .assembly-page[data-page="balance"] .ingr{display:grid; grid-template-columns:42% 1fr; gap:clamp(24px,4vw,56px); align-items:center; margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:22px}
  .assembly-page[data-page="balance"] .ingr figure{margin:0; aspect-ratio:5/4; border-radius:18px; overflow:hidden}
  .assembly-page[data-page="balance"] .ingr figure img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="balance"] .ingr small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="balance"] .ingr h3{font:330 clamp(1.6rem,2.4vw,2.2rem)/1.05 var(--serif); margin:8px 0 2px}
  .assembly-page[data-page="balance"] .ingr .lat{margin:0; font:italic 400 1rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="balance"] .ingr .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .ingr .txt{margin:10px 0 0; font-size:.95rem; color:var(--muted); max-width:58ch}
  .assembly-page[data-page="balance"] .ingr blockquote{margin:16px 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.1rem/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="balance"] .shorts{display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(10px,1.4vw,18px); margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:20px}
  .assembly-page[data-page="balance"] .short{display:grid; gap:8px; align-content:start; text-decoration:none}
  .assembly-page[data-page="balance"] .short .v{position:relative; aspect-ratio:9/16; border-radius:10px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="balance"] .short .v img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease}
  .assembly-page[data-page="balance"] .short:hover .v img{transform:scale(1.03)}
  .assembly-page[data-page="balance"] .short .v::after{content:""; position:absolute; left:50%; top:50%; width:44px; height:44px; margin:-22px 0 0 -22px; border-radius:50%; background:rgb(243 236 220 / 90%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%231e2a23'/%3E%3C/svg%3E") center/22px no-repeat}
  .assembly-page[data-page="balance"] .short small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .short b{font:400 .98rem/1.3 var(--serif)}
  @media (max-width:900px){ .assembly-page[data-page="balance"] .ingr{grid-template-columns:1fr} .assembly-page[data-page="balance"] .shorts{grid-template-columns:repeat(6,minmax(150px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="balance"] .short{scroll-snap-align:start} }
  .assembly-page[data-page="balance"] .safety{margin:0 0 18px; padding:16px 18px; border-left:3px solid #a0522d; background:#fbf6ee; border-radius:0 12px 12px 0; font-size:.9rem; color:var(--ink)}
  .assembly-page[data-page="balance"] .safety strong{display:block; font:600 .8rem var(--sans); letter-spacing:.2em; color:#a0522d; margin-bottom:6px}
  .assembly-page[data-page="balance"] .safety p{margin:0 0 6px} .assembly-page[data-page="balance"] .safety p:last-child{margin:0}
  .assembly-page[data-page="balance"] .safety .ids{margin-top:10px; color:var(--muted); font-size:.84rem}
  .assembly-page[data-page="balance"] .ingr figure.type-plate{display:grid; place-content:center; text-align:center; gap:10px; padding:28px; background:radial-gradient(110% 90% at 30% 20%, #efeaf3, #d9d0e2 60%, #bfb2cf); color:#3d3350}
  .assembly-page[data-page="balance"] .type-plate b{font:italic 300 clamp(1.8rem,3vw,2.6rem)/1.05 var(--serif)}
  .assembly-page[data-page="balance"] .type-plate span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="balance"] .type-plate .to-supply{font-size:.72rem; opacity:.7}
  .assembly-page[data-page="balance"] .final figure.tall img{width:44%; border-radius:12px; filter:drop-shadow(0 30px 30px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="balance"] .film-body.vertical{grid-template-columns:minmax(180px,260px) 1fr; justify-content:start}
  .assembly-page[data-page="balance"] .film-body.vertical .short .v{border-radius:14px; box-shadow:0 30px 60px -34px rgb(40 30 10 / 55%)}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .film-body.vertical{grid-template-columns:1fr} .assembly-page[data-page="balance"] .film-body.vertical .short{width:min(62%,260px)} }
  /* =========== NOTRE APPROCHE =========== */
  .assembly-page[data-page="balance"] .appro{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="balance"] .appro-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="balance"] .appro h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.05 var(--serif); margin:12px 0 10px}
  .assembly-page[data-page="balance"] .appro .man{margin:0; font:330 clamp(1.15rem,1.6vw,1.4rem)/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="balance"] .appro .man em{display:block}
  .assembly-page[data-page="balance"] .appro-txt p{margin:0 0 10px; color:var(--muted)}
  .assembly-page[data-page="balance"] .appro-more{margin-top:clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="balance"] .appro-more > summary{font:500 .74rem var(--sans)!important; letter-spacing:.16em; text-transform:uppercase}
  .assembly-page[data-page="balance"] .principes{display:grid; grid-template-columns:1fr 1fr; gap:14px 40px; color:var(--ink)}
  .assembly-page[data-page="balance"] .principes b{font-weight:500}
  .assembly-page[data-page="balance"] .principes p{margin:4px 0 0; color:var(--muted)}
  .assembly-page[data-page="balance"] .appro .sub-h{margin:20px 0 4px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .appro-more > div{max-width:none!important}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .appro-grid,.assembly-page[data-page="balance"] .principes{grid-template-columns:1fr} }
  .assembly-page[data-page="balance"] .appro-more > summary{justify-content:flex-start!important; gap:14px}
  .assembly-page[data-page="balance"] .appro-more > summary::after{order:0}
  /* =========== CE QU'IL ACCOMPAGNE =========== */
  .assembly-page[data-page="balance"] .benef{padding-block:clamp(32px,4vw,56px) 0}
  .assembly-page[data-page="balance"] .benef .inner{border-top:1px solid var(--line); padding-top:clamp(24px,3vw,40px)}
  .assembly-page[data-page="balance"] .benef-head{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="balance"] .benef h2{font:330 clamp(1.7rem,2.7vw,2.4rem)/1.12 var(--serif); margin:12px 0 0; max-width:22ch}
  .assembly-page[data-page="balance"] .benef-lead{margin:0; color:var(--muted); max-width:52ch}
  .assembly-page[data-page="balance"] .reperes{list-style:none; margin:clamp(22px,2.8vw,34px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr)}
  .assembly-page[data-page="balance"] .reperes li{padding:4px 24px 0 0; display:grid; gap:6px; align-content:start}
  .assembly-page[data-page="balance"] .reperes li + li{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="balance"] .reperes small{font:500 .7rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .reperes b{font:400 1.18rem/1.25 var(--serif)}
  .assembly-page[data-page="balance"] .reperes p{margin:0; font-size:.92rem; color:var(--muted)}
  .assembly-page[data-page="balance"] .benef-foot{margin:18px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .benef-head,.assembly-page[data-page="balance"] .reperes{grid-template-columns:1fr} .assembly-page[data-page="balance"] .reperes li,.assembly-page[data-page="balance"] .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* Bloc « accompagne » : texte + emplacement image à droite */
  .assembly-page[data-page="balance"] .benef-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:stretch}
  .assembly-page[data-page="balance"] .benef-main h2{max-width:24ch}
  .assembly-page[data-page="balance"] .benef-main .benef-lead{margin:14px 0 0}
  .assembly-page[data-page="balance"] .benef-main .reperes li{padding-right:18px} .assembly-page[data-page="balance"] .benef-main .reperes li + li{padding-left:18px}
  .assembly-page[data-page="balance"] .benef-img{margin:0; border-radius:20px; overflow:hidden; min-height:320px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="balance"] .benef-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="balance"] .benef-img .ph{height:100%; min-height:320px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="balance"] .benef-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .benef-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="balance"] .benef-grid{grid-template-columns:1fr} .assembly-page[data-page="balance"] .benef-img{min-height:0; aspect-ratio:16/9} .assembly-page[data-page="balance"] .benef-img .ph{min-height:0} .assembly-page[data-page="balance"] .benef-main .reperes{grid-template-columns:1fr} .assembly-page[data-page="balance"] .benef-main .reperes li,.assembly-page[data-page="balance"] .benef-main .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* ---- Passe du 28/09 ---- */
  /* 1 · Respiration : première phrase sur une ligne, suite plus petite */
  .assembly-page[data-page="balance"] .breath p.q{max-width:none; font-size:clamp(1.5rem,2.9vw,2.7rem); text-wrap:balance}
  .assembly-page[data-page="balance"] .breath p.q span{font-size:clamp(1.15rem,1.9vw,1.75rem); line-height:1.3; margin-top:10px; max-width:40ch; margin-inline:auto}
  /* 2 · Rituel -20 % */
  .assembly-page[data-page="balance"] .rituel{padding-block:clamp(28px,3.2vw,44px) clamp(16px,2vw,24px)}
  .assembly-page[data-page="balance"] .rituel h2{font-size:clamp(1.7rem,3vw,2.7rem)}
  .assembly-page[data-page="balance"] .steps{margin-top:clamp(18px,2.4vw,30px)}
  .assembly-page[data-page="balance"] .steps::before{top:1.3rem}
  .assembly-page[data-page="balance"] .steps .n{font-size:clamp(1.9rem,2.7vw,2.6rem)}
  .assembly-page[data-page="balance"] .steps small{margin-top:8px; font-size:.66rem}
  .assembly-page[data-page="balance"] .steps p{font-size:.95rem}
  .assembly-page[data-page="balance"] .dose{margin-top:16px; font-size:.84rem}
  /* 3 · Ce qu'il y a dedans : texte sous le titre, visuel à droite */
  .assembly-page[data-page="balance"] .hydro .top{align-items:stretch}
  .assembly-page[data-page="balance"] .hydro .top .intro{margin-top:14px}
  .assembly-page[data-page="balance"] .side-img{margin:0; border-radius:20px; overflow:hidden; min-height:260px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="balance"] .side-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="balance"] .side-img .ph{height:100%; min-height:260px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="balance"] .side-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="balance"] .side-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  /* 4 · Composition dépliable */
  .assembly-page[data-page="balance"] .spec-acc{margin-top:18px}
  .assembly-page[data-page="balance"] .spec-acc > div, .assembly-page[data-page="balance"] .spec-acc > dl{max-width:none}
  .assembly-page[data-page="balance"] .spec-acc .spec{margin:0 0 16px}
  @media (max-width:860px){ .assembly-page[data-page="balance"] .breath p.q span{max-width:none} .assembly-page[data-page="balance"] .side-img, .assembly-page[data-page="balance"] .side-img .ph{min-height:0} .assembly-page[data-page="balance"] .side-img{aspect-ratio:4/3} }
.assembly-page[data-page="balance"] .breath p.q span{max-width:none; font-size:clamp(1rem,1.5vw,1.4rem)}
@media (min-width:900px){ .assembly-page[data-page="balance"] .breath p.q span{white-space:nowrap} }
.assembly-page[data-page="balance"] .side-img{position:relative}
.assembly-page[data-page="balance"] .side-title{position:absolute; top:clamp(20px,2.4vw,34px); right:clamp(20px,2.4vw,34px); left:clamp(20px,2.4vw,34px); text-align:right; z-index:1}
.assembly-page[data-page="balance"] .side-title .eyebrow{justify-content:flex-end}
.assembly-page[data-page="balance"] .hydro .top > div > .intro:first-child{margin-top:0}
.assembly-page[data-page="balance"] .hydro .top{align-items:stretch}
.assembly-page[data-page="balance"] .side-img .ph{place-content:end center}
@media (max-width:860px){ .assembly-page[data-page="balance"] .side-img{aspect-ratio:auto} .assembly-page[data-page="balance"] .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="balance"] .side-img .ph{min-height:120px; border-top:0} }
@media (max-width:860px){ .assembly-page[data-page="balance"] .hydro .top .side-img{order:-1} .assembly-page[data-page="balance"] .side-img .ph{min-height:140px; border:0; place-content:end center} }
.assembly-page[data-page="balance"] .benef-img{position:relative}
.assembly-page[data-page="balance"] .benef-img .ph{place-content:end center}
.assembly-page[data-page="balance"] .benef-img .side-title h2{margin-left:auto; max-width:18ch}
.assembly-page[data-page="balance"] .benef-img .side-title h2 em{color:var(--green)}
.assembly-page[data-page="balance"] .benef-main .benef-lead{margin-top:0}
@media (max-width:980px){ .assembly-page[data-page="balance"] .benef-grid .benef-img{order:-1; aspect-ratio:auto} .assembly-page[data-page="balance"] .benef-img .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="balance"] .benef-img .ph{min-height:120px; border:0} }
/* Approche avec image à gauche, puis alternance inversée des chapitres suivants */
.assembly-page[data-page="balance"] .appro.has-img .inner{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,56px); align-items:stretch}
.assembly-page[data-page="balance"] .appro.has-img .appro-grid{grid-template-columns:1fr; gap:18px}
.assembly-page[data-page="balance"] .appro-img{min-height:360px}
/* Alternance gauche/droite pilotée par la classe media-right (posée par alternance.py) */
@media (min-width:861px){
  .assembly-page[data-page="balance"] .film-sec.media-right .film-body{grid-template-columns:1fr 1.45fr} .assembly-page[data-page="balance"] .film-sec.media-right .film-body > .film{order:2}
  .assembly-page[data-page="balance"] .film-sec.media-right .film-body.vertical{grid-template-columns:1fr minmax(180px,260px)} .assembly-page[data-page="balance"] .film-sec.media-right .film-body.vertical > .short{order:2}
  .assembly-page[data-page="balance"] .appro.has-img.media-right .inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)} .assembly-page[data-page="balance"] .appro.has-img.media-right .appro-img{order:2}
  .assembly-page[data-page="balance"] .appro.has-img.media-right .appro-main{grid-column:1; grid-row:1}
  .assembly-page[data-page="balance"] .hydro:not(.media-right) .top .side-img{order:-1}
  .assembly-page[data-page="balance"] .final.media-right .inner{grid-template-columns:1fr .75fr} .assembly-page[data-page="balance"] .final.media-right .inner > figure{order:2}
}
@media (min-width:901px){ .assembly-page[data-page="balance"] .plants.media-right .ingr{grid-template-columns:1fr 42%} .assembly-page[data-page="balance"] .plants.media-right .ingr > figure{order:2} }
@media (max-width:860px){ .assembly-page[data-page="balance"] .appro.has-img .inner{grid-template-columns:1fr} .assembly-page[data-page="balance"] .appro-img{min-height:0; aspect-ratio:4/5; max-height:420px} }
.assembly-page[data-page="balance"] .ftip{position:absolute; z-index:5; width:max-content; max-width:min(320px,calc(100vw - 32px)); padding:10px 14px; border-radius:12px; background:#172234; color:#f3ecdc; box-shadow:0 18px 40px -18px rgb(0 0 0 / 55%); pointer-events:none; display:grid; gap:3px}
.assembly-page[data-page="balance"] .ftip small{font:500 .66rem/1.3 var(--sans, system-ui); letter-spacing:.12em; text-transform:uppercase; color:#9cc0e0}
.assembly-page[data-page="balance"] .ftip span{font:italic 400 1rem/1.35 var(--serif, Georgia, serif)}
.assembly-page[data-page="balance"] .ftip::after{content:""; position:absolute; left:var(--ax,50%); top:100%; margin-left:-6px; border:6px solid transparent; border-top-color:#172234}
.assembly-page[data-page="balance"] .ftip.below::after{top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:#172234}
.assembly-page[data-page="balance"] .sr-only{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.assembly-page[data-page="balance"] .benef-main .benef-lead{margin-top:14px}
.assembly-page[data-page="balance"] .benef h2 em{color:var(--green)}

/* ---- Ajouts du 29.09.2026 ---- */
.assembly-page[data-page="balance"] .pending{white-space:nowrap}
.assembly-page[data-page="balance"] .pending::after{content:"en attente de validation"; display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px; background:#ffe9a8; color:#4a3a00; font:500 .6rem/1.5 var(--sans); letter-spacing:.06em; text-transform:uppercase; vertical-align:2px}
.assembly-page[data-page="balance"].clean .pending::after{display:none}
.assembly-page[data-page="balance"] .research{margin:14px 0 4px; padding:14px 16px; border-left:2px solid var(--green); background:var(--paper-2); border-radius:0 12px 12px 0}
.assembly-page[data-page="balance"] .research small{display:block; font:500 .68rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:6px}
.assembly-page[data-page="balance"] .research p{margin:0 0 8px; font-size:.95rem; line-height:1.55}
.assembly-page[data-page="balance"] .research p:last-child{margin-bottom:0}
.assembly-page[data-page="balance"] .research cite{font-style:italic; color:var(--muted); white-space:nowrap}
.assembly-page[data-page="balance"] .study-note{margin:22px 0 0; color:var(--muted); font-size:.92rem; max-width:70ch}
.assembly-page[data-page="balance"] details.acc.sources ol{margin:8px 0 0; padding-left:1.2em; display:grid; gap:8px; font-size:.86rem; color:var(--muted)}
.assembly-page[data-page="balance"] details.acc.sources a{color:inherit}
.assembly-page[data-page="balance"] .variant{display:inline-block; margin:4px 0 0; padding:3px 12px; border:1px solid var(--line); border-radius:999px; font-size:.86rem}
.assembly-page[data-page="balance"] .warnbox{margin:18px 0 0; padding:14px 16px; border:1.5px solid #c9822b; border-radius:14px; background:#fff6e6}
.assembly-page[data-page="balance"] .warnbox b{display:block; letter-spacing:.08em}
.assembly-page[data-page="balance"] .warnbox p{margin:6px 0 0; font-size:.9rem}

/* ---- Bande philosophie : fond « bleu et or » (02.10.2026) ----
   Arbre lumineux à droite, flux de particules à gauche, centre sombre pour le texte.
   Un voile léger, plus dense au centre, garde la phrase lisible. Lente dérive de 28 s,
   coupée si l'animation est désactivée. Sur téléphone, le cadrage montre l'arbre. */
.assembly-page[data-page="balance"] .philo{background:#071a33}
.assembly-page[data-page="balance"] .philo::before{inset:-5%; height:auto; background:url("./public/assemblage/web/6f9155f46444ea8e-1920.webp") center 55% / cover no-repeat; animation:philoDrift 28s ease-in-out infinite alternate; will-change:transform}
.assembly-page[data-page="balance"] .philo::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 50% 70% at 50% 45%, rgb(5 18 38 / 62%), rgb(5 18 38 / 28%) 75%, rgb(5 18 38 / 14%))}
.assembly-page[data-page="balance"] .philo .inner{z-index:1}
@keyframes philoDrift{from{transform:scale(1)} to{transform:scale(1.06) translate(-1%,-.6%)}}
@media (max-width:760px){ .assembly-page[data-page="balance"] .philo::before{background-size:auto 130%; background-position:82% 50%} .assembly-page[data-page="balance"] .philo::after{background:rgb(5 18 38 / 58%)} }
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="balance"] .philo::before{animation:none} }

/* ---- Lecteur vidéo intégré (02.10.2026) ---- */
.assembly-page[data-page="balance"] .yt-dlg{padding:0; border:0; background:transparent; max-width:none; max-height:none; width:min(1100px,92vw,calc((100vh - 90px) * 16 / 9)); overflow:visible}
.assembly-page[data-page="balance"] .yt-dlg::backdrop{background:rgb(5 18 38 / 82%); backdrop-filter:blur(3px)}
.assembly-page[data-page="balance"] .yt-dlg.short{width:min(420px,92vw, calc((100vh - 90px) * 9 / 16))}
.assembly-page[data-page="balance"] .yt-box{display:grid; gap:10px}
.assembly-page[data-page="balance"] .yt-frame{aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#000; box-shadow:0 30px 80px -20px rgb(0 0 0 / 70%)}
.assembly-page[data-page="balance"] .yt-dlg.short .yt-frame{aspect-ratio:9/16}
.assembly-page[data-page="balance"] .yt-frame iframe{width:100%; height:100%; border:0; display:block}
.assembly-page[data-page="balance"] .yt-bar{display:flex; justify-content:space-between; align-items:center; gap:12px}
.assembly-page[data-page="balance"] .yt-bar a,.assembly-page[data-page="balance"] .yt-bar button{font:500 .85rem var(--sans); color:var(--cream); background:none; border:1px solid rgb(243 236 220 / 35%); border-radius:999px; padding:8px 16px; cursor:pointer; text-decoration:none}
.assembly-page[data-page="balance"] .yt-bar a:hover,.assembly-page[data-page="balance"] .yt-bar button:hover{background:rgb(243 236 220 / 12%)}

/* ---- Carrousels des fiches (02.10.2026) : fondu toutes les 5 s, pastilles, pause au survol ----
   .hero-carousel = image d'en-tête (cadre carré) ; .life-carousel = « Ce que … accompagne » (4:5).
   .slide.full occupe tout le cadre (photo) ; sans .full, l'image est détourée et contenue. */
.assembly-page[data-page="balance"] .hero-carousel .slide{opacity:0; transition:opacity .9s ease; mix-blend-mode:normal; animation:none}
.assembly-page[data-page="balance"] .hero-carousel .slide.on{opacity:1}
.assembly-page[data-page="balance"] .hero-carousel .slide.full{inset:0; width:100%; height:100%; object-fit:cover}
.assembly-page[data-page="balance"] .hero-dots{position:absolute; left:50%; bottom:14px; transform:translateX(-50%); display:flex; gap:8px; z-index:2}
.assembly-page[data-page="balance"] .hero-dots button{width:10px; height:10px; padding:0; border-radius:50%; border:1px solid rgb(23 34 52 / 45%); background:rgb(255 255 255 / 75%); cursor:pointer}
.assembly-page[data-page="balance"] .hero-dots button[aria-pressed="true"]{background:var(--ink, #172234); border-color:#fff}
.assembly-page[data-page="balance"] .life-carousel .slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .9s ease}
.assembly-page[data-page="balance"] .life-carousel .slide.on{opacity:1}
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="balance"] .hero-carousel .slide, .assembly-page[data-page="balance"] .life-carousel .slide{transition:none} }

/* ---- « Ce que la recherche a observé » repliable (02.10.2026) ---- */
.assembly-page[data-page="balance"] details.research{padding:12px 16px}
.assembly-page[data-page="balance"] details.research summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px}
.assembly-page[data-page="balance"] details.research summary::-webkit-details-marker{display:none}
.assembly-page[data-page="balance"] details.research summary small{margin:0}
.assembly-page[data-page="balance"] details.research summary::after{content:"+"; flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; border:1px solid currentColor; color:var(--green); font:400 1rem/1 var(--sans); transition:transform .25s}
.assembly-page[data-page="balance"] details.research[open] summary::after{content:"−"}
.assembly-page[data-page="balance"] details.research[open] summary{margin-bottom:8px}
.assembly-page[data-page="balance"] details.research summary:hover small{text-decoration:underline; text-underline-offset:4px}

/* Balance : respiration réduite entre le hero et « Ce que Balance accompagne » */
.assembly-page[data-page="balance"] #hero{padding-bottom:clamp(20px,2.4vw,32px)}
.assembly-page[data-page="balance"] #accompagne{padding-top:clamp(12px,1.6vw,20px)}
.assembly-page[data-page="balance"] #accompagne .inner{padding-top:clamp(20px,2.4vw,32px)}
.assembly-page[data-page="balance"] #approche{padding-top:clamp(20px,2.6vw,36px)}
.assembly-page[data-page="balance"] #film .film{background:radial-gradient(120% 110% at 18% 15%, #1d3a5f 0%, #0f2847 45%, #071a33 100%)}
.assembly-page[data-page="balance"] #film .film::after{background:linear-gradient(180deg, transparent 60%, rgb(0 0 0 / 30%))}
.assembly-page[data-page="balance"] #film .film-card{position:absolute; inset:0; display:grid; align-content:center; padding:clamp(24px,4vw,56px); z-index:1}
.assembly-page[data-page="balance"] #film .film-card b{font:330 clamp(1.7rem,3vw,2.7rem)/1.12 var(--serif); color:var(--cream); max-width:16ch; text-wrap:balance; transition:color .3s}
.assembly-page[data-page="balance"] #film .film:hover .film-card b{color:#fff}
.assembly-page[data-page="balance"] #film .vk,.assembly-page[data-page="balance"] #episodes .vk{display:flex; align-items:center; gap:10px; font:500 .7rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--mint)}
.assembly-page[data-page="balance"] #film .vk i,.assembly-page[data-page="balance"] #episodes .vk i{flex:none; width:30px; height:30px; border-radius:50%; background:rgb(243 236 220 / 92%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%23172234'/%3E%3C/svg%3E") center/18px no-repeat; transition:transform .3s}
.assembly-page[data-page="balance"] #film .film:hover .vk i,.assembly-page[data-page="balance"] #episodes .short:hover .vk i{transform:scale(1.1)}
.assembly-page[data-page="balance"] #film .film-card{gap:16px}
.assembly-page[data-page="balance"] #episodes .short .v{display:grid; align-content:space-between; gap:12px; padding:16px 14px 18px; background:radial-gradient(130% 90% at 20% 10%, #1d3a5f 0%, #0f2847 50%, #071a33 100%)}
.assembly-page[data-page="balance"] #episodes .short .v::after{content:none}
.assembly-page[data-page="balance"] #episodes .short .v b{font:330 clamp(1rem,1.25vw,1.2rem)/1.2 var(--serif); color:var(--cream)}
.assembly-page[data-page="balance"] #episodes .short:hover .v b{color:#fff}
.assembly-page[data-page="balance"] #episodes .short .vk{font-size:.6rem; letter-spacing:.12em; gap:8px}
.assembly-page[data-page="balance"] #episodes .short .vk i{width:26px; height:26px; background-size:16px}
@media (min-width:861px){ .assembly-page[data-page="balance"] #film.media-right .film-body{grid-template-columns:1fr 1.2fr} }
.assembly-page[data-page="balance"] #film .film-card b{font:italic 330 clamp(1.3rem,2.1vw,1.85rem)/1.25 var(--serif); max-width:20ch; color:rgb(243 236 220 / 88%)}
.assembly-page[data-page="balance"] #film .film .cap{font-size:.64rem; opacity:.62; transition:opacity .3s}
.assembly-page[data-page="balance"] #film .film:hover .cap,.assembly-page[data-page="balance"] #film .film:focus-visible .cap{opacity:.95}
.assembly-page[data-page="balance"] #film .film:focus-visible{outline:3px solid var(--mint); outline-offset:4px}
.assembly-page[data-page="balance"] #film .film{cursor:pointer}
@media (max-width:860px){ .assembly-page[data-page="balance"] #film .film-body > .film{order:2; aspect-ratio:16/10; margin-inline:0; border-radius:18px} .assembly-page[data-page="balance"] #film .film-card{padding:22px 22px 52px; gap:10px} .assembly-page[data-page="balance"] #film .film-card b{font-size:1.3rem; max-width:15ch} .assembly-page[data-page="balance"] #film .play{width:56px; height:56px; margin-top:-28px; right:22px} .assembly-page[data-page="balance"] #film .play::before{margin-left:4px; border-left-width:15px; border-block-width:9px} }
.assembly-page[data-page="balance"] #film .play{left:auto; right:clamp(28px,6vw,80px); z-index:2}
.assembly-page[data-page="balance"] #episodes .short .v{position:relative}
.assembly-page[data-page="balance"] #episodes .short .play{top:36%; width:56px; height:56px; margin:-28px 0 0 -28px}
.assembly-page[data-page="balance"] #episodes .short .play::before{margin-left:4px; border-left-width:15px; border-block-width:9px}
.assembly-page[data-page="balance"] #episodes .short:hover .play{transform:scale(1.08)}
.assembly-page[data-page="balance"] #episodes .head{grid-template-columns:1fr}
.assembly-page[data-page="balance"] #episodes h2{max-width:none; text-wrap:wrap}
@media (min-width:861px){ .assembly-page[data-page="balance"] #dedans .top{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)} .assembly-page[data-page="balance"] #dedans .top .side-img{width:100%; min-height:0; aspect-ratio:4/3; align-self:center} .assembly-page[data-page="balance"] #dedans .top .intro{max-width:none} }
.assembly-page[data-page="balance"] #dedans .top .intro{margin-top:clamp(16px,2vw,24px)}
.assembly-page[data-page="balance"] #dedans .side-img .ph{place-content:center}
@media (max-width:860px){ .assembly-page[data-page="balance"] #dedans .top .side-img{order:0} }


  .assembly-page[data-page="flora-regula"]{
    --paper:#f3efe6; --paper-2:#f8f5ee; --stage:#e6dfd0; --ink:#172234; --green:#1d4f86; --muted:#6a685f; --line:rgb(23 34 52 / 14%);
    --dark:#071a33; --dark-2:#0f2847; --cream:#f3ecdc; --mint:#9cc0e0; --note:#ece6d9;
    --serif:"Fraunces", Georgia, "Times New Roman", serif;
    --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --gut:clamp(20px,4vw,56px);
    color-scheme: light;
  }
  .assembly-page[data-page="flora-regula"] *{box-sizing:border-box}
  .assembly-page[data-page="flora-regula"]{scroll-behavior:smooth}
  .assembly-page[data-page="flora-regula"]{margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased}
  .assembly-page[data-page="flora-regula"] a{color:inherit}
  .assembly-page[data-page="flora-regula"] img{max-width:100%; display:block}
  .assembly-page[data-page="flora-regula"] :focus-visible{outline:2px solid var(--green); outline-offset:3px; border-radius:6px}
  .assembly-page[data-page="flora-regula"] .wrap{padding-inline:var(--gut)}
  .assembly-page[data-page="flora-regula"] .inner{max-width:1260px; margin-inline:auto}
  .assembly-page[data-page="flora-regula"] .narrow{max-width:760px}
  .assembly-page[data-page="flora-regula"] section{scroll-margin-top:70px}
  .assembly-page[data-page="flora-regula"] .eyebrow{font:500 .72rem/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:12px; margin:0}
  .assembly-page[data-page="flora-regula"] .eyebrow::before{content:""; width:26px; height:1px; background:currentColor; flex:none}
  .assembly-page[data-page="flora-regula"] .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:500 .93rem var(--sans); background:var(--green); color:#f6f2e8; border:0; border-radius:999px; padding:13px 22px; text-decoration:none; cursor:pointer}
  .assembly-page[data-page="flora-regula"] .btn-ghost{background:transparent; color:inherit; border:1px solid currentColor}
  .assembly-page[data-page="flora-regula"] .link{font-weight:500; text-underline-offset:6px; text-decoration-thickness:1px}
  .assembly-page[data-page="flora-regula"] .serif{font-family:var(--serif)}
  .assembly-page[data-page="flora-regula"] h1,.assembly-page[data-page="flora-regula"] h2,.assembly-page[data-page="flora-regula"] h3{font-weight:330; letter-spacing:-.03em; text-wrap:balance}

  /* ---- Bandeau de revue (repris de la home) ---- */
  .assembly-page[data-page="flora-regula"] .review{position:sticky; top:0; z-index:50; background:var(--ink); color:var(--cream); font-size:.8rem}
  .assembly-page[data-page="flora-regula"] .review .inner{display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; justify-content:space-between; padding-block:8px}
  .assembly-page[data-page="flora-regula"] .review nav{display:flex; flex-wrap:wrap; gap:4px}
  .assembly-page[data-page="flora-regula"] .review a,.assembly-page[data-page="flora-regula"] .review button{color:var(--cream); text-decoration:none; padding:3px 9px; border-radius:999px; border:1px solid rgb(255 255 255 / 18%); background:none; font:500 .76rem var(--sans); cursor:pointer}
  .assembly-page[data-page="flora-regula"] .review a:hover{background:rgb(255 255 255 / 10%)}
  .assembly-page[data-page="flora-regula"] .zone-note{font-size:.8rem; line-height:1.5; color:#6b5a1a; background:#fff6d6; border-radius:10px; padding:8px 12px; margin:18px 0 0; max-width:70ch}
  .assembly-page[data-page="flora-regula"] .on-dark .zone-note{background:#3a3520; color:#f3e3a8}
  .assembly-page[data-page="flora-regula"].clean .zone-note, .assembly-page[data-page="flora-regula"].clean .to-supply{display:none}

  /* ---- En-tête ---- */
  .assembly-page[data-page="flora-regula"] header.site .inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:22px}
  .assembly-page[data-page="flora-regula"] .logo{display:grid; gap:3px; text-decoration:none}
  .assembly-page[data-page="flora-regula"] .logo-word{font:400 clamp(1.15rem,2vw,1.5rem)/1 var(--sans); letter-spacing:.2em}
  .assembly-page[data-page="flora-regula"] .logo-word span{color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .logo-sig{font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .menu{display:flex; gap:22px; font-size:.92rem}
  .assembly-page[data-page="flora-regula"] .menu a{text-decoration:none}
  .assembly-page[data-page="flora-regula"] .head-cta{display:flex; gap:8px}
  .assembly-page[data-page="flora-regula"] .pill{font:500 .86rem var(--sans); border:1px solid var(--ink); border-radius:999px; padding:9px 16px; text-decoration:none; white-space:nowrap}
  .assembly-page[data-page="flora-regula"] .pill-dark{background:var(--ink); color:var(--paper)}
  @media (max-width:900px){ .assembly-page[data-page="flora-regula"] .menu{display:none} .assembly-page[data-page="flora-regula"] .pill-dark{display:none} }

  .assembly-page[data-page="flora-regula"] .crumb{font-size:.85rem; color:var(--muted); padding-block:4px 0}
  .assembly-page[data-page="flora-regula"] .crumb a{text-decoration:none} .assembly-page[data-page="flora-regula"] .crumb a:hover{text-decoration:underline}

  /* =========== HERO =========== */
  .assembly-page[data-page="flora-regula"] .hero{padding-block:clamp(12px,2vw,28px) clamp(40px,5vw,72px)}
  .assembly-page[data-page="flora-regula"] .hero .inner{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="flora-regula"] .hero-shot{position:relative; margin:0; aspect-ratio:1/1; max-height:600px; border-radius:26px; overflow:hidden;
    background:radial-gradient(90% 70% at 50% 62%, #f7efdc 0%, #ece3d0 45%, #ddd3bd 100%)}
  .assembly-page[data-page="flora-regula"] .hero-shot img{position:absolute; inset:6% 4% 2%; width:92%; height:92%; object-fit:contain; mix-blend-mode:multiply; animation:rise 1.2s ease both}
  .assembly-page[data-page="flora-regula"] .hero-shot figcaption{position:absolute; left:22px; bottom:18px; font:italic 400 .95rem var(--serif); color:#6b6247}
  @keyframes rise{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
  .assembly-page[data-page="flora-regula"] .hero h1{font:300 clamp(2.8rem,5.6vw,5rem)/.95 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="flora-regula"] .hero h1 small{display:block; font:500 .74rem/1 var(--sans); letter-spacing:.18em; color:var(--green); margin-bottom:10px}
  .assembly-page[data-page="flora-regula"] .hero .sub{font:400 clamp(1.15rem,1.7vw,1.4rem)/1.35 var(--sans); margin:0}
  .assembly-page[data-page="flora-regula"] .hero blockquote{margin:16px 0 0; font:italic 330 clamp(1.2rem,1.7vw,1.4rem)/1.35 var(--serif); color:var(--green); max-width:26ch}
  .assembly-page[data-page="flora-regula"] .meta{display:flex; flex-wrap:wrap; gap:6px 14px; margin:18px 0 0; padding:10px 0; border-block:1px solid var(--line); font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="flora-regula"] .meta span+span::before{content:"·"; margin-right:14px; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .know{margin:6px 0 0; display:grid; gap:0}
  .assembly-page[data-page="flora-regula"] .know div{display:grid; grid-template-columns:8.5rem 1fr; gap:16px; padding:9px 0; font-size:.95rem; border-bottom:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] .know dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .know dd{margin:0}
  .assembly-page[data-page="flora-regula"] .ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
  .assembly-page[data-page="flora-regula"] .signup{margin-top:18px; display:grid; gap:8px; max-width:460px}
  .assembly-page[data-page="flora-regula"] .signup label{font:400 1.05rem var(--serif)}
  .assembly-page[data-page="flora-regula"] .signup .row{display:flex; align-items:center; border-bottom:1px solid var(--ink)}
  .assembly-page[data-page="flora-regula"] .signup input{flex:1; min-width:0; font:inherit; font-size:1rem; border:0; background:transparent; padding:9px 0; color:var(--ink)}
  .assembly-page[data-page="flora-regula"] .signup input:focus{outline:none}
  .assembly-page[data-page="flora-regula"] .signup button{font:500 .9rem var(--sans); background:none; border:0; color:var(--green); padding:12px 0 12px 12px; cursor:pointer; white-space:nowrap}
  .assembly-page[data-page="flora-regula"] .signup p{margin:0; font-size:.78rem; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .toast{min-height:1.2em; color:var(--green)!important}
  .assembly-page[data-page="flora-regula"] .trust{margin:16px 0 0; font:500 .68rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 16px}
  @media (max-width:880px){
    .assembly-page[data-page="flora-regula"] .hero .inner{grid-template-columns:1fr}
    .assembly-page[data-page="flora-regula"] .hero-shot{aspect-ratio:1/1; border-radius:22px}
    .assembly-page[data-page="flora-regula"] .know div{grid-template-columns:1fr; gap:2px}
    .assembly-page[data-page="flora-regula"] .ctas .btn{flex:1 1 100%}
  }

  /* =========== FILM =========== */
  .assembly-page[data-page="flora-regula"] .film-sec{background:var(--paper-2); padding-block:clamp(36px,4.5vw,64px)}
  .assembly-page[data-page="flora-regula"] .film-sec .head{display:grid; gap:10px; margin-bottom:6px}
  .assembly-page[data-page="flora-regula"] .film-sec h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="flora-regula"] .film-sec .lead{font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); margin:0}
  .assembly-page[data-page="flora-regula"] .film{position:relative; display:block; margin:0; border-radius:26px; overflow:hidden; background:#1b1612; aspect-ratio:16/9; box-shadow:0 40px 80px -40px rgb(40 30 10 / 55%); text-decoration:none; color:#fff}
  .assembly-page[data-page="flora-regula"] .film img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease, filter .6s}
  .assembly-page[data-page="flora-regula"] .film:hover img{transform:scale(1.02); filter:brightness(.9)}
  .assembly-page[data-page="flora-regula"] .film::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgb(0 0 0 / 55%))}
  .assembly-page[data-page="flora-regula"] .play{position:absolute; left:50%; top:50%; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; background:rgb(243 236 220 / 92%); display:grid; place-items:center; z-index:2; transition:transform .3s}
  .assembly-page[data-page="flora-regula"] .play::before{content:""; margin-left:6px; border-left:20px solid var(--ink); border-block:12px solid transparent}
  .assembly-page[data-page="flora-regula"] .film:hover .play{transform:scale(1.06)}
  .assembly-page[data-page="flora-regula"] .film .cap{position:absolute; left:24px; right:24px; bottom:20px; z-index:2; display:flex; justify-content:space-between; gap:16px; font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="flora-regula"] .film-body{display:grid; grid-template-columns:1.45fr 1fr; gap:clamp(24px,4vw,56px); align-items:center}
  .assembly-page[data-page="flora-regula"] .film-text{display:grid; gap:14px}
  .assembly-page[data-page="flora-regula"] .film-text p{margin:0; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .film-text .head + p{color:var(--ink); font:400 1.1rem/1.45 var(--serif)}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .film-sec .head,.assembly-page[data-page="flora-regula"] .film-body{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .film{border-radius:18px; margin-inline:calc(var(--gut) * -1); border-radius:0} .assembly-page[data-page="flora-regula"] .play{width:68px; height:68px; margin:-34px 0 0 -34px} }

  /* =========== RITUEL =========== */
  .assembly-page[data-page="flora-regula"] .rituel{background:var(--stage); padding-block:clamp(34px,4vw,54px) clamp(20px,2.4vw,30px)}
  .assembly-page[data-page="flora-regula"] .rituel h2{font:330 clamp(2.1rem,3.8vw,3.4rem)/1.05 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="flora-regula"] .rituel h2 em{color:var(--green)}
  .assembly-page[data-page="flora-regula"] .steps{list-style:none; margin:clamp(24px,3vw,40px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); position:relative}
  .assembly-page[data-page="flora-regula"] .steps::before{content:""; position:absolute; left:0; right:0; top:1.6rem; height:1px; background:var(--line)}
  .assembly-page[data-page="flora-regula"] .steps li{position:relative; padding-right:clamp(16px,3vw,48px)}
  .assembly-page[data-page="flora-regula"] .steps .n{display:block; font:300 clamp(2.4rem,3.4vw,3.2rem)/1 var(--serif); color:var(--green); background:var(--stage); width:fit-content; padding-right:14px; position:relative}
  .assembly-page[data-page="flora-regula"] .steps .n::after{content:""; position:absolute; right:-2px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--green)}
  .assembly-page[data-page="flora-regula"] .steps li:last-child .n::after{background:transparent; border:1px solid var(--green)}
  .assembly-page[data-page="flora-regula"] .steps small{display:block; margin-top:12px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .steps p{margin:4px 0 0; font-size:1.05rem; max-width:28ch}
  .assembly-page[data-page="flora-regula"] .dose{margin:22px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:760px){
    .assembly-page[data-page="flora-regula"] .steps{grid-template-columns:1fr; gap:0}
    .assembly-page[data-page="flora-regula"] .steps::before{left:.55rem; right:auto; top:1rem; bottom:1rem; width:1px; height:auto}
    .assembly-page[data-page="flora-regula"] .steps::before{left:1.4rem; top:3.4rem; bottom:2rem}
    .assembly-page[data-page="flora-regula"] .steps li{display:grid; grid-template-columns:3.6rem 1fr; column-gap:14px; padding:0 0 36px 0}
    .assembly-page[data-page="flora-regula"] .steps .n{grid-row:1 / span 2; font-size:2.6rem; padding:0 0 8px; background:var(--stage)}
    .assembly-page[data-page="flora-regula"] .steps .n::after{display:none}
    .assembly-page[data-page="flora-regula"] .steps small{margin-top:10px}
  }

  /* Respiration typographique */
  .assembly-page[data-page="flora-regula"] .breath{background:var(--stage); padding-block:clamp(20px,2.4vw,32px) clamp(36px,4.5vw,60px); text-align:center}
  .assembly-page[data-page="flora-regula"] .breath .inner{border-top:1px solid var(--line); padding-top:clamp(30px,3.5vw,44px)}
  .assembly-page[data-page="flora-regula"] .breath p.q{margin:0 auto; max-width:24ch; font:300 clamp(1.8rem,3.7vw,3.3rem)/1.08 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="flora-regula"] .breath p.q span{display:block; color:var(--green); font-style:italic}
  .assembly-page[data-page="flora-regula"] .bottles{display:flex; justify-content:center; gap:clamp(6px,1.2vw,12px); margin:clamp(24px,3vw,36px) auto 10px}
  .assembly-page[data-page="flora-regula"] .bottles i{display:block; width:clamp(34px,6vw,64px); height:6px; border-radius:3px}
  .assembly-page[data-page="flora-regula"] .bottles-cap{margin:0; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .breath .btn{margin-top:20px}

  .assembly-page[data-page="flora-regula"] .frise{text-align:left; margin-top:clamp(22px,2.6vw,32px)}
  .assembly-page[data-page="flora-regula"] .j-stages{display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] .j-stage{padding:10px 16px 2px 0; border-right:1px solid var(--line); display:grid; gap:2px}
  .assembly-page[data-page="flora-regula"] .j-stage:last-child{border-right:0}
  .assembly-page[data-page="flora-regula"] .j-stage + .j-stage{padding-left:16px}
  .assembly-page[data-page="flora-regula"] .j-stage small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .j-stage b{font-weight:450; font-size:.98rem}
  .assembly-page[data-page="flora-regula"] .j-stage span{font-size:.82rem; color:var(--muted); font-variant-numeric:tabular-nums}
  .assembly-page[data-page="flora-regula"] .help{margin:14px 0 2px; font-size:.85rem; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .phase{margin-top:8px}
  .assembly-page[data-page="flora-regula"] .phase-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
  .assembly-page[data-page="flora-regula"] .phase-head h3{margin:0; font:450 1rem var(--sans); letter-spacing:-.02em}
  .assembly-page[data-page="flora-regula"] .phase-head span{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .days{display:grid; grid-template-columns:repeat(30,1fr); gap:3px; margin-top:5px; padding-bottom:14px}
  .assembly-page[data-page="flora-regula"] .day{position:relative; aspect-ratio:2.2; border:0; border-radius:4px; padding:0; cursor:pointer; transition:transform .15s}
  .assembly-page[data-page="flora-regula"] .day:hover,.assembly-page[data-page="flora-regula"] .day:focus-visible,.assembly-page[data-page="flora-regula"] .day[aria-pressed="true"]{transform:translateY(-3px)}
  .assembly-page[data-page="flora-regula"] .day[aria-pressed="true"]{outline:2px solid var(--ink); outline-offset:2px}
  .assembly-page[data-page="flora-regula"] .day.today::after{content:""; position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:var(--ink)}
  .assembly-page[data-page="flora-regula"] .mark{position:absolute; left:0; top:calc(100% + 3px); font:500 .62rem var(--sans); letter-spacing:.06em; color:var(--muted); white-space:nowrap; pointer-events:none; text-transform:lowercase}
  .assembly-page[data-page="flora-regula"] .readout{margin-top:10px; min-height:3em; display:grid; gap:2px; padding:10px 16px; border-left:3px solid var(--green); background:rgb(255 255 255 / 55%); border-radius:0 12px 12px 0}
  .assembly-page[data-page="flora-regula"] .readout small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .readout span{font:italic 400 1.02rem/1.4 var(--serif)}
  .assembly-page[data-page="flora-regula"] .fine{margin-top:10px; display:grid; gap:4px; font-size:.82rem; color:var(--muted); max-width:70ch}
  .assembly-page[data-page="flora-regula"] .frise .btn{margin-top:16px}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .j-stages{grid-template-columns:1fr 1fr} .assembly-page[data-page="flora-regula"] .j-stage{border-right:0; border-bottom:1px solid var(--line); padding:12px 0} .assembly-page[data-page="flora-regula"] .j-stage + .j-stage{padding-left:0} .assembly-page[data-page="flora-regula"] .days{grid-template-columns:repeat(15,1fr)} }

  /* =========== PLANTES =========== */
  .assembly-page[data-page="flora-regula"] .plants{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.4vw,36px)}
  .assembly-page[data-page="flora-regula"] .plants .head{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="flora-regula"] .plants .head h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="flora-regula"] .plants .head p{margin:0; color:var(--muted); font-size:1.02rem}
  .assembly-page[data-page="flora-regula"] .plants .head{margin-bottom:clamp(8px,1.5vw,20px)}
  .assembly-page[data-page="flora-regula"] .chapter{display:grid; grid-template-columns:42% 1fr; gap:clamp(28px,5vw,72px); align-items:center; padding-block:clamp(32px,4vw,52px); border-bottom:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] .chapter:last-of-type{border-bottom:0}
  .assembly-page[data-page="flora-regula"] .chapter.flip{grid-template-columns:1fr 42%}
  .assembly-page[data-page="flora-regula"] .chapter.flip .plate{order:2}
  .assembly-page[data-page="flora-regula"] .plate{position:relative; margin:0; aspect-ratio:5/4; border-radius:22px; overflow:hidden}
  .assembly-page[data-page="flora-regula"] .plate img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="flora-regula"] .plate.type{display:grid; place-content:center; text-align:center; gap:10px; padding:32px}
  .assembly-page[data-page="flora-regula"] .plate.type b{font:italic 300 clamp(2rem,3.4vw,3rem)/1.02 var(--serif)}
  .assembly-page[data-page="flora-regula"] .plate.type span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="flora-regula"] .plate.type .to-supply{font-size:.74rem; opacity:.7}
  .assembly-page[data-page="flora-regula"] .plate.romarin{background:radial-gradient(110% 90% at 30% 20%, #eef0e2, #cfd6bd 60%, #b3bf9c); color:#2f3d2a}
  .assembly-page[data-page="flora-regula"] .plate.sauge{background:radial-gradient(110% 90% at 70% 20%, #eef0ec, #cbd3cd 60%, #aab6ad); color:#2c3a33}
  .assembly-page[data-page="flora-regula"] .plate .no{position:absolute; left:22px; top:18px; font:300 1.3rem var(--serif); color:#fff; mix-blend-mode:difference; z-index:2}
  .assembly-page[data-page="flora-regula"] .plate.type .no{color:inherit; mix-blend-mode:normal}
  .assembly-page[data-page="flora-regula"] .plate .latin{position:absolute; left:22px; bottom:18px; font:italic 400 1rem var(--serif); color:#fff; text-shadow:0 1px 8px rgb(0 0 0 / 35%)}
  .assembly-page[data-page="flora-regula"] .chap small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .chap h3{font:330 clamp(1.9rem,3vw,2.7rem)/1.02 var(--serif); margin:8px 0 4px}
  .assembly-page[data-page="flora-regula"] .chap .lat{font:italic 400 1.1rem var(--serif); color:var(--muted); margin:0}
  .assembly-page[data-page="flora-regula"] .chap .angle{display:inline-flex; align-items:center; gap:10px; margin:14px 0 0; font:500 .78rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .chap .angle::before{content:""; width:26px; height:1px; background:currentColor}
  .assembly-page[data-page="flora-regula"] .chap p.txt{margin:10px 0 0; max-width:58ch; font-size:.97rem}
  .assembly-page[data-page="flora-regula"] .chap blockquote{margin:18px 0 0; padding-left:18px; border-left:1px solid var(--green); font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); max-width:30ch}
  .assembly-page[data-page="flora-regula"] .vlink{display:flex; align-items:center; gap:14px; margin-top:18px; text-decoration:none; width:fit-content}
  .assembly-page[data-page="flora-regula"] .vlink .dot{width:40px; height:40px; border-radius:50%; border:1px solid var(--ink); display:grid; place-items:center; transition:background .3s}
  .assembly-page[data-page="flora-regula"] .vlink .dot::before{content:""; margin-left:3px; border-left:11px solid var(--ink); border-block:7px solid transparent}
  .assembly-page[data-page="flora-regula"] .vlink:hover .dot{background:var(--ink)} .assembly-page[data-page="flora-regula"] .vlink:hover .dot::before{border-left-color:var(--paper)}
  .assembly-page[data-page="flora-regula"] .vlink span{display:grid; line-height:1.3}
  .assembly-page[data-page="flora-regula"] .vlink b{font-weight:500} .assembly-page[data-page="flora-regula"] .vlink i{font-style:normal; font-size:.82rem; color:var(--muted)}
  @media (max-width:860px){
    .assembly-page[data-page="flora-regula"] .plants .head{grid-template-columns:1fr}
    .assembly-page[data-page="flora-regula"] .chapter{grid-template-columns:1fr; gap:28px}
    .assembly-page[data-page="flora-regula"] .chapter.flip{grid-template-columns:1fr}
    .assembly-page[data-page="flora-regula"] .chapter.flip .plate{order:0}
    .assembly-page[data-page="flora-regula"] .plate{aspect-ratio:4/3; border-radius:18px}
  }

  /* Trois plantes : trois colonnes vidéo */
  .assembly-page[data-page="flora-regula"] .trio{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,44px); margin-top:clamp(16px,2vw,26px)}
  .assembly-page[data-page="flora-regula"] .plant{display:flex; flex-direction:column; border-top:1px solid var(--line); padding-top:16px}
  .assembly-page[data-page="flora-regula"] .thumb{display:block; width:80%; aspect-ratio:16/9; border-radius:4px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="flora-regula"] .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease, filter .4s}
  .assembly-page[data-page="flora-regula"] .thumb:hover img{transform:scale(1.03); filter:brightness(1.05)}
  .assembly-page[data-page="flora-regula"] .plant h3{font:330 clamp(1.25rem,1.7vw,1.55rem)/1.15 var(--serif); margin:14px 0 2px}
  .assembly-page[data-page="flora-regula"] .plant .lat{margin:0; font:italic 400 .98rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .plant .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .plant .txt{margin:8px 0 14px; font-size:.93rem; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .plant blockquote{margin:auto 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.05rem/1.35 var(--serif); color:var(--green)}
  @media (max-width:900px){ .assembly-page[data-page="flora-regula"] .thumb{width:100%} .assembly-page[data-page="flora-regula"] .trio{grid-template-columns:1fr; gap:40px} }

  /* =========== HYDROLAT =========== */
  .assembly-page[data-page="flora-regula"] .hydro{background:#fbf9f3; padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="flora-regula"] .hydro .top{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:end}
  .assembly-page[data-page="flora-regula"] .hydro h2{font:330 clamp(2rem,3.6vw,3.2rem)/1 var(--serif); margin:10px 0 0}
  .assembly-page[data-page="flora-regula"] .hydro h2 em{display:block; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .hydro .intro{margin:0; font-size:.97rem; max-width:52ch}
  .assembly-page[data-page="flora-regula"] .figs{display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(20px,2.4vw,28px); border-top:1px solid var(--ink)}
  .assembly-page[data-page="flora-regula"] .fig{padding:12px 24px 0 0; display:flex; align-items:baseline; gap:12px}
  .assembly-page[data-page="flora-regula"] .fig + .fig{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] .fig strong{display:block; flex:none; font:300 clamp(2rem,3.2vw,2.8rem)/1 var(--serif); letter-spacing:-.04em}
  .assembly-page[data-page="flora-regula"] .fig strong sup{font-size:.35em; letter-spacing:0; vertical-align:super; margin-left:4px}
  .assembly-page[data-page="flora-regula"] .fig span{display:block; margin-top:0; font-size:.9rem; color:var(--muted); max-width:22ch}
  .assembly-page[data-page="flora-regula"] .labels{display:flex; flex-wrap:wrap; gap:6px 22px; margin:18px 0 0; padding:0; list-style:none; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .labels li{display:flex; align-items:center; gap:10px}
  .assembly-page[data-page="flora-regula"] .labels li::before{content:""; width:5px; height:5px; border-radius:50%; background:currentColor}
  .assembly-page[data-page="flora-regula"] .spec{display:grid; grid-template-columns:repeat(3,1fr); gap:0 clamp(20px,3vw,44px); margin:14px 0 0}
  .assembly-page[data-page="flora-regula"] .spec div{display:grid; grid-template-columns:1fr; gap:2px; padding:8px 0; font-size:.9rem; border-top:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] .spec dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .spec dd{margin:0}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .hydro .top,.assembly-page[data-page="flora-regula"] .spec{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .figs{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .fig,.assembly-page[data-page="flora-regula"] .fig+.fig{padding:22px 0; border-left:0; border-bottom:1px solid var(--line)} .assembly-page[data-page="flora-regula"] .spec div{grid-template-columns:1fr; gap:2px} }

  /* Accordéons sobres */
  .assembly-page[data-page="flora-regula"] details.acc{border-top:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] details.acc:last-of-type{border-bottom:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] details.acc summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; font:400 1.15rem var(--serif)}
  .assembly-page[data-page="flora-regula"] details.acc summary::-webkit-details-marker{display:none}
  .assembly-page[data-page="flora-regula"] details.acc summary::after{content:"+"; font:300 1.5rem/1 var(--sans); color:var(--green); transition:transform .3s}
  .assembly-page[data-page="flora-regula"] details.acc[open] summary::after{transform:rotate(45deg)}
  .assembly-page[data-page="flora-regula"] details.acc > div{padding:0 0 20px; max-width:62ch; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .how{margin-top:10px}

  /* =========== PRÉCAUTIONS =========== */
  .assembly-page[data-page="flora-regula"] .prec{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="flora-regula"] .prec .grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(24px,5vw,72px); align-items:start}
  .assembly-page[data-page="flora-regula"] .prec h2{font:330 clamp(1.8rem,3vw,2.4rem)/1.1 var(--serif); margin:14px 0 0}
  .assembly-page[data-page="flora-regula"] .prec .mand{margin:0 0 18px; font-size:.95rem; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .prec .mand b{color:var(--ink); font-weight:500}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .prec .grid{grid-template-columns:1fr} }

  /* =========== PHILOSOPHIE =========== */
  .assembly-page[data-page="flora-regula"] .philo{background:var(--dark); color:var(--cream); padding-block:clamp(54px,7.5vw,112px); text-align:center; position:relative; overflow:hidden}
  .assembly-page[data-page="flora-regula"] .philo::before{content:""; position:absolute; inset:auto -20% -60% -20%; height:120%; background:radial-gradient(closest-side, rgb(156 192 224 / 14%), transparent 70%)}
  .assembly-page[data-page="flora-regula"] .philo .inner{position:relative}
  .assembly-page[data-page="flora-regula"] .philo .eyebrow{color:var(--mint); justify-content:center}
  .assembly-page[data-page="flora-regula"] .philo p.q{margin:18px auto 0; max-width:18ch; font:300 clamp(2rem,4vw,3.5rem)/1.04 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="flora-regula"] .philo p.q em{color:#cfe2f3}
  .assembly-page[data-page="flora-regula"] .philo a{display:inline-block; margin-top:22px; color:var(--cream)}

  /* =========== GAMME =========== */
  .assembly-page[data-page="flora-regula"] .gamme{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="flora-regula"] .gamme h2{font:330 clamp(1.6rem,2.4vw,2.1rem)/1.05 var(--serif); margin:8px 0 0}
  .assembly-page[data-page="flora-regula"] .range{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:clamp(14px,1.8vw,22px); border-top:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] .prod{display:grid; gap:4px; align-content:start; padding:12px 14px 6px; border-right:1px solid var(--line); text-decoration:none; position:relative}
  .assembly-page[data-page="flora-regula"] .prod:last-child{border-right:0}
  .assembly-page[data-page="flora-regula"] .prod .shot{height:clamp(116px,10.5vw,145px); display:flex; align-items:flex-end; justify-content:center; margin-bottom:6px; border-radius:16px; background:radial-gradient(90% 70% at 50% 80%, #efe6d2, transparent 70%)}
  .assembly-page[data-page="flora-regula"] .prod .shot img{height:100%; width:auto; max-width:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .5s}
  .assembly-page[data-page="flora-regula"] .prod:hover .shot img{transform:translateY(-6px)}
  .assembly-page[data-page="flora-regula"] .prod small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .prod b{font:400 1.15rem/1.15 var(--serif)}
  .assembly-page[data-page="flora-regula"] .prod i.go{font-style:normal; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .prod.here{background:var(--paper-2)}
  .assembly-page[data-page="flora-regula"] .prod .chip{position:absolute; top:14px; right:14px; font:500 .64rem var(--sans); letter-spacing:.12em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background:var(--green); color:var(--paper)}
  .assembly-page[data-page="flora-regula"] .prod .chip.soon{background:transparent; color:var(--muted); border:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] .rope{display:block; width:min(140px,100%); height:8px; border-radius:6px; margin:2px 0 2px;
    background:repeating-linear-gradient(118deg, var(--c) 0 5px, color-mix(in srgb, var(--c) 68%, #000) 5px 6.5px, color-mix(in srgb, var(--c) 78%, #fff) 6.5px 8.5px)}
  .assembly-page[data-page="flora-regula"] .cup{width:auto; height:62%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 50% 70%, #fbe3c2, #f1cfa3 60%, #e7bd8c); display:grid; place-items:center; align-self:center}
  .assembly-page[data-page="flora-regula"] .cup svg{width:62%; height:62%}
  .assembly-page[data-page="flora-regula"] .cup .mug{fill:#fffaf2; stroke:#8a5a2b; stroke-width:1.6; stroke-linejoin:round}
  .assembly-page[data-page="flora-regula"] .cup .handle,.assembly-page[data-page="flora-regula"] .cup .saucer{fill:none; stroke:#8a5a2b; stroke-width:1.6; stroke-linecap:round}
  .assembly-page[data-page="flora-regula"] .cup .steam{fill:none; stroke:#8a5a2b; stroke-width:1.5; stroke-linecap:round; opacity:.45}
  .assembly-page[data-page="flora-regula"] .also{margin:12px 0 0; font-size:.92rem; color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="flora-regula"] .range{grid-template-columns:repeat(5,minmax(200px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="flora-regula"] .prod{scroll-snap-align:start} }

  /* =========== CTA FINAL =========== */
  .assembly-page[data-page="flora-regula"] .final{background:var(--dark); color:var(--cream); padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="flora-regula"] .final .inner{display:grid; grid-template-columns:.75fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="flora-regula"] .final figure{margin:0 auto; width:100%; max-width:330px; position:relative; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side, rgb(243 236 220 / 22%), rgb(243 236 220 / 6%) 60%, transparent 72%); display:grid; place-items:center}
  .assembly-page[data-page="flora-regula"] .final figure img{width:78%; filter:drop-shadow(0 40px 40px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="flora-regula"] .final .eyebrow{color:var(--mint)}
  .assembly-page[data-page="flora-regula"] .final h2{font:300 clamp(2.3rem,4.4vw,3.9rem)/1 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="flora-regula"] .final .prog{margin:0; font-size:1.1rem; color:#d7cfbd}
  .assembly-page[data-page="flora-regula"] .final .signup label{color:var(--cream)}
  .assembly-page[data-page="flora-regula"] .final .signup .row{border-color:rgb(243 236 220 / 60%)}
  .assembly-page[data-page="flora-regula"] .final .signup input{color:var(--cream)} .assembly-page[data-page="flora-regula"] .final .signup input::placeholder{color:#a79f8b}
  .assembly-page[data-page="flora-regula"] .final .signup button{color:var(--mint)}
  .assembly-page[data-page="flora-regula"] .final .signup p{color:#a79f8b}
  .assembly-page[data-page="flora-regula"] .final .btn{background:var(--cream); color:var(--ink)}
  .assembly-page[data-page="flora-regula"] .final .btn-ghost{background:transparent; color:var(--cream)}
  .assembly-page[data-page="flora-regula"] .final .j0{display:inline-block; margin-top:16px; color:var(--mint)}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .final .inner{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .final figure{width:min(80%,340px); margin-inline:auto} }

  /* =========== PIED DE PAGE (repris de la home) =========== */
  .assembly-page[data-page="flora-regula"] footer{background:#0b2140; color:var(--cream); padding-block:56px 40px; font-size:.92rem}
  .assembly-page[data-page="flora-regula"] footer .grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px}
  .assembly-page[data-page="flora-regula"] footer .man{font:330 1.6rem/1.15 var(--serif); margin:0 0 10px}
  .assembly-page[data-page="flora-regula"] footer h4{margin:0 0 12px; font:500 .8rem var(--sans); color:#9cc0e0; letter-spacing:.04em}
  .assembly-page[data-page="flora-regula"] footer ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
  .assembly-page[data-page="flora-regula"] footer a{text-decoration:none}
  .assembly-page[data-page="flora-regula"] footer .legal{margin-top:36px; padding-top:18px; border-top:1px solid rgb(255 255 255 / 12%); font-size:.78rem; color:#a9b8ae; display:flex; flex-wrap:wrap; gap:6px 18px}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] footer .grid{grid-template-columns:1fr 1fr} }

  /* ---- Barre d'action mobile ---- */
  .assembly-page[data-page="flora-regula"] .dock{position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:40; display:none; gap:8px; padding:8px; border-radius:999px; background:rgb(23 34 52 / 94%); backdrop-filter:blur(8px); box-shadow:0 14px 40px -14px rgb(0 0 0 / 50%); transform:translateY(140%); transition:transform .4s}
  .assembly-page[data-page="flora-regula"] .dock.on{transform:none}
  .assembly-page[data-page="flora-regula"] .dock a{flex:1; text-align:center; text-decoration:none; font:500 .92rem var(--sans); padding:12px 10px; border-radius:999px; color:var(--cream)}
  .assembly-page[data-page="flora-regula"] .dock a:first-child{background:var(--cream); color:var(--ink)}
  @media (max-width:760px){ .assembly-page[data-page="flora-regula"] .dock{display:flex} .assembly-page[data-page="flora-regula"]{padding-bottom:84px} }

  /* ---- À valider ---- */
  .assembly-page[data-page="flora-regula"] .approve{padding-block:50px 70px}
  .assembly-page[data-page="flora-regula"] .approve .box{background:var(--note); border-radius:22px; padding:clamp(18px,3vw,34px); display:grid; gap:14px; font-size:.95rem}
  .assembly-page[data-page="flora-regula"] .approve h2{margin:0; font:400 1.7rem/1.2 var(--serif)}
  .assembly-page[data-page="flora-regula"] .approve h3{margin:8px 0 0; font:500 1rem var(--sans)}
  .assembly-page[data-page="flora-regula"] .approve ul{margin:0; padding-left:1.2em; display:grid; gap:6px}
  .assembly-page[data-page="flora-regula"].clean .approve{display:none}

  @media (prefers-reduced-motion:reduce){ .assembly-page[data-page="flora-regula"]{scroll-behavior:auto} .assembly-page[data-page="flora-regula"] *{animation:none!important; transition:none!important} }

  /* =========== Déclinaisons produit =========== */
  .assembly-page[data-page="flora-regula"] .ingr{display:grid; grid-template-columns:42% 1fr; gap:clamp(24px,4vw,56px); align-items:center; margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:22px}
  .assembly-page[data-page="flora-regula"] .ingr figure{margin:0; aspect-ratio:5/4; border-radius:18px; overflow:hidden}
  .assembly-page[data-page="flora-regula"] .ingr figure img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="flora-regula"] .ingr small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .ingr h3{font:330 clamp(1.6rem,2.4vw,2.2rem)/1.05 var(--serif); margin:8px 0 2px}
  .assembly-page[data-page="flora-regula"] .ingr .lat{margin:0; font:italic 400 1rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .ingr .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .ingr .txt{margin:10px 0 0; font-size:.95rem; color:var(--muted); max-width:58ch}
  .assembly-page[data-page="flora-regula"] .ingr blockquote{margin:16px 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.1rem/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="flora-regula"] .shorts{display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(10px,1.4vw,18px); margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:20px}
  .assembly-page[data-page="flora-regula"] .short{display:grid; gap:8px; align-content:start; text-decoration:none}
  .assembly-page[data-page="flora-regula"] .short .v{position:relative; aspect-ratio:9/16; border-radius:10px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="flora-regula"] .short .v img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease}
  .assembly-page[data-page="flora-regula"] .short:hover .v img{transform:scale(1.03)}
  .assembly-page[data-page="flora-regula"] .short .v::after{content:""; position:absolute; left:50%; top:50%; width:44px; height:44px; margin:-22px 0 0 -22px; border-radius:50%; background:rgb(243 236 220 / 90%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%231e2a23'/%3E%3C/svg%3E") center/22px no-repeat}
  .assembly-page[data-page="flora-regula"] .short small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .short b{font:400 .98rem/1.3 var(--serif)}
  @media (max-width:900px){ .assembly-page[data-page="flora-regula"] .ingr{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .shorts{grid-template-columns:repeat(6,minmax(150px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="flora-regula"] .short{scroll-snap-align:start} }
  .assembly-page[data-page="flora-regula"] .safety{margin:0 0 18px; padding:16px 18px; border-left:3px solid #a0522d; background:#fbf6ee; border-radius:0 12px 12px 0; font-size:.9rem; color:var(--ink)}
  .assembly-page[data-page="flora-regula"] .safety strong{display:block; font:600 .8rem var(--sans); letter-spacing:.2em; color:#a0522d; margin-bottom:6px}
  .assembly-page[data-page="flora-regula"] .safety p{margin:0 0 6px} .assembly-page[data-page="flora-regula"] .safety p:last-child{margin:0}
  .assembly-page[data-page="flora-regula"] .safety .ids{margin-top:10px; color:var(--muted); font-size:.84rem}
  .assembly-page[data-page="flora-regula"] .ingr figure.type-plate{display:grid; place-content:center; text-align:center; gap:10px; padding:28px; background:radial-gradient(110% 90% at 30% 20%, #efeaf3, #d9d0e2 60%, #bfb2cf); color:#3d3350}
  .assembly-page[data-page="flora-regula"] .type-plate b{font:italic 300 clamp(1.8rem,3vw,2.6rem)/1.05 var(--serif)}
  .assembly-page[data-page="flora-regula"] .type-plate span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="flora-regula"] .type-plate .to-supply{font-size:.72rem; opacity:.7}
  .assembly-page[data-page="flora-regula"] .final figure.tall img{width:44%; border-radius:12px; filter:drop-shadow(0 30px 30px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="flora-regula"] .film-body.vertical{grid-template-columns:minmax(180px,260px) 1fr; justify-content:start}
  .assembly-page[data-page="flora-regula"] .film-body.vertical .short .v{border-radius:14px; box-shadow:0 30px 60px -34px rgb(40 30 10 / 55%)}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .film-body.vertical{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .film-body.vertical .short{width:min(62%,260px)} }
  /* =========== NOTRE APPROCHE =========== */
  .assembly-page[data-page="flora-regula"] .appro{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="flora-regula"] .appro-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="flora-regula"] .appro h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.05 var(--serif); margin:12px 0 10px}
  .assembly-page[data-page="flora-regula"] .appro .man{margin:0; font:330 clamp(1.15rem,1.6vw,1.4rem)/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="flora-regula"] .appro .man em{display:block}
  .assembly-page[data-page="flora-regula"] .appro-txt p{margin:0 0 10px; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .appro-more{margin-top:clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="flora-regula"] .appro-more > summary{font:500 .74rem var(--sans)!important; letter-spacing:.16em; text-transform:uppercase}
  .assembly-page[data-page="flora-regula"] .principes{display:grid; grid-template-columns:1fr 1fr; gap:14px 40px; color:var(--ink)}
  .assembly-page[data-page="flora-regula"] .principes b{font-weight:500}
  .assembly-page[data-page="flora-regula"] .principes p{margin:4px 0 0; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .appro .sub-h{margin:20px 0 4px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .appro-more > div{max-width:none!important}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .appro-grid,.assembly-page[data-page="flora-regula"] .principes{grid-template-columns:1fr} }
  .assembly-page[data-page="flora-regula"] .appro-more > summary{justify-content:flex-start!important; gap:14px}
  .assembly-page[data-page="flora-regula"] .appro-more > summary::after{order:0}
  /* =========== CE QU'IL ACCOMPAGNE =========== */
  .assembly-page[data-page="flora-regula"] .benef{padding-block:clamp(32px,4vw,56px) 0}
  .assembly-page[data-page="flora-regula"] .benef .inner{border-top:1px solid var(--line); padding-top:clamp(24px,3vw,40px)}
  .assembly-page[data-page="flora-regula"] .benef-head{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="flora-regula"] .benef h2{font:330 clamp(1.7rem,2.7vw,2.4rem)/1.12 var(--serif); margin:12px 0 0; max-width:22ch}
  .assembly-page[data-page="flora-regula"] .benef-lead{margin:0; color:var(--muted); max-width:52ch}
  .assembly-page[data-page="flora-regula"] .reperes{list-style:none; margin:clamp(22px,2.8vw,34px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr)}
  .assembly-page[data-page="flora-regula"] .reperes li{padding:4px 24px 0 0; display:grid; gap:6px; align-content:start}
  .assembly-page[data-page="flora-regula"] .reperes li + li{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="flora-regula"] .reperes small{font:500 .7rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .reperes b{font:400 1.18rem/1.25 var(--serif)}
  .assembly-page[data-page="flora-regula"] .reperes p{margin:0; font-size:.92rem; color:var(--muted)}
  .assembly-page[data-page="flora-regula"] .benef-foot{margin:18px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .benef-head,.assembly-page[data-page="flora-regula"] .reperes{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .reperes li,.assembly-page[data-page="flora-regula"] .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* Bloc « accompagne » : texte + emplacement image à droite */
  .assembly-page[data-page="flora-regula"] .benef-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:stretch}
  .assembly-page[data-page="flora-regula"] .benef-main h2{max-width:24ch}
  .assembly-page[data-page="flora-regula"] .benef-main .benef-lead{margin:14px 0 0}
  .assembly-page[data-page="flora-regula"] .benef-main .reperes li{padding-right:18px} .assembly-page[data-page="flora-regula"] .benef-main .reperes li + li{padding-left:18px}
  .assembly-page[data-page="flora-regula"] .benef-img{margin:0; border-radius:20px; overflow:hidden; min-height:320px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="flora-regula"] .benef-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="flora-regula"] .benef-img .ph{height:100%; min-height:320px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="flora-regula"] .benef-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .benef-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="flora-regula"] .benef-grid{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .benef-img{min-height:0; aspect-ratio:16/9} .assembly-page[data-page="flora-regula"] .benef-img .ph{min-height:0} .assembly-page[data-page="flora-regula"] .benef-main .reperes{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .benef-main .reperes li,.assembly-page[data-page="flora-regula"] .benef-main .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* ---- Passe du 28/09 ---- */
  /* 1 · Respiration : première phrase sur une ligne, suite plus petite */
  .assembly-page[data-page="flora-regula"] .breath p.q{max-width:none; font-size:clamp(1.5rem,2.9vw,2.7rem); text-wrap:balance}
  .assembly-page[data-page="flora-regula"] .breath p.q span{font-size:clamp(1.15rem,1.9vw,1.75rem); line-height:1.3; margin-top:10px; max-width:40ch; margin-inline:auto}
  /* 2 · Rituel -20 % */
  .assembly-page[data-page="flora-regula"] .rituel{padding-block:clamp(28px,3.2vw,44px) clamp(16px,2vw,24px)}
  .assembly-page[data-page="flora-regula"] .rituel h2{font-size:clamp(1.7rem,3vw,2.7rem)}
  .assembly-page[data-page="flora-regula"] .steps{margin-top:clamp(18px,2.4vw,30px)}
  .assembly-page[data-page="flora-regula"] .steps::before{top:1.3rem}
  .assembly-page[data-page="flora-regula"] .steps .n{font-size:clamp(1.9rem,2.7vw,2.6rem)}
  .assembly-page[data-page="flora-regula"] .steps small{margin-top:8px; font-size:.66rem}
  .assembly-page[data-page="flora-regula"] .steps p{font-size:.95rem}
  .assembly-page[data-page="flora-regula"] .dose{margin-top:16px; font-size:.84rem}
  /* 3 · Ce qu'il y a dedans : texte sous le titre, visuel à droite */
  .assembly-page[data-page="flora-regula"] .hydro .top{align-items:stretch}
  .assembly-page[data-page="flora-regula"] .hydro .top .intro{margin-top:14px}
  .assembly-page[data-page="flora-regula"] .side-img{margin:0; border-radius:20px; overflow:hidden; min-height:260px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="flora-regula"] .side-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="flora-regula"] .side-img .ph{height:100%; min-height:260px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="flora-regula"] .side-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="flora-regula"] .side-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  /* 4 · Composition dépliable */
  .assembly-page[data-page="flora-regula"] .spec-acc{margin-top:18px}
  .assembly-page[data-page="flora-regula"] .spec-acc > div, .assembly-page[data-page="flora-regula"] .spec-acc > dl{max-width:none}
  .assembly-page[data-page="flora-regula"] .spec-acc .spec{margin:0 0 16px}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] .breath p.q span{max-width:none} .assembly-page[data-page="flora-regula"] .side-img, .assembly-page[data-page="flora-regula"] .side-img .ph{min-height:0} .assembly-page[data-page="flora-regula"] .side-img{aspect-ratio:4/3} }
.assembly-page[data-page="flora-regula"] .breath p.q span{max-width:none; font-size:clamp(1rem,1.5vw,1.4rem)}
@media (min-width:900px){ .assembly-page[data-page="flora-regula"] .breath p.q span{white-space:nowrap} }
.assembly-page[data-page="flora-regula"] .side-img{position:relative}
.assembly-page[data-page="flora-regula"] .side-title{position:absolute; top:clamp(20px,2.4vw,34px); right:clamp(20px,2.4vw,34px); left:clamp(20px,2.4vw,34px); text-align:right; z-index:1}
.assembly-page[data-page="flora-regula"] .side-title .eyebrow{justify-content:flex-end}
.assembly-page[data-page="flora-regula"] .hydro .top > div > .intro:first-child{margin-top:0}
.assembly-page[data-page="flora-regula"] .hydro .top{align-items:stretch}
.assembly-page[data-page="flora-regula"] .side-img .ph{place-content:end center}
@media (max-width:860px){ .assembly-page[data-page="flora-regula"] .side-img{aspect-ratio:auto} .assembly-page[data-page="flora-regula"] .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="flora-regula"] .side-img .ph{min-height:120px; border-top:0} }
@media (max-width:860px){ .assembly-page[data-page="flora-regula"] .hydro .top .side-img{order:-1} .assembly-page[data-page="flora-regula"] .side-img .ph{min-height:140px; border:0; place-content:end center} }
.assembly-page[data-page="flora-regula"] .benef-img{position:relative}
.assembly-page[data-page="flora-regula"] .benef-img .ph{place-content:end center}
.assembly-page[data-page="flora-regula"] .benef-img .side-title h2{margin-left:auto; max-width:18ch}
.assembly-page[data-page="flora-regula"] .benef-img .side-title h2 em{color:var(--green)}
.assembly-page[data-page="flora-regula"] .benef-main .benef-lead{margin-top:0}
@media (max-width:980px){ .assembly-page[data-page="flora-regula"] .benef-grid .benef-img{order:-1; aspect-ratio:auto} .assembly-page[data-page="flora-regula"] .benef-img .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="flora-regula"] .benef-img .ph{min-height:120px; border:0} }
/* Approche avec image à gauche, puis alternance inversée des chapitres suivants */
.assembly-page[data-page="flora-regula"] .appro.has-img .inner{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,56px); align-items:stretch}
.assembly-page[data-page="flora-regula"] .appro.has-img .appro-grid{grid-template-columns:1fr; gap:18px}
.assembly-page[data-page="flora-regula"] .appro-img{min-height:360px}
/* Alternance gauche/droite pilotée par la classe media-right (posée par alternance.py) */
@media (min-width:861px){
  .assembly-page[data-page="flora-regula"] .film-sec.media-right .film-body{grid-template-columns:1fr 1.45fr} .assembly-page[data-page="flora-regula"] .film-sec.media-right .film-body > .film{order:2}
  .assembly-page[data-page="flora-regula"] .film-sec.media-right .film-body.vertical{grid-template-columns:1fr minmax(180px,260px)} .assembly-page[data-page="flora-regula"] .film-sec.media-right .film-body.vertical > .short{order:2}
  .assembly-page[data-page="flora-regula"] .appro.has-img.media-right .inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)} .assembly-page[data-page="flora-regula"] .appro.has-img.media-right .appro-img{order:2}
  .assembly-page[data-page="flora-regula"] .appro.has-img.media-right .appro-main{grid-column:1; grid-row:1}
  .assembly-page[data-page="flora-regula"] .hydro:not(.media-right) .top .side-img{order:-1}
  .assembly-page[data-page="flora-regula"] .final.media-right .inner{grid-template-columns:1fr .75fr} .assembly-page[data-page="flora-regula"] .final.media-right .inner > figure{order:2}
}
@media (min-width:901px){ .assembly-page[data-page="flora-regula"] .plants.media-right .ingr{grid-template-columns:1fr 42%} .assembly-page[data-page="flora-regula"] .plants.media-right .ingr > figure{order:2} }
@media (max-width:860px){ .assembly-page[data-page="flora-regula"] .appro.has-img .inner{grid-template-columns:1fr} .assembly-page[data-page="flora-regula"] .appro-img{min-height:0; aspect-ratio:4/5; max-height:420px} }
.assembly-page[data-page="flora-regula"] .ftip{position:absolute; z-index:5; width:max-content; max-width:min(320px,calc(100vw - 32px)); padding:10px 14px; border-radius:12px; background:#172234; color:#f3ecdc; box-shadow:0 18px 40px -18px rgb(0 0 0 / 55%); pointer-events:none; display:grid; gap:3px}
.assembly-page[data-page="flora-regula"] .ftip small{font:500 .66rem/1.3 var(--sans, system-ui); letter-spacing:.12em; text-transform:uppercase; color:#9cc0e0}
.assembly-page[data-page="flora-regula"] .ftip span{font:italic 400 1rem/1.35 var(--serif, Georgia, serif)}
.assembly-page[data-page="flora-regula"] .ftip::after{content:""; position:absolute; left:var(--ax,50%); top:100%; margin-left:-6px; border:6px solid transparent; border-top-color:#172234}
.assembly-page[data-page="flora-regula"] .ftip.below::after{top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:#172234}
.assembly-page[data-page="flora-regula"] .sr-only{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.assembly-page[data-page="flora-regula"] .benef-main .benef-lead{margin-top:14px}
.assembly-page[data-page="flora-regula"] .benef h2 em{color:var(--green)}

/* ---- Ajouts du 29.09.2026 ---- */
.assembly-page[data-page="flora-regula"] .pending{white-space:nowrap}
.assembly-page[data-page="flora-regula"] .pending::after{content:"en attente de validation"; display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px; background:#ffe9a8; color:#4a3a00; font:500 .6rem/1.5 var(--sans); letter-spacing:.06em; text-transform:uppercase; vertical-align:2px}
.assembly-page[data-page="flora-regula"].clean .pending::after{display:none}
.assembly-page[data-page="flora-regula"] .research{margin:14px 0 4px; padding:14px 16px; border-left:2px solid var(--green); background:var(--paper-2); border-radius:0 12px 12px 0}
.assembly-page[data-page="flora-regula"] .research small{display:block; font:500 .68rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:6px}
.assembly-page[data-page="flora-regula"] .research p{margin:0 0 8px; font-size:.95rem; line-height:1.55}
.assembly-page[data-page="flora-regula"] .research p:last-child{margin-bottom:0}
.assembly-page[data-page="flora-regula"] .research cite{font-style:italic; color:var(--muted); white-space:nowrap}
.assembly-page[data-page="flora-regula"] .study-note{margin:22px 0 0; color:var(--muted); font-size:.92rem; max-width:70ch}
.assembly-page[data-page="flora-regula"] details.acc.sources ol{margin:8px 0 0; padding-left:1.2em; display:grid; gap:8px; font-size:.86rem; color:var(--muted)}
.assembly-page[data-page="flora-regula"] details.acc.sources a{color:inherit}
.assembly-page[data-page="flora-regula"] .variant{display:inline-block; margin:4px 0 0; padding:3px 12px; border:1px solid var(--line); border-radius:999px; font-size:.86rem}
.assembly-page[data-page="flora-regula"] .warnbox{margin:18px 0 0; padding:14px 16px; border:1.5px solid #c9822b; border-radius:14px; background:#fff6e6}
.assembly-page[data-page="flora-regula"] .warnbox b{display:block; letter-spacing:.08em}
.assembly-page[data-page="flora-regula"] .warnbox p{margin:6px 0 0; font-size:.9rem}

/* ---- Bande philosophie : fond « bleu et or » (02.10.2026) ----
   Arbre lumineux à droite, flux de particules à gauche, centre sombre pour le texte.
   Un voile léger, plus dense au centre, garde la phrase lisible. Lente dérive de 28 s,
   coupée si l'animation est désactivée. Sur téléphone, le cadrage montre l'arbre. */
.assembly-page[data-page="flora-regula"] .philo{background:#071a33}
.assembly-page[data-page="flora-regula"] .philo::before{inset:-5%; height:auto; background:url("./public/assemblage/web/6f9155f46444ea8e-1920.webp") center 55% / cover no-repeat; animation:philoDrift 28s ease-in-out infinite alternate; will-change:transform}
.assembly-page[data-page="flora-regula"] .philo::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 50% 70% at 50% 45%, rgb(5 18 38 / 62%), rgb(5 18 38 / 28%) 75%, rgb(5 18 38 / 14%))}
.assembly-page[data-page="flora-regula"] .philo .inner{z-index:1}
@keyframes philoDrift{from{transform:scale(1)} to{transform:scale(1.06) translate(-1%,-.6%)}}
@media (max-width:760px){ .assembly-page[data-page="flora-regula"] .philo::before{background-size:auto 130%; background-position:82% 50%} .assembly-page[data-page="flora-regula"] .philo::after{background:rgb(5 18 38 / 58%)} }
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="flora-regula"] .philo::before{animation:none} }

/* ---- Lecteur vidéo intégré (02.10.2026) ---- */
.assembly-page[data-page="flora-regula"] .yt-dlg{padding:0; border:0; background:transparent; max-width:none; max-height:none; width:min(1100px,92vw,calc((100vh - 90px) * 16 / 9)); overflow:visible}
.assembly-page[data-page="flora-regula"] .yt-dlg::backdrop{background:rgb(5 18 38 / 82%); backdrop-filter:blur(3px)}
.assembly-page[data-page="flora-regula"] .yt-dlg.short{width:min(420px,92vw, calc((100vh - 90px) * 9 / 16))}
.assembly-page[data-page="flora-regula"] .yt-box{display:grid; gap:10px}
.assembly-page[data-page="flora-regula"] .yt-frame{aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#000; box-shadow:0 30px 80px -20px rgb(0 0 0 / 70%)}
.assembly-page[data-page="flora-regula"] .yt-dlg.short .yt-frame{aspect-ratio:9/16}
.assembly-page[data-page="flora-regula"] .yt-frame iframe{width:100%; height:100%; border:0; display:block}
.assembly-page[data-page="flora-regula"] .yt-bar{display:flex; justify-content:space-between; align-items:center; gap:12px}
.assembly-page[data-page="flora-regula"] .yt-bar a,.assembly-page[data-page="flora-regula"] .yt-bar button{font:500 .85rem var(--sans); color:var(--cream); background:none; border:1px solid rgb(243 236 220 / 35%); border-radius:999px; padding:8px 16px; cursor:pointer; text-decoration:none}
.assembly-page[data-page="flora-regula"] .yt-bar a:hover,.assembly-page[data-page="flora-regula"] .yt-bar button:hover{background:rgb(243 236 220 / 12%)}

/* ---- Carrousels des fiches (02.10.2026) : fondu toutes les 5 s, pastilles, pause au survol ----
   .hero-carousel = image d'en-tête (cadre carré) ; .life-carousel = « Ce que … accompagne » (4:5).
   .slide.full occupe tout le cadre (photo) ; sans .full, l'image est détourée et contenue. */
.assembly-page[data-page="flora-regula"] .hero-carousel .slide{opacity:0; transition:opacity .9s ease; mix-blend-mode:normal; animation:none}
.assembly-page[data-page="flora-regula"] .hero-carousel .slide.on{opacity:1}
.assembly-page[data-page="flora-regula"] .hero-carousel .slide.full{inset:0; width:100%; height:100%; object-fit:cover}
.assembly-page[data-page="flora-regula"] .hero-dots{position:absolute; left:50%; bottom:14px; transform:translateX(-50%); display:flex; gap:8px; z-index:2}
.assembly-page[data-page="flora-regula"] .hero-dots button{width:10px; height:10px; padding:0; border-radius:50%; border:1px solid rgb(23 34 52 / 45%); background:rgb(255 255 255 / 75%); cursor:pointer}
.assembly-page[data-page="flora-regula"] .hero-dots button[aria-pressed="true"]{background:var(--ink, #172234); border-color:#fff}
.assembly-page[data-page="flora-regula"] .life-carousel .slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .9s ease}
.assembly-page[data-page="flora-regula"] .life-carousel .slide.on{opacity:1}
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="flora-regula"] .hero-carousel .slide, .assembly-page[data-page="flora-regula"] .life-carousel .slide{transition:none} }

/* ---- « Ce que la recherche a observé » repliable (02.10.2026) ---- */
.assembly-page[data-page="flora-regula"] details.research{padding:12px 16px}
.assembly-page[data-page="flora-regula"] details.research summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px}
.assembly-page[data-page="flora-regula"] details.research summary::-webkit-details-marker{display:none}
.assembly-page[data-page="flora-regula"] details.research summary small{margin:0}
.assembly-page[data-page="flora-regula"] details.research summary::after{content:"+"; flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; border:1px solid currentColor; color:var(--green); font:400 1rem/1 var(--sans); transition:transform .25s}
.assembly-page[data-page="flora-regula"] details.research[open] summary::after{content:"−"}
.assembly-page[data-page="flora-regula"] details.research[open] summary{margin-bottom:8px}
.assembly-page[data-page="flora-regula"] details.research summary:hover small{text-decoration:underline; text-underline-offset:4px}


  /* « Ce qu'il y a dedans » : même disposition que la fiche Balance (02.10.2026). */
  @media (min-width:861px){ .assembly-page[data-page="flora-regula"] #dedans .top{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)} .assembly-page[data-page="flora-regula"] #dedans .top .side-img{width:100%; min-height:0; aspect-ratio:4/3; align-self:center} .assembly-page[data-page="flora-regula"] #dedans .top .intro{max-width:none} }
  .assembly-page[data-page="flora-regula"] #dedans .top .intro{margin-top:clamp(16px,2vw,24px)}
  @media (max-width:860px){ .assembly-page[data-page="flora-regula"] #dedans .top .side-img{order:0} }


  .assembly-page[data-page="spirulina"]{
    --paper:#f3efe6; --paper-2:#f8f5ee; --stage:#e6dfd0; --ink:#172234; --green:#1d4f86; --muted:#6a685f; --line:rgb(23 34 52 / 14%);
    --dark:#071a33; --dark-2:#0f2847; --cream:#f3ecdc; --mint:#9cc0e0; --note:#ece6d9;
    --serif:"Fraunces", Georgia, "Times New Roman", serif;
    --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --gut:clamp(20px,4vw,56px);
    color-scheme: light;
  }
  .assembly-page[data-page="spirulina"] *{box-sizing:border-box}
  .assembly-page[data-page="spirulina"]{scroll-behavior:smooth}
  .assembly-page[data-page="spirulina"]{margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased}
  .assembly-page[data-page="spirulina"] a{color:inherit}
  .assembly-page[data-page="spirulina"] img{max-width:100%; display:block}
  .assembly-page[data-page="spirulina"] :focus-visible{outline:2px solid var(--green); outline-offset:3px; border-radius:6px}
  .assembly-page[data-page="spirulina"] .wrap{padding-inline:var(--gut)}
  .assembly-page[data-page="spirulina"] .inner{max-width:1260px; margin-inline:auto}
  .assembly-page[data-page="spirulina"] .narrow{max-width:760px}
  .assembly-page[data-page="spirulina"] section{scroll-margin-top:70px}
  .assembly-page[data-page="spirulina"] .eyebrow{font:500 .72rem/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:12px; margin:0}
  .assembly-page[data-page="spirulina"] .eyebrow::before{content:""; width:26px; height:1px; background:currentColor; flex:none}
  .assembly-page[data-page="spirulina"] .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:500 .93rem var(--sans); background:var(--green); color:#f6f2e8; border:0; border-radius:999px; padding:13px 22px; text-decoration:none; cursor:pointer}
  .assembly-page[data-page="spirulina"] .btn-ghost{background:transparent; color:inherit; border:1px solid currentColor}
  .assembly-page[data-page="spirulina"] .link{font-weight:500; text-underline-offset:6px; text-decoration-thickness:1px}
  .assembly-page[data-page="spirulina"] .serif{font-family:var(--serif)}
  .assembly-page[data-page="spirulina"] h1,.assembly-page[data-page="spirulina"] h2,.assembly-page[data-page="spirulina"] h3{font-weight:330; letter-spacing:-.03em; text-wrap:balance}

  /* ---- Bandeau de revue (repris de la home) ---- */
  .assembly-page[data-page="spirulina"] .review{position:sticky; top:0; z-index:50; background:var(--ink); color:var(--cream); font-size:.8rem}
  .assembly-page[data-page="spirulina"] .review .inner{display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; justify-content:space-between; padding-block:8px}
  .assembly-page[data-page="spirulina"] .review nav{display:flex; flex-wrap:wrap; gap:4px}
  .assembly-page[data-page="spirulina"] .review a,.assembly-page[data-page="spirulina"] .review button{color:var(--cream); text-decoration:none; padding:3px 9px; border-radius:999px; border:1px solid rgb(255 255 255 / 18%); background:none; font:500 .76rem var(--sans); cursor:pointer}
  .assembly-page[data-page="spirulina"] .review a:hover{background:rgb(255 255 255 / 10%)}
  .assembly-page[data-page="spirulina"] .zone-note{font-size:.8rem; line-height:1.5; color:#6b5a1a; background:#fff6d6; border-radius:10px; padding:8px 12px; margin:18px 0 0; max-width:70ch}
  .assembly-page[data-page="spirulina"] .on-dark .zone-note{background:#3a3520; color:#f3e3a8}
  .assembly-page[data-page="spirulina"].clean .zone-note, .assembly-page[data-page="spirulina"].clean .to-supply{display:none}

  /* ---- En-tête ---- */
  .assembly-page[data-page="spirulina"] header.site .inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:22px}
  .assembly-page[data-page="spirulina"] .logo{display:grid; gap:3px; text-decoration:none}
  .assembly-page[data-page="spirulina"] .logo-word{font:400 clamp(1.15rem,2vw,1.5rem)/1 var(--sans); letter-spacing:.2em}
  .assembly-page[data-page="spirulina"] .logo-word span{color:var(--muted)}
  .assembly-page[data-page="spirulina"] .logo-sig{font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .menu{display:flex; gap:22px; font-size:.92rem}
  .assembly-page[data-page="spirulina"] .menu a{text-decoration:none}
  .assembly-page[data-page="spirulina"] .head-cta{display:flex; gap:8px}
  .assembly-page[data-page="spirulina"] .pill{font:500 .86rem var(--sans); border:1px solid var(--ink); border-radius:999px; padding:9px 16px; text-decoration:none; white-space:nowrap}
  .assembly-page[data-page="spirulina"] .pill-dark{background:var(--ink); color:var(--paper)}
  @media (max-width:900px){ .assembly-page[data-page="spirulina"] .menu{display:none} .assembly-page[data-page="spirulina"] .pill-dark{display:none} }

  .assembly-page[data-page="spirulina"] .crumb{font-size:.85rem; color:var(--muted); padding-block:4px 0}
  .assembly-page[data-page="spirulina"] .crumb a{text-decoration:none} .assembly-page[data-page="spirulina"] .crumb a:hover{text-decoration:underline}

  /* =========== HERO =========== */
  .assembly-page[data-page="spirulina"] .hero{padding-block:clamp(12px,2vw,28px) clamp(40px,5vw,72px)}
  .assembly-page[data-page="spirulina"] .hero .inner{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="spirulina"] .hero-shot{position:relative; margin:0; aspect-ratio:1/1; max-height:600px; border-radius:26px; overflow:hidden;
    background:radial-gradient(90% 70% at 50% 62%, #f7efdc 0%, #ece3d0 45%, #ddd3bd 100%)}
  .assembly-page[data-page="spirulina"] .hero-shot img{position:absolute; inset:6% 4% 2%; width:92%; height:92%; object-fit:contain; mix-blend-mode:multiply; animation:rise 1.2s ease both}
  .assembly-page[data-page="spirulina"] .hero-shot figcaption{position:absolute; left:22px; bottom:18px; font:italic 400 .95rem var(--serif); color:#6b6247}
  @keyframes rise{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
  .assembly-page[data-page="spirulina"] .hero h1{font:300 clamp(2.8rem,5.6vw,5rem)/.95 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="spirulina"] .hero h1 small{display:block; font:500 .74rem/1 var(--sans); letter-spacing:.18em; color:var(--green); margin-bottom:10px}
  .assembly-page[data-page="spirulina"] .hero .sub{font:400 clamp(1.15rem,1.7vw,1.4rem)/1.35 var(--sans); margin:0}
  .assembly-page[data-page="spirulina"] .hero blockquote{margin:16px 0 0; font:italic 330 clamp(1.2rem,1.7vw,1.4rem)/1.35 var(--serif); color:var(--green); max-width:26ch}
  .assembly-page[data-page="spirulina"] .meta{display:flex; flex-wrap:wrap; gap:6px 14px; margin:18px 0 0; padding:10px 0; border-block:1px solid var(--line); font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="spirulina"] .meta span+span::before{content:"·"; margin-right:14px; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .know{margin:6px 0 0; display:grid; gap:0}
  .assembly-page[data-page="spirulina"] .know div{display:grid; grid-template-columns:8.5rem 1fr; gap:16px; padding:9px 0; font-size:.95rem; border-bottom:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] .know dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .know dd{margin:0}
  .assembly-page[data-page="spirulina"] .ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
  .assembly-page[data-page="spirulina"] .signup{margin-top:18px; display:grid; gap:8px; max-width:460px}
  .assembly-page[data-page="spirulina"] .signup label{font:400 1.05rem var(--serif)}
  .assembly-page[data-page="spirulina"] .signup .row{display:flex; align-items:center; border-bottom:1px solid var(--ink)}
  .assembly-page[data-page="spirulina"] .signup input{flex:1; min-width:0; font:inherit; font-size:1rem; border:0; background:transparent; padding:9px 0; color:var(--ink)}
  .assembly-page[data-page="spirulina"] .signup input:focus{outline:none}
  .assembly-page[data-page="spirulina"] .signup button{font:500 .9rem var(--sans); background:none; border:0; color:var(--green); padding:12px 0 12px 12px; cursor:pointer; white-space:nowrap}
  .assembly-page[data-page="spirulina"] .signup p{margin:0; font-size:.78rem; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .toast{min-height:1.2em; color:var(--green)!important}
  .assembly-page[data-page="spirulina"] .trust{margin:16px 0 0; font:500 .68rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 16px}
  @media (max-width:880px){
    .assembly-page[data-page="spirulina"] .hero .inner{grid-template-columns:1fr}
    .assembly-page[data-page="spirulina"] .hero-shot{aspect-ratio:1/1; border-radius:22px}
    .assembly-page[data-page="spirulina"] .know div{grid-template-columns:1fr; gap:2px}
    .assembly-page[data-page="spirulina"] .ctas .btn{flex:1 1 100%}
  }

  /* =========== FILM =========== */
  .assembly-page[data-page="spirulina"] .film-sec{background:var(--paper-2); padding-block:clamp(36px,4.5vw,64px)}
  .assembly-page[data-page="spirulina"] .film-sec .head{display:grid; gap:10px; margin-bottom:6px}
  .assembly-page[data-page="spirulina"] .film-sec h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="spirulina"] .film-sec .lead{font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); margin:0}
  .assembly-page[data-page="spirulina"] .film{position:relative; display:block; margin:0; border-radius:26px; overflow:hidden; background:#1b1612; aspect-ratio:16/9; box-shadow:0 40px 80px -40px rgb(40 30 10 / 55%); text-decoration:none; color:#fff}
  .assembly-page[data-page="spirulina"] .film img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease, filter .6s}
  .assembly-page[data-page="spirulina"] .film:hover img{transform:scale(1.02); filter:brightness(.9)}
  .assembly-page[data-page="spirulina"] .film::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgb(0 0 0 / 55%))}
  .assembly-page[data-page="spirulina"] .play{position:absolute; left:50%; top:50%; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; background:rgb(243 236 220 / 92%); display:grid; place-items:center; z-index:2; transition:transform .3s}
  .assembly-page[data-page="spirulina"] .play::before{content:""; margin-left:6px; border-left:20px solid var(--ink); border-block:12px solid transparent}
  .assembly-page[data-page="spirulina"] .film:hover .play{transform:scale(1.06)}
  .assembly-page[data-page="spirulina"] .film .cap{position:absolute; left:24px; right:24px; bottom:20px; z-index:2; display:flex; justify-content:space-between; gap:16px; font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="spirulina"] .film-body{display:grid; grid-template-columns:1.45fr 1fr; gap:clamp(24px,4vw,56px); align-items:center}
  .assembly-page[data-page="spirulina"] .film-text{display:grid; gap:14px}
  .assembly-page[data-page="spirulina"] .film-text p{margin:0; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .film-text .head + p{color:var(--ink); font:400 1.1rem/1.45 var(--serif)}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .film-sec .head,.assembly-page[data-page="spirulina"] .film-body{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .film{border-radius:18px; margin-inline:calc(var(--gut) * -1); border-radius:0} .assembly-page[data-page="spirulina"] .play{width:68px; height:68px; margin:-34px 0 0 -34px} }

  /* =========== RITUEL =========== */
  .assembly-page[data-page="spirulina"] .rituel{background:var(--stage); padding-block:clamp(34px,4vw,54px) clamp(20px,2.4vw,30px)}
  .assembly-page[data-page="spirulina"] .rituel h2{font:330 clamp(2.1rem,3.8vw,3.4rem)/1.05 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="spirulina"] .rituel h2 em{color:var(--green)}
  .assembly-page[data-page="spirulina"] .steps{list-style:none; margin:clamp(24px,3vw,40px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); position:relative}
  .assembly-page[data-page="spirulina"] .steps::before{content:""; position:absolute; left:0; right:0; top:1.6rem; height:1px; background:var(--line)}
  .assembly-page[data-page="spirulina"] .steps li{position:relative; padding-right:clamp(16px,3vw,48px)}
  .assembly-page[data-page="spirulina"] .steps .n{display:block; font:300 clamp(2.4rem,3.4vw,3.2rem)/1 var(--serif); color:var(--green); background:var(--stage); width:fit-content; padding-right:14px; position:relative}
  .assembly-page[data-page="spirulina"] .steps .n::after{content:""; position:absolute; right:-2px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--green)}
  .assembly-page[data-page="spirulina"] .steps li:last-child .n::after{background:transparent; border:1px solid var(--green)}
  .assembly-page[data-page="spirulina"] .steps small{display:block; margin-top:12px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .steps p{margin:4px 0 0; font-size:1.05rem; max-width:28ch}
  .assembly-page[data-page="spirulina"] .dose{margin:22px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:760px){
    .assembly-page[data-page="spirulina"] .steps{grid-template-columns:1fr; gap:0}
    .assembly-page[data-page="spirulina"] .steps::before{left:.55rem; right:auto; top:1rem; bottom:1rem; width:1px; height:auto}
    .assembly-page[data-page="spirulina"] .steps::before{left:1.4rem; top:3.4rem; bottom:2rem}
    .assembly-page[data-page="spirulina"] .steps li{display:grid; grid-template-columns:3.6rem 1fr; column-gap:14px; padding:0 0 36px 0}
    .assembly-page[data-page="spirulina"] .steps .n{grid-row:1 / span 2; font-size:2.6rem; padding:0 0 8px; background:var(--stage)}
    .assembly-page[data-page="spirulina"] .steps .n::after{display:none}
    .assembly-page[data-page="spirulina"] .steps small{margin-top:10px}
  }

  /* Respiration typographique */
  .assembly-page[data-page="spirulina"] .breath{background:var(--stage); padding-block:clamp(20px,2.4vw,32px) clamp(36px,4.5vw,60px); text-align:center}
  .assembly-page[data-page="spirulina"] .breath .inner{border-top:1px solid var(--line); padding-top:clamp(30px,3.5vw,44px)}
  .assembly-page[data-page="spirulina"] .breath p.q{margin:0 auto; max-width:24ch; font:300 clamp(1.8rem,3.7vw,3.3rem)/1.08 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="spirulina"] .breath p.q span{display:block; color:var(--green); font-style:italic}
  .assembly-page[data-page="spirulina"] .bottles{display:flex; justify-content:center; gap:clamp(6px,1.2vw,12px); margin:clamp(24px,3vw,36px) auto 10px}
  .assembly-page[data-page="spirulina"] .bottles i{display:block; width:clamp(34px,6vw,64px); height:6px; border-radius:3px}
  .assembly-page[data-page="spirulina"] .bottles-cap{margin:0; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .breath .btn{margin-top:20px}

  .assembly-page[data-page="spirulina"] .frise{text-align:left; margin-top:clamp(22px,2.6vw,32px)}
  .assembly-page[data-page="spirulina"] .j-stages{display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] .j-stage{padding:10px 16px 2px 0; border-right:1px solid var(--line); display:grid; gap:2px}
  .assembly-page[data-page="spirulina"] .j-stage:last-child{border-right:0}
  .assembly-page[data-page="spirulina"] .j-stage + .j-stage{padding-left:16px}
  .assembly-page[data-page="spirulina"] .j-stage small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .j-stage b{font-weight:450; font-size:.98rem}
  .assembly-page[data-page="spirulina"] .j-stage span{font-size:.82rem; color:var(--muted); font-variant-numeric:tabular-nums}
  .assembly-page[data-page="spirulina"] .help{margin:14px 0 2px; font-size:.85rem; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .phase{margin-top:8px}
  .assembly-page[data-page="spirulina"] .phase-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
  .assembly-page[data-page="spirulina"] .phase-head h3{margin:0; font:450 1rem var(--sans); letter-spacing:-.02em}
  .assembly-page[data-page="spirulina"] .phase-head span{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .days{display:grid; grid-template-columns:repeat(30,1fr); gap:3px; margin-top:5px; padding-bottom:14px}
  .assembly-page[data-page="spirulina"] .day{position:relative; aspect-ratio:2.2; border:0; border-radius:4px; padding:0; cursor:pointer; transition:transform .15s}
  .assembly-page[data-page="spirulina"] .day:hover,.assembly-page[data-page="spirulina"] .day:focus-visible,.assembly-page[data-page="spirulina"] .day[aria-pressed="true"]{transform:translateY(-3px)}
  .assembly-page[data-page="spirulina"] .day[aria-pressed="true"]{outline:2px solid var(--ink); outline-offset:2px}
  .assembly-page[data-page="spirulina"] .day.today::after{content:""; position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:var(--ink)}
  .assembly-page[data-page="spirulina"] .mark{position:absolute; left:0; top:calc(100% + 3px); font:500 .62rem var(--sans); letter-spacing:.06em; color:var(--muted); white-space:nowrap; pointer-events:none; text-transform:lowercase}
  .assembly-page[data-page="spirulina"] .readout{margin-top:10px; min-height:3em; display:grid; gap:2px; padding:10px 16px; border-left:3px solid var(--green); background:rgb(255 255 255 / 55%); border-radius:0 12px 12px 0}
  .assembly-page[data-page="spirulina"] .readout small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .readout span{font:italic 400 1.02rem/1.4 var(--serif)}
  .assembly-page[data-page="spirulina"] .fine{margin-top:10px; display:grid; gap:4px; font-size:.82rem; color:var(--muted); max-width:70ch}
  .assembly-page[data-page="spirulina"] .frise .btn{margin-top:16px}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .j-stages{grid-template-columns:1fr 1fr} .assembly-page[data-page="spirulina"] .j-stage{border-right:0; border-bottom:1px solid var(--line); padding:12px 0} .assembly-page[data-page="spirulina"] .j-stage + .j-stage{padding-left:0} .assembly-page[data-page="spirulina"] .days{grid-template-columns:repeat(15,1fr)} }

  /* =========== PLANTES =========== */
  .assembly-page[data-page="spirulina"] .plants{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.4vw,36px)}
  .assembly-page[data-page="spirulina"] .plants .head{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="spirulina"] .plants .head h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="spirulina"] .plants .head p{margin:0; color:var(--muted); font-size:1.02rem}
  .assembly-page[data-page="spirulina"] .plants .head{margin-bottom:clamp(8px,1.5vw,20px)}
  .assembly-page[data-page="spirulina"] .chapter{display:grid; grid-template-columns:42% 1fr; gap:clamp(28px,5vw,72px); align-items:center; padding-block:clamp(32px,4vw,52px); border-bottom:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] .chapter:last-of-type{border-bottom:0}
  .assembly-page[data-page="spirulina"] .chapter.flip{grid-template-columns:1fr 42%}
  .assembly-page[data-page="spirulina"] .chapter.flip .plate{order:2}
  .assembly-page[data-page="spirulina"] .plate{position:relative; margin:0; aspect-ratio:5/4; border-radius:22px; overflow:hidden}
  .assembly-page[data-page="spirulina"] .plate img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="spirulina"] .plate.type{display:grid; place-content:center; text-align:center; gap:10px; padding:32px}
  .assembly-page[data-page="spirulina"] .plate.type b{font:italic 300 clamp(2rem,3.4vw,3rem)/1.02 var(--serif)}
  .assembly-page[data-page="spirulina"] .plate.type span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="spirulina"] .plate.type .to-supply{font-size:.74rem; opacity:.7}
  .assembly-page[data-page="spirulina"] .plate.romarin{background:radial-gradient(110% 90% at 30% 20%, #eef0e2, #cfd6bd 60%, #b3bf9c); color:#2f3d2a}
  .assembly-page[data-page="spirulina"] .plate.sauge{background:radial-gradient(110% 90% at 70% 20%, #eef0ec, #cbd3cd 60%, #aab6ad); color:#2c3a33}
  .assembly-page[data-page="spirulina"] .plate .no{position:absolute; left:22px; top:18px; font:300 1.3rem var(--serif); color:#fff; mix-blend-mode:difference; z-index:2}
  .assembly-page[data-page="spirulina"] .plate.type .no{color:inherit; mix-blend-mode:normal}
  .assembly-page[data-page="spirulina"] .plate .latin{position:absolute; left:22px; bottom:18px; font:italic 400 1rem var(--serif); color:#fff; text-shadow:0 1px 8px rgb(0 0 0 / 35%)}
  .assembly-page[data-page="spirulina"] .chap small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .chap h3{font:330 clamp(1.9rem,3vw,2.7rem)/1.02 var(--serif); margin:8px 0 4px}
  .assembly-page[data-page="spirulina"] .chap .lat{font:italic 400 1.1rem var(--serif); color:var(--muted); margin:0}
  .assembly-page[data-page="spirulina"] .chap .angle{display:inline-flex; align-items:center; gap:10px; margin:14px 0 0; font:500 .78rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .chap .angle::before{content:""; width:26px; height:1px; background:currentColor}
  .assembly-page[data-page="spirulina"] .chap p.txt{margin:10px 0 0; max-width:58ch; font-size:.97rem}
  .assembly-page[data-page="spirulina"] .chap blockquote{margin:18px 0 0; padding-left:18px; border-left:1px solid var(--green); font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); max-width:30ch}
  .assembly-page[data-page="spirulina"] .vlink{display:flex; align-items:center; gap:14px; margin-top:18px; text-decoration:none; width:fit-content}
  .assembly-page[data-page="spirulina"] .vlink .dot{width:40px; height:40px; border-radius:50%; border:1px solid var(--ink); display:grid; place-items:center; transition:background .3s}
  .assembly-page[data-page="spirulina"] .vlink .dot::before{content:""; margin-left:3px; border-left:11px solid var(--ink); border-block:7px solid transparent}
  .assembly-page[data-page="spirulina"] .vlink:hover .dot{background:var(--ink)} .assembly-page[data-page="spirulina"] .vlink:hover .dot::before{border-left-color:var(--paper)}
  .assembly-page[data-page="spirulina"] .vlink span{display:grid; line-height:1.3}
  .assembly-page[data-page="spirulina"] .vlink b{font-weight:500} .assembly-page[data-page="spirulina"] .vlink i{font-style:normal; font-size:.82rem; color:var(--muted)}
  @media (max-width:860px){
    .assembly-page[data-page="spirulina"] .plants .head{grid-template-columns:1fr}
    .assembly-page[data-page="spirulina"] .chapter{grid-template-columns:1fr; gap:28px}
    .assembly-page[data-page="spirulina"] .chapter.flip{grid-template-columns:1fr}
    .assembly-page[data-page="spirulina"] .chapter.flip .plate{order:0}
    .assembly-page[data-page="spirulina"] .plate{aspect-ratio:4/3; border-radius:18px}
  }

  /* Trois plantes : trois colonnes vidéo */
  .assembly-page[data-page="spirulina"] .trio{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,44px); margin-top:clamp(16px,2vw,26px)}
  .assembly-page[data-page="spirulina"] .plant{display:flex; flex-direction:column; border-top:1px solid var(--line); padding-top:16px}
  .assembly-page[data-page="spirulina"] .thumb{display:block; width:80%; aspect-ratio:16/9; border-radius:4px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="spirulina"] .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease, filter .4s}
  .assembly-page[data-page="spirulina"] .thumb:hover img{transform:scale(1.03); filter:brightness(1.05)}
  .assembly-page[data-page="spirulina"] .plant h3{font:330 clamp(1.25rem,1.7vw,1.55rem)/1.15 var(--serif); margin:14px 0 2px}
  .assembly-page[data-page="spirulina"] .plant .lat{margin:0; font:italic 400 .98rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="spirulina"] .plant .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .plant .txt{margin:8px 0 14px; font-size:.93rem; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .plant blockquote{margin:auto 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.05rem/1.35 var(--serif); color:var(--green)}
  @media (max-width:900px){ .assembly-page[data-page="spirulina"] .thumb{width:100%} .assembly-page[data-page="spirulina"] .trio{grid-template-columns:1fr; gap:40px} }

  /* =========== HYDROLAT =========== */
  .assembly-page[data-page="spirulina"] .hydro{background:#fbf9f3; padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="spirulina"] .hydro .top{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:end}
  .assembly-page[data-page="spirulina"] .hydro h2{font:330 clamp(2rem,3.6vw,3.2rem)/1 var(--serif); margin:10px 0 0}
  .assembly-page[data-page="spirulina"] .hydro h2 em{display:block; color:var(--green)}
  .assembly-page[data-page="spirulina"] .hydro .intro{margin:0; font-size:.97rem; max-width:52ch}
  .assembly-page[data-page="spirulina"] .figs{display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(20px,2.4vw,28px); border-top:1px solid var(--ink)}
  .assembly-page[data-page="spirulina"] .fig{padding:12px 24px 0 0; display:flex; align-items:baseline; gap:12px}
  .assembly-page[data-page="spirulina"] .fig + .fig{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] .fig strong{display:block; flex:none; font:300 clamp(2rem,3.2vw,2.8rem)/1 var(--serif); letter-spacing:-.04em}
  .assembly-page[data-page="spirulina"] .fig strong sup{font-size:.35em; letter-spacing:0; vertical-align:super; margin-left:4px}
  .assembly-page[data-page="spirulina"] .fig span{display:block; margin-top:0; font-size:.9rem; color:var(--muted); max-width:22ch}
  .assembly-page[data-page="spirulina"] .labels{display:flex; flex-wrap:wrap; gap:6px 22px; margin:18px 0 0; padding:0; list-style:none; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .labels li{display:flex; align-items:center; gap:10px}
  .assembly-page[data-page="spirulina"] .labels li::before{content:""; width:5px; height:5px; border-radius:50%; background:currentColor}
  .assembly-page[data-page="spirulina"] .spec{display:grid; grid-template-columns:repeat(3,1fr); gap:0 clamp(20px,3vw,44px); margin:14px 0 0}
  .assembly-page[data-page="spirulina"] .spec div{display:grid; grid-template-columns:1fr; gap:2px; padding:8px 0; font-size:.9rem; border-top:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] .spec dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .spec dd{margin:0}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .hydro .top,.assembly-page[data-page="spirulina"] .spec{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .figs{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .fig,.assembly-page[data-page="spirulina"] .fig+.fig{padding:22px 0; border-left:0; border-bottom:1px solid var(--line)} .assembly-page[data-page="spirulina"] .spec div{grid-template-columns:1fr; gap:2px} }

  /* Accordéons sobres */
  .assembly-page[data-page="spirulina"] details.acc{border-top:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] details.acc:last-of-type{border-bottom:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] details.acc summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; font:400 1.15rem var(--serif)}
  .assembly-page[data-page="spirulina"] details.acc summary::-webkit-details-marker{display:none}
  .assembly-page[data-page="spirulina"] details.acc summary::after{content:"+"; font:300 1.5rem/1 var(--sans); color:var(--green); transition:transform .3s}
  .assembly-page[data-page="spirulina"] details.acc[open] summary::after{transform:rotate(45deg)}
  .assembly-page[data-page="spirulina"] details.acc > div{padding:0 0 20px; max-width:62ch; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .how{margin-top:10px}

  /* =========== PRÉCAUTIONS =========== */
  .assembly-page[data-page="spirulina"] .prec{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="spirulina"] .prec .grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(24px,5vw,72px); align-items:start}
  .assembly-page[data-page="spirulina"] .prec h2{font:330 clamp(1.8rem,3vw,2.4rem)/1.1 var(--serif); margin:14px 0 0}
  .assembly-page[data-page="spirulina"] .prec .mand{margin:0 0 18px; font-size:.95rem; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .prec .mand b{color:var(--ink); font-weight:500}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .prec .grid{grid-template-columns:1fr} }

  /* =========== PHILOSOPHIE =========== */
  .assembly-page[data-page="spirulina"] .philo{background:var(--dark); color:var(--cream); padding-block:clamp(54px,7.5vw,112px); text-align:center; position:relative; overflow:hidden}
  .assembly-page[data-page="spirulina"] .philo::before{content:""; position:absolute; inset:auto -20% -60% -20%; height:120%; background:radial-gradient(closest-side, rgb(156 192 224 / 14%), transparent 70%)}
  .assembly-page[data-page="spirulina"] .philo .inner{position:relative}
  .assembly-page[data-page="spirulina"] .philo .eyebrow{color:var(--mint); justify-content:center}
  .assembly-page[data-page="spirulina"] .philo p.q{margin:18px auto 0; max-width:18ch; font:300 clamp(2rem,4vw,3.5rem)/1.04 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="spirulina"] .philo p.q em{color:#cfe2f3}
  .assembly-page[data-page="spirulina"] .philo a{display:inline-block; margin-top:22px; color:var(--cream)}

  /* =========== GAMME =========== */
  .assembly-page[data-page="spirulina"] .gamme{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="spirulina"] .gamme h2{font:330 clamp(1.6rem,2.4vw,2.1rem)/1.05 var(--serif); margin:8px 0 0}
  .assembly-page[data-page="spirulina"] .range{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:clamp(14px,1.8vw,22px); border-top:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] .prod{display:grid; gap:4px; align-content:start; padding:12px 14px 6px; border-right:1px solid var(--line); text-decoration:none; position:relative}
  .assembly-page[data-page="spirulina"] .prod:last-child{border-right:0}
  .assembly-page[data-page="spirulina"] .prod .shot{height:clamp(116px,10.5vw,145px); display:flex; align-items:flex-end; justify-content:center; margin-bottom:6px; border-radius:16px; background:radial-gradient(90% 70% at 50% 80%, #efe6d2, transparent 70%)}
  .assembly-page[data-page="spirulina"] .prod .shot img{height:100%; width:auto; max-width:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .5s}
  .assembly-page[data-page="spirulina"] .prod:hover .shot img{transform:translateY(-6px)}
  .assembly-page[data-page="spirulina"] .prod small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .prod b{font:400 1.15rem/1.15 var(--serif)}
  .assembly-page[data-page="spirulina"] .prod i.go{font-style:normal; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .prod.here{background:var(--paper-2)}
  .assembly-page[data-page="spirulina"] .prod .chip{position:absolute; top:14px; right:14px; font:500 .64rem var(--sans); letter-spacing:.12em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background:var(--green); color:var(--paper)}
  .assembly-page[data-page="spirulina"] .prod .chip.soon{background:transparent; color:var(--muted); border:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] .rope{display:block; width:min(140px,100%); height:8px; border-radius:6px; margin:2px 0 2px;
    background:repeating-linear-gradient(118deg, var(--c) 0 5px, color-mix(in srgb, var(--c) 68%, #000) 5px 6.5px, color-mix(in srgb, var(--c) 78%, #fff) 6.5px 8.5px)}
  .assembly-page[data-page="spirulina"] .cup{width:auto; height:62%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 50% 70%, #fbe3c2, #f1cfa3 60%, #e7bd8c); display:grid; place-items:center; align-self:center}
  .assembly-page[data-page="spirulina"] .cup svg{width:62%; height:62%}
  .assembly-page[data-page="spirulina"] .cup .mug{fill:#fffaf2; stroke:#8a5a2b; stroke-width:1.6; stroke-linejoin:round}
  .assembly-page[data-page="spirulina"] .cup .handle,.assembly-page[data-page="spirulina"] .cup .saucer{fill:none; stroke:#8a5a2b; stroke-width:1.6; stroke-linecap:round}
  .assembly-page[data-page="spirulina"] .cup .steam{fill:none; stroke:#8a5a2b; stroke-width:1.5; stroke-linecap:round; opacity:.45}
  .assembly-page[data-page="spirulina"] .also{margin:12px 0 0; font-size:.92rem; color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="spirulina"] .range{grid-template-columns:repeat(5,minmax(200px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="spirulina"] .prod{scroll-snap-align:start} }

  /* =========== CTA FINAL =========== */
  .assembly-page[data-page="spirulina"] .final{background:var(--dark); color:var(--cream); padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="spirulina"] .final .inner{display:grid; grid-template-columns:.75fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="spirulina"] .final figure{margin:0 auto; width:100%; max-width:330px; position:relative; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side, rgb(243 236 220 / 22%), rgb(243 236 220 / 6%) 60%, transparent 72%); display:grid; place-items:center}
  .assembly-page[data-page="spirulina"] .final figure img{width:78%; filter:drop-shadow(0 40px 40px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="spirulina"] .final .eyebrow{color:var(--mint)}
  .assembly-page[data-page="spirulina"] .final h2{font:300 clamp(2.3rem,4.4vw,3.9rem)/1 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="spirulina"] .final .prog{margin:0; font-size:1.1rem; color:#d7cfbd}
  .assembly-page[data-page="spirulina"] .final .signup label{color:var(--cream)}
  .assembly-page[data-page="spirulina"] .final .signup .row{border-color:rgb(243 236 220 / 60%)}
  .assembly-page[data-page="spirulina"] .final .signup input{color:var(--cream)} .assembly-page[data-page="spirulina"] .final .signup input::placeholder{color:#a79f8b}
  .assembly-page[data-page="spirulina"] .final .signup button{color:var(--mint)}
  .assembly-page[data-page="spirulina"] .final .signup p{color:#a79f8b}
  .assembly-page[data-page="spirulina"] .final .btn{background:var(--cream); color:var(--ink)}
  .assembly-page[data-page="spirulina"] .final .btn-ghost{background:transparent; color:var(--cream)}
  .assembly-page[data-page="spirulina"] .final .j0{display:inline-block; margin-top:16px; color:var(--mint)}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .final .inner{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .final figure{width:min(80%,340px); margin-inline:auto} }

  /* =========== PIED DE PAGE (repris de la home) =========== */
  .assembly-page[data-page="spirulina"] footer{background:#0b2140; color:var(--cream); padding-block:56px 40px; font-size:.92rem}
  .assembly-page[data-page="spirulina"] footer .grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px}
  .assembly-page[data-page="spirulina"] footer .man{font:330 1.6rem/1.15 var(--serif); margin:0 0 10px}
  .assembly-page[data-page="spirulina"] footer h4{margin:0 0 12px; font:500 .8rem var(--sans); color:#9cc0e0; letter-spacing:.04em}
  .assembly-page[data-page="spirulina"] footer ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
  .assembly-page[data-page="spirulina"] footer a{text-decoration:none}
  .assembly-page[data-page="spirulina"] footer .legal{margin-top:36px; padding-top:18px; border-top:1px solid rgb(255 255 255 / 12%); font-size:.78rem; color:#a9b8ae; display:flex; flex-wrap:wrap; gap:6px 18px}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] footer .grid{grid-template-columns:1fr 1fr} }

  /* ---- Barre d'action mobile ---- */
  .assembly-page[data-page="spirulina"] .dock{position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:40; display:none; gap:8px; padding:8px; border-radius:999px; background:rgb(23 34 52 / 94%); backdrop-filter:blur(8px); box-shadow:0 14px 40px -14px rgb(0 0 0 / 50%); transform:translateY(140%); transition:transform .4s}
  .assembly-page[data-page="spirulina"] .dock.on{transform:none}
  .assembly-page[data-page="spirulina"] .dock a{flex:1; text-align:center; text-decoration:none; font:500 .92rem var(--sans); padding:12px 10px; border-radius:999px; color:var(--cream)}
  .assembly-page[data-page="spirulina"] .dock a:first-child{background:var(--cream); color:var(--ink)}
  @media (max-width:760px){ .assembly-page[data-page="spirulina"] .dock{display:flex} .assembly-page[data-page="spirulina"]{padding-bottom:84px} }

  /* ---- À valider ---- */
  .assembly-page[data-page="spirulina"] .approve{padding-block:50px 70px}
  .assembly-page[data-page="spirulina"] .approve .box{background:var(--note); border-radius:22px; padding:clamp(18px,3vw,34px); display:grid; gap:14px; font-size:.95rem}
  .assembly-page[data-page="spirulina"] .approve h2{margin:0; font:400 1.7rem/1.2 var(--serif)}
  .assembly-page[data-page="spirulina"] .approve h3{margin:8px 0 0; font:500 1rem var(--sans)}
  .assembly-page[data-page="spirulina"] .approve ul{margin:0; padding-left:1.2em; display:grid; gap:6px}
  .assembly-page[data-page="spirulina"].clean .approve{display:none}

  @media (prefers-reduced-motion:reduce){ .assembly-page[data-page="spirulina"]{scroll-behavior:auto} .assembly-page[data-page="spirulina"] *{animation:none!important; transition:none!important} }

  /* =========== Déclinaisons produit =========== */
  .assembly-page[data-page="spirulina"] .ingr{display:grid; grid-template-columns:42% 1fr; gap:clamp(24px,4vw,56px); align-items:center; margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:22px}
  .assembly-page[data-page="spirulina"] .ingr figure{margin:0; aspect-ratio:5/4; border-radius:18px; overflow:hidden}
  .assembly-page[data-page="spirulina"] .ingr figure img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="spirulina"] .ingr small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .ingr h3{font:330 clamp(1.6rem,2.4vw,2.2rem)/1.05 var(--serif); margin:8px 0 2px}
  .assembly-page[data-page="spirulina"] .ingr .lat{margin:0; font:italic 400 1rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="spirulina"] .ingr .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .ingr .txt{margin:10px 0 0; font-size:.95rem; color:var(--muted); max-width:58ch}
  .assembly-page[data-page="spirulina"] .ingr blockquote{margin:16px 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.1rem/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="spirulina"] .shorts{display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(10px,1.4vw,18px); margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:20px}
  .assembly-page[data-page="spirulina"] .short{display:grid; gap:8px; align-content:start; text-decoration:none}
  .assembly-page[data-page="spirulina"] .short .v{position:relative; aspect-ratio:9/16; border-radius:10px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="spirulina"] .short .v img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease}
  .assembly-page[data-page="spirulina"] .short:hover .v img{transform:scale(1.03)}
  .assembly-page[data-page="spirulina"] .short .v::after{content:""; position:absolute; left:50%; top:50%; width:44px; height:44px; margin:-22px 0 0 -22px; border-radius:50%; background:rgb(243 236 220 / 90%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%231e2a23'/%3E%3C/svg%3E") center/22px no-repeat}
  .assembly-page[data-page="spirulina"] .short small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .short b{font:400 .98rem/1.3 var(--serif)}
  @media (max-width:900px){ .assembly-page[data-page="spirulina"] .ingr{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .shorts{grid-template-columns:repeat(6,minmax(150px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="spirulina"] .short{scroll-snap-align:start} }
  .assembly-page[data-page="spirulina"] .safety{margin:0 0 18px; padding:16px 18px; border-left:3px solid #a0522d; background:#fbf6ee; border-radius:0 12px 12px 0; font-size:.9rem; color:var(--ink)}
  .assembly-page[data-page="spirulina"] .safety strong{display:block; font:600 .8rem var(--sans); letter-spacing:.2em; color:#a0522d; margin-bottom:6px}
  .assembly-page[data-page="spirulina"] .safety p{margin:0 0 6px} .assembly-page[data-page="spirulina"] .safety p:last-child{margin:0}
  .assembly-page[data-page="spirulina"] .safety .ids{margin-top:10px; color:var(--muted); font-size:.84rem}
  .assembly-page[data-page="spirulina"] .ingr figure.type-plate{display:grid; place-content:center; text-align:center; gap:10px; padding:28px; background:radial-gradient(110% 90% at 30% 20%, #efeaf3, #d9d0e2 60%, #bfb2cf); color:#3d3350}
  .assembly-page[data-page="spirulina"] .type-plate b{font:italic 300 clamp(1.8rem,3vw,2.6rem)/1.05 var(--serif)}
  .assembly-page[data-page="spirulina"] .type-plate span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="spirulina"] .type-plate .to-supply{font-size:.72rem; opacity:.7}
  .assembly-page[data-page="spirulina"] .final figure.tall img{width:44%; border-radius:12px; filter:drop-shadow(0 30px 30px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="spirulina"] .film-body.vertical{grid-template-columns:minmax(180px,260px) 1fr; justify-content:start}
  .assembly-page[data-page="spirulina"] .film-body.vertical .short .v{border-radius:14px; box-shadow:0 30px 60px -34px rgb(40 30 10 / 55%)}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .film-body.vertical{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .film-body.vertical .short{width:min(62%,260px)} }
  /* =========== NOTRE APPROCHE =========== */
  .assembly-page[data-page="spirulina"] .appro{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="spirulina"] .appro-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="spirulina"] .appro h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.05 var(--serif); margin:12px 0 10px}
  .assembly-page[data-page="spirulina"] .appro .man{margin:0; font:330 clamp(1.15rem,1.6vw,1.4rem)/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="spirulina"] .appro .man em{display:block}
  .assembly-page[data-page="spirulina"] .appro-txt p{margin:0 0 10px; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .appro-more{margin-top:clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="spirulina"] .appro-more > summary{font:500 .74rem var(--sans)!important; letter-spacing:.16em; text-transform:uppercase}
  .assembly-page[data-page="spirulina"] .principes{display:grid; grid-template-columns:1fr 1fr; gap:14px 40px; color:var(--ink)}
  .assembly-page[data-page="spirulina"] .principes b{font-weight:500}
  .assembly-page[data-page="spirulina"] .principes p{margin:4px 0 0; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .appro .sub-h{margin:20px 0 4px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .appro-more > div{max-width:none!important}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .appro-grid,.assembly-page[data-page="spirulina"] .principes{grid-template-columns:1fr} }
  .assembly-page[data-page="spirulina"] .appro-more > summary{justify-content:flex-start!important; gap:14px}
  .assembly-page[data-page="spirulina"] .appro-more > summary::after{order:0}
  /* =========== CE QU'IL ACCOMPAGNE =========== */
  .assembly-page[data-page="spirulina"] .benef{padding-block:clamp(32px,4vw,56px) 0}
  .assembly-page[data-page="spirulina"] .benef .inner{border-top:1px solid var(--line); padding-top:clamp(24px,3vw,40px)}
  .assembly-page[data-page="spirulina"] .benef-head{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="spirulina"] .benef h2{font:330 clamp(1.7rem,2.7vw,2.4rem)/1.12 var(--serif); margin:12px 0 0; max-width:22ch}
  .assembly-page[data-page="spirulina"] .benef-lead{margin:0; color:var(--muted); max-width:52ch}
  .assembly-page[data-page="spirulina"] .reperes{list-style:none; margin:clamp(22px,2.8vw,34px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr)}
  .assembly-page[data-page="spirulina"] .reperes li{padding:4px 24px 0 0; display:grid; gap:6px; align-content:start}
  .assembly-page[data-page="spirulina"] .reperes li + li{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="spirulina"] .reperes small{font:500 .7rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .reperes b{font:400 1.18rem/1.25 var(--serif)}
  .assembly-page[data-page="spirulina"] .reperes p{margin:0; font-size:.92rem; color:var(--muted)}
  .assembly-page[data-page="spirulina"] .benef-foot{margin:18px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .benef-head,.assembly-page[data-page="spirulina"] .reperes{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .reperes li,.assembly-page[data-page="spirulina"] .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* Bloc « accompagne » : texte + emplacement image à droite */
  .assembly-page[data-page="spirulina"] .benef-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:stretch}
  .assembly-page[data-page="spirulina"] .benef-main h2{max-width:24ch}
  .assembly-page[data-page="spirulina"] .benef-main .benef-lead{margin:14px 0 0}
  .assembly-page[data-page="spirulina"] .benef-main .reperes li{padding-right:18px} .assembly-page[data-page="spirulina"] .benef-main .reperes li + li{padding-left:18px}
  .assembly-page[data-page="spirulina"] .benef-img{margin:0; border-radius:20px; overflow:hidden; min-height:320px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="spirulina"] .benef-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="spirulina"] .benef-img .ph{height:100%; min-height:320px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="spirulina"] .benef-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .benef-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="spirulina"] .benef-grid{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .benef-img{min-height:0; aspect-ratio:16/9} .assembly-page[data-page="spirulina"] .benef-img .ph{min-height:0} .assembly-page[data-page="spirulina"] .benef-main .reperes{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .benef-main .reperes li,.assembly-page[data-page="spirulina"] .benef-main .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* ---- Passe du 28/09 ---- */
  /* 1 · Respiration : première phrase sur une ligne, suite plus petite */
  .assembly-page[data-page="spirulina"] .breath p.q{max-width:none; font-size:clamp(1.5rem,2.9vw,2.7rem); text-wrap:balance}
  .assembly-page[data-page="spirulina"] .breath p.q span{font-size:clamp(1.15rem,1.9vw,1.75rem); line-height:1.3; margin-top:10px; max-width:40ch; margin-inline:auto}
  /* 2 · Rituel -20 % */
  .assembly-page[data-page="spirulina"] .rituel{padding-block:clamp(28px,3.2vw,44px) clamp(16px,2vw,24px)}
  .assembly-page[data-page="spirulina"] .rituel h2{font-size:clamp(1.7rem,3vw,2.7rem)}
  .assembly-page[data-page="spirulina"] .steps{margin-top:clamp(18px,2.4vw,30px)}
  .assembly-page[data-page="spirulina"] .steps::before{top:1.3rem}
  .assembly-page[data-page="spirulina"] .steps .n{font-size:clamp(1.9rem,2.7vw,2.6rem)}
  .assembly-page[data-page="spirulina"] .steps small{margin-top:8px; font-size:.66rem}
  .assembly-page[data-page="spirulina"] .steps p{font-size:.95rem}
  .assembly-page[data-page="spirulina"] .dose{margin-top:16px; font-size:.84rem}
  /* 3 · Ce qu'il y a dedans : texte sous le titre, visuel à droite */
  .assembly-page[data-page="spirulina"] .hydro .top{align-items:stretch}
  .assembly-page[data-page="spirulina"] .hydro .top .intro{margin-top:14px}
  .assembly-page[data-page="spirulina"] .side-img{margin:0; border-radius:20px; overflow:hidden; min-height:260px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="spirulina"] .side-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="spirulina"] .side-img .ph{height:100%; min-height:260px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="spirulina"] .side-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="spirulina"] .side-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  /* 4 · Composition dépliable */
  .assembly-page[data-page="spirulina"] .spec-acc{margin-top:18px}
  .assembly-page[data-page="spirulina"] .spec-acc > div, .assembly-page[data-page="spirulina"] .spec-acc > dl{max-width:none}
  .assembly-page[data-page="spirulina"] .spec-acc .spec{margin:0 0 16px}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] .breath p.q span{max-width:none} .assembly-page[data-page="spirulina"] .side-img, .assembly-page[data-page="spirulina"] .side-img .ph{min-height:0} .assembly-page[data-page="spirulina"] .side-img{aspect-ratio:4/3} }
.assembly-page[data-page="spirulina"] .breath p.q span{max-width:none; font-size:clamp(1rem,1.5vw,1.4rem)}
@media (min-width:900px){ .assembly-page[data-page="spirulina"] .breath p.q span{white-space:nowrap} }
.assembly-page[data-page="spirulina"] .side-img{position:relative}
.assembly-page[data-page="spirulina"] .side-title{position:absolute; top:clamp(20px,2.4vw,34px); right:clamp(20px,2.4vw,34px); left:clamp(20px,2.4vw,34px); text-align:right; z-index:1}
.assembly-page[data-page="spirulina"] .side-title .eyebrow{justify-content:flex-end}
.assembly-page[data-page="spirulina"] .hydro .top > div > .intro:first-child{margin-top:0}
.assembly-page[data-page="spirulina"] .hydro .top{align-items:stretch}
.assembly-page[data-page="spirulina"] .side-img .ph{place-content:end center}
@media (max-width:860px){ .assembly-page[data-page="spirulina"] .side-img{aspect-ratio:auto} .assembly-page[data-page="spirulina"] .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="spirulina"] .side-img .ph{min-height:120px; border-top:0} }
@media (max-width:860px){ .assembly-page[data-page="spirulina"] .hydro .top .side-img{order:-1} .assembly-page[data-page="spirulina"] .side-img .ph{min-height:140px; border:0; place-content:end center} }
.assembly-page[data-page="spirulina"] .benef-img{position:relative}
.assembly-page[data-page="spirulina"] .benef-img .ph{place-content:end center}
.assembly-page[data-page="spirulina"] .benef-img .side-title h2{margin-left:auto; max-width:18ch}
.assembly-page[data-page="spirulina"] .benef-img .side-title h2 em{color:var(--green)}
.assembly-page[data-page="spirulina"] .benef-main .benef-lead{margin-top:0}
@media (max-width:980px){ .assembly-page[data-page="spirulina"] .benef-grid .benef-img{order:-1; aspect-ratio:auto} .assembly-page[data-page="spirulina"] .benef-img .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="spirulina"] .benef-img .ph{min-height:120px; border:0} }
/* Approche avec image à gauche, puis alternance inversée des chapitres suivants */
.assembly-page[data-page="spirulina"] .appro.has-img .inner{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,56px); align-items:stretch}
.assembly-page[data-page="spirulina"] .appro.has-img .appro-grid{grid-template-columns:1fr; gap:18px}
.assembly-page[data-page="spirulina"] .appro-img{min-height:360px}
/* Alternance gauche/droite pilotée par la classe media-right (posée par alternance.py) */
@media (min-width:861px){
  .assembly-page[data-page="spirulina"] .film-sec.media-right .film-body{grid-template-columns:1fr 1.45fr} .assembly-page[data-page="spirulina"] .film-sec.media-right .film-body > .film{order:2}
  .assembly-page[data-page="spirulina"] .film-sec.media-right .film-body.vertical{grid-template-columns:1fr minmax(180px,260px)} .assembly-page[data-page="spirulina"] .film-sec.media-right .film-body.vertical > .short{order:2}
  .assembly-page[data-page="spirulina"] .appro.has-img.media-right .inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)} .assembly-page[data-page="spirulina"] .appro.has-img.media-right .appro-img{order:2}
  .assembly-page[data-page="spirulina"] .appro.has-img.media-right .appro-main{grid-column:1; grid-row:1}
  .assembly-page[data-page="spirulina"] .hydro:not(.media-right) .top .side-img{order:-1}
  .assembly-page[data-page="spirulina"] .final.media-right .inner{grid-template-columns:1fr .75fr} .assembly-page[data-page="spirulina"] .final.media-right .inner > figure{order:2}
}
@media (min-width:901px){ .assembly-page[data-page="spirulina"] .plants.media-right .ingr{grid-template-columns:1fr 42%} .assembly-page[data-page="spirulina"] .plants.media-right .ingr > figure{order:2} }
@media (max-width:860px){ .assembly-page[data-page="spirulina"] .appro.has-img .inner{grid-template-columns:1fr} .assembly-page[data-page="spirulina"] .appro-img{min-height:0; aspect-ratio:4/5; max-height:420px} }
.assembly-page[data-page="spirulina"] .ftip{position:absolute; z-index:5; width:max-content; max-width:min(320px,calc(100vw - 32px)); padding:10px 14px; border-radius:12px; background:#172234; color:#f3ecdc; box-shadow:0 18px 40px -18px rgb(0 0 0 / 55%); pointer-events:none; display:grid; gap:3px}
.assembly-page[data-page="spirulina"] .ftip small{font:500 .66rem/1.3 var(--sans, system-ui); letter-spacing:.12em; text-transform:uppercase; color:#9cc0e0}
.assembly-page[data-page="spirulina"] .ftip span{font:italic 400 1rem/1.35 var(--serif, Georgia, serif)}
.assembly-page[data-page="spirulina"] .ftip::after{content:""; position:absolute; left:var(--ax,50%); top:100%; margin-left:-6px; border:6px solid transparent; border-top-color:#172234}
.assembly-page[data-page="spirulina"] .ftip.below::after{top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:#172234}
.assembly-page[data-page="spirulina"] .sr-only{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.assembly-page[data-page="spirulina"] .benef-main .benef-lead{margin-top:14px}
.assembly-page[data-page="spirulina"] .benef h2 em{color:var(--green)}

/* ---- Ajouts du 29.09.2026 ---- */
.assembly-page[data-page="spirulina"] .pending{white-space:nowrap}
.assembly-page[data-page="spirulina"] .pending::after{content:"en attente de validation"; display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px; background:#ffe9a8; color:#4a3a00; font:500 .6rem/1.5 var(--sans); letter-spacing:.06em; text-transform:uppercase; vertical-align:2px}
.assembly-page[data-page="spirulina"].clean .pending::after{display:none}
.assembly-page[data-page="spirulina"] .research{margin:14px 0 4px; padding:14px 16px; border-left:2px solid var(--green); background:var(--paper-2); border-radius:0 12px 12px 0}
.assembly-page[data-page="spirulina"] .research small{display:block; font:500 .68rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:6px}
.assembly-page[data-page="spirulina"] .research p{margin:0 0 8px; font-size:.95rem; line-height:1.55}
.assembly-page[data-page="spirulina"] .research p:last-child{margin-bottom:0}
.assembly-page[data-page="spirulina"] .research cite{font-style:italic; color:var(--muted); white-space:nowrap}
.assembly-page[data-page="spirulina"] .study-note{margin:22px 0 0; color:var(--muted); font-size:.92rem; max-width:70ch}
.assembly-page[data-page="spirulina"] details.acc.sources ol{margin:8px 0 0; padding-left:1.2em; display:grid; gap:8px; font-size:.86rem; color:var(--muted)}
.assembly-page[data-page="spirulina"] details.acc.sources a{color:inherit}
.assembly-page[data-page="spirulina"] .variant{display:inline-block; margin:4px 0 0; padding:3px 12px; border:1px solid var(--line); border-radius:999px; font-size:.86rem}
.assembly-page[data-page="spirulina"] .warnbox{margin:18px 0 0; padding:14px 16px; border:1.5px solid #c9822b; border-radius:14px; background:#fff6e6}
.assembly-page[data-page="spirulina"] .warnbox b{display:block; letter-spacing:.08em}
.assembly-page[data-page="spirulina"] .warnbox p{margin:6px 0 0; font-size:.9rem}

/* ---- Bande philosophie : fond « bleu et or » (02.10.2026) ----
   Arbre lumineux à droite, flux de particules à gauche, centre sombre pour le texte.
   Un voile léger, plus dense au centre, garde la phrase lisible. Lente dérive de 28 s,
   coupée si l'animation est désactivée. Sur téléphone, le cadrage montre l'arbre. */
.assembly-page[data-page="spirulina"] .philo{background:#071a33}
.assembly-page[data-page="spirulina"] .philo::before{inset:-5%; height:auto; background:url("./public/assemblage/web/6f9155f46444ea8e-1920.webp") center 55% / cover no-repeat; animation:philoDrift 28s ease-in-out infinite alternate; will-change:transform}
.assembly-page[data-page="spirulina"] .philo::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 50% 70% at 50% 45%, rgb(5 18 38 / 62%), rgb(5 18 38 / 28%) 75%, rgb(5 18 38 / 14%))}
.assembly-page[data-page="spirulina"] .philo .inner{z-index:1}
@keyframes philoDrift{from{transform:scale(1)} to{transform:scale(1.06) translate(-1%,-.6%)}}
@media (max-width:760px){ .assembly-page[data-page="spirulina"] .philo::before{background-size:auto 130%; background-position:82% 50%} .assembly-page[data-page="spirulina"] .philo::after{background:rgb(5 18 38 / 58%)} }
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="spirulina"] .philo::before{animation:none} }

/* ---- Lecteur vidéo intégré (02.10.2026) ---- */
.assembly-page[data-page="spirulina"] .yt-dlg{padding:0; border:0; background:transparent; max-width:none; max-height:none; width:min(1100px,92vw,calc((100vh - 90px) * 16 / 9)); overflow:visible}
.assembly-page[data-page="spirulina"] .yt-dlg::backdrop{background:rgb(5 18 38 / 82%); backdrop-filter:blur(3px)}
.assembly-page[data-page="spirulina"] .yt-dlg.short{width:min(420px,92vw, calc((100vh - 90px) * 9 / 16))}
.assembly-page[data-page="spirulina"] .yt-box{display:grid; gap:10px}
.assembly-page[data-page="spirulina"] .yt-frame{aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#000; box-shadow:0 30px 80px -20px rgb(0 0 0 / 70%)}
.assembly-page[data-page="spirulina"] .yt-dlg.short .yt-frame{aspect-ratio:9/16}
.assembly-page[data-page="spirulina"] .yt-frame iframe{width:100%; height:100%; border:0; display:block}
.assembly-page[data-page="spirulina"] .yt-bar{display:flex; justify-content:space-between; align-items:center; gap:12px}
.assembly-page[data-page="spirulina"] .yt-bar a,.assembly-page[data-page="spirulina"] .yt-bar button{font:500 .85rem var(--sans); color:var(--cream); background:none; border:1px solid rgb(243 236 220 / 35%); border-radius:999px; padding:8px 16px; cursor:pointer; text-decoration:none}
.assembly-page[data-page="spirulina"] .yt-bar a:hover,.assembly-page[data-page="spirulina"] .yt-bar button:hover{background:rgb(243 236 220 / 12%)}

/* ---- Carrousels des fiches (02.10.2026) : fondu toutes les 5 s, pastilles, pause au survol ----
   .hero-carousel = image d'en-tête (cadre carré) ; .life-carousel = « Ce que … accompagne » (4:5).
   .slide.full occupe tout le cadre (photo) ; sans .full, l'image est détourée et contenue. */
.assembly-page[data-page="spirulina"] .hero-carousel .slide{opacity:0; transition:opacity .9s ease; mix-blend-mode:normal; animation:none}
.assembly-page[data-page="spirulina"] .hero-carousel .slide.on{opacity:1}
.assembly-page[data-page="spirulina"] .hero-carousel .slide.full{inset:0; width:100%; height:100%; object-fit:cover}
.assembly-page[data-page="spirulina"] .hero-dots{position:absolute; left:50%; bottom:14px; transform:translateX(-50%); display:flex; gap:8px; z-index:2}
.assembly-page[data-page="spirulina"] .hero-dots button{width:10px; height:10px; padding:0; border-radius:50%; border:1px solid rgb(23 34 52 / 45%); background:rgb(255 255 255 / 75%); cursor:pointer}
.assembly-page[data-page="spirulina"] .hero-dots button[aria-pressed="true"]{background:var(--ink, #172234); border-color:#fff}
.assembly-page[data-page="spirulina"] .life-carousel .slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .9s ease}
.assembly-page[data-page="spirulina"] .life-carousel .slide.on{opacity:1}
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="spirulina"] .hero-carousel .slide, .assembly-page[data-page="spirulina"] .life-carousel .slide{transition:none} }

/* ---- « Ce que la recherche a observé » repliable (02.10.2026) ---- */
.assembly-page[data-page="spirulina"] details.research{padding:12px 16px}
.assembly-page[data-page="spirulina"] details.research summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px}
.assembly-page[data-page="spirulina"] details.research summary::-webkit-details-marker{display:none}
.assembly-page[data-page="spirulina"] details.research summary small{margin:0}
.assembly-page[data-page="spirulina"] details.research summary::after{content:"+"; flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; border:1px solid currentColor; color:var(--green); font:400 1rem/1 var(--sans); transition:transform .25s}
.assembly-page[data-page="spirulina"] details.research[open] summary::after{content:"−"}
.assembly-page[data-page="spirulina"] details.research[open] summary{margin-bottom:8px}
.assembly-page[data-page="spirulina"] details.research summary:hover small{text-decoration:underline; text-underline-offset:4px}


  /* « Ce qu'il y a dedans » : même disposition que la fiche Balance (02.10.2026). */
  @media (min-width:861px){ .assembly-page[data-page="spirulina"] #dedans .top{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)} .assembly-page[data-page="spirulina"] #dedans .top .side-img{width:100%; min-height:0; aspect-ratio:4/3; align-self:center} .assembly-page[data-page="spirulina"] #dedans .top .intro{max-width:none} }
  .assembly-page[data-page="spirulina"] #dedans .top .intro{margin-top:clamp(16px,2vw,24px)}
  .assembly-page[data-page="spirulina"] #dedans .top .intro + .intro{margin-top:12px}
  @media (max-width:860px){ .assembly-page[data-page="spirulina"] #dedans .top .side-img{order:0} }


  .assembly-page[data-page="lavandazen"]{
    --paper:#f3efe6; --paper-2:#f8f5ee; --stage:#e6dfd0; --ink:#172234; --green:#1d4f86; --muted:#6a685f; --line:rgb(23 34 52 / 14%);
    --dark:#071a33; --dark-2:#0f2847; --cream:#f3ecdc; --mint:#9cc0e0; --note:#ece6d9;
    --serif:"Fraunces", Georgia, "Times New Roman", serif;
    --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --gut:clamp(20px,4vw,56px);
    color-scheme: light;
  }
  .assembly-page[data-page="lavandazen"] *{box-sizing:border-box}
  .assembly-page[data-page="lavandazen"]{scroll-behavior:smooth}
  .assembly-page[data-page="lavandazen"]{margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased}
  .assembly-page[data-page="lavandazen"] a{color:inherit}
  .assembly-page[data-page="lavandazen"] img{max-width:100%; display:block}
  .assembly-page[data-page="lavandazen"] :focus-visible{outline:2px solid var(--green); outline-offset:3px; border-radius:6px}
  .assembly-page[data-page="lavandazen"] .wrap{padding-inline:var(--gut)}
  .assembly-page[data-page="lavandazen"] .inner{max-width:1260px; margin-inline:auto}
  .assembly-page[data-page="lavandazen"] .narrow{max-width:760px}
  .assembly-page[data-page="lavandazen"] section{scroll-margin-top:70px}
  .assembly-page[data-page="lavandazen"] .eyebrow{font:500 .72rem/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:12px; margin:0}
  .assembly-page[data-page="lavandazen"] .eyebrow::before{content:""; width:26px; height:1px; background:currentColor; flex:none}
  .assembly-page[data-page="lavandazen"] .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:500 .93rem var(--sans); background:var(--green); color:#f6f2e8; border:0; border-radius:999px; padding:13px 22px; text-decoration:none; cursor:pointer}
  .assembly-page[data-page="lavandazen"] .btn-ghost{background:transparent; color:inherit; border:1px solid currentColor}
  .assembly-page[data-page="lavandazen"] .link{font-weight:500; text-underline-offset:6px; text-decoration-thickness:1px}
  .assembly-page[data-page="lavandazen"] .serif{font-family:var(--serif)}
  .assembly-page[data-page="lavandazen"] h1,.assembly-page[data-page="lavandazen"] h2,.assembly-page[data-page="lavandazen"] h3{font-weight:330; letter-spacing:-.03em; text-wrap:balance}

  /* ---- Bandeau de revue (repris de la home) ---- */
  .assembly-page[data-page="lavandazen"] .review{position:sticky; top:0; z-index:50; background:var(--ink); color:var(--cream); font-size:.8rem}
  .assembly-page[data-page="lavandazen"] .review .inner{display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; justify-content:space-between; padding-block:8px}
  .assembly-page[data-page="lavandazen"] .review nav{display:flex; flex-wrap:wrap; gap:4px}
  .assembly-page[data-page="lavandazen"] .review a,.assembly-page[data-page="lavandazen"] .review button{color:var(--cream); text-decoration:none; padding:3px 9px; border-radius:999px; border:1px solid rgb(255 255 255 / 18%); background:none; font:500 .76rem var(--sans); cursor:pointer}
  .assembly-page[data-page="lavandazen"] .review a:hover{background:rgb(255 255 255 / 10%)}
  .assembly-page[data-page="lavandazen"] .zone-note{font-size:.8rem; line-height:1.5; color:#6b5a1a; background:#fff6d6; border-radius:10px; padding:8px 12px; margin:18px 0 0; max-width:70ch}
  .assembly-page[data-page="lavandazen"] .on-dark .zone-note{background:#3a3520; color:#f3e3a8}
  .assembly-page[data-page="lavandazen"].clean .zone-note, .assembly-page[data-page="lavandazen"].clean .to-supply{display:none}

  /* ---- En-tête ---- */
  .assembly-page[data-page="lavandazen"] header.site .inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:22px}
  .assembly-page[data-page="lavandazen"] .logo{display:grid; gap:3px; text-decoration:none}
  .assembly-page[data-page="lavandazen"] .logo-word{font:400 clamp(1.15rem,2vw,1.5rem)/1 var(--sans); letter-spacing:.2em}
  .assembly-page[data-page="lavandazen"] .logo-word span{color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .logo-sig{font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .menu{display:flex; gap:22px; font-size:.92rem}
  .assembly-page[data-page="lavandazen"] .menu a{text-decoration:none}
  .assembly-page[data-page="lavandazen"] .head-cta{display:flex; gap:8px}
  .assembly-page[data-page="lavandazen"] .pill{font:500 .86rem var(--sans); border:1px solid var(--ink); border-radius:999px; padding:9px 16px; text-decoration:none; white-space:nowrap}
  .assembly-page[data-page="lavandazen"] .pill-dark{background:var(--ink); color:var(--paper)}
  @media (max-width:900px){ .assembly-page[data-page="lavandazen"] .menu{display:none} .assembly-page[data-page="lavandazen"] .pill-dark{display:none} }

  .assembly-page[data-page="lavandazen"] .crumb{font-size:.85rem; color:var(--muted); padding-block:4px 0}
  .assembly-page[data-page="lavandazen"] .crumb a{text-decoration:none} .assembly-page[data-page="lavandazen"] .crumb a:hover{text-decoration:underline}

  /* =========== HERO =========== */
  .assembly-page[data-page="lavandazen"] .hero{padding-block:clamp(12px,2vw,28px) clamp(40px,5vw,72px)}
  .assembly-page[data-page="lavandazen"] .hero .inner{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="lavandazen"] .hero-shot{position:relative; margin:0; aspect-ratio:1/1; max-height:600px; border-radius:26px; overflow:hidden;
    background:radial-gradient(90% 70% at 50% 62%, #f7efdc 0%, #ece3d0 45%, #ddd3bd 100%)}
  .assembly-page[data-page="lavandazen"] .hero-shot img{position:absolute; inset:6% 4% 2%; width:92%; height:92%; object-fit:contain; mix-blend-mode:multiply; animation:rise 1.2s ease both}
  .assembly-page[data-page="lavandazen"] .hero-shot figcaption{position:absolute; left:22px; bottom:18px; font:italic 400 .95rem var(--serif); color:#6b6247}
  @keyframes rise{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
  .assembly-page[data-page="lavandazen"] .hero h1{font:300 clamp(2.8rem,5.6vw,5rem)/.95 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="lavandazen"] .hero h1 small{display:block; font:500 .74rem/1 var(--sans); letter-spacing:.18em; color:var(--green); margin-bottom:10px}
  .assembly-page[data-page="lavandazen"] .hero .sub{font:400 clamp(1.15rem,1.7vw,1.4rem)/1.35 var(--sans); margin:0}
  .assembly-page[data-page="lavandazen"] .hero blockquote{margin:16px 0 0; font:italic 330 clamp(1.2rem,1.7vw,1.4rem)/1.35 var(--serif); color:var(--green); max-width:26ch}
  .assembly-page[data-page="lavandazen"] .meta{display:flex; flex-wrap:wrap; gap:6px 14px; margin:18px 0 0; padding:10px 0; border-block:1px solid var(--line); font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="lavandazen"] .meta span+span::before{content:"·"; margin-right:14px; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .know{margin:6px 0 0; display:grid; gap:0}
  .assembly-page[data-page="lavandazen"] .know div{display:grid; grid-template-columns:8.5rem 1fr; gap:16px; padding:9px 0; font-size:.95rem; border-bottom:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] .know dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .know dd{margin:0}
  .assembly-page[data-page="lavandazen"] .ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
  .assembly-page[data-page="lavandazen"] .signup{margin-top:18px; display:grid; gap:8px; max-width:460px}
  .assembly-page[data-page="lavandazen"] .signup label{font:400 1.05rem var(--serif)}
  .assembly-page[data-page="lavandazen"] .signup .row{display:flex; align-items:center; border-bottom:1px solid var(--ink)}
  .assembly-page[data-page="lavandazen"] .signup input{flex:1; min-width:0; font:inherit; font-size:1rem; border:0; background:transparent; padding:9px 0; color:var(--ink)}
  .assembly-page[data-page="lavandazen"] .signup input:focus{outline:none}
  .assembly-page[data-page="lavandazen"] .signup button{font:500 .9rem var(--sans); background:none; border:0; color:var(--green); padding:12px 0 12px 12px; cursor:pointer; white-space:nowrap}
  .assembly-page[data-page="lavandazen"] .signup p{margin:0; font-size:.78rem; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .toast{min-height:1.2em; color:var(--green)!important}
  .assembly-page[data-page="lavandazen"] .trust{margin:16px 0 0; font:500 .68rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 16px}
  @media (max-width:880px){
    .assembly-page[data-page="lavandazen"] .hero .inner{grid-template-columns:1fr}
    .assembly-page[data-page="lavandazen"] .hero-shot{aspect-ratio:1/1; border-radius:22px}
    .assembly-page[data-page="lavandazen"] .know div{grid-template-columns:1fr; gap:2px}
    .assembly-page[data-page="lavandazen"] .ctas .btn{flex:1 1 100%}
  }

  /* =========== FILM =========== */
  .assembly-page[data-page="lavandazen"] .film-sec{background:var(--paper-2); padding-block:clamp(36px,4.5vw,64px)}
  .assembly-page[data-page="lavandazen"] .film-sec .head{display:grid; gap:10px; margin-bottom:6px}
  .assembly-page[data-page="lavandazen"] .film-sec h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="lavandazen"] .film-sec .lead{font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); margin:0}
  .assembly-page[data-page="lavandazen"] .film{position:relative; display:block; margin:0; border-radius:26px; overflow:hidden; background:#1b1612; aspect-ratio:16/9; box-shadow:0 40px 80px -40px rgb(40 30 10 / 55%); text-decoration:none; color:#fff}
  .assembly-page[data-page="lavandazen"] .film img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease, filter .6s}
  .assembly-page[data-page="lavandazen"] .film:hover img{transform:scale(1.02); filter:brightness(.9)}
  .assembly-page[data-page="lavandazen"] .film::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgb(0 0 0 / 55%))}
  .assembly-page[data-page="lavandazen"] .play{position:absolute; left:50%; top:50%; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; background:rgb(243 236 220 / 92%); display:grid; place-items:center; z-index:2; transition:transform .3s}
  .assembly-page[data-page="lavandazen"] .play::before{content:""; margin-left:6px; border-left:20px solid var(--ink); border-block:12px solid transparent}
  .assembly-page[data-page="lavandazen"] .film:hover .play{transform:scale(1.06)}
  .assembly-page[data-page="lavandazen"] .film .cap{position:absolute; left:24px; right:24px; bottom:20px; z-index:2; display:flex; justify-content:space-between; gap:16px; font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="lavandazen"] .film-body{display:grid; grid-template-columns:1.45fr 1fr; gap:clamp(24px,4vw,56px); align-items:center}
  .assembly-page[data-page="lavandazen"] .film-text{display:grid; gap:14px}
  .assembly-page[data-page="lavandazen"] .film-text p{margin:0; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .film-text .head + p{color:var(--ink); font:400 1.1rem/1.45 var(--serif)}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .film-sec .head,.assembly-page[data-page="lavandazen"] .film-body{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .film{border-radius:18px; margin-inline:calc(var(--gut) * -1); border-radius:0} .assembly-page[data-page="lavandazen"] .play{width:68px; height:68px; margin:-34px 0 0 -34px} }

  /* =========== RITUEL =========== */
  .assembly-page[data-page="lavandazen"] .rituel{background:var(--stage); padding-block:clamp(34px,4vw,54px) clamp(20px,2.4vw,30px)}
  .assembly-page[data-page="lavandazen"] .rituel h2{font:330 clamp(2.1rem,3.8vw,3.4rem)/1.05 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="lavandazen"] .rituel h2 em{color:var(--green)}
  .assembly-page[data-page="lavandazen"] .steps{list-style:none; margin:clamp(24px,3vw,40px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); position:relative}
  .assembly-page[data-page="lavandazen"] .steps::before{content:""; position:absolute; left:0; right:0; top:1.6rem; height:1px; background:var(--line)}
  .assembly-page[data-page="lavandazen"] .steps li{position:relative; padding-right:clamp(16px,3vw,48px)}
  .assembly-page[data-page="lavandazen"] .steps .n{display:block; font:300 clamp(2.4rem,3.4vw,3.2rem)/1 var(--serif); color:var(--green); background:var(--stage); width:fit-content; padding-right:14px; position:relative}
  .assembly-page[data-page="lavandazen"] .steps .n::after{content:""; position:absolute; right:-2px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--green)}
  .assembly-page[data-page="lavandazen"] .steps li:last-child .n::after{background:transparent; border:1px solid var(--green)}
  .assembly-page[data-page="lavandazen"] .steps small{display:block; margin-top:12px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .steps p{margin:4px 0 0; font-size:1.05rem; max-width:28ch}
  .assembly-page[data-page="lavandazen"] .dose{margin:22px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:760px){
    .assembly-page[data-page="lavandazen"] .steps{grid-template-columns:1fr; gap:0}
    .assembly-page[data-page="lavandazen"] .steps::before{left:.55rem; right:auto; top:1rem; bottom:1rem; width:1px; height:auto}
    .assembly-page[data-page="lavandazen"] .steps::before{left:1.4rem; top:3.4rem; bottom:2rem}
    .assembly-page[data-page="lavandazen"] .steps li{display:grid; grid-template-columns:3.6rem 1fr; column-gap:14px; padding:0 0 36px 0}
    .assembly-page[data-page="lavandazen"] .steps .n{grid-row:1 / span 2; font-size:2.6rem; padding:0 0 8px; background:var(--stage)}
    .assembly-page[data-page="lavandazen"] .steps .n::after{display:none}
    .assembly-page[data-page="lavandazen"] .steps small{margin-top:10px}
  }

  /* Respiration typographique */
  .assembly-page[data-page="lavandazen"] .breath{background:var(--stage); padding-block:clamp(20px,2.4vw,32px) clamp(36px,4.5vw,60px); text-align:center}
  .assembly-page[data-page="lavandazen"] .breath .inner{border-top:1px solid var(--line); padding-top:clamp(30px,3.5vw,44px)}
  .assembly-page[data-page="lavandazen"] .breath p.q{margin:0 auto; max-width:24ch; font:300 clamp(1.8rem,3.7vw,3.3rem)/1.08 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="lavandazen"] .breath p.q span{display:block; color:var(--green); font-style:italic}
  .assembly-page[data-page="lavandazen"] .bottles{display:flex; justify-content:center; gap:clamp(6px,1.2vw,12px); margin:clamp(24px,3vw,36px) auto 10px}
  .assembly-page[data-page="lavandazen"] .bottles i{display:block; width:clamp(34px,6vw,64px); height:6px; border-radius:3px}
  .assembly-page[data-page="lavandazen"] .bottles-cap{margin:0; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .breath .btn{margin-top:20px}

  .assembly-page[data-page="lavandazen"] .frise{text-align:left; margin-top:clamp(22px,2.6vw,32px)}
  .assembly-page[data-page="lavandazen"] .j-stages{display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] .j-stage{padding:10px 16px 2px 0; border-right:1px solid var(--line); display:grid; gap:2px}
  .assembly-page[data-page="lavandazen"] .j-stage:last-child{border-right:0}
  .assembly-page[data-page="lavandazen"] .j-stage + .j-stage{padding-left:16px}
  .assembly-page[data-page="lavandazen"] .j-stage small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .j-stage b{font-weight:450; font-size:.98rem}
  .assembly-page[data-page="lavandazen"] .j-stage span{font-size:.82rem; color:var(--muted); font-variant-numeric:tabular-nums}
  .assembly-page[data-page="lavandazen"] .help{margin:14px 0 2px; font-size:.85rem; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .phase{margin-top:8px}
  .assembly-page[data-page="lavandazen"] .phase-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
  .assembly-page[data-page="lavandazen"] .phase-head h3{margin:0; font:450 1rem var(--sans); letter-spacing:-.02em}
  .assembly-page[data-page="lavandazen"] .phase-head span{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .days{display:grid; grid-template-columns:repeat(30,1fr); gap:3px; margin-top:5px; padding-bottom:14px}
  .assembly-page[data-page="lavandazen"] .day{position:relative; aspect-ratio:2.2; border:0; border-radius:4px; padding:0; cursor:pointer; transition:transform .15s}
  .assembly-page[data-page="lavandazen"] .day:hover,.assembly-page[data-page="lavandazen"] .day:focus-visible,.assembly-page[data-page="lavandazen"] .day[aria-pressed="true"]{transform:translateY(-3px)}
  .assembly-page[data-page="lavandazen"] .day[aria-pressed="true"]{outline:2px solid var(--ink); outline-offset:2px}
  .assembly-page[data-page="lavandazen"] .day.today::after{content:""; position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:var(--ink)}
  .assembly-page[data-page="lavandazen"] .mark{position:absolute; left:0; top:calc(100% + 3px); font:500 .62rem var(--sans); letter-spacing:.06em; color:var(--muted); white-space:nowrap; pointer-events:none; text-transform:lowercase}
  .assembly-page[data-page="lavandazen"] .readout{margin-top:10px; min-height:3em; display:grid; gap:2px; padding:10px 16px; border-left:3px solid var(--green); background:rgb(255 255 255 / 55%); border-radius:0 12px 12px 0}
  .assembly-page[data-page="lavandazen"] .readout small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .readout span{font:italic 400 1.02rem/1.4 var(--serif)}
  .assembly-page[data-page="lavandazen"] .fine{margin-top:10px; display:grid; gap:4px; font-size:.82rem; color:var(--muted); max-width:70ch}
  .assembly-page[data-page="lavandazen"] .frise .btn{margin-top:16px}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .j-stages{grid-template-columns:1fr 1fr} .assembly-page[data-page="lavandazen"] .j-stage{border-right:0; border-bottom:1px solid var(--line); padding:12px 0} .assembly-page[data-page="lavandazen"] .j-stage + .j-stage{padding-left:0} .assembly-page[data-page="lavandazen"] .days{grid-template-columns:repeat(15,1fr)} }

  /* =========== PLANTES =========== */
  .assembly-page[data-page="lavandazen"] .plants{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.4vw,36px)}
  .assembly-page[data-page="lavandazen"] .plants .head{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="lavandazen"] .plants .head h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="lavandazen"] .plants .head p{margin:0; color:var(--muted); font-size:1.02rem}
  .assembly-page[data-page="lavandazen"] .plants .head{margin-bottom:clamp(8px,1.5vw,20px)}
  .assembly-page[data-page="lavandazen"] .chapter{display:grid; grid-template-columns:42% 1fr; gap:clamp(28px,5vw,72px); align-items:center; padding-block:clamp(32px,4vw,52px); border-bottom:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] .chapter:last-of-type{border-bottom:0}
  .assembly-page[data-page="lavandazen"] .chapter.flip{grid-template-columns:1fr 42%}
  .assembly-page[data-page="lavandazen"] .chapter.flip .plate{order:2}
  .assembly-page[data-page="lavandazen"] .plate{position:relative; margin:0; aspect-ratio:5/4; border-radius:22px; overflow:hidden}
  .assembly-page[data-page="lavandazen"] .plate img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="lavandazen"] .plate.type{display:grid; place-content:center; text-align:center; gap:10px; padding:32px}
  .assembly-page[data-page="lavandazen"] .plate.type b{font:italic 300 clamp(2rem,3.4vw,3rem)/1.02 var(--serif)}
  .assembly-page[data-page="lavandazen"] .plate.type span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="lavandazen"] .plate.type .to-supply{font-size:.74rem; opacity:.7}
  .assembly-page[data-page="lavandazen"] .plate.romarin{background:radial-gradient(110% 90% at 30% 20%, #eef0e2, #cfd6bd 60%, #b3bf9c); color:#2f3d2a}
  .assembly-page[data-page="lavandazen"] .plate.sauge{background:radial-gradient(110% 90% at 70% 20%, #eef0ec, #cbd3cd 60%, #aab6ad); color:#2c3a33}
  .assembly-page[data-page="lavandazen"] .plate .no{position:absolute; left:22px; top:18px; font:300 1.3rem var(--serif); color:#fff; mix-blend-mode:difference; z-index:2}
  .assembly-page[data-page="lavandazen"] .plate.type .no{color:inherit; mix-blend-mode:normal}
  .assembly-page[data-page="lavandazen"] .plate .latin{position:absolute; left:22px; bottom:18px; font:italic 400 1rem var(--serif); color:#fff; text-shadow:0 1px 8px rgb(0 0 0 / 35%)}
  .assembly-page[data-page="lavandazen"] .chap small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .chap h3{font:330 clamp(1.9rem,3vw,2.7rem)/1.02 var(--serif); margin:8px 0 4px}
  .assembly-page[data-page="lavandazen"] .chap .lat{font:italic 400 1.1rem var(--serif); color:var(--muted); margin:0}
  .assembly-page[data-page="lavandazen"] .chap .angle{display:inline-flex; align-items:center; gap:10px; margin:14px 0 0; font:500 .78rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .chap .angle::before{content:""; width:26px; height:1px; background:currentColor}
  .assembly-page[data-page="lavandazen"] .chap p.txt{margin:10px 0 0; max-width:58ch; font-size:.97rem}
  .assembly-page[data-page="lavandazen"] .chap blockquote{margin:18px 0 0; padding-left:18px; border-left:1px solid var(--green); font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); max-width:30ch}
  .assembly-page[data-page="lavandazen"] .vlink{display:flex; align-items:center; gap:14px; margin-top:18px; text-decoration:none; width:fit-content}
  .assembly-page[data-page="lavandazen"] .vlink .dot{width:40px; height:40px; border-radius:50%; border:1px solid var(--ink); display:grid; place-items:center; transition:background .3s}
  .assembly-page[data-page="lavandazen"] .vlink .dot::before{content:""; margin-left:3px; border-left:11px solid var(--ink); border-block:7px solid transparent}
  .assembly-page[data-page="lavandazen"] .vlink:hover .dot{background:var(--ink)} .assembly-page[data-page="lavandazen"] .vlink:hover .dot::before{border-left-color:var(--paper)}
  .assembly-page[data-page="lavandazen"] .vlink span{display:grid; line-height:1.3}
  .assembly-page[data-page="lavandazen"] .vlink b{font-weight:500} .assembly-page[data-page="lavandazen"] .vlink i{font-style:normal; font-size:.82rem; color:var(--muted)}
  @media (max-width:860px){
    .assembly-page[data-page="lavandazen"] .plants .head{grid-template-columns:1fr}
    .assembly-page[data-page="lavandazen"] .chapter{grid-template-columns:1fr; gap:28px}
    .assembly-page[data-page="lavandazen"] .chapter.flip{grid-template-columns:1fr}
    .assembly-page[data-page="lavandazen"] .chapter.flip .plate{order:0}
    .assembly-page[data-page="lavandazen"] .plate{aspect-ratio:4/3; border-radius:18px}
  }

  /* Trois plantes : trois colonnes vidéo */
  .assembly-page[data-page="lavandazen"] .trio{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,44px); margin-top:clamp(16px,2vw,26px)}
  .assembly-page[data-page="lavandazen"] .plant{display:flex; flex-direction:column; border-top:1px solid var(--line); padding-top:16px}
  .assembly-page[data-page="lavandazen"] .thumb{display:block; width:80%; aspect-ratio:16/9; border-radius:4px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="lavandazen"] .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease, filter .4s}
  .assembly-page[data-page="lavandazen"] .thumb:hover img{transform:scale(1.03); filter:brightness(1.05)}
  .assembly-page[data-page="lavandazen"] .plant h3{font:330 clamp(1.25rem,1.7vw,1.55rem)/1.15 var(--serif); margin:14px 0 2px}
  .assembly-page[data-page="lavandazen"] .plant .lat{margin:0; font:italic 400 .98rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .plant .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .plant .txt{margin:8px 0 14px; font-size:.93rem; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .plant blockquote{margin:auto 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.05rem/1.35 var(--serif); color:var(--green)}
  @media (max-width:900px){ .assembly-page[data-page="lavandazen"] .thumb{width:100%} .assembly-page[data-page="lavandazen"] .trio{grid-template-columns:1fr; gap:40px} }

  /* =========== HYDROLAT =========== */
  .assembly-page[data-page="lavandazen"] .hydro{background:#fbf9f3; padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="lavandazen"] .hydro .top{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:end}
  .assembly-page[data-page="lavandazen"] .hydro h2{font:330 clamp(2rem,3.6vw,3.2rem)/1 var(--serif); margin:10px 0 0}
  .assembly-page[data-page="lavandazen"] .hydro h2 em{display:block; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .hydro .intro{margin:0; font-size:.97rem; max-width:52ch}
  .assembly-page[data-page="lavandazen"] .figs{display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(20px,2.4vw,28px); border-top:1px solid var(--ink)}
  .assembly-page[data-page="lavandazen"] .fig{padding:12px 24px 0 0; display:flex; align-items:baseline; gap:12px}
  .assembly-page[data-page="lavandazen"] .fig + .fig{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] .fig strong{display:block; flex:none; font:300 clamp(2rem,3.2vw,2.8rem)/1 var(--serif); letter-spacing:-.04em}
  .assembly-page[data-page="lavandazen"] .fig strong sup{font-size:.35em; letter-spacing:0; vertical-align:super; margin-left:4px}
  .assembly-page[data-page="lavandazen"] .fig span{display:block; margin-top:0; font-size:.9rem; color:var(--muted); max-width:22ch}
  .assembly-page[data-page="lavandazen"] .labels{display:flex; flex-wrap:wrap; gap:6px 22px; margin:18px 0 0; padding:0; list-style:none; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .labels li{display:flex; align-items:center; gap:10px}
  .assembly-page[data-page="lavandazen"] .labels li::before{content:""; width:5px; height:5px; border-radius:50%; background:currentColor}
  .assembly-page[data-page="lavandazen"] .spec{display:grid; grid-template-columns:repeat(3,1fr); gap:0 clamp(20px,3vw,44px); margin:14px 0 0}
  .assembly-page[data-page="lavandazen"] .spec div{display:grid; grid-template-columns:1fr; gap:2px; padding:8px 0; font-size:.9rem; border-top:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] .spec dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .spec dd{margin:0}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .hydro .top,.assembly-page[data-page="lavandazen"] .spec{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .figs{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .fig,.assembly-page[data-page="lavandazen"] .fig+.fig{padding:22px 0; border-left:0; border-bottom:1px solid var(--line)} .assembly-page[data-page="lavandazen"] .spec div{grid-template-columns:1fr; gap:2px} }

  /* Accordéons sobres */
  .assembly-page[data-page="lavandazen"] details.acc{border-top:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] details.acc:last-of-type{border-bottom:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] details.acc summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; font:400 1.15rem var(--serif)}
  .assembly-page[data-page="lavandazen"] details.acc summary::-webkit-details-marker{display:none}
  .assembly-page[data-page="lavandazen"] details.acc summary::after{content:"+"; font:300 1.5rem/1 var(--sans); color:var(--green); transition:transform .3s}
  .assembly-page[data-page="lavandazen"] details.acc[open] summary::after{transform:rotate(45deg)}
  .assembly-page[data-page="lavandazen"] details.acc > div{padding:0 0 20px; max-width:62ch; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .how{margin-top:10px}

  /* =========== PRÉCAUTIONS =========== */
  .assembly-page[data-page="lavandazen"] .prec{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="lavandazen"] .prec .grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(24px,5vw,72px); align-items:start}
  .assembly-page[data-page="lavandazen"] .prec h2{font:330 clamp(1.8rem,3vw,2.4rem)/1.1 var(--serif); margin:14px 0 0}
  .assembly-page[data-page="lavandazen"] .prec .mand{margin:0 0 18px; font-size:.95rem; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .prec .mand b{color:var(--ink); font-weight:500}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .prec .grid{grid-template-columns:1fr} }

  /* =========== PHILOSOPHIE =========== */
  .assembly-page[data-page="lavandazen"] .philo{background:var(--dark); color:var(--cream); padding-block:clamp(54px,7.5vw,112px); text-align:center; position:relative; overflow:hidden}
  .assembly-page[data-page="lavandazen"] .philo::before{content:""; position:absolute; inset:auto -20% -60% -20%; height:120%; background:radial-gradient(closest-side, rgb(156 192 224 / 14%), transparent 70%)}
  .assembly-page[data-page="lavandazen"] .philo .inner{position:relative}
  .assembly-page[data-page="lavandazen"] .philo .eyebrow{color:var(--mint); justify-content:center}
  .assembly-page[data-page="lavandazen"] .philo p.q{margin:18px auto 0; max-width:18ch; font:300 clamp(2rem,4vw,3.5rem)/1.04 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="lavandazen"] .philo p.q em{color:#cfe2f3}
  .assembly-page[data-page="lavandazen"] .philo a{display:inline-block; margin-top:22px; color:var(--cream)}

  /* =========== GAMME =========== */
  .assembly-page[data-page="lavandazen"] .gamme{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="lavandazen"] .gamme h2{font:330 clamp(1.6rem,2.4vw,2.1rem)/1.05 var(--serif); margin:8px 0 0}
  .assembly-page[data-page="lavandazen"] .range{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:clamp(14px,1.8vw,22px); border-top:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] .prod{display:grid; gap:4px; align-content:start; padding:12px 14px 6px; border-right:1px solid var(--line); text-decoration:none; position:relative}
  .assembly-page[data-page="lavandazen"] .prod:last-child{border-right:0}
  .assembly-page[data-page="lavandazen"] .prod .shot{height:clamp(116px,10.5vw,145px); display:flex; align-items:flex-end; justify-content:center; margin-bottom:6px; border-radius:16px; background:radial-gradient(90% 70% at 50% 80%, #efe6d2, transparent 70%)}
  .assembly-page[data-page="lavandazen"] .prod .shot img{height:100%; width:auto; max-width:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .5s}
  .assembly-page[data-page="lavandazen"] .prod:hover .shot img{transform:translateY(-6px)}
  .assembly-page[data-page="lavandazen"] .prod small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .prod b{font:400 1.15rem/1.15 var(--serif)}
  .assembly-page[data-page="lavandazen"] .prod i.go{font-style:normal; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .prod.here{background:var(--paper-2)}
  .assembly-page[data-page="lavandazen"] .prod .chip{position:absolute; top:14px; right:14px; font:500 .64rem var(--sans); letter-spacing:.12em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background:var(--green); color:var(--paper)}
  .assembly-page[data-page="lavandazen"] .prod .chip.soon{background:transparent; color:var(--muted); border:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] .rope{display:block; width:min(140px,100%); height:8px; border-radius:6px; margin:2px 0 2px;
    background:repeating-linear-gradient(118deg, var(--c) 0 5px, color-mix(in srgb, var(--c) 68%, #000) 5px 6.5px, color-mix(in srgb, var(--c) 78%, #fff) 6.5px 8.5px)}
  .assembly-page[data-page="lavandazen"] .cup{width:auto; height:62%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 50% 70%, #fbe3c2, #f1cfa3 60%, #e7bd8c); display:grid; place-items:center; align-self:center}
  .assembly-page[data-page="lavandazen"] .cup svg{width:62%; height:62%}
  .assembly-page[data-page="lavandazen"] .cup .mug{fill:#fffaf2; stroke:#8a5a2b; stroke-width:1.6; stroke-linejoin:round}
  .assembly-page[data-page="lavandazen"] .cup .handle,.assembly-page[data-page="lavandazen"] .cup .saucer{fill:none; stroke:#8a5a2b; stroke-width:1.6; stroke-linecap:round}
  .assembly-page[data-page="lavandazen"] .cup .steam{fill:none; stroke:#8a5a2b; stroke-width:1.5; stroke-linecap:round; opacity:.45}
  .assembly-page[data-page="lavandazen"] .also{margin:12px 0 0; font-size:.92rem; color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="lavandazen"] .range{grid-template-columns:repeat(5,minmax(200px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="lavandazen"] .prod{scroll-snap-align:start} }

  /* =========== CTA FINAL =========== */
  .assembly-page[data-page="lavandazen"] .final{background:var(--dark); color:var(--cream); padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="lavandazen"] .final .inner{display:grid; grid-template-columns:.75fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="lavandazen"] .final figure{margin:0 auto; width:100%; max-width:330px; position:relative; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side, rgb(243 236 220 / 22%), rgb(243 236 220 / 6%) 60%, transparent 72%); display:grid; place-items:center}
  .assembly-page[data-page="lavandazen"] .final figure img{width:78%; filter:drop-shadow(0 40px 40px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="lavandazen"] .final .eyebrow{color:var(--mint)}
  .assembly-page[data-page="lavandazen"] .final h2{font:300 clamp(2.3rem,4.4vw,3.9rem)/1 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="lavandazen"] .final .prog{margin:0; font-size:1.1rem; color:#d7cfbd}
  .assembly-page[data-page="lavandazen"] .final .signup label{color:var(--cream)}
  .assembly-page[data-page="lavandazen"] .final .signup .row{border-color:rgb(243 236 220 / 60%)}
  .assembly-page[data-page="lavandazen"] .final .signup input{color:var(--cream)} .assembly-page[data-page="lavandazen"] .final .signup input::placeholder{color:#a79f8b}
  .assembly-page[data-page="lavandazen"] .final .signup button{color:var(--mint)}
  .assembly-page[data-page="lavandazen"] .final .signup p{color:#a79f8b}
  .assembly-page[data-page="lavandazen"] .final .btn{background:var(--cream); color:var(--ink)}
  .assembly-page[data-page="lavandazen"] .final .btn-ghost{background:transparent; color:var(--cream)}
  .assembly-page[data-page="lavandazen"] .final .j0{display:inline-block; margin-top:16px; color:var(--mint)}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .final .inner{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .final figure{width:min(80%,340px); margin-inline:auto} }

  /* =========== PIED DE PAGE (repris de la home) =========== */
  .assembly-page[data-page="lavandazen"] footer{background:#0b2140; color:var(--cream); padding-block:56px 40px; font-size:.92rem}
  .assembly-page[data-page="lavandazen"] footer .grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px}
  .assembly-page[data-page="lavandazen"] footer .man{font:330 1.6rem/1.15 var(--serif); margin:0 0 10px}
  .assembly-page[data-page="lavandazen"] footer h4{margin:0 0 12px; font:500 .8rem var(--sans); color:#9cc0e0; letter-spacing:.04em}
  .assembly-page[data-page="lavandazen"] footer ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
  .assembly-page[data-page="lavandazen"] footer a{text-decoration:none}
  .assembly-page[data-page="lavandazen"] footer .legal{margin-top:36px; padding-top:18px; border-top:1px solid rgb(255 255 255 / 12%); font-size:.78rem; color:#a9b8ae; display:flex; flex-wrap:wrap; gap:6px 18px}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] footer .grid{grid-template-columns:1fr 1fr} }

  /* ---- Barre d'action mobile ---- */
  .assembly-page[data-page="lavandazen"] .dock{position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:40; display:none; gap:8px; padding:8px; border-radius:999px; background:rgb(23 34 52 / 94%); backdrop-filter:blur(8px); box-shadow:0 14px 40px -14px rgb(0 0 0 / 50%); transform:translateY(140%); transition:transform .4s}
  .assembly-page[data-page="lavandazen"] .dock.on{transform:none}
  .assembly-page[data-page="lavandazen"] .dock a{flex:1; text-align:center; text-decoration:none; font:500 .92rem var(--sans); padding:12px 10px; border-radius:999px; color:var(--cream)}
  .assembly-page[data-page="lavandazen"] .dock a:first-child{background:var(--cream); color:var(--ink)}
  @media (max-width:760px){ .assembly-page[data-page="lavandazen"] .dock{display:flex} .assembly-page[data-page="lavandazen"]{padding-bottom:84px} }

  /* ---- À valider ---- */
  .assembly-page[data-page="lavandazen"] .approve{padding-block:50px 70px}
  .assembly-page[data-page="lavandazen"] .approve .box{background:var(--note); border-radius:22px; padding:clamp(18px,3vw,34px); display:grid; gap:14px; font-size:.95rem}
  .assembly-page[data-page="lavandazen"] .approve h2{margin:0; font:400 1.7rem/1.2 var(--serif)}
  .assembly-page[data-page="lavandazen"] .approve h3{margin:8px 0 0; font:500 1rem var(--sans)}
  .assembly-page[data-page="lavandazen"] .approve ul{margin:0; padding-left:1.2em; display:grid; gap:6px}
  .assembly-page[data-page="lavandazen"].clean .approve{display:none}

  @media (prefers-reduced-motion:reduce){ .assembly-page[data-page="lavandazen"]{scroll-behavior:auto} .assembly-page[data-page="lavandazen"] *{animation:none!important; transition:none!important} }

  /* =========== Déclinaisons produit =========== */
  .assembly-page[data-page="lavandazen"] .ingr{display:grid; grid-template-columns:42% 1fr; gap:clamp(24px,4vw,56px); align-items:center; margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:22px}
  .assembly-page[data-page="lavandazen"] .ingr figure{margin:0; aspect-ratio:5/4; border-radius:18px; overflow:hidden}
  .assembly-page[data-page="lavandazen"] .ingr figure img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="lavandazen"] .ingr small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .ingr h3{font:330 clamp(1.6rem,2.4vw,2.2rem)/1.05 var(--serif); margin:8px 0 2px}
  .assembly-page[data-page="lavandazen"] .ingr .lat{margin:0; font:italic 400 1rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .ingr .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .ingr .txt{margin:10px 0 0; font-size:.95rem; color:var(--muted); max-width:58ch}
  .assembly-page[data-page="lavandazen"] .ingr blockquote{margin:16px 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.1rem/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="lavandazen"] .shorts{display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(10px,1.4vw,18px); margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:20px}
  .assembly-page[data-page="lavandazen"] .short{display:grid; gap:8px; align-content:start; text-decoration:none}
  .assembly-page[data-page="lavandazen"] .short .v{position:relative; aspect-ratio:9/16; border-radius:10px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="lavandazen"] .short .v img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease}
  .assembly-page[data-page="lavandazen"] .short:hover .v img{transform:scale(1.03)}
  .assembly-page[data-page="lavandazen"] .short .v::after{content:""; position:absolute; left:50%; top:50%; width:44px; height:44px; margin:-22px 0 0 -22px; border-radius:50%; background:rgb(243 236 220 / 90%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%231e2a23'/%3E%3C/svg%3E") center/22px no-repeat}
  .assembly-page[data-page="lavandazen"] .short small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .short b{font:400 .98rem/1.3 var(--serif)}
  @media (max-width:900px){ .assembly-page[data-page="lavandazen"] .ingr{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .shorts{grid-template-columns:repeat(6,minmax(150px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="lavandazen"] .short{scroll-snap-align:start} }
  .assembly-page[data-page="lavandazen"] .safety{margin:0 0 18px; padding:16px 18px; border-left:3px solid #a0522d; background:#fbf6ee; border-radius:0 12px 12px 0; font-size:.9rem; color:var(--ink)}
  .assembly-page[data-page="lavandazen"] .safety strong{display:block; font:600 .8rem var(--sans); letter-spacing:.2em; color:#a0522d; margin-bottom:6px}
  .assembly-page[data-page="lavandazen"] .safety p{margin:0 0 6px} .assembly-page[data-page="lavandazen"] .safety p:last-child{margin:0}
  .assembly-page[data-page="lavandazen"] .safety .ids{margin-top:10px; color:var(--muted); font-size:.84rem}
  .assembly-page[data-page="lavandazen"] .ingr figure.type-plate{display:grid; place-content:center; text-align:center; gap:10px; padding:28px; background:radial-gradient(110% 90% at 30% 20%, #efeaf3, #d9d0e2 60%, #bfb2cf); color:#3d3350}
  .assembly-page[data-page="lavandazen"] .type-plate b{font:italic 300 clamp(1.8rem,3vw,2.6rem)/1.05 var(--serif)}
  .assembly-page[data-page="lavandazen"] .type-plate span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="lavandazen"] .type-plate .to-supply{font-size:.72rem; opacity:.7}
  .assembly-page[data-page="lavandazen"] .final figure.tall img{width:44%; border-radius:12px; filter:drop-shadow(0 30px 30px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="lavandazen"] .film-body.vertical{grid-template-columns:minmax(180px,260px) 1fr; justify-content:start}
  .assembly-page[data-page="lavandazen"] .film-body.vertical .short .v{border-radius:14px; box-shadow:0 30px 60px -34px rgb(40 30 10 / 55%)}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .film-body.vertical{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .film-body.vertical .short{width:min(62%,260px)} }
  /* =========== NOTRE APPROCHE =========== */
  .assembly-page[data-page="lavandazen"] .appro{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="lavandazen"] .appro-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="lavandazen"] .appro h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.05 var(--serif); margin:12px 0 10px}
  .assembly-page[data-page="lavandazen"] .appro .man{margin:0; font:330 clamp(1.15rem,1.6vw,1.4rem)/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="lavandazen"] .appro .man em{display:block}
  .assembly-page[data-page="lavandazen"] .appro-txt p{margin:0 0 10px; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .appro-more{margin-top:clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="lavandazen"] .appro-more > summary{font:500 .74rem var(--sans)!important; letter-spacing:.16em; text-transform:uppercase}
  .assembly-page[data-page="lavandazen"] .principes{display:grid; grid-template-columns:1fr 1fr; gap:14px 40px; color:var(--ink)}
  .assembly-page[data-page="lavandazen"] .principes b{font-weight:500}
  .assembly-page[data-page="lavandazen"] .principes p{margin:4px 0 0; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .appro .sub-h{margin:20px 0 4px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .appro-more > div{max-width:none!important}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .appro-grid,.assembly-page[data-page="lavandazen"] .principes{grid-template-columns:1fr} }
  .assembly-page[data-page="lavandazen"] .appro-more > summary{justify-content:flex-start!important; gap:14px}
  .assembly-page[data-page="lavandazen"] .appro-more > summary::after{order:0}
  /* =========== CE QU'IL ACCOMPAGNE =========== */
  .assembly-page[data-page="lavandazen"] .benef{padding-block:clamp(32px,4vw,56px) 0}
  .assembly-page[data-page="lavandazen"] .benef .inner{border-top:1px solid var(--line); padding-top:clamp(24px,3vw,40px)}
  .assembly-page[data-page="lavandazen"] .benef-head{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="lavandazen"] .benef h2{font:330 clamp(1.7rem,2.7vw,2.4rem)/1.12 var(--serif); margin:12px 0 0; max-width:22ch}
  .assembly-page[data-page="lavandazen"] .benef-lead{margin:0; color:var(--muted); max-width:52ch}
  .assembly-page[data-page="lavandazen"] .reperes{list-style:none; margin:clamp(22px,2.8vw,34px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr)}
  .assembly-page[data-page="lavandazen"] .reperes li{padding:4px 24px 0 0; display:grid; gap:6px; align-content:start}
  .assembly-page[data-page="lavandazen"] .reperes li + li{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="lavandazen"] .reperes small{font:500 .7rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .reperes b{font:400 1.18rem/1.25 var(--serif)}
  .assembly-page[data-page="lavandazen"] .reperes p{margin:0; font-size:.92rem; color:var(--muted)}
  .assembly-page[data-page="lavandazen"] .benef-foot{margin:18px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .benef-head,.assembly-page[data-page="lavandazen"] .reperes{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .reperes li,.assembly-page[data-page="lavandazen"] .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* Bloc « accompagne » : texte + emplacement image à droite */
  .assembly-page[data-page="lavandazen"] .benef-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:stretch}
  .assembly-page[data-page="lavandazen"] .benef-main h2{max-width:24ch}
  .assembly-page[data-page="lavandazen"] .benef-main .benef-lead{margin:14px 0 0}
  .assembly-page[data-page="lavandazen"] .benef-main .reperes li{padding-right:18px} .assembly-page[data-page="lavandazen"] .benef-main .reperes li + li{padding-left:18px}
  .assembly-page[data-page="lavandazen"] .benef-img{margin:0; border-radius:20px; overflow:hidden; min-height:320px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="lavandazen"] .benef-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="lavandazen"] .benef-img .ph{height:100%; min-height:320px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="lavandazen"] .benef-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .benef-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="lavandazen"] .benef-grid{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .benef-img{min-height:0; aspect-ratio:16/9} .assembly-page[data-page="lavandazen"] .benef-img .ph{min-height:0} .assembly-page[data-page="lavandazen"] .benef-main .reperes{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .benef-main .reperes li,.assembly-page[data-page="lavandazen"] .benef-main .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* ---- Passe du 28/09 ---- */
  /* 1 · Respiration : première phrase sur une ligne, suite plus petite */
  .assembly-page[data-page="lavandazen"] .breath p.q{max-width:none; font-size:clamp(1.5rem,2.9vw,2.7rem); text-wrap:balance}
  .assembly-page[data-page="lavandazen"] .breath p.q span{font-size:clamp(1.15rem,1.9vw,1.75rem); line-height:1.3; margin-top:10px; max-width:40ch; margin-inline:auto}
  /* 2 · Rituel -20 % */
  .assembly-page[data-page="lavandazen"] .rituel{padding-block:clamp(28px,3.2vw,44px) clamp(16px,2vw,24px)}
  .assembly-page[data-page="lavandazen"] .rituel h2{font-size:clamp(1.7rem,3vw,2.7rem)}
  .assembly-page[data-page="lavandazen"] .steps{margin-top:clamp(18px,2.4vw,30px)}
  .assembly-page[data-page="lavandazen"] .steps::before{top:1.3rem}
  .assembly-page[data-page="lavandazen"] .steps .n{font-size:clamp(1.9rem,2.7vw,2.6rem)}
  .assembly-page[data-page="lavandazen"] .steps small{margin-top:8px; font-size:.66rem}
  .assembly-page[data-page="lavandazen"] .steps p{font-size:.95rem}
  .assembly-page[data-page="lavandazen"] .dose{margin-top:16px; font-size:.84rem}
  /* 3 · Ce qu'il y a dedans : texte sous le titre, visuel à droite */
  .assembly-page[data-page="lavandazen"] .hydro .top{align-items:stretch}
  .assembly-page[data-page="lavandazen"] .hydro .top .intro{margin-top:14px}
  .assembly-page[data-page="lavandazen"] .side-img{margin:0; border-radius:20px; overflow:hidden; min-height:260px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="lavandazen"] .side-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="lavandazen"] .side-img .ph{height:100%; min-height:260px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="lavandazen"] .side-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="lavandazen"] .side-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  /* 4 · Composition dépliable */
  .assembly-page[data-page="lavandazen"] .spec-acc{margin-top:18px}
  .assembly-page[data-page="lavandazen"] .spec-acc > div, .assembly-page[data-page="lavandazen"] .spec-acc > dl{max-width:none}
  .assembly-page[data-page="lavandazen"] .spec-acc .spec{margin:0 0 16px}
  @media (max-width:860px){ .assembly-page[data-page="lavandazen"] .breath p.q span{max-width:none} .assembly-page[data-page="lavandazen"] .side-img, .assembly-page[data-page="lavandazen"] .side-img .ph{min-height:0} .assembly-page[data-page="lavandazen"] .side-img{aspect-ratio:4/3} }
.assembly-page[data-page="lavandazen"] .breath p.q span{max-width:none; font-size:clamp(1rem,1.5vw,1.4rem)}
@media (min-width:900px){ .assembly-page[data-page="lavandazen"] .breath p.q span{white-space:nowrap} }
.assembly-page[data-page="lavandazen"] .side-img{position:relative}
.assembly-page[data-page="lavandazen"] .side-title{position:absolute; top:clamp(20px,2.4vw,34px); right:clamp(20px,2.4vw,34px); left:clamp(20px,2.4vw,34px); text-align:right; z-index:1}
.assembly-page[data-page="lavandazen"] .side-title .eyebrow{justify-content:flex-end}
.assembly-page[data-page="lavandazen"] .hydro .top > div > .intro:first-child{margin-top:0}
.assembly-page[data-page="lavandazen"] .hydro .top{align-items:stretch}
.assembly-page[data-page="lavandazen"] .side-img .ph{place-content:end center}
@media (max-width:860px){ .assembly-page[data-page="lavandazen"] .side-img{aspect-ratio:auto} .assembly-page[data-page="lavandazen"] .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="lavandazen"] .side-img .ph{min-height:120px; border-top:0} }
@media (max-width:860px){ .assembly-page[data-page="lavandazen"] .hydro .top .side-img{order:-1} .assembly-page[data-page="lavandazen"] .side-img .ph{min-height:140px; border:0; place-content:end center} }
.assembly-page[data-page="lavandazen"] .benef-img{position:relative}
.assembly-page[data-page="lavandazen"] .benef-img .ph{place-content:end center}
.assembly-page[data-page="lavandazen"] .benef-img .side-title h2{margin-left:auto; max-width:18ch}
.assembly-page[data-page="lavandazen"] .benef-img .side-title h2 em{color:var(--green)}
.assembly-page[data-page="lavandazen"] .benef-main .benef-lead{margin-top:0}
@media (max-width:980px){ .assembly-page[data-page="lavandazen"] .benef-grid .benef-img{order:-1; aspect-ratio:auto} .assembly-page[data-page="lavandazen"] .benef-img .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="lavandazen"] .benef-img .ph{min-height:120px; border:0} }
/* Approche avec image à gauche, puis alternance inversée des chapitres suivants */
.assembly-page[data-page="lavandazen"] .appro.has-img .inner{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,56px); align-items:stretch}
.assembly-page[data-page="lavandazen"] .appro.has-img .appro-grid{grid-template-columns:1fr; gap:18px}
.assembly-page[data-page="lavandazen"] .appro-img{min-height:360px}
/* Alternance gauche/droite pilotée par la classe media-right (posée par alternance.py) */
@media (min-width:861px){
  .assembly-page[data-page="lavandazen"] .film-sec.media-right .film-body{grid-template-columns:1fr 1.45fr} .assembly-page[data-page="lavandazen"] .film-sec.media-right .film-body > .film{order:2}
  .assembly-page[data-page="lavandazen"] .film-sec.media-right .film-body.vertical{grid-template-columns:1fr minmax(180px,260px)} .assembly-page[data-page="lavandazen"] .film-sec.media-right .film-body.vertical > .short{order:2}
  .assembly-page[data-page="lavandazen"] .appro.has-img.media-right .inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)} .assembly-page[data-page="lavandazen"] .appro.has-img.media-right .appro-img{order:2}
  .assembly-page[data-page="lavandazen"] .appro.has-img.media-right .appro-main{grid-column:1; grid-row:1}
  .assembly-page[data-page="lavandazen"] .hydro:not(.media-right) .top .side-img{order:-1}
  .assembly-page[data-page="lavandazen"] .final.media-right .inner{grid-template-columns:1fr .75fr} .assembly-page[data-page="lavandazen"] .final.media-right .inner > figure{order:2}
}
@media (min-width:901px){ .assembly-page[data-page="lavandazen"] .plants.media-right .ingr{grid-template-columns:1fr 42%} .assembly-page[data-page="lavandazen"] .plants.media-right .ingr > figure{order:2} }
@media (max-width:860px){ .assembly-page[data-page="lavandazen"] .appro.has-img .inner{grid-template-columns:1fr} .assembly-page[data-page="lavandazen"] .appro-img{min-height:0; aspect-ratio:4/5; max-height:420px} }
.assembly-page[data-page="lavandazen"] .ftip{position:absolute; z-index:5; width:max-content; max-width:min(320px,calc(100vw - 32px)); padding:10px 14px; border-radius:12px; background:#172234; color:#f3ecdc; box-shadow:0 18px 40px -18px rgb(0 0 0 / 55%); pointer-events:none; display:grid; gap:3px}
.assembly-page[data-page="lavandazen"] .ftip small{font:500 .66rem/1.3 var(--sans, system-ui); letter-spacing:.12em; text-transform:uppercase; color:#9cc0e0}
.assembly-page[data-page="lavandazen"] .ftip span{font:italic 400 1rem/1.35 var(--serif, Georgia, serif)}
.assembly-page[data-page="lavandazen"] .ftip::after{content:""; position:absolute; left:var(--ax,50%); top:100%; margin-left:-6px; border:6px solid transparent; border-top-color:#172234}
.assembly-page[data-page="lavandazen"] .ftip.below::after{top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:#172234}
.assembly-page[data-page="lavandazen"] .sr-only{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.assembly-page[data-page="lavandazen"] .benef-main .benef-lead{margin-top:14px}
.assembly-page[data-page="lavandazen"] .benef h2 em{color:var(--green)}

/* ---- Ajouts du 29.09.2026 ---- */
.assembly-page[data-page="lavandazen"] .pending{white-space:nowrap}
.assembly-page[data-page="lavandazen"] .pending::after{content:"en attente de validation"; display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px; background:#ffe9a8; color:#4a3a00; font:500 .6rem/1.5 var(--sans); letter-spacing:.06em; text-transform:uppercase; vertical-align:2px}
.assembly-page[data-page="lavandazen"].clean .pending::after{display:none}
.assembly-page[data-page="lavandazen"] .research{margin:14px 0 4px; padding:14px 16px; border-left:2px solid var(--green); background:var(--paper-2); border-radius:0 12px 12px 0}
.assembly-page[data-page="lavandazen"] .research small{display:block; font:500 .68rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:6px}
.assembly-page[data-page="lavandazen"] .research p{margin:0 0 8px; font-size:.95rem; line-height:1.55}
.assembly-page[data-page="lavandazen"] .research p:last-child{margin-bottom:0}
.assembly-page[data-page="lavandazen"] .research cite{font-style:italic; color:var(--muted); white-space:nowrap}
.assembly-page[data-page="lavandazen"] .study-note{margin:22px 0 0; color:var(--muted); font-size:.92rem; max-width:70ch}
.assembly-page[data-page="lavandazen"] details.acc.sources ol{margin:8px 0 0; padding-left:1.2em; display:grid; gap:8px; font-size:.86rem; color:var(--muted)}
.assembly-page[data-page="lavandazen"] details.acc.sources a{color:inherit}
.assembly-page[data-page="lavandazen"] .variant{display:inline-block; margin:4px 0 0; padding:3px 12px; border:1px solid var(--line); border-radius:999px; font-size:.86rem}
.assembly-page[data-page="lavandazen"] .warnbox{margin:18px 0 0; padding:14px 16px; border:1.5px solid #c9822b; border-radius:14px; background:#fff6e6}
.assembly-page[data-page="lavandazen"] .warnbox b{display:block; letter-spacing:.08em}
.assembly-page[data-page="lavandazen"] .warnbox p{margin:6px 0 0; font-size:.9rem}

/* ---- Bande philosophie : fond « bleu et or » (02.10.2026) ----
   Arbre lumineux à droite, flux de particules à gauche, centre sombre pour le texte.
   Un voile léger, plus dense au centre, garde la phrase lisible. Lente dérive de 28 s,
   coupée si l'animation est désactivée. Sur téléphone, le cadrage montre l'arbre. */
.assembly-page[data-page="lavandazen"] .philo{background:#071a33}
.assembly-page[data-page="lavandazen"] .philo::before{inset:-5%; height:auto; background:url("./public/assemblage/web/6f9155f46444ea8e-1920.webp") center 55% / cover no-repeat; animation:philoDrift 28s ease-in-out infinite alternate; will-change:transform}
.assembly-page[data-page="lavandazen"] .philo::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 50% 70% at 50% 45%, rgb(5 18 38 / 62%), rgb(5 18 38 / 28%) 75%, rgb(5 18 38 / 14%))}
.assembly-page[data-page="lavandazen"] .philo .inner{z-index:1}
@keyframes philoDrift{from{transform:scale(1)} to{transform:scale(1.06) translate(-1%,-.6%)}}
@media (max-width:760px){ .assembly-page[data-page="lavandazen"] .philo::before{background-size:auto 130%; background-position:82% 50%} .assembly-page[data-page="lavandazen"] .philo::after{background:rgb(5 18 38 / 58%)} }
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="lavandazen"] .philo::before{animation:none} }

/* ---- Lecteur vidéo intégré (02.10.2026) ---- */
.assembly-page[data-page="lavandazen"] .yt-dlg{padding:0; border:0; background:transparent; max-width:none; max-height:none; width:min(1100px,92vw,calc((100vh - 90px) * 16 / 9)); overflow:visible}
.assembly-page[data-page="lavandazen"] .yt-dlg::backdrop{background:rgb(5 18 38 / 82%); backdrop-filter:blur(3px)}
.assembly-page[data-page="lavandazen"] .yt-dlg.short{width:min(420px,92vw, calc((100vh - 90px) * 9 / 16))}
.assembly-page[data-page="lavandazen"] .yt-box{display:grid; gap:10px}
.assembly-page[data-page="lavandazen"] .yt-frame{aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#000; box-shadow:0 30px 80px -20px rgb(0 0 0 / 70%)}
.assembly-page[data-page="lavandazen"] .yt-dlg.short .yt-frame{aspect-ratio:9/16}
.assembly-page[data-page="lavandazen"] .yt-frame iframe{width:100%; height:100%; border:0; display:block}
.assembly-page[data-page="lavandazen"] .yt-bar{display:flex; justify-content:space-between; align-items:center; gap:12px}
.assembly-page[data-page="lavandazen"] .yt-bar a,.assembly-page[data-page="lavandazen"] .yt-bar button{font:500 .85rem var(--sans); color:var(--cream); background:none; border:1px solid rgb(243 236 220 / 35%); border-radius:999px; padding:8px 16px; cursor:pointer; text-decoration:none}
.assembly-page[data-page="lavandazen"] .yt-bar a:hover,.assembly-page[data-page="lavandazen"] .yt-bar button:hover{background:rgb(243 236 220 / 12%)}

/* ---- Carrousels des fiches (02.10.2026) : fondu toutes les 5 s, pastilles, pause au survol ----
   .hero-carousel = image d'en-tête (cadre carré) ; .life-carousel = « Ce que … accompagne » (4:5).
   .slide.full occupe tout le cadre (photo) ; sans .full, l'image est détourée et contenue. */
.assembly-page[data-page="lavandazen"] .hero-carousel .slide{opacity:0; transition:opacity .9s ease; mix-blend-mode:normal; animation:none}
.assembly-page[data-page="lavandazen"] .hero-carousel .slide.on{opacity:1}
.assembly-page[data-page="lavandazen"] .hero-carousel .slide.full{inset:0; width:100%; height:100%; object-fit:cover}
.assembly-page[data-page="lavandazen"] .hero-dots{position:absolute; left:50%; bottom:14px; transform:translateX(-50%); display:flex; gap:8px; z-index:2}
.assembly-page[data-page="lavandazen"] .hero-dots button{width:10px; height:10px; padding:0; border-radius:50%; border:1px solid rgb(23 34 52 / 45%); background:rgb(255 255 255 / 75%); cursor:pointer}
.assembly-page[data-page="lavandazen"] .hero-dots button[aria-pressed="true"]{background:var(--ink, #172234); border-color:#fff}
.assembly-page[data-page="lavandazen"] .life-carousel .slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .9s ease}
.assembly-page[data-page="lavandazen"] .life-carousel .slide.on{opacity:1}
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="lavandazen"] .hero-carousel .slide, .assembly-page[data-page="lavandazen"] .life-carousel .slide{transition:none} }

/* ---- « Ce que la recherche a observé » repliable (02.10.2026) ---- */
.assembly-page[data-page="lavandazen"] details.research{padding:12px 16px}
.assembly-page[data-page="lavandazen"] details.research summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px}
.assembly-page[data-page="lavandazen"] details.research summary::-webkit-details-marker{display:none}
.assembly-page[data-page="lavandazen"] details.research summary small{margin:0}
.assembly-page[data-page="lavandazen"] details.research summary::after{content:"+"; flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; border:1px solid currentColor; color:var(--green); font:400 1rem/1 var(--sans); transition:transform .25s}
.assembly-page[data-page="lavandazen"] details.research[open] summary::after{content:"−"}
.assembly-page[data-page="lavandazen"] details.research[open] summary{margin-bottom:8px}
.assembly-page[data-page="lavandazen"] details.research summary:hover small{text-decoration:underline; text-underline-offset:4px}


  .assembly-page[data-page="huile-cbd-30-full-spectrum"]{
    --paper:#f3efe6; --paper-2:#f8f5ee; --stage:#e6dfd0; --ink:#172234; --green:#1d4f86; --muted:#6a685f; --line:rgb(23 34 52 / 14%);
    --dark:#071a33; --dark-2:#0f2847; --cream:#f3ecdc; --mint:#9cc0e0; --note:#ece6d9;
    --serif:"Fraunces", Georgia, "Times New Roman", serif;
    --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --gut:clamp(20px,4vw,56px);
    color-scheme: light;
  }
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] *{box-sizing:border-box}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"]{scroll-behavior:smooth}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"]{margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] a{color:inherit}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] img{max-width:100%; display:block}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] :focus-visible{outline:2px solid var(--green); outline-offset:3px; border-radius:6px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .wrap{padding-inline:var(--gut)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .inner{max-width:1260px; margin-inline:auto}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .narrow{max-width:760px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] section{scroll-margin-top:70px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .eyebrow{font:500 .72rem/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:12px; margin:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .eyebrow::before{content:""; width:26px; height:1px; background:currentColor; flex:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:500 .93rem var(--sans); background:var(--green); color:#f6f2e8; border:0; border-radius:999px; padding:13px 22px; text-decoration:none; cursor:pointer}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .btn-ghost{background:transparent; color:inherit; border:1px solid currentColor}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .link{font-weight:500; text-underline-offset:6px; text-decoration-thickness:1px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .serif{font-family:var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] h1,.assembly-page[data-page="huile-cbd-30-full-spectrum"] h2,.assembly-page[data-page="huile-cbd-30-full-spectrum"] h3{font-weight:330; letter-spacing:-.03em; text-wrap:balance}

  /* ---- Bandeau de revue (repris de la home) ---- */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .review{position:sticky; top:0; z-index:50; background:var(--ink); color:var(--cream); font-size:.8rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .review .inner{display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; justify-content:space-between; padding-block:8px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .review nav{display:flex; flex-wrap:wrap; gap:4px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .review a,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .review button{color:var(--cream); text-decoration:none; padding:3px 9px; border-radius:999px; border:1px solid rgb(255 255 255 / 18%); background:none; font:500 .76rem var(--sans); cursor:pointer}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .review a:hover{background:rgb(255 255 255 / 10%)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .zone-note{font-size:.8rem; line-height:1.5; color:#6b5a1a; background:#fff6d6; border-radius:10px; padding:8px 12px; margin:18px 0 0; max-width:70ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .on-dark .zone-note{background:#3a3520; color:#f3e3a8}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"].clean .zone-note, .assembly-page[data-page="huile-cbd-30-full-spectrum"].clean .to-supply{display:none}

  /* ---- En-tête ---- */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] header.site .inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:22px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .logo{display:grid; gap:3px; text-decoration:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .logo-word{font:400 clamp(1.15rem,2vw,1.5rem)/1 var(--sans); letter-spacing:.2em}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .logo-word span{color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .logo-sig{font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .menu{display:flex; gap:22px; font-size:.92rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .menu a{text-decoration:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .head-cta{display:flex; gap:8px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .pill{font:500 .86rem var(--sans); border:1px solid var(--ink); border-radius:999px; padding:9px 16px; text-decoration:none; white-space:nowrap}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .pill-dark{background:var(--ink); color:var(--paper)}
  @media (max-width:900px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .menu{display:none} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .pill-dark{display:none} }

  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .crumb{font-size:.85rem; color:var(--muted); padding-block:4px 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .crumb a{text-decoration:none} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .crumb a:hover{text-decoration:underline}

  /* =========== HERO =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero{padding-block:clamp(12px,2vw,28px) clamp(40px,5vw,72px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero .inner{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-shot{position:relative; margin:0; aspect-ratio:1/1; max-height:600px; border-radius:26px; overflow:hidden;
    background:radial-gradient(90% 70% at 50% 62%, #f7efdc 0%, #ece3d0 45%, #ddd3bd 100%)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-shot img{position:absolute; inset:6% 4% 2%; width:92%; height:92%; object-fit:contain; mix-blend-mode:multiply; animation:rise 1.2s ease both}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-shot figcaption{position:absolute; left:22px; bottom:18px; font:italic 400 .95rem var(--serif); color:#6b6247}
  @keyframes rise{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero h1{font:300 clamp(2.8rem,5.6vw,5rem)/.95 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero h1 small{display:block; font:500 .74rem/1 var(--sans); letter-spacing:.18em; color:var(--green); margin-bottom:10px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero .sub{font:400 clamp(1.15rem,1.7vw,1.4rem)/1.35 var(--sans); margin:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero blockquote{margin:16px 0 0; font:italic 330 clamp(1.2rem,1.7vw,1.4rem)/1.35 var(--serif); color:var(--green); max-width:26ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .meta{display:flex; flex-wrap:wrap; gap:6px 14px; margin:18px 0 0; padding:10px 0; border-block:1px solid var(--line); font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .meta span+span::before{content:"·"; margin-right:14px; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .know{margin:6px 0 0; display:grid; gap:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .know div{display:grid; grid-template-columns:8.5rem 1fr; gap:16px; padding:9px 0; font-size:.95rem; border-bottom:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .know dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .know dd{margin:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .signup{margin-top:18px; display:grid; gap:8px; max-width:460px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .signup label{font:400 1.05rem var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .signup .row{display:flex; align-items:center; border-bottom:1px solid var(--ink)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .signup input{flex:1; min-width:0; font:inherit; font-size:1rem; border:0; background:transparent; padding:9px 0; color:var(--ink)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .signup input:focus{outline:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .signup button{font:500 .9rem var(--sans); background:none; border:0; color:var(--green); padding:12px 0 12px 12px; cursor:pointer; white-space:nowrap}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .signup p{margin:0; font-size:.78rem; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .toast{min-height:1.2em; color:var(--green)!important}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .trust{margin:16px 0 0; font:500 .68rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 16px}
  @media (max-width:880px){
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero .inner{grid-template-columns:1fr}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-shot{aspect-ratio:1/1; border-radius:22px}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .know div{grid-template-columns:1fr; gap:2px}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ctas .btn{flex:1 1 100%}
  }

  /* =========== FILM =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec{background:var(--paper-2); padding-block:clamp(36px,4.5vw,64px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec .head{display:grid; gap:10px; margin-bottom:6px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec .lead{font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); margin:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film{position:relative; display:block; margin:0; border-radius:26px; overflow:hidden; background:#1b1612; aspect-ratio:16/9; box-shadow:0 40px 80px -40px rgb(40 30 10 / 55%); text-decoration:none; color:#fff}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease, filter .6s}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film:hover img{transform:scale(1.02); filter:brightness(.9)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgb(0 0 0 / 55%))}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .play{position:absolute; left:50%; top:50%; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; background:rgb(243 236 220 / 92%); display:grid; place-items:center; z-index:2; transition:transform .3s}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .play::before{content:""; margin-left:6px; border-left:20px solid var(--ink); border-block:12px solid transparent}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film:hover .play{transform:scale(1.06)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film .cap{position:absolute; left:24px; right:24px; bottom:20px; z-index:2; display:flex; justify-content:space-between; gap:16px; font:500 .74rem var(--sans); letter-spacing:.14em; text-transform:uppercase}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-body{display:grid; grid-template-columns:1.45fr 1fr; gap:clamp(24px,4vw,56px); align-items:center}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-text{display:grid; gap:14px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-text p{margin:0; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-text .head + p{color:var(--ink); font:400 1.1rem/1.45 var(--serif)}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec .head,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-body{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film{border-radius:18px; margin-inline:calc(var(--gut) * -1); border-radius:0} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .play{width:68px; height:68px; margin:-34px 0 0 -34px} }

  /* =========== RITUEL =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .rituel{background:var(--stage); padding-block:clamp(34px,4vw,54px) clamp(20px,2.4vw,30px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .rituel h2{font:330 clamp(2.1rem,3.8vw,3.4rem)/1.05 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .rituel h2 em{color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps{list-style:none; margin:clamp(24px,3vw,40px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); position:relative}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps::before{content:""; position:absolute; left:0; right:0; top:1.6rem; height:1px; background:var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps li{position:relative; padding-right:clamp(16px,3vw,48px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps .n{display:block; font:300 clamp(2.4rem,3.4vw,3.2rem)/1 var(--serif); color:var(--green); background:var(--stage); width:fit-content; padding-right:14px; position:relative}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps .n::after{content:""; position:absolute; right:-2px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps li:last-child .n::after{background:transparent; border:1px solid var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps small{display:block; margin-top:12px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps p{margin:4px 0 0; font-size:1.05rem; max-width:28ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .dose{margin:22px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:760px){
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps{grid-template-columns:1fr; gap:0}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps::before{left:.55rem; right:auto; top:1rem; bottom:1rem; width:1px; height:auto}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps::before{left:1.4rem; top:3.4rem; bottom:2rem}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps li{display:grid; grid-template-columns:3.6rem 1fr; column-gap:14px; padding:0 0 36px 0}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps .n{grid-row:1 / span 2; font-size:2.6rem; padding:0 0 8px; background:var(--stage)}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps .n::after{display:none}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps small{margin-top:10px}
  }

  /* Respiration typographique */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath{background:var(--stage); padding-block:clamp(20px,2.4vw,32px) clamp(36px,4.5vw,60px); text-align:center}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath .inner{border-top:1px solid var(--line); padding-top:clamp(30px,3.5vw,44px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath p.q{margin:0 auto; max-width:24ch; font:300 clamp(1.8rem,3.7vw,3.3rem)/1.08 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath p.q span{display:block; color:var(--green); font-style:italic}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .bottles{display:flex; justify-content:center; gap:clamp(6px,1.2vw,12px); margin:clamp(24px,3vw,36px) auto 10px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .bottles i{display:block; width:clamp(34px,6vw,64px); height:6px; border-radius:3px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .bottles-cap{margin:0; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath .btn{margin-top:20px}

  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .frise{text-align:left; margin-top:clamp(22px,2.6vw,32px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stages{display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stage{padding:10px 16px 2px 0; border-right:1px solid var(--line); display:grid; gap:2px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stage:last-child{border-right:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stage + .j-stage{padding-left:16px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stage small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stage b{font-weight:450; font-size:.98rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stage span{font-size:.82rem; color:var(--muted); font-variant-numeric:tabular-nums}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .help{margin:14px 0 2px; font-size:.85rem; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .phase{margin-top:8px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .phase-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .phase-head h3{margin:0; font:450 1rem var(--sans); letter-spacing:-.02em}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .phase-head span{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .days{display:grid; grid-template-columns:repeat(30,1fr); gap:3px; margin-top:5px; padding-bottom:14px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .day{position:relative; aspect-ratio:2.2; border:0; border-radius:4px; padding:0; cursor:pointer; transition:transform .15s}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .day:hover,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .day:focus-visible,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .day[aria-pressed="true"]{transform:translateY(-3px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .day[aria-pressed="true"]{outline:2px solid var(--ink); outline-offset:2px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .day.today::after{content:""; position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:var(--ink)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .mark{position:absolute; left:0; top:calc(100% + 3px); font:500 .62rem var(--sans); letter-spacing:.06em; color:var(--muted); white-space:nowrap; pointer-events:none; text-transform:lowercase}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .readout{margin-top:10px; min-height:3em; display:grid; gap:2px; padding:10px 16px; border-left:3px solid var(--green); background:rgb(255 255 255 / 55%); border-radius:0 12px 12px 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .readout small{font:500 .72rem var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .readout span{font:italic 400 1.02rem/1.4 var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .fine{margin-top:10px; display:grid; gap:4px; font-size:.82rem; color:var(--muted); max-width:70ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .frise .btn{margin-top:16px}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stages{grid-template-columns:1fr 1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stage{border-right:0; border-bottom:1px solid var(--line); padding:12px 0} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .j-stage + .j-stage{padding-left:0} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .days{grid-template-columns:repeat(15,1fr)} }

  /* =========== PLANTES =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plants{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.4vw,36px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plants .head{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plants .head h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.04 var(--serif); margin:12px 0 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plants .head p{margin:0; color:var(--muted); font-size:1.02rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plants .head{margin-bottom:clamp(8px,1.5vw,20px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chapter{display:grid; grid-template-columns:42% 1fr; gap:clamp(28px,5vw,72px); align-items:center; padding-block:clamp(32px,4vw,52px); border-bottom:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chapter:last-of-type{border-bottom:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chapter.flip{grid-template-columns:1fr 42%}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chapter.flip .plate{order:2}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate{position:relative; margin:0; aspect-ratio:5/4; border-radius:22px; overflow:hidden}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate.type{display:grid; place-content:center; text-align:center; gap:10px; padding:32px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate.type b{font:italic 300 clamp(2rem,3.4vw,3rem)/1.02 var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate.type span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate.type .to-supply{font-size:.74rem; opacity:.7}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate.romarin{background:radial-gradient(110% 90% at 30% 20%, #eef0e2, #cfd6bd 60%, #b3bf9c); color:#2f3d2a}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate.sauge{background:radial-gradient(110% 90% at 70% 20%, #eef0ec, #cbd3cd 60%, #aab6ad); color:#2c3a33}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate .no{position:absolute; left:22px; top:18px; font:300 1.3rem var(--serif); color:#fff; mix-blend-mode:difference; z-index:2}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate.type .no{color:inherit; mix-blend-mode:normal}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate .latin{position:absolute; left:22px; bottom:18px; font:italic 400 1rem var(--serif); color:#fff; text-shadow:0 1px 8px rgb(0 0 0 / 35%)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chap small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chap h3{font:330 clamp(1.9rem,3vw,2.7rem)/1.02 var(--serif); margin:8px 0 4px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chap .lat{font:italic 400 1.1rem var(--serif); color:var(--muted); margin:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chap .angle{display:inline-flex; align-items:center; gap:10px; margin:14px 0 0; font:500 .78rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chap .angle::before{content:""; width:26px; height:1px; background:currentColor}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chap p.txt{margin:10px 0 0; max-width:58ch; font-size:.97rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chap blockquote{margin:18px 0 0; padding-left:18px; border-left:1px solid var(--green); font:italic 330 clamp(1.15rem,1.6vw,1.35rem)/1.35 var(--serif); color:var(--green); max-width:30ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .vlink{display:flex; align-items:center; gap:14px; margin-top:18px; text-decoration:none; width:fit-content}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .vlink .dot{width:40px; height:40px; border-radius:50%; border:1px solid var(--ink); display:grid; place-items:center; transition:background .3s}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .vlink .dot::before{content:""; margin-left:3px; border-left:11px solid var(--ink); border-block:7px solid transparent}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .vlink:hover .dot{background:var(--ink)} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .vlink:hover .dot::before{border-left-color:var(--paper)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .vlink span{display:grid; line-height:1.3}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .vlink b{font-weight:500} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .vlink i{font-style:normal; font-size:.82rem; color:var(--muted)}
  @media (max-width:860px){
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plants .head{grid-template-columns:1fr}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chapter{grid-template-columns:1fr; gap:28px}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chapter.flip{grid-template-columns:1fr}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .chapter.flip .plate{order:0}
    .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plate{aspect-ratio:4/3; border-radius:18px}
  }

  /* Trois plantes : trois colonnes vidéo */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .trio{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,44px); margin-top:clamp(16px,2vw,26px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plant{display:flex; flex-direction:column; border-top:1px solid var(--line); padding-top:16px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .thumb{display:block; width:80%; aspect-ratio:16/9; border-radius:4px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease, filter .4s}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .thumb:hover img{transform:scale(1.03); filter:brightness(1.05)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plant h3{font:330 clamp(1.25rem,1.7vw,1.55rem)/1.15 var(--serif); margin:14px 0 2px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plant .lat{margin:0; font:italic 400 .98rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plant .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plant .txt{margin:8px 0 14px; font-size:.93rem; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plant blockquote{margin:auto 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.05rem/1.35 var(--serif); color:var(--green)}
  @media (max-width:900px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .thumb{width:100%} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .trio{grid-template-columns:1fr; gap:40px} }

  /* =========== HYDROLAT =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro{background:#fbf9f3; padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro .top{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:end}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro h2{font:330 clamp(2rem,3.6vw,3.2rem)/1 var(--serif); margin:10px 0 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro h2 em{display:block; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro .intro{margin:0; font-size:.97rem; max-width:52ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .figs{display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(20px,2.4vw,28px); border-top:1px solid var(--ink)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .fig{padding:12px 24px 0 0; display:flex; align-items:baseline; gap:12px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .fig + .fig{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .fig strong{display:block; flex:none; font:300 clamp(2rem,3.2vw,2.8rem)/1 var(--serif); letter-spacing:-.04em}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .fig strong sup{font-size:.35em; letter-spacing:0; vertical-align:super; margin-left:4px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .fig span{display:block; margin-top:0; font-size:.9rem; color:var(--muted); max-width:22ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .labels{display:flex; flex-wrap:wrap; gap:6px 22px; margin:18px 0 0; padding:0; list-style:none; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .labels li{display:flex; align-items:center; gap:10px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .labels li::before{content:""; width:5px; height:5px; border-radius:50%; background:currentColor}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec{display:grid; grid-template-columns:repeat(3,1fr); gap:0 clamp(20px,3vw,44px); margin:14px 0 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec div{display:grid; grid-template-columns:1fr; gap:2px; padding:8px 0; font-size:.9rem; border-top:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec dt{font:500 .7rem/1.9 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec dd{margin:0}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro .top,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .figs{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .fig,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .fig+.fig{padding:22px 0; border-left:0; border-bottom:1px solid var(--line)} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec div{grid-template-columns:1fr; gap:2px} }

  /* Accordéons sobres */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc{border-top:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc:last-of-type{border-bottom:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; font:400 1.15rem var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc summary::-webkit-details-marker{display:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc summary::after{content:"+"; font:300 1.5rem/1 var(--sans); color:var(--green); transition:transform .3s}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc[open] summary::after{transform:rotate(45deg)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc > div{padding:0 0 20px; max-width:62ch; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .how{margin-top:10px}

  /* =========== PRÉCAUTIONS =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prec{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prec .grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(24px,5vw,72px); align-items:start}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prec h2{font:330 clamp(1.8rem,3vw,2.4rem)/1.1 var(--serif); margin:14px 0 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prec .mand{margin:0 0 18px; font-size:.95rem; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prec .mand b{color:var(--ink); font-weight:500}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prec .grid{grid-template-columns:1fr} }

  /* =========== PHILOSOPHIE =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo{background:var(--dark); color:var(--cream); padding-block:clamp(54px,7.5vw,112px); text-align:center; position:relative; overflow:hidden}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo::before{content:""; position:absolute; inset:auto -20% -60% -20%; height:120%; background:radial-gradient(closest-side, rgb(156 192 224 / 14%), transparent 70%)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo .inner{position:relative}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo .eyebrow{color:var(--mint); justify-content:center}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo p.q{margin:18px auto 0; max-width:18ch; font:300 clamp(2rem,4vw,3.5rem)/1.04 var(--serif); letter-spacing:-.035em}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo p.q em{color:#cfe2f3}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo a{display:inline-block; margin-top:22px; color:var(--cream)}

  /* =========== GAMME =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .gamme{padding-block:clamp(30px,3.6vw,50px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .gamme h2{font:330 clamp(1.6rem,2.4vw,2.1rem)/1.05 var(--serif); margin:8px 0 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .range{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:clamp(14px,1.8vw,22px); border-top:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod{display:grid; gap:4px; align-content:start; padding:12px 14px 6px; border-right:1px solid var(--line); text-decoration:none; position:relative}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod:last-child{border-right:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod .shot{height:clamp(116px,10.5vw,145px); display:flex; align-items:flex-end; justify-content:center; margin-bottom:6px; border-radius:16px; background:radial-gradient(90% 70% at 50% 80%, #efe6d2, transparent 70%)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod .shot img{height:100%; width:auto; max-width:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .5s}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod:hover .shot img{transform:translateY(-6px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod b{font:400 1.15rem/1.15 var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod i.go{font-style:normal; font-size:.86rem; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod.here{background:var(--paper-2)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod .chip{position:absolute; top:14px; right:14px; font:500 .64rem var(--sans); letter-spacing:.12em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background:var(--green); color:var(--paper)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod .chip.soon{background:transparent; color:var(--muted); border:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .rope{display:block; width:min(140px,100%); height:8px; border-radius:6px; margin:2px 0 2px;
    background:repeating-linear-gradient(118deg, var(--c) 0 5px, color-mix(in srgb, var(--c) 68%, #000) 5px 6.5px, color-mix(in srgb, var(--c) 78%, #fff) 6.5px 8.5px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .cup{width:auto; height:62%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 50% 70%, #fbe3c2, #f1cfa3 60%, #e7bd8c); display:grid; place-items:center; align-self:center}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .cup svg{width:62%; height:62%}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .cup .mug{fill:#fffaf2; stroke:#8a5a2b; stroke-width:1.6; stroke-linejoin:round}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .cup .handle,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .cup .saucer{fill:none; stroke:#8a5a2b; stroke-width:1.6; stroke-linecap:round}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .cup .steam{fill:none; stroke:#8a5a2b; stroke-width:1.5; stroke-linecap:round; opacity:.45}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .also{margin:12px 0 0; font-size:.92rem; color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .range{grid-template-columns:repeat(5,minmax(200px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .prod{scroll-snap-align:start} }

  /* =========== CTA FINAL =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final{background:var(--dark); color:var(--cream); padding-block:clamp(34px,4vw,56px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .inner{display:grid; grid-template-columns:.75fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final figure{margin:0 auto; width:100%; max-width:330px; position:relative; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side, rgb(243 236 220 / 22%), rgb(243 236 220 / 6%) 60%, transparent 72%); display:grid; place-items:center}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final figure img{width:78%; filter:drop-shadow(0 40px 40px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .eyebrow{color:var(--mint)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final h2{font:300 clamp(2.3rem,4.4vw,3.9rem)/1 var(--serif); margin:12px 0 8px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .prog{margin:0; font-size:1.1rem; color:#d7cfbd}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .signup label{color:var(--cream)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .signup .row{border-color:rgb(243 236 220 / 60%)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .signup input{color:var(--cream)} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .signup input::placeholder{color:#a79f8b}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .signup button{color:var(--mint)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .signup p{color:#a79f8b}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .btn{background:var(--cream); color:var(--ink)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .btn-ghost{background:transparent; color:var(--cream)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .j0{display:inline-block; margin-top:16px; color:var(--mint)}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final .inner{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final figure{width:min(80%,340px); margin-inline:auto} }

  /* =========== PIED DE PAGE (repris de la home) =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] footer{background:#0b2140; color:var(--cream); padding-block:56px 40px; font-size:.92rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] footer .grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] footer .man{font:330 1.6rem/1.15 var(--serif); margin:0 0 10px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] footer h4{margin:0 0 12px; font:500 .8rem var(--sans); color:#9cc0e0; letter-spacing:.04em}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] footer ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] footer a{text-decoration:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] footer .legal{margin-top:36px; padding-top:18px; border-top:1px solid rgb(255 255 255 / 12%); font-size:.78rem; color:#a9b8ae; display:flex; flex-wrap:wrap; gap:6px 18px}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] footer .grid{grid-template-columns:1fr 1fr} }

  /* ---- Barre d'action mobile ---- */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .dock{position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:40; display:none; gap:8px; padding:8px; border-radius:999px; background:rgb(23 34 52 / 94%); backdrop-filter:blur(8px); box-shadow:0 14px 40px -14px rgb(0 0 0 / 50%); transform:translateY(140%); transition:transform .4s}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .dock.on{transform:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .dock a{flex:1; text-align:center; text-decoration:none; font:500 .92rem var(--sans); padding:12px 10px; border-radius:999px; color:var(--cream)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .dock a:first-child{background:var(--cream); color:var(--ink)}
  @media (max-width:760px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .dock{display:flex} .assembly-page[data-page="huile-cbd-30-full-spectrum"]{padding-bottom:84px} }

  /* ---- À valider ---- */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .approve{padding-block:50px 70px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .approve .box{background:var(--note); border-radius:22px; padding:clamp(18px,3vw,34px); display:grid; gap:14px; font-size:.95rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .approve h2{margin:0; font:400 1.7rem/1.2 var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .approve h3{margin:8px 0 0; font:500 1rem var(--sans)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .approve ul{margin:0; padding-left:1.2em; display:grid; gap:6px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"].clean .approve{display:none}

  @media (prefers-reduced-motion:reduce){ .assembly-page[data-page="huile-cbd-30-full-spectrum"]{scroll-behavior:auto} .assembly-page[data-page="huile-cbd-30-full-spectrum"] *{animation:none!important; transition:none!important} }

  /* =========== Déclinaisons produit =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr{display:grid; grid-template-columns:42% 1fr; gap:clamp(24px,4vw,56px); align-items:center; margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:22px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr figure{margin:0; aspect-ratio:5/4; border-radius:18px; overflow:hidden}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr figure img{width:100%; height:100%; object-fit:cover}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr small.k{font:500 .72rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr h3{font:330 clamp(1.6rem,2.4vw,2.2rem)/1.05 var(--serif); margin:8px 0 2px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr .lat{margin:0; font:italic 400 1rem var(--serif); color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr .angle{margin:10px 0 0; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr .txt{margin:10px 0 0; font-size:.95rem; color:var(--muted); max-width:58ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr blockquote{margin:16px 0 0; padding:4px 0 4px 16px; border-left:1px solid var(--green); font:italic 330 1.1rem/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .shorts{display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(10px,1.4vw,18px); margin-top:clamp(16px,2vw,26px); border-top:1px solid var(--line); padding-top:20px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .short{display:grid; gap:8px; align-content:start; text-decoration:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .short .v{position:relative; aspect-ratio:9/16; border-radius:10px; overflow:hidden; background:#1b1612}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .short .v img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .short:hover .v img{transform:scale(1.03)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .short .v::after{content:""; position:absolute; left:50%; top:50%; width:44px; height:44px; margin:-22px 0 0 -22px; border-radius:50%; background:rgb(243 236 220 / 90%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%231e2a23'/%3E%3C/svg%3E") center/22px no-repeat}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .short small{font:500 .66rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .short b{font:400 .98rem/1.3 var(--serif)}
  @media (max-width:900px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .shorts{grid-template-columns:repeat(6,minmax(150px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut)} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .short{scroll-snap-align:start} }
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .safety{margin:0 0 18px; padding:16px 18px; border-left:3px solid #a0522d; background:#fbf6ee; border-radius:0 12px 12px 0; font-size:.9rem; color:var(--ink)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .safety strong{display:block; font:600 .8rem var(--sans); letter-spacing:.2em; color:#a0522d; margin-bottom:6px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .safety p{margin:0 0 6px} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .safety p:last-child{margin:0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .safety .ids{margin-top:10px; color:var(--muted); font-size:.84rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .ingr figure.type-plate{display:grid; place-content:center; text-align:center; gap:10px; padding:28px; background:radial-gradient(110% 90% at 30% 20%, #efeaf3, #d9d0e2 60%, #bfb2cf); color:#3d3350}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .type-plate b{font:italic 300 clamp(1.8rem,3vw,2.6rem)/1.05 var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .type-plate span{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .type-plate .to-supply{font-size:.72rem; opacity:.7}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final figure.tall img{width:44%; border-radius:12px; filter:drop-shadow(0 30px 30px rgb(0 0 0 / 45%))}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-body.vertical{grid-template-columns:minmax(180px,260px) 1fr; justify-content:start}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-body.vertical .short .v{border-radius:14px; box-shadow:0 30px 60px -34px rgb(40 30 10 / 55%)}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-body.vertical{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-body.vertical .short{width:min(62%,260px)} }
  /* =========== NOTRE APPROCHE =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro{padding-block:clamp(36px,4.5vw,64px) clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro h2{font:330 clamp(1.9rem,3vw,2.7rem)/1.05 var(--serif); margin:12px 0 10px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro .man{margin:0; font:330 clamp(1.15rem,1.6vw,1.4rem)/1.35 var(--serif); color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro .man em{display:block}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-txt p{margin:0 0 10px; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-more{margin-top:clamp(20px,2.5vw,32px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-more > summary{font:500 .74rem var(--sans)!important; letter-spacing:.16em; text-transform:uppercase}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .principes{display:grid; grid-template-columns:1fr 1fr; gap:14px 40px; color:var(--ink)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .principes b{font-weight:500}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .principes p{margin:4px 0 0; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro .sub-h{margin:20px 0 4px; font:500 .72rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-more > div{max-width:none!important}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-grid,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .principes{grid-template-columns:1fr} }
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-more > summary{justify-content:flex-start!important; gap:14px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-more > summary::after{order:0}
  /* =========== CE QU'IL ACCOMPAGNE =========== */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef{padding-block:clamp(32px,4vw,56px) 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef .inner{border-top:1px solid var(--line); padding-top:clamp(24px,3vw,40px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-head{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef h2{font:330 clamp(1.7rem,2.7vw,2.4rem)/1.12 var(--serif); margin:12px 0 0; max-width:22ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-lead{margin:0; color:var(--muted); max-width:52ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes{list-style:none; margin:clamp(22px,2.8vw,34px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes li{padding:4px 24px 0 0; display:grid; gap:6px; align-content:start}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes li + li{padding-left:24px; border-left:1px solid var(--line)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes small{font:500 .7rem var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes b{font:400 1.18rem/1.25 var(--serif)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes p{margin:0; font-size:.92rem; color:var(--muted)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-foot{margin:18px 0 0; font-size:.88rem; color:var(--muted)}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-head,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes li,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* Bloc « accompagne » : texte + emplacement image à droite */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:stretch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main h2{max-width:24ch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main .benef-lead{margin:14px 0 0}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes li{padding-right:18px} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes li + li{padding-left:18px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img{margin:0; border-radius:20px; overflow:hidden; min-height:320px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .ph{height:100%; min-height:320px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  @media (max-width:980px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-grid{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img{min-height:0; aspect-ratio:16/9} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .ph{min-height:0} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes li,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes li + li{padding:14px 0; border-left:0; border-top:1px solid var(--line)} }
  /* ---- Passe du 28/09 ---- */
  /* 1 · Respiration : première phrase sur une ligne, suite plus petite */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath p.q{max-width:none; font-size:clamp(1.5rem,2.9vw,2.7rem); text-wrap:balance}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath p.q span{font-size:clamp(1.15rem,1.9vw,1.75rem); line-height:1.3; margin-top:10px; max-width:40ch; margin-inline:auto}
  /* 2 · Rituel -20 % */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .rituel{padding-block:clamp(28px,3.2vw,44px) clamp(16px,2vw,24px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .rituel h2{font-size:clamp(1.7rem,3vw,2.7rem)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps{margin-top:clamp(18px,2.4vw,30px)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps::before{top:1.3rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps .n{font-size:clamp(1.9rem,2.7vw,2.6rem)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps small{margin-top:8px; font-size:.66rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .steps p{font-size:.95rem}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .dose{margin-top:16px; font-size:.84rem}
  /* 3 · Ce qu'il y a dedans : texte sous le titre, visuel à droite */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro .top{align-items:stretch}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro .top .intro{margin-top:14px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img{margin:0; border-radius:20px; overflow:hidden; min-height:260px; background:radial-gradient(110% 90% at 30% 20%, #efe9dc, #e2d9c6 60%, #d5c9b0)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img img{width:100%; height:100%; object-fit:cover; display:block}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img .ph{height:100%; min-height:260px; display:grid; place-content:center; text-align:center; gap:6px; padding:24px; border:1px dashed rgb(23 34 52 / 22%); border-radius:20px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img .ph small{font:500 .7rem var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--green)}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img .ph i{font:italic 400 .9rem var(--serif); color:var(--muted)}
  /* 4 · Composition dépliable */
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec-acc{margin-top:18px}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec-acc > div, .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec-acc > dl{max-width:none}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .spec-acc .spec{margin:0 0 16px}
  @media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath p.q span{max-width:none} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img, .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img .ph{min-height:0} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img{aspect-ratio:4/3} }
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath p.q span{max-width:none; font-size:clamp(1rem,1.5vw,1.4rem)}
@media (min-width:900px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .breath p.q span{white-space:nowrap} }
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img{position:relative}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-title{position:absolute; top:clamp(20px,2.4vw,34px); right:clamp(20px,2.4vw,34px); left:clamp(20px,2.4vw,34px); text-align:right; z-index:1}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-title .eyebrow{justify-content:flex-end}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro .top > div > .intro:first-child{margin-top:0}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro .top{align-items:stretch}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img .ph{place-content:end center}
@media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img{aspect-ratio:auto} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img .ph{min-height:120px; border-top:0} }
@media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro .top .side-img{order:-1} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .side-img .ph{min-height:140px; border:0; place-content:end center} }
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img{position:relative}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .ph{place-content:end center}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .side-title h2{margin-left:auto; max-width:18ch}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .side-title h2 em{color:var(--green)}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main .benef-lead{margin-top:0}
@media (max-width:980px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-grid .benef-img{order:-1; aspect-ratio:auto} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .side-title{position:static; padding:22px 20px 0} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-img .ph{min-height:120px; border:0} }
/* Approche avec image à gauche, puis alternance inversée des chapitres suivants */
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro.has-img .inner{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,56px); align-items:stretch}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro.has-img .appro-grid{grid-template-columns:1fr; gap:18px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-img{min-height:360px}
/* Alternance gauche/droite pilotée par la classe media-right (posée par alternance.py) */
@media (min-width:861px){
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec.media-right .film-body{grid-template-columns:1fr 1.45fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec.media-right .film-body > .film{order:2}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec.media-right .film-body.vertical{grid-template-columns:1fr minmax(180px,260px)} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .film-sec.media-right .film-body.vertical > .short{order:2}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro.has-img.media-right .inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro.has-img.media-right .appro-img{order:2}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro.has-img.media-right .appro-main{grid-column:1; grid-row:1}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hydro:not(.media-right) .top .side-img{order:-1}
  .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final.media-right .inner{grid-template-columns:1fr .75fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .final.media-right .inner > figure{order:2}
}
@media (min-width:901px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plants.media-right .ingr{grid-template-columns:1fr 42%} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .plants.media-right .ingr > figure{order:2} }
@media (max-width:860px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro.has-img .inner{grid-template-columns:1fr} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .appro-img{min-height:0; aspect-ratio:4/5; max-height:420px} }
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .ftip{position:absolute; z-index:5; width:max-content; max-width:min(320px,calc(100vw - 32px)); padding:10px 14px; border-radius:12px; background:#172234; color:#f3ecdc; box-shadow:0 18px 40px -18px rgb(0 0 0 / 55%); pointer-events:none; display:grid; gap:3px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .ftip small{font:500 .66rem/1.3 var(--sans, system-ui); letter-spacing:.12em; text-transform:uppercase; color:#9cc0e0}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .ftip span{font:italic 400 1rem/1.35 var(--serif, Georgia, serif)}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .ftip::after{content:""; position:absolute; left:var(--ax,50%); top:100%; margin-left:-6px; border:6px solid transparent; border-top-color:#172234}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .ftip.below::after{top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:#172234}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .sr-only{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef-main .benef-lead{margin-top:14px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .benef h2 em{color:var(--green)}

/* ---- Ajouts du 29.09.2026 ---- */
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .pending{white-space:nowrap}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .pending::after{content:"en attente de validation"; display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px; background:#ffe9a8; color:#4a3a00; font:500 .6rem/1.5 var(--sans); letter-spacing:.06em; text-transform:uppercase; vertical-align:2px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"].clean .pending::after{display:none}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .research{margin:14px 0 4px; padding:14px 16px; border-left:2px solid var(--green); background:var(--paper-2); border-radius:0 12px 12px 0}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .research small{display:block; font:500 .68rem var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:6px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .research p{margin:0 0 8px; font-size:.95rem; line-height:1.55}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .research p:last-child{margin-bottom:0}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .research cite{font-style:italic; color:var(--muted); white-space:nowrap}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .study-note{margin:22px 0 0; color:var(--muted); font-size:.92rem; max-width:70ch}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc.sources ol{margin:8px 0 0; padding-left:1.2em; display:grid; gap:8px; font-size:.86rem; color:var(--muted)}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.acc.sources a{color:inherit}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .variant{display:inline-block; margin:4px 0 0; padding:3px 12px; border:1px solid var(--line); border-radius:999px; font-size:.86rem}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .warnbox{margin:18px 0 0; padding:14px 16px; border:1.5px solid #c9822b; border-radius:14px; background:#fff6e6}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .warnbox b{display:block; letter-spacing:.08em}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .warnbox p{margin:6px 0 0; font-size:.9rem}

/* ---- Bande philosophie : fond « bleu et or » (02.10.2026) ----
   Arbre lumineux à droite, flux de particules à gauche, centre sombre pour le texte.
   Un voile léger, plus dense au centre, garde la phrase lisible. Lente dérive de 28 s,
   coupée si l'animation est désactivée. Sur téléphone, le cadrage montre l'arbre. */
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo{background:#071a33}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo::before{inset:-5%; height:auto; background:url("./public/assemblage/web/6f9155f46444ea8e-1920.webp") center 55% / cover no-repeat; animation:philoDrift 28s ease-in-out infinite alternate; will-change:transform}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 50% 70% at 50% 45%, rgb(5 18 38 / 62%), rgb(5 18 38 / 28%) 75%, rgb(5 18 38 / 14%))}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo .inner{z-index:1}
@keyframes philoDrift{from{transform:scale(1)} to{transform:scale(1.06) translate(-1%,-.6%)}}
@media (max-width:760px){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo::before{background-size:auto 130%; background-position:82% 50%} .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo::after{background:rgb(5 18 38 / 58%)} }
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .philo::before{animation:none} }

/* ---- Lecteur vidéo intégré (02.10.2026) ---- */
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-dlg{padding:0; border:0; background:transparent; max-width:none; max-height:none; width:min(1100px,92vw,calc((100vh - 90px) * 16 / 9)); overflow:visible}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-dlg::backdrop{background:rgb(5 18 38 / 82%); backdrop-filter:blur(3px)}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-dlg.short{width:min(420px,92vw, calc((100vh - 90px) * 9 / 16))}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-box{display:grid; gap:10px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-frame{aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#000; box-shadow:0 30px 80px -20px rgb(0 0 0 / 70%)}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-dlg.short .yt-frame{aspect-ratio:9/16}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-frame iframe{width:100%; height:100%; border:0; display:block}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-bar{display:flex; justify-content:space-between; align-items:center; gap:12px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-bar a,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-bar button{font:500 .85rem var(--sans); color:var(--cream); background:none; border:1px solid rgb(243 236 220 / 35%); border-radius:999px; padding:8px 16px; cursor:pointer; text-decoration:none}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-bar a:hover,.assembly-page[data-page="huile-cbd-30-full-spectrum"] .yt-bar button:hover{background:rgb(243 236 220 / 12%)}

/* ---- Carrousels des fiches (02.10.2026) : fondu toutes les 5 s, pastilles, pause au survol ----
   .hero-carousel = image d'en-tête (cadre carré) ; .life-carousel = « Ce que … accompagne » (4:5).
   .slide.full occupe tout le cadre (photo) ; sans .full, l'image est détourée et contenue. */
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-carousel .slide{opacity:0; transition:opacity .9s ease; mix-blend-mode:normal; animation:none}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-carousel .slide.on{opacity:1}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-carousel .slide.full{inset:0; width:100%; height:100%; object-fit:cover}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-dots{position:absolute; left:50%; bottom:14px; transform:translateX(-50%); display:flex; gap:8px; z-index:2}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-dots button{width:10px; height:10px; padding:0; border-radius:50%; border:1px solid rgb(23 34 52 / 45%); background:rgb(255 255 255 / 75%); cursor:pointer}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-dots button[aria-pressed="true"]{background:var(--ink, #172234); border-color:#fff}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .life-carousel .slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .9s ease}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] .life-carousel .slide.on{opacity:1}
@media (prefers-reduced-motion:reduce){ .assembly-page[data-page="huile-cbd-30-full-spectrum"] .hero-carousel .slide, .assembly-page[data-page="huile-cbd-30-full-spectrum"] .life-carousel .slide{transition:none} }

/* ---- « Ce que la recherche a observé » repliable (02.10.2026) ---- */
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.research{padding:12px 16px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.research summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.research summary::-webkit-details-marker{display:none}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.research summary small{margin:0}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.research summary::after{content:"+"; flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; border:1px solid currentColor; color:var(--green); font:400 1rem/1 var(--sans); transition:transform .25s}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.research[open] summary::after{content:"−"}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.research[open] summary{margin-bottom:8px}
.assembly-page[data-page="huile-cbd-30-full-spectrum"] details.research summary:hover small{text-decoration:underline; text-underline-offset:4px}

.assembly-page[data-page="serena"]{margin:0;background:#f3efe6;color:#203d3b;font:18px/1.7 system-ui}.assembly-page[data-page="serena"] [data-assembly-main]{max-width:960px;margin:auto;padding:40px 24px}.assembly-page[data-page="serena"] a{color:#205a91;text-underline-offset:.2em}.assembly-page[data-page="serena"] h1{font:64px Georgia,serif;margin:20px 0}.assembly-page[data-page="serena"] img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:24px}.assembly-page[data-page="serena"] .status{letter-spacing:.15em;text-transform:uppercase;font-size:14px}.assembly-page[data-page="serena"] p{max-width:720px}
body:has(.assembly-page){background:#f3efe6;color:#172234}
body:has(.assembly-page)::before,body:has(.assembly-page)::after{display:none}
body:has(.assembly-page) #contenu{padding:0}
.assembly-page{isolation:isolate;font-synthesis:none;min-height:100vh;overflow-x:clip}

.assembly-page .assembly-source{display:contents}
.assembly-page [data-connection="pending"]{opacity:.6;cursor:not-allowed}
.assembly-page .care-scene-host{width:100%;height:100%;position:relative;container-type:inline-size;container-name:care-scene}
.assembly-page .care-scene-wrap{position:relative;width:100%;height:100%}
.assembly-page .care-scene-loading{position:absolute;inset:0;display:grid;place-items:center;background:#f3efe6;color:#243f38;font:16px var(--sans)}
.assembly-page .care-scene-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:40px;background:#f3efe6}
.assembly-page .care-scene-fallback nav{display:flex;flex-wrap:wrap;gap:20px}
.assembly-page .care-scene-fallback a{display:block;padding:14px;border:1px solid currentColor;border-radius:16px;color:#1d4f86}
.assembly-page [data-care-scene]{position:relative;overflow:hidden}
@media(max-width:759px){.assembly-page[data-page="home"] [data-care-scene="braid"]{height:clamp(480px,145vw,620px)}}
.assembly-page .assembly-note,.assembly-page .review,.assembly-page .approve{display:none}
.assembly-page .assembly-hazards{display:flex;gap:12px;margin:0 0 18px}
.assembly-page .assembly-hazards span{display:block;width:56px;height:56px}
.assembly-page .assembly-hazards svg{display:block;width:100%;height:100%}
/* Approved typography and product presentation, 5 October 2026. */
:root{--font-serif:var(--font-geist-sans);--font-geist-mono:var(--font-geist-sans)}
body,h1,h2,h3,h4,h5,h6,button,input,select,textarea{font-family:var(--font-geist-sans),Arial,sans-serif}
.assembly-page{--serif:var(--font-geist-sans),Arial,sans-serif!important;--sans:var(--font-geist-sans),Arial,sans-serif!important}
.assembly-page *:not(svg):not(path){font-family:var(--font-geist-sans),Arial,sans-serif!important;font-style:normal!important}
.assembly-page .product-view-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.assembly-page [data-product-model]{position:relative;display:block;isolation:isolate}
.assembly-page [data-product-model]::after{content:"";position:absolute;bottom:8%;left:25%;width:50%;height:4%;border-radius:50%;background:#66564726;filter:blur(12px);pointer-events:none}
.assembly-page [data-model-ready="true"]>img{opacity:0!important}
.assembly-page .hero-carousel>[data-product-model]{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s;pointer-events:none}
.assembly-page .hero-carousel>[data-product-model].on{opacity:1}
.assembly-page .hero-carousel>[data-product-model]>img{width:100%;height:100%;object-fit:contain;padding:8%}
.assembly-page .hero-carousel .hero-dots{z-index:5}
.assembly-page .appro-img img{object-position:50% 50%!important}
.assembly-page a[data-youtube-poster]{position:relative;overflow:hidden}
.assembly-page a[data-youtube-poster]>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.assembly-page a[data-youtube-poster] .film-card{background:linear-gradient(transparent,#172b3bd9);position:relative}
.assembly-page .catalog-intro{padding-top:60px;padding-bottom:16px}
.assembly-page .catalog-intro h1{font-size:clamp(40px,6vw,80px);font-weight:400;letter-spacing:-.055em;margin:12px 0 20px;line-height:1.06}
.assembly-page .catalog-intro p{font-size:18px;line-height:1.6}
.assembly-page .catalog-intro .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#356584}
.assembly-page[data-catalog] .neo-scene{height:690px}
.assembly-page .catalog-range{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding-top:36px;padding-bottom:80px}
.assembly-page .catalog-product{display:flex;flex-direction:column;text-decoration:none;color:#20394b;border-top:1px solid #b6bec3;border-right:1px solid #b6bec3;padding:12px 16px 28px;transition:background .2s}
.assembly-page .catalog-product:last-child{border-right:0}
.assembly-page .catalog-product:hover{background:#fff5}
.assembly-page .catalog-shot{display:block;height:240px;width:100%;position:relative}
.assembly-page .catalog-shot img{width:100%;height:100%;object-fit:contain;padding:12%}
.assembly-page .catalog-name{font-size:19px;line-height:1.25;margin-top:18px}
.assembly-page .catalog-product small{font-size:12px;margin-top:8px}
@media(max-width:900px){.assembly-page .catalog-range{grid-template-columns:repeat(3,minmax(0,1fr))}.assembly-page .catalog-product:nth-child(3n){border-right:0}}
@media(max-width:599px){.assembly-page .catalog-range{grid-template-columns:repeat(2,minmax(0,1fr))}.assembly-page .catalog-product:nth-child(3n){border-right:1px solid #b6bec3}.assembly-page .catalog-product:nth-child(2n){border-right:0}.assembly-page .catalog-shot{height:210px}.assembly-page .catalog-intro{padding-top:32px}.assembly-page .catalog-name{font-size:17px}}
.assembly-page .hero-shot:not(.hero-carousel)>[data-product-model]{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:759px){
 .assembly-page header.site .inner{flex-wrap:wrap;row-gap:16px}
 .assembly-page header.site .menu{display:flex;order:3;width:100%;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #243c4d20}
 .assembly-page header.site .menu a{font-size:12px;white-space:nowrap}
 .assembly-page[data-catalog] .neo-scene{height:clamp(480px,145vw,620px)}
}
.assembly-page a[data-youtube-poster] .film-card{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%)}
.assembly-page .short[data-youtube-poster] .v{position:relative;overflow:hidden}
.assembly-page .short[data-youtube-poster] .v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.assembly-page .short[data-youtube-poster] .v:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#122335e6);pointer-events:none}
.assembly-page .short[data-youtube-poster] :is(b,.vk,.play){z-index:1}

/* Shared rows align research controls without fixing paragraph heights. */
@media(min-width:901px){
 .assembly-page .trio{column-gap:32px;row-gap:0}
 .assembly-page .trio>.plant{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0}
 .assembly-page .trio>.plant>.txt{align-self:start}
 .assembly-page .trio>.plant>.research{align-self:start;margin-top:20px}
}

/* Final product CTA uses the same persistent Three.js view as the hero. */
.assembly-page .final figure[data-product-model]{max-width:420px;aspect-ratio:1;background:radial-gradient(closest-side,#d9e2e718,transparent 78%)}
.assembly-page .final figure[data-product-model]>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain;padding:10%}
.assembly-page .final figure[data-product-model]::after{background:#0005}
@media(max-width:860px){.assembly-page .final.media-right .inner{grid-template-columns:1fr}.assembly-page .final figure[data-product-model]{width:min(100%,340px)}}

/* Annotated review, 6 October: concise labels and accessible local controls. */
.assembly-page[data-page="home"] .z1 .intro{max-width:none}
.assembly-page .calendar-popover{position:fixed!important;z-index:100;width:min(370px,calc(100vw - 24px));margin:0!important;padding:16px 20px!important;border:1px solid #21496c30;border-left:3px solid #315e87!important;border-radius:12px!important;background:#fffdf8!important;color:#172234;box-shadow:0 12px 36px #09213724;pointer-events:auto;line-height:1.5;text-align:left}
.assembly-page .calendar-popover[hidden]{display:none!important}
.assembly-page .calendar-popover small{display:block;color:#315e87;font-size:11px;letter-spacing:.09em;margin-bottom:6px}
.assembly-page .fine{display:block!important;max-width:none!important}
.assembly-page .fine span{display:inline!important}
.assembly-page .fine span+span::before{content:" "}
.assembly-page .remind-disclosure{width:100%;border:1px solid #17223440;border-radius:22px;background:#fff5;overflow:hidden}
.assembly-page .remind-disclosure summary{display:block;text-align:center;cursor:pointer;padding:12px 20px;line-height:1.3;font-size:14px;list-style:none}
.assembly-page .remind-disclosure summary::-webkit-details-marker{display:none}
.assembly-page .remind-disclosure summary:focus-visible{outline:2px solid #315e87;outline-offset:-4px}
.assembly-page .remind-disclosure form{margin:0!important;border:0!important;border-top:1px solid #17223420!important;border-radius:0!important;background:transparent!important}
.assembly-page .film-progress{position:absolute;left:20px;bottom:14px;width:calc(100% - 40px);height:20px;accent-color:#f4e7c8;cursor:pointer;z-index:2}
.assembly-page[data-page="home"] .film-ctrl{bottom:50px}
.assembly-page[data-page="home"] #youtube .humanitaire .cyber-kids{flex:0 0 160px;width:160px;height:160px;object-fit:contain;margin-left:auto}
.assembly-page .range{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.assembly-page .rope{display:block!important;height:16px!important;background:none!important;box-shadow:none!important;border:0!important;overflow:hidden!important}
.assembly-page .rope svg{display:block;width:100%;height:16px}
.assembly-page .composition-still{position:relative;overflow:hidden;border:0!important;aspect-ratio:4/3}
.assembly-page .composition-still>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.assembly-page .composition-still .side-title{position:absolute;top:0;right:0;left:0;padding:26px;background:linear-gradient(#f8f1e6d9,transparent);text-align:right}
.assembly-page .composition-still h2{font-size:clamp(22px,2.5vw,38px)!important}
.assembly-page[data-page="lavandazen"] .film-body.vertical{display:grid;grid-template-columns:1fr minmax(160px,240px) minmax(160px,240px);gap:28px;align-items:center}
.assembly-page[data-page="lavandazen"] .film-text{grid-column:1;grid-row:1}
.assembly-page[data-page="lavandazen"] .additional-short{grid-column:2;grid-row:1}
.assembly-page[data-page="lavandazen"] .short:not(.additional-short){grid-column:3;grid-row:1}
.assembly-page[data-page="lavandazen"] .short{width:100%!important;max-width:none!important}
.assembly-page .video-caption{display:block;font-size:13px;line-height:1.45;padding-top:12px}
.assembly-page .final figure[data-approved-cutout]{background:none!important;aspect-ratio:1;max-width:420px}
.assembly-page .final figure[data-approved-cutout] img{background:none!important;object-fit:contain;width:100%;height:100%;padding:8%}
@media(max-width:1000px){.assembly-page .range{grid-template-columns:repeat(3,minmax(0,1fr))!important}.assembly-page[data-page="lavandazen"] .film-body.vertical{grid-template-columns:1fr 1fr}.assembly-page[data-page="lavandazen"] .film-text{grid-column:1/-1;grid-row:1}.assembly-page[data-page="lavandazen"] .additional-short{grid-column:1;grid-row:2}.assembly-page[data-page="lavandazen"] .short:not(.additional-short){grid-column:2;grid-row:2}}
@media(max-width:600px){.assembly-page .range{grid-template-columns:repeat(2,minmax(0,1fr))!important}.assembly-page[data-page="home"] #youtube .humanitaire{flex-wrap:wrap}.assembly-page[data-page="home"] #youtube .humanitaire p{flex:1;min-width:180px}.assembly-page[data-page="home"] #youtube .humanitaire .cyber-kids{flex-basis:100%;width:140px;height:140px;margin:0 auto}.assembly-page[data-page="lavandazen"] .film-body.vertical{gap:18px}}

/* Private CBD draft: server-rendered only in explicitly enabled local development. */
.assembly-page.private-cbd{background:#f3efe6;color:#172234}
.assembly-page.private-cbd .cbd-review-notice{padding:12px 5%;border-block:1px solid #355a7830;font-size:12px;color:#315e87;background:#e4eaf0}
.assembly-page.private-cbd .cbd-section{max-width:1320px;padding:76px 40px;margin:auto;scroll-margin-top:30px}
.assembly-page.private-cbd .cbd-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.assembly-page.private-cbd .cbd-hero figure{margin:0;aspect-ratio:1;background:radial-gradient(ellipse,#e1d4bb,transparent 72%)}
.assembly-page.private-cbd .cbd-hero img{width:100%;height:100%;object-fit:contain;padding:10%}
.assembly-page.private-cbd h1{font-size:clamp(42px,5.2vw,74px);font-weight:400;letter-spacing:-.055em;line-height:1.04;margin:16px 0}
.assembly-page.private-cbd h2{font-size:clamp(30px,3.8vw,52px);font-weight:400;letter-spacing:-.04em;line-height:1.12;margin:16px 0 24px;max-width:24ch}
.assembly-page.private-cbd h3{font-size:23px;font-weight:400;line-height:1.2;margin:20px 0}
.assembly-page.private-cbd p{font-size:16px;line-height:1.75;margin:16px 0}
.assembly-page.private-cbd .cbd-eyebrow,.assembly-page.private-cbd small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#315e87}
.assembly-page.private-cbd .cbd-subtitle{font-size:21px}
.assembly-page.private-cbd .cbd-category{border-top:1px solid #315e8730;padding-top:22px}
.assembly-page.private-cbd .cbd-warning{font-size:14px}
.assembly-page.private-cbd .cbd-anchors{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;margin-top:26px}
.assembly-page.private-cbd a{color:#315e87;text-underline-offset:5px}
.assembly-page.private-cbd .cbd-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:44px}
.assembly-page.private-cbd .cbd-cards article{border-top:1px solid #315e8740;padding-top:24px}
.assembly-page.private-cbd .cbd-lead{max-width:70ch}
.assembly-page.private-cbd .cbd-composition{border-block:1px solid #315e8730}
.assembly-page.private-cbd .cbd-safety{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.assembly-page.private-cbd .cbd-accordion{border-top:1px solid #315e8730;margin-top:18px}
.assembly-page.private-cbd .cbd-accordion summary{cursor:pointer;padding:20px 0;font-size:17px}
.assembly-page.private-cbd .cbd-contact{background:#0b2037;color:#f3efe6;max-width:none;padding-inline:max(40px,calc((100vw - 1240px)/2))}
.assembly-page.private-cbd .cbd-contact nav{display:flex;flex-wrap:wrap;gap:28px;margin-top:28px}
.assembly-page.private-cbd .cbd-contact a{color:#f3efe6}
@media(max-width:760px){.assembly-page.private-cbd .cbd-section{padding:40px 24px}.assembly-page.private-cbd .cbd-hero,.assembly-page.private-cbd .cbd-safety,.assembly-page.private-cbd .cbd-cards{grid-template-columns:1fr;gap:28px}.assembly-page.private-cbd .cbd-hero figure{max-width:360px;justify-self:center;width:100%}}
.assembly-page .composition-still{aspect-ratio:4/3!important;height:auto!important;min-height:0!important}
@media(max-width:860px){.assembly-page .hydro .top .composition-still{order:0!important}}
.assembly-page[data-page="lavandazen"] .film-sec.media-right .film-body.vertical{grid-template-columns:minmax(0,1fr) minmax(160px,240px) minmax(160px,240px)}
@media(max-width:1000px){.assembly-page[data-page="lavandazen"] .film-sec.media-right .film-body.vertical{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.assembly-page a[data-poster-unavailable="true"] .v{background:linear-gradient(140deg,#214765,#102a43)}
.assembly-page a[data-poster-unavailable="true"] .v img{display:none!important}
.assembly-page a[data-poster-unavailable="true"] .v::before{content:"";position:absolute;top:45%;left:45%;border-left:24px solid #f3efe6;border-top:16px solid transparent;border-bottom:16px solid transparent;z-index:2}
.assembly-page .range .prod>small{display:block;min-height:2.8em}
.assembly-page[data-page="lavandazen"] .film-body.vertical>.short{align-self:start}

/* Mineral paper, midnight ink and copper. Shared presentation overrides. */
:root {
 --care-paper:#f6f3ed; --care-surface:#fffdf9; --care-ink:#172a3f;
 --care-blue:#2467b6; --care-copper:#2467b6; --care-muted:#626970;
 --care-line:rgb(27 45 64 / 16%); --care-ease:cubic-bezier(.22,1,.36,1);
 --background:40 33% 95%; --foreground:212 47% 17%;
 --card:40 60% 99%; --card-foreground:212 47% 17%;
 --popover:40 60% 99%; --popover-foreground:212 47% 17%;
 --primary:212 47% 17%; --primary-foreground:40 33% 95%;
 --secondary:36 26% 90%; --secondary-foreground:212 47% 17%;
 --muted:36 26% 90%; --muted-foreground:210 7% 40%;
 --border:32 15% 80%; --input:32 15% 75%; --ring:208 42% 36%;
 --ink:212 47% 12%; --ink-foreground:40 33% 95%; --botanic:208 42% 36%;
 --accent:212 66% 43%; --accent-foreground:40 33% 95%;
}
html{background:var(--care-paper)}
body{font-kerning:normal;-webkit-font-smoothing:antialiased}
body:has(.assembly-page){background:var(--care-paper);color:var(--care-ink)}
body :is(.font-serif,.accent-serif){font-family:var(--font-geist-sans),Arial,sans-serif;font-style:normal}
::selection{background:#428fea3d;color:#172a3f}
.assembly-page.clean{
 --paper:var(--care-paper);--paper-2:var(--care-surface);--stage:#eae4db;
 --ink:var(--care-ink);--green:var(--care-blue);--blue:var(--care-blue);
 --muted:var(--care-muted);--line:var(--care-line);--card:#fffdf9b3;
 --dark:#0d2136;--dark-2:#1b354e;--cream:#f6f3ed;--mint:#bad0e2;--note:#ede7de;
 color:var(--care-ink);background:var(--care-paper);
}
.assembly-page.clean :is(h1,h2,h3,h4){font-kerning:normal;font-feature-settings:"ss01" 1}
.assembly-page.clean :is(p,li){text-rendering:optimizeLegibility}
.assembly-page.clean :is(a,button,input,select,summary){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.assembly-page.clean :is(a,button,input,select,summary):focus-visible{outline:2px solid var(--care-copper);outline-offset:5px}
.assembly-page.clean header.site{background:linear-gradient(180deg,#fffdf980,#fffdf900);box-shadow:0 1px 0 var(--care-line)}
.assembly-page.clean .logo-word{color:var(--care-ink);font-weight:450}
.assembly-page.clean .logo-word span{color:#69727a}
.assembly-page.clean .logo-sig{color:var(--care-muted)}
.assembly-page.clean .menu a{position:relative;color:var(--care-ink);font-weight:450;transition:color .22s}
.assembly-page.clean .menu a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--care-copper);transform:scaleX(0);transform-origin:left;transition:transform .32s var(--care-ease)}
.assembly-page.clean .menu a:hover:after,.assembly-page.clean .menu a:focus-visible:after{transform:scaleX(1)}
.assembly-page.clean :is(.btn,.pill){box-shadow:inset 0 1px 0 #ffffff18,0 3px 8px #172a3f06;transition:background .25s,color .25s,border-color .25s,box-shadow .3s,transform .3s var(--care-ease)}
.assembly-page.clean :is(.btn:not(.btn-ghost),.pill-dark){background:linear-gradient(145deg,#304e69,#172d44);color:#fffdf9}
.assembly-page.clean :is(.btn-ghost,.pill:not(.pill-dark)){border-color:#233e5866;background:#fffdf92e}
@media(hover:hover){
 .assembly-page.clean :is(.btn,.pill):not([aria-disabled=true]):hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff33,0 8px 20px -10px #10283b66}
 .assembly-page.clean .btn:not(.btn-ghost):not([aria-disabled=true]):hover{background:#294d6c}
 .assembly-page.clean :is(.btn-ghost,.pill:not(.pill-dark)):not([aria-disabled=true]):hover{background:#fffdf9;border-color:var(--care-copper)}
}
.assembly-page.clean :is(.btn,.pill):active{transform:translateY(0)}
.assembly-page.clean .eyebrow,.assembly-page.clean .kicker{color:var(--care-blue)}
.assembly-page.clean .eyebrow:before{background:var(--care-copper)}
.assembly-page.clean :is(.hero-shot,.catalog-shot,.range .shot){background:radial-gradient(ellipse at 38% 20%,#fffdf9 0%,#f2ece3 58%,#e5ddd2 100%);box-shadow:inset 0 0 0 1px #fffdf9cc,inset 0 -1px 0 #a48d7324}
.assembly-page.clean .hero-shot{box-shadow:inset 0 0 0 1px #ffffffd9,0 20px 50px -36px #20354b70}
.assembly-page.clean .hero-shot img{mix-blend-mode:normal}
.assembly-page.clean [data-product-model]::after{background:#24334721;filter:blur(9px);height:3%;bottom:10%;width:42%;left:29%}
.assembly-page.clean :is(.hero-dots button,.dots button){transition:background .25s,box-shadow .25s;box-shadow:0 0 0 1px #172a3f14}
.assembly-page.clean :is(.hero-dots button.on,.dots button.on){background:var(--care-blue);box-shadow:0 0 0 3px #fffdf9,0 0 0 4px #355e8255}
.assembly-page.clean :is(.neo-scene,[data-care-scene]){box-shadow:0 24px 60px -48px #152b4077,inset 0 0 0 1px #fffdf9}
.assembly-page.clean :is(.catalog-product,.range .prod){transition:background .28s,box-shadow .28s;color:var(--care-ink);border-color:var(--care-line)}
.assembly-page.clean :is(.catalog-product,.range .prod):hover{background:#fffdf966;box-shadow:inset 0 2px 0 var(--care-blue)}
.assembly-page.clean :is(.catalog-name,.range .prod b){letter-spacing:-.025em}
.assembly-page.clean :is(.catalog-product small,.range .prod>small){color:var(--care-blue)}
.assembly-page.clean :is(.z5,.breath){background:linear-gradient(115deg,#ede6dd,#f3eee6 58%,#e6e0d8)}
.assembly-page.clean :is(.research,.card,.remind-disclosure){border-color:var(--care-line);background:#fffdf9a3;box-shadow:0 4px 20px -16px #1b2e4555}
.assembly-page.clean .research{border-left-color:var(--care-copper)}
.assembly-page.clean .research summary{transition:color .22s}
.assembly-page.clean .research summary:hover{color:var(--care-copper)}
.assembly-page.clean .research[open]{background:#fffdf9;box-shadow:0 12px 28px -24px #172a3f77}
.assembly-page.clean :is(.phase-head span,.j-stage small){font-variant-numeric:tabular-nums}
.assembly-page.clean .day{box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #172a3f1a;transition:transform .25s var(--care-ease),box-shadow .25s}
.assembly-page.clean .day:hover,.assembly-page.clean .day:focus-visible{box-shadow:0 3px 9px #172a3f26,inset 0 1px 0 #fff6}
.assembly-page.clean .calendar-popover{border-color:#8aa7ca;border-left-color:var(--care-copper)!important;box-shadow:0 18px 48px -20px #172a3f55}
.assembly-page.clean :is(.final,#youtube,footer){background:radial-gradient(ellipse at 100% 0%,#2a435955,transparent 60%),linear-gradient(125deg,#10283f,#0a1c2e 72%);color:#f6f3ed}
.assembly-page.clean :is(.final,#youtube,footer) :is(.eyebrow,.kicker){color:#bad0e2}
.assembly-page.clean :is(.final,#youtube) .btn:not(.btn-ghost){background:#f6f3ed;color:#172a3f;box-shadow:inset 0 1px 0 #fff,0 6px 20px #0001}
.assembly-page.clean :is(.final,#youtube) .btn-ghost{color:#f6f3ed;border-color:#e5dbd077;background:transparent}
.assembly-page.clean :is(.final,#youtube) .btn-ghost:hover{background:#ffffff14;border-color:#f6f3ed}
.assembly-page.clean .final figure{background:radial-gradient(ellipse,#cbd9e019,transparent 70%)}
.assembly-page.clean footer a{transition:color .25s;text-underline-offset:5px}
.assembly-page.clean footer a:hover{color:#91c3ff}
.assembly-page.clean :is(.film,.appro-img,.scene,.portrait,.thumb){box-shadow:0 18px 42px -34px #172a3f66}
.assembly-page.clean .people img{box-shadow:0 12px 32px -24px #172a3f66;outline:1px solid #172a3f0d;outline-offset:-1px}
.assembly-page.clean[data-page="home"] .people figure:nth-child(n){margin-top:0}
.assembly-page.clean[data-page="home"] .people{grid-template-columns:repeat(4,minmax(0,1fr))}
.assembly-page.clean[data-page="home"] .people figcaption{flex-direction:column;align-items:flex-start;gap:5px}
.assembly-page.clean[data-page="home"] .people figcaption span{line-height:1.5}
@media(max-width:760px){.assembly-page.clean[data-page="home"] .people{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
.assembly-page.clean .play{background:#fffdf9f0;box-shadow:inset 0 0 0 1px #fff,0 8px 25px #102b3f30}
.assembly-page.clean #youtube .humanitaire{background:linear-gradient(130deg,#ffffff09,#ffffff03);border-color:#cad7e22e;box-shadow:inset 0 1px 0 #ffffff0a}
.assembly-page.clean #youtube select{background:#152e46;border-color:#91a8bc66;box-shadow:inset 0 1px 0 #ffffff0a}
.assembly-page.clean :is(.film-ctrl,.yt-bar button,.yt-bar a){min-height:36px;transition:background .2s,border-color .2s}
.assembly-page.clean :is(input,select,textarea){accent-color:var(--care-blue)}
.assembly-page.clean input:not([type=range]):focus-visible,.assembly-page.clean select:focus-visible{box-shadow:0 0 0 4px #355e8212}
.assembly-page.clean [data-connection=pending]{opacity:.72}
.assembly-page.clean form[data-connection=pending]{opacity:1}
.assembly-page.clean form[data-connection=pending] :is(input,button){opacity:.65}
.assembly-page.clean .final .signup p{color:#c4cbd1}
.assembly-page.clean .final .signup .toast{color:#bad0e2!important}
.assembly-page.clean .final .signup input::placeholder{color:#c4cbd1}
.assembly-page.clean .care-scene-loading{z-index:8;background:radial-gradient(ellipse at 50% 36%,#fffdf9,#eee7dd 75%);color:var(--care-ink)}
.assembly-page.clean .care-loading-inner{display:grid;justify-items:center;gap:28px;text-align:center}
.assembly-page.clean .care-loading-seal{position:relative;width:126px;height:126px;display:grid;place-items:center;border:1px solid #a4846630;border-radius:50%;box-shadow:0 0 0 14px #fffdf95e,0 0 0 15px #a4846612}
.assembly-page.clean .care-loading-seal img{width:72px;height:72px;object-fit:contain}
.assembly-page.clean .care-loading-seal:after{content:"";position:absolute;inset:-1px;border:1px solid transparent;border-top-color:var(--care-blue);border-right-color:#2467b63d;border-radius:50%;animation:care-loading-orbit 3.2s linear infinite}
.assembly-page.clean .care-loading-copy{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#5a6370}
.assembly-page.clean .care-loading-line{width:120px;height:1px;background:#172a3f1a;position:relative;overflow:hidden}
.assembly-page.clean .care-loading-line:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--care-blue),transparent);animation:care-loading-line 2s ease-in-out infinite}
@keyframes care-loading-orbit{to{transform:rotate(360deg)}}
@keyframes care-loading-line{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
/* The auxiliary pages share the same materials and typography. */
body:not(:has(.assembly-page)) .glass{background:linear-gradient(135deg,#fffdf9ee,#f6f3edcc);border-color:#d8cfc2;box-shadow:inset 0 1px 0 #fff,0 16px 40px -32px #19354f66;backdrop-filter:blur(12px)}
body:not(:has(.assembly-page)) .glass-dark{background:linear-gradient(135deg,#233d54b3,#12293ed9);border-color:#b8c8d326}
body:not(:has(.assembly-page)) .display,body:not(:has(.assembly-page)) .display-sm{font-family:var(--font-geist-sans);font-weight:350}
body:not(:has(.assembly-page)) .micro{font-family:var(--font-geist-sans);letter-spacing:.16em}
@media(prefers-reduced-motion:reduce){
 .assembly-page.clean :is(.btn,.pill,.menu a:after,.day,.hero-dots button,.dots button,.research summary){transition:none;transform:none!important}
 .assembly-page.clean :is(.care-loading-seal:after,.care-loading-line:after){animation:none}
}
/* Preview 25: optical alignment and deliberate, accessible interaction. */
.assembly-page.clean :is(h1,h2,h3){text-wrap:balance}
.assembly-page.clean :is(.lead,.hero-sub,.catalog-intro p){text-wrap:pretty}
.assembly-page.clean :is(.eyebrow,.kicker,.chip){font-variant-numeric:tabular-nums}
.assembly-page.clean :is(.hero-dots,.dots) button{position:relative;width:32px;height:32px;border:0;background:transparent!important;box-shadow:none!important;border-radius:50%}
.assembly-page.clean :is(.hero-dots,.dots) button:before{content:"";position:absolute;inset:11px;border:1px solid #17223473;background:#fffdf9bf;border-radius:50%}
.assembly-page.clean :is(.hero-dots,.dots) button:is(.on,[aria-pressed=true]):before{background:var(--care-blue);border-color:#fff;box-shadow:0 0 0 1px #355e8255}
.assembly-page.clean :is(a,button,input,select,summary):focus-visible{outline:2px solid var(--care-blue);outline-offset:4px;scroll-margin:80px}
.assembly-page.clean :is(.people img,.people .ph){border-radius:18px}
.assembly-page.clean .people img{filter:saturate(.91) contrast(1.025)}
.assembly-page.clean :is(.film,.yt-cover,.thumb){isolation:isolate}
.assembly-page.clean :is(.film,.yt-cover,.thumb) img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.assembly-page.clean :is(.film,.yt-cover,.thumb):hover img{transform:scale(1.025)}}
.assembly-page.clean a[data-youtube-poster]{border-radius:inherit;box-shadow:inset 0 0 0 1px #fff2}
.assembly-page.clean :is(.hero-dots,.dots) button:focus-visible{outline-offset:8px}
.assembly-page.clean .care-scene-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;transition:opacity .6s;opacity:1}
.assembly-page.clean [data-care-scene]:has(.care-scene-wrap[data-state=ready]) .care-scene-poster{opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s .6s}
.assembly-page.clean .care-scene-host{opacity:0;transition:opacity .6s}
.assembly-page.clean .care-scene-wrap[data-state=ready] .care-scene-host{opacity:1}
.assembly-page.clean .care-scene-loading{background:linear-gradient(#f6f3ed80,#f6f3edb3);backdrop-filter:blur(6px);transition:opacity .4s,visibility .4s}
.assembly-page.clean .care-scene-wrap[data-state=ready] .care-scene-loading{opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.assembly-page.clean :is(.care-scene-host,.care-scene-loading,.care-scene-poster,.film img,.yt-cover img,.thumb img){transition:none!important;transform:none!important}}
@media(max-width:760px){.assembly-page.clean :is(.menu a,.head-cta a){min-height:44px;display:inline-flex;align-items:center}.assembly-page.clean .people figcaption{align-items:flex-start;gap:8px;flex-wrap:wrap}.assembly-page.clean .people figcaption span{line-height:1.5}}
/* Four CBD reference cards need their own rows at every content width. */
.assembly-page.clean[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;align-items:start}
.assembly-page.clean[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes li{min-width:0;padding:0 0 0 18px;border-left:1px solid var(--line);border-top:0}
.assembly-page.clean[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes p{overflow-wrap:break-word;hyphens:auto}
.assembly-page.clean[data-page="huile-cbd-30-full-spectrum"] .benef-main,.assembly-page.clean[data-page="huile-cbd-30-full-spectrum"] .benef-grid{min-width:0;height:auto;max-height:none;overflow:visible}
@media(max-width:680px){.assembly-page.clean[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes{grid-template-columns:1fr;gap:24px}.assembly-page.clean[data-page="huile-cbd-30-full-spectrum"] .benef-main .reperes li{padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}}
.assembly-page.clean[data-page="huile-cbd-30-full-spectrum"] #reperes{padding-bottom:clamp(32px,4vw,56px)}

/* One content axis, including sections whose source has no .inner wrapper. */
.assembly-page.clean{--care-content:1260px;--gut:clamp(16px,4vw,64px)}
.assembly-page.clean .wrap{padding-inline:max(var(--gut),calc((100% - var(--care-content))/2))}
.assembly-page.clean .wrap>.inner{max-width:none;width:100%;margin-inline:0}
.assembly-page.clean :is(h1,h2,h3,.intro,.lead,.benef-lead){text-wrap:balance}
.assembly-page.clean :is(p,li){text-wrap:pretty}
.assembly-page.clean .js-signup>p{max-width:none;font-size:12px;line-height:1.6}
.assembly-page.clean .no-orphan{white-space:nowrap}
.assembly-page.clean #t1{max-width:none;font-size:clamp(24px,4.3vw,64px);line-height:1.1;letter-spacing:-.045em}
.assembly-page.clean .catalog-intro .kicker{color:var(--care-blue)}
.assembly-page.clean [data-product-model=lavanda] .product-view-canvas{transform:scale(1.12)}
.assembly-page.clean .ritual-launcher{display:inline-flex;margin-block:18px}
.assembly-page.clean .acts:has(.ritual-launcher)>:not(.ritual-launcher){display:none}
.assembly-page.clean [data-ritual-replaced]{display:none!important}
.assembly-page.clean .ritual-launcher button{background:var(--care-blue);color:#fff;border:1px solid #ffffff20;border-radius:999px;min-height:48px;padding:13px 24px;font:500 15px var(--font-geist-sans),sans-serif;box-shadow:0 8px 30px #1664bc24;cursor:pointer}

/* Keep the YouTube play control clear of the decorative media overlay. */
.assembly-page.clean #youtube .play-video > .lab-surface-light{display:none}
/* October review: shared alignment, composition caption and luminous range key. */
.assembly-page.clean header.site .logo{display:grid;grid-template-columns:48px auto;grid-template-rows:auto auto;column-gap:12px;row-gap:5px;align-items:center}
.assembly-page.clean .care-brand-symbol{grid-column:1;grid-row:1/3;width:48px;height:48px;object-fit:contain}
.assembly-page.clean .logo-word,.assembly-page.clean .logo-sig{grid-column:2}
.assembly-page.clean .steps li:last-child .n::after{background:var(--care-blue);border-color:var(--care-blue)}
.assembly-page.clean .range .cup{background:transparent!important;border-radius:0;aspect-ratio:auto;width:100%;height:100%}
.assembly-page.clean .luminous-rope{background:transparent;height:16px;overflow:visible;max-width:210px}
.assembly-page.clean .luminous-rope svg{width:100%;height:16px;stroke:var(--c);stroke-width:1.2;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--c),transparent 55%))}
.assembly-page.clean .luminous-rope path:last-child{opacity:.35;stroke-width:.6}
.assembly-page.clean[data-page="flora-regula"] .study-note{max-width:none;font-size:clamp(.78rem,1.08vw,.92rem);text-wrap:pretty}
.assembly-page.clean .composition-still .side-title{position:absolute!important;inset:0 0 auto!important;padding:clamp(18px,2.5vw,32px)!important;z-index:1;color:#243749;background:linear-gradient(#faf4e6ed,#faf4e600);text-align:right}
.assembly-page.clean .composition-still .side-title h2{color:#243749!important;font-size:clamp(20px,2.25vw,34px)!important;max-width:none;margin:0}
.assembly-page.clean[data-page="flora-regula"] :is(.plant-fig,.media-band,.chapter,.life-carousel)>img{animation:care-photo-breathe 16s ease-in-out infinite alternate;transform-origin:center}
@keyframes care-photo-breathe{to{transform:scale(1.028) translateY(-.3%)}}
@media(max-width:680px){.assembly-page.clean header.site .logo{grid-template-columns:38px auto;column-gap:9px}.assembly-page.clean .care-brand-symbol{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.assembly-page.clean[data-page="flora-regula"] img{animation:none!important}}
.assembly-page.clean .formula-figure{display:flex;flex-direction:column;justify-content:space-between;min-height:440px;background:radial-gradient(ellipse at 35% 75%,#2d53774a,transparent 60%),var(--care-surface);overflow:hidden;border:1px solid var(--care-line);border-radius:18px}
.assembly-page.clean .formula-figure .side-title{position:relative;inset:auto;padding:30px;text-align:left}
.assembly-page.clean .formula-figure .side-title h2{margin:0;max-width:18ch}
.assembly-page.clean .formula-figure .side-title .eyebrow{justify-content:flex-start}
.assembly-page.clean .formula-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:24px 20px 36px;text-align:center}
.assembly-page.clean .formula-visual>div{display:grid;align-content:start;gap:18px;justify-items:center}
.assembly-page.clean .formula-visual i{display:grid;place-items:center;width:clamp(54px,7vw,92px);aspect-ratio:1;border-radius:50%;font:300 clamp(20px,2.4vw,32px)/1 var(--sans);color:var(--care-ink);border:1px solid #89b4de70;background:radial-gradient(circle at 28% 24%,#c3e5ff66,transparent 62%);box-shadow:inset 0 0 20px #bfdfff18,0 8px 30px #00000018}
.assembly-page.clean .formula-visual span{font-size:clamp(10px,1.2vw,14px);color:var(--care-ink);line-height:1.5}
.assembly-page.clean .formula-visual small{font-size:inherit;color:var(--care-muted)}
.assembly-page.clean .composition-still .side-title{background:linear-gradient(#faf4e6ed,#faf4e600)!important}
@media(min-width:1200px){.assembly-page.clean[data-page="flora-regula"] .study-note{font-size:13px;line-height:1.65}}

.site-preferences{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font:12px/1.2 var(--font-geist-sans),sans-serif;position:relative}
.site-preferences button{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;border:1px solid var(--care-line);border-radius:999px;background:var(--care-surface);color:var(--care-ink);cursor:pointer;white-space:nowrap}
.site-preferences button[aria-pressed=true]{background:var(--care-ink);color:var(--care-paper)}
.site-preferences button:focus-visible{outline:2px solid var(--care-copper);outline-offset:3px}
.site-preferences .language-note{position:absolute;right:0;top:calc(100% + 8px);z-index:40;padding:10px 14px;width:250px;border:1px solid var(--care-line);border-radius:12px;background:var(--care-surface);color:var(--care-muted);box-shadow:0 10px 25px #0002;font-size:11px;line-height:1.4;pointer-events:none}
.site-preferences .language-note[hidden]{display:none}
.site-preferences svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;flex:none}
.assembly-page.clean header.site>.inner{flex-wrap:wrap;row-gap:12px}
.assembly-page.clean header.site .site-preferences{margin-left:auto}
.preference-fallback{position:fixed;right:18px;bottom:24px;z-index:60;padding:6px;border:1px solid var(--care-line);border-radius:28px;background:var(--care-paper)}
html[data-theme=dark]{color-scheme:dark;--care-paper:#111214;--care-surface:#1b1d20;--care-ink:#f0f0ed;--care-muted:#b7b9bd;--care-blue:#79b7ff;--care-copper:#79b7ff;--care-line:#ffffff29;--background:220 8% 7%;--foreground:60 5% 94%;--card:220 8% 12%;--card-foreground:60 5% 94%;--popover:220 8% 12%;--popover-foreground:60 5% 94%;--primary:60 5% 94%;--primary-foreground:220 8% 9%;--secondary:220 8% 17%;--secondary-foreground:60 5% 94%;--muted:220 7% 16%;--muted-foreground:220 4% 73%;--border:220 5% 25%;--input:220 5% 30%;--accent:212 100% 74%;--accent-foreground:220 8% 9%}
html[data-theme=dark] body{background:#111214;color:#f0f0ed}
html[data-theme=dark] body::before,html[data-theme=dark] body::after{opacity:.06}
html[data-theme=dark] .assembly-page.clean{--stage:#202226;--card:#1b1d20;--dark:#0b0c0e;--dark-2:#17191c;--cream:#f0f0ed;--mint:#b9cada;--note:#222428}
html[data-theme=dark] .assembly-page.clean :is(header.site,.z5,.breath){background:#17191c}
html[data-theme=dark] .assembly-page.clean :is(.hero-shot,.catalog-shot,.range .shot){background:radial-gradient(ellipse at 40% 20%,#393b3e,#232529 58%,#151619);box-shadow:inset 0 0 0 1px #ffffff14}
html[data-theme=dark] .assembly-page.clean :is(.final,#youtube,footer){background:linear-gradient(135deg,#1c1e22,#0b0c0e);color:#f0f0ed}
html[data-theme=dark] .assembly-page.clean :is(.research,.card,.remind-disclosure,.choice,.calendar-popover,.jpop,.know,.warnbox,.notice,.yt-dlg,.yt-box){background:#1c1e22;color:#f0f0ed;border-color:#ffffff2b}
html[data-theme=dark] .assembly-page.clean :is(.research[open],.research summary:hover,.catalog-product:hover,.range .prod:hover){background:#24272b}
html[data-theme=dark] .assembly-page.clean :is(.btn:not(.btn-ghost),.pill-dark){background:#e5e7e8;color:#15171a}
html[data-theme=dark] .assembly-page.clean :is(.btn-ghost,.pill:not(.pill-dark)){background:#ffffff05;color:#f0f0ed;border-color:#ffffff55}
html[data-theme=dark] .assembly-page.clean :is(.btn-ghost,.pill:not(.pill-dark)):hover{background:#ffffff14}
html[data-theme=dark] .assembly-page.clean :is(input,select,textarea){background-color:#1d2024;color:#f0f0ed;border-color:#ffffff55}
html[data-theme=dark] .assembly-page.clean input::placeholder{color:#b7b9bd}
html[data-theme=dark] .assembly-page.clean :is(.neo-scene,[data-care-scene]){background:#15171a;box-shadow:0 24px 60px -48px #000,inset 0 0 0 1px #ffffff20}
html[data-theme=dark] .assembly-page.clean .care-scene-loading{background:#111214b8;color:#f0f0ed}
html[data-theme=dark] .assembly-page.clean .care-loading-copy{color:#d1d3d7}
html[data-theme=dark] .assembly-page.clean .care-loading-seal{box-shadow:0 0 0 14px #ffffff06,0 0 0 15px #ffffff15;border-color:#ffffff33}
html[data-theme=dark] .assembly-page.clean .care-scene-fallback{background:#16181b;color:#f0f0ed}
html[data-theme=dark] .assembly-page.clean .care-scene-fallback a{color:#b9d1e9}
html[data-theme=dark] .assembly-page.clean :is(.dock,.yt-bar,.toc,.chip,.stat-chip){background:#1b1d20;color:#f0f0ed;border-color:#ffffff33}
html[data-theme=dark] .assembly-page.clean .play{background:#f0f0ed;color:#172234}
html[data-theme=dark] body:not(:has(.assembly-page)) .glass{background:#1b1d20e8;border-color:#ffffff26;box-shadow:0 16px 40px -24px #000}
html[data-theme=dark] ::selection{background:#428fea66;color:#fff}

html[data-theme=dark] .assembly-page.clean :is(.benef-img,.benef-img .ph,.side-title){background:#222428;color:#f0f0ed}
html[data-theme=dark] .assembly-page.clean :is(.hero-shot figcaption,.benef-img figcaption){color:#b7b9bd}
html[data-theme=dark] .assembly-page.clean :is(.hydro,.side-img,.safety,.zone-note,.mat-card,.mat-frame,.still,.card .shot,.braid,.braid figcaption){background:#1c1e22;color:#f0f0ed}
html[data-theme=dark] .assembly-page.clean .calendar-popover{background:#202226!important;color:#f0f0ed!important;border-color:#ffffff44}
html[data-theme=dark] .assembly-page.clean :is(.calendar-popover p,.calendar-popover strong,.calendar-popover button){color:#f0f0ed!important}
html[data-theme=dark] .assembly-page.clean .entry::before{background:linear-gradient(180deg,#15171aee,#15171a33)}
html[data-theme=dark] .assembly-page.clean :is(.hero-dots,.dots) button:before{background:#555a61;border-color:#adb4bd}
html[data-theme=dark] .assembly-page.clean #bilan .level{background:#383d44;border-color:#ffffff55}
html[data-theme=dark] .assembly-page.clean #bilan .level.on{background:#a8c4df;color:#111214}
html[data-theme=dark] .assembly-page.clean #bilan{background:#141619}

/* Two deliberate rows keep navigation separate from display preferences. */
.assembly-page.clean header.site>.inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 32px;padding-block:22px 14px;align-items:center}
.assembly-page.clean header.site .logo{grid-column:1;grid-row:1;justify-self:start;gap:6px}
.assembly-page.clean header.site .logo-word{font-size:22px;letter-spacing:.17em}
.assembly-page.clean header.site .logo-sig{font-size:12px;line-height:1.4}
.assembly-page.clean header.site .site-preferences{grid-column:2;grid-row:1;margin:0;justify-self:end;gap:8px}
.assembly-page.clean header.site .menu{grid-column:1;grid-row:2;display:flex;align-items:center;gap:clamp(20px,2.8vw,44px);width:auto;order:initial;border:0;padding:0}
.assembly-page.clean header.site .menu a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;white-space:nowrap}
.assembly-page.clean header.site .menu a:after{bottom:4px}
.assembly-page.clean header.site .head-cta{grid-column:2;grid-row:2;display:flex;gap:12px;justify-content:flex-end}
.assembly-page.clean header.site .head-cta .pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;font-size:13px}
.assembly-page.clean header.site .head-cta [aria-disabled=true]{opacity:.5}
.care-menu-slot{display:contents}
.care-menu-toggle{display:none}
@media(max-width:1050px){
 .assembly-page.clean header.site>.inner{gap:0 12px;padding-block:18px}
 .assembly-page.clean header.site .logo-word{font-size:clamp(16px,3.8vw,22px);letter-spacing:.13em}
 .assembly-page.clean header.site .logo-sig{font-size:11px}
 .assembly-page.clean header.site .care-menu-toggle{grid-column:2;grid-row:1;display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid var(--care-line);border-radius:10px;background:var(--care-surface);color:var(--care-ink);font:500 13px var(--font-geist-sans),sans-serif;cursor:pointer}
 .care-menu-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
 .care-menu-toggle:focus-visible{outline:2px solid var(--care-copper);outline-offset:4px}
 .assembly-page.clean header.site .menu{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr;justify-content:stretch;gap:0;margin-top:20px;border-top:1px solid var(--care-line)}
 .assembly-page.clean header.site .menu a{min-height:52px;font-size:17px;border-bottom:1px solid var(--care-line);padding:8px 2px}
 .assembly-page.clean header.site .menu a:after{display:none}
 .assembly-page.clean header.site .head-cta{grid-column:1/-1;grid-row:3;justify-content:flex-start;flex-wrap:wrap;padding-top:18px}
 .assembly-page.clean header.site .site-preferences{grid-column:1/-1;grid-row:4;width:auto;justify-self:start;justify-content:flex-start;padding-top:18px;margin:0}
 .assembly-page.clean header.site .inner[data-menu-ready=true]:not([data-menu-open=true]) :is(.menu,.head-cta,.site-preferences){display:none}
}

.site-preferences select{font:inherit;min-width:72px;min-height:44px;padding:0 12px;border:1px solid var(--care-line);border-radius:999px;background:var(--care-surface);color:var(--care-ink);cursor:pointer}.site-preferences select:focus-visible{outline:2px solid var(--care-blue);outline-offset:3px}

.assembly-page[data-boutique] .shop-intro{padding-block:60px 38px}
.assembly-page[data-boutique] .shop-intro>.inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.assembly-page[data-boutique] .shop-intro h1{font-size:clamp(38px,5.8vw,78px);font-weight:350;letter-spacing:-.06em;line-height:1.05;margin:18px 0}
.assembly-page[data-boutique] .shop-signature{font-size:clamp(14px,1.3vw,17px);color:var(--care-muted);margin:0;max-width:48ch;line-height:1.6}
.assembly-page[data-boutique] .shop-intro-actions{display:grid;gap:16px;justify-items:center;flex-shrink:0;padding-bottom:4px}
.assembly-page[data-boutique] .shop-cart{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:14px;min-height:44px}
.assembly-page[data-boutique] .shop-cart svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.assembly-page[data-boutique] .shop-world{padding:0 var(--gut);max-width:1460px;margin:0 auto}
.assembly-page[data-boutique] .shop-scene{height:690px;border-radius:24px;overflow:hidden;background:var(--care-surface);position:relative}
.assembly-page[data-boutique] .shop-selection{padding-block:80px 50px;scroll-margin-top:24px}
.assembly-page[data-boutique] .shop-section-head{display:flex;gap:40px;justify-content:space-between;align-items:flex-end;margin-bottom:34px}
.assembly-page[data-boutique] .shop-section-head h2{font-size:clamp(32px,4vw,52px);font-weight:350;letter-spacing:-.05em;line-height:1.1;margin:14px 0 0}
.assembly-page[data-boutique] .shop-section-head>p{font-size:14px;line-height:1.6;max-width:34ch;color:var(--care-muted);margin:0 0 3px}
.assembly-page[data-boutique] .shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.assembly-page[data-boutique] .shop-product{min-width:0;scroll-margin-top:28px}
.assembly-page[data-boutique] .shop-visual{display:block;position:relative;overflow:hidden;border-radius:20px;aspect-ratio:1.2;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--product-accent) 18%,var(--care-surface)),var(--care-surface) 75%);box-shadow:inset 0 0 0 1px var(--care-line);color:var(--care-ink)}
.assembly-page[data-boutique] .shop-model{position:absolute;inset:12px 0 30px;display:block}
.assembly-page[data-boutique] .shop-model img{width:100%;height:100%;object-fit:contain;padding:10%}
.assembly-page[data-boutique] .shop-stock{position:absolute;left:20px;top:20px;z-index:3;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--care-line);border-radius:999px;background:var(--care-paper);color:var(--care-muted);font-size:11px;line-height:1.3;pointer-events:none}
.assembly-page[data-boutique] .shop-stock[data-available=true]{color:var(--care-ink)}
.assembly-page[data-boutique] .shop-stock:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--care-muted)}
.assembly-page[data-boutique] .shop-stock[data-available=true]:before{background:var(--care-blue);box-shadow:0 0 8px color-mix(in srgb,var(--care-blue) 40%,transparent)}
.assembly-page[data-boutique] .shop-visual-label{position:absolute;bottom:20px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.14em;pointer-events:none}
.assembly-page[data-boutique] .shop-visual-label>span{font-size:24px;letter-spacing:0}
.assembly-page[data-boutique] .shop-product-body{padding:24px 2px 0}
.assembly-page[data-boutique] .shop-category{font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--care-muted);margin:0 0 12px;min-height:17px}
.assembly-page[data-boutique] .shop-name-price{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.assembly-page[data-boutique] .shop-name-price h3{font-size:clamp(26px,2.8vw,36px);font-weight:400;letter-spacing:-.04em;line-height:1.15;margin:0}
.assembly-page[data-boutique] .shop-name-price h3 a{text-decoration:none}
.assembly-page[data-boutique] .shop-price{font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}
.assembly-page[data-boutique] .shop-format{font-size:14px;color:var(--care-muted);margin:10px 0 0}
.assembly-page[data-boutique] .shop-ufi{font-size:11px;color:var(--care-muted);margin:8px 0 0;min-height:17px}
.assembly-page[data-boutique] .shop-buy{display:flex;gap:12px;align-items:stretch;margin:24px 0 16px}
.assembly-page[data-boutique] .shop-quantity{display:flex;align-items:center;gap:8px;border:1px solid var(--care-line);border-radius:999px;padding:0 14px;color:var(--care-muted)}
.assembly-page[data-boutique] .shop-quantity>span{font-size:11px}
.assembly-page[data-boutique] .shop-quantity input{box-sizing:border-box;width:44px;min-height:50px;padding:0 3px;border:0;background:transparent;color:var(--care-ink);font:14px var(--sans);text-align:center}
.assembly-page[data-boutique] .shop-buy .btn{flex:1;justify-content:center;font-size:13px;min-height:50px;padding:12px 18px}
.assembly-page[data-boutique] .shop-buy .btn:disabled{background:var(--care-surface);color:var(--care-muted);box-shadow:none;border:1px solid var(--care-line);cursor:not-allowed;transform:none}
.assembly-page[data-boutique] .shop-details{display:flex;gap:12px;align-items:center;width:fit-content;min-height:44px;font-size:13px;text-underline-offset:5px}
.assembly-page[data-boutique] .shop-checkout-note{border-top:1px solid var(--care-line);margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;gap:20px}
.assembly-page[data-boutique] .shop-checkout-note p{font-size:12px;color:var(--care-muted);line-height:1.6;margin:0}
.assembly-page[data-boutique] .shop-notice{padding:20px 24px;border:1px solid var(--care-line);border-radius:16px;background:var(--care-surface);margin-bottom:28px;font-size:14px;line-height:1.6}
.assembly-page[data-boutique] .shop-notice p{margin:0 0 8px}
.assembly-page[data-boutique] .shop-notice a{text-underline-offset:4px}
.assembly-page[data-boutique] .shop-explore{padding-block:60px 80px;border-top:1px solid var(--care-line)}
.assembly-page[data-boutique] .shop-explore>.inner{display:flex;justify-content:space-between;align-items:center;gap:48px}
.assembly-page[data-boutique] .shop-explore h2{font-size:clamp(26px,3.4vw,44px);font-weight:350;letter-spacing:-.04em;line-height:1.2;max-width:17ch;margin:16px 0 24px}
.assembly-page[data-boutique] .shop-contact{padding-left:48px;border-left:1px solid var(--care-line)}
.assembly-page[data-boutique] .shop-contact p{font-size:20px;margin:0 0 16px}
.assembly-page[data-boutique] .shop-contact a{display:flex;gap:14px;align-items:center;min-height:44px;font-size:14px}
.assembly-page[data-boutique] .shop-operator{background:#0b0c0e;color:#b7b9bd;font-size:11px;text-align:center;margin:0;padding-block:16px;line-height:1.5}
@media(max-width:760px){
 .assembly-page[data-boutique] .shop-intro{padding-block:36px 30px}
 .assembly-page[data-boutique] .shop-intro>.inner{display:block}
 .assembly-page[data-boutique] .shop-intro-actions{display:flex;justify-content:space-between;gap:14px;margin-top:24px;padding:0}
 .assembly-page[data-boutique] .shop-intro-actions .btn{font-size:13px;padding:14px 20px}
 .assembly-page[data-boutique] .shop-cart{font-size:13px}
 .assembly-page[data-boutique] .shop-world{padding-inline:10px}
 .assembly-page[data-boutique] .shop-scene{height:690px;border-radius:18px}
 .assembly-page[data-boutique] .shop-selection{padding-block:48px 36px}
 .assembly-page[data-boutique] .shop-section-head{display:block;margin-bottom:28px}
 .assembly-page[data-boutique] .shop-section-head>p{margin-top:16px;max-width:40ch}
 .assembly-page[data-boutique] .shop-grid{gap:40px;grid-template-columns:1fr}
 .assembly-page[data-boutique] .shop-visual{aspect-ratio:1.1}
 .assembly-page[data-boutique] .shop-checkout-note{display:grid;gap:8px}
 .assembly-page[data-boutique] .shop-explore{padding-block:40px 50px}
 .assembly-page[data-boutique] .shop-explore>.inner{display:grid;gap:36px}
 .assembly-page[data-boutique] .shop-contact{padding:28px 0 0;border-left:0;border-top:1px solid var(--care-line)}
}
@media(prefers-reduced-motion:reduce){.assembly-page[data-boutique] *{scroll-behavior:auto!important}}

@font-face{font-family:Geist;src:url('./geist.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--font-geist-sans:Geist,Arial,sans-serif;--font-serif:Geist,Arial,sans-serif}
body{margin:0;background:var(--care-paper);color:var(--care-ink);font-family:var(--font-geist-sans);font-size:16px;line-height:1.6}
*,*:before,*:after{box-sizing:border-box}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--care-blue);outline-offset:4px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:10000;padding:12px;background:var(--care-paper)}
.woo-content{min-height:55vh;padding-block:50px 90px}.woo-content h1{font-size:clamp(34px,4vw,60px);font-weight:350;letter-spacing:-.05em;line-height:1.1;margin:18px 0 40px}.woo-content h2{font-size:clamp(24px,3vw,36px);font-weight:400;letter-spacing:-.03em}.woo-content h3{font-size:21px;font-weight:500}
.woo-content .woocommerce-breadcrumb{color:var(--care-muted);margin-bottom:32px}.woo-content .woocommerce-breadcrumb a{color:var(--care-ink)}
.woo-content .native-product .summary{padding:20px 0}.native-product .shop-visual{aspect-ratio:1}.native-product .summary h1{margin:15px 0 24px}.native-product .summary .cart{display:flex;gap:16px;margin:30px 0}.native-product .summary .cart .quantity{max-width:90px}
.woocommerce .quantity input.qty{width:80px}.woocommerce .stock.out-of-stock{color:var(--care-muted)}
.woocommerce :is(input.input-text,select,textarea),.wc-block-components-form :is(input,select,textarea),.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,.wc-block-components-textarea{background:var(--care-surface)!important;color:var(--care-ink)!important;border:1px solid var(--care-control-border)!important;border-radius:10px!important;box-shadow:none!important}
.woocommerce :is(input.input-text,select,textarea){padding:12px 14px;min-height:46px}.woocommerce input::placeholder,.wc-block-components-text-input input::placeholder{color:var(--care-muted)}
.woocommerce :is(a.button,button.button,input.button,#respond input#submit),.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button{border:1px solid var(--care-ink);border-radius:var(--care-button-radius);background:var(--care-action)!important;color:var(--care-on-action)!important;font-weight:500;padding:14px 22px;min-height:48px;box-shadow:var(--care-button-shadow);text-decoration:none;line-height:1.3}
.woocommerce :is(a.button,button.button):hover,.wc-block-components-button:hover{background:var(--care-action-hover)!important;box-shadow:var(--care-button-hover-shadow)}.woocommerce :is(a.button,button.button):disabled{opacity:.5}
.woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error),.wc-block-components-notice-banner{background:var(--care-surface)!important;color:var(--care-ink)!important;border-color:var(--care-blue)!important;border-radius:10px;box-shadow:none;padding:18px 24px;list-style:none}.woocommerce-message:before,.woocommerce-info:before,.woocommerce-error:before{display:none}.wc-block-components-notice-banner svg{fill:var(--care-ink);background:transparent!important}
.woocommerce table.shop_table{border:1px solid var(--care-line);border-radius:16px;border-collapse:separate;background:var(--care-inverse)}.woocommerce table.shop_table :is(td,th){padding:18px;border-color:var(--care-line)}.woocommerce table.shop_table td.product-thumbnail img{width:78px;max-height:100px;object-fit:contain}.woocommerce table.shop_table th{font-weight:500;color:var(--care-muted)}.woocommerce table.shop_table .product-name a{font-weight:500;text-decoration:none}.woocommerce .cart-collaterals .cart_totals{border:1px solid var(--care-line);padding:26px;border-radius:16px;background:var(--care-inverse)}.woocommerce .cart-collaterals .cart_totals table{border:0;background:transparent}.woocommerce a.remove{color:var(--care-ink)!important}.woocommerce a.remove:hover{background:var(--care-surface-alt)}
.woocommerce form :is(.form-row label,.woocommerce-privacy-policy-text){color:var(--care-muted)}.woocommerce form .form-row{margin:0 0 18px}.woocommerce form.checkout .col2-set{margin-bottom:40px}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:40px}.woocommerce-checkout #payment{background:var(--care-surface);border:1px solid var(--care-line);border-radius:16px}.woocommerce-checkout #payment ul.payment_methods{border-color:var(--care-line)}.woocommerce-checkout #payment div.payment_box{background:var(--care-surface-alt);color:var(--care-ink)}.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:var(--care-surface-alt)}.select2-container--default .select2-selection--single,.select2-dropdown{background:var(--care-surface)!important;color:var(--care-ink)!important;border-color:var(--care-control-border)!important;border-radius:10px}.select2-container .select2-selection--single{height:48px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--care-ink);line-height:46px}.select2-container--default .select2-selection--single .select2-selection__arrow{top:12px}
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{color:var(--care-ink)}.wc-block-components-main{padding-right:40px!important}.wc-block-components-sidebar{background:var(--care-surface);border:1px solid var(--care-line);border-radius:18px;padding:24px!important}.wc-block-components-checkout-step__heading,.wc-block-components-checkout-step__container{color:var(--care-ink)}.wc-block-components-text-input label,.wc-block-components-combobox label,.wc-block-components-country-input label,.wc-block-components-state-input label{color:var(--care-muted)!important}.wc-block-components-checkbox label{color:var(--care-ink)}.wc-block-components-radio-control__option{background:transparent!important;color:var(--care-ink)!important}.wc-block-components-radio-control__option-checked{background:var(--care-surface-alt)!important}.wc-block-components-order-summary-item__quantity{background:var(--care-ink);color:var(--care-paper)}.wc-block-components-order-summary-item__individual-prices,.wc-block-components-totals-item__description,.wc-block-components-checkout-step__description{color:var(--care-muted)!important}.wc-block-components-order-summary,.wc-block-components-totals-wrapper,.wc-block-cart-items__row,.wc-block-cart-items__header,.wc-block-components-radio-control{border-color:var(--care-line)!important}.wc-block-components-radio-control__input{background:var(--care-paper)!important;border-color:var(--care-muted)!important}.wc-block-components-radio-control__input:checked:before{background:var(--care-ink)!important}.wc-block-components-checkout-return-to-cart-button{color:var(--care-ink)}.wc-block-components-product-name{color:var(--care-ink)!important}.wc-block-components-product-badge{color:var(--care-ink);border-color:var(--care-control-border)}.wc-block-components-order-summary-item__image img,.wc-block-cart-item__image img{background:var(--care-surface-alt);border-radius:10px;object-fit:contain}.wc-block-components-express-payment,.wc-block-components-express-payment__event-buttons{border-color:var(--care-line)!important}.wc-block-components-express-payment__title{background:var(--care-paper)!important;color:var(--care-ink)!important}
@media(max-width:780px){.woo-content{padding-block:30px 60px}.woocommerce .col2-set{grid-template-columns:1fr;gap:20px}.woocommerce table.shop_table :is(th,td){padding:14px}.woocommerce table.shop_table_responsive tr:nth-child(2n) td{background:var(--care-surface-alt)}.woocommerce table.shop_table_responsive tr td{background:var(--care-inverse)}.woocommerce table.cart .coupon{display:flex;gap:8px;width:100%}.woocommerce table.cart .coupon input{min-width:0;flex:1;width:auto!important}.woocommerce .cart-collaterals .cart_totals{padding:18px}.wc-block-components-main{padding-right:0!important}.wc-block-components-sidebar{margin-top:30px}.native-product .summary h1{margin-top:8px}.assembly-page[data-boutique] .shop-scene{height:700px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important}}
.wc-blocks-components-select__container{background:var(--care-surface)!important;border-radius:10px!important}.wc-blocks-components-select__label{color:var(--care-muted)!important}.wc-blocks-components-select__expand{fill:var(--care-muted)!important}.wc-block-components-quantity-selector{border-color:var(--care-control-border)!important;border-radius:10px}.wc-block-components-quantity-selector input{color:var(--care-ink)!important;background:transparent!important}.wc-block-components-quantity-selector button{color:var(--care-ink)!important}

.native-footer nav{display:flex;flex-wrap:wrap;gap:16px 28px}.native-footer{padding-block:32px!important;border-top:1px solid var(--care-line)}.native-footer a,.shop-operator{font-size:13px;color:var(--care-muted)}.native-facts{margin-top:32px}.native-facts details{border-top:1px solid var(--care-line);padding:16px 0;font-size:14px}.native-facts summary{cursor:pointer;font-size:16px}.native-facts dt{color:var(--care-muted);margin-top:12px}.native-facts dd{margin:0}.native-hazard{padding:18px;border:1px solid var(--care-control-border);border-radius:10px;margin-bottom:20px}.native-hazard p{margin:6px 0}.assembly-page[data-boutique] .shop-intro{padding-bottom:20px}

/* Keep WP Armour’s existing honeypot hidden; its field and validation remain intact. */
.archihab-woo #altEmail_container{display:none!important}

.native-ghs{display:inline-block!important;width:56px!important;height:56px!important;margin:0 10px 12px 0;vertical-align:middle}.native-hazard strong{display:block}.shop-text-visual{display:grid;place-items:center;position:absolute;inset:0;font-size:clamp(30px,4vw,62px);font-weight:300;letter-spacing:-.04em;padding:24px;text-align:center}

/* ARCHIHAB: shared semantic tokens. See DESIGN.md. */
:root {
  --care-paper: #f6f3ed;
  --care-surface: #fffdf9;
  --care-surface-alt: #ece8e1;
  --care-ink: #172a3f;
  --care-muted: #59636e;
  --care-blue: #2467b6;
  --care-copper: var(--care-blue); /* compatibility with imported presentation */
  --care-line: #cbc9c5;
  --care-control-border: #7b858f;
  --care-action: #172a3f;
  --care-on-action: #fffdf9;
  --care-action-hover: #294d6c;
  --care-inverse: #102336;
  --care-on-inverse: #f6f3ed;
  --care-inverse-muted: #c0cbd5;
  --care-error: #ad302e;
  --care-success: #245d76;
  --care-disabled: .55;
  --care-font: var(--font-geist-sans), Arial, sans-serif;
  --care-display-compact: clamp(1.75rem, 4vw, 3.5rem);
  --care-display: clamp(2.25rem, 4.5vw, 4rem);
  --care-masthead: clamp(2.5rem, 5.4vw, 5.25rem);
  --care-masthead-leading: 1.02;
  --care-masthead-tracking: -.055em;
  --care-masthead-weight: 400;
  --care-rail: 28px;
  --care-editorial-rule: 1px solid var(--care-line);
  --care-heading-compact: clamp(1.375rem, 6cqi, 1.75rem);
  --care-heading-short-mobile: clamp(1.5rem, 7.2vw, 2rem);
  --care-fact-label-width: 10rem;
  --care-heading: clamp(1.875rem, 3.3vw, 3rem);
  --care-subheading: clamp(1.25rem, 2vw, 1.5rem);
  --care-body: 1rem;
  --care-label: .8125rem;
  --care-caption: .75rem;
  --care-display-leading: 1.08;
  --care-body-leading: 1.65;
  --care-display-tracking: -.045em;
  --care-label-tracking: .12em;
  --care-label-tracking-mobile: .06em;
  --care-space-1: .25rem;
  --care-space-2: .5rem;
  --care-space-3: .75rem;
  --care-space-4: 1rem;
  --care-space-6: 1.5rem;
  --care-space-8: 2rem;
  --care-space-12: 3rem;
  --care-space-16: 4rem;
  --care-space-24: 6rem;
  --care-content: 1260px;
  --care-measure: 64ch;
  --care-gutter: clamp(20px, 4vw, 64px);
  --care-section: clamp(56px, 7vw, 104px);
  --care-gap: clamp(24px, 4vw, 64px);
  --care-radius: 12px;
  --care-radius-control: 6px;
  --care-radius-pill: 999px;
  --care-border-width: 1px;
  --care-icon: 20px;
  --care-control-height: 48px;
  --care-control-sm: 44px;
  --care-control-lg: 52px;
  --care-button-radius: 16px;
  --care-button-text: .875rem;
  --care-button-shadow: 0 2px 3px #10233614, 0 8px 18px -12px #10233650;
  --care-button-hover-shadow: 0 3px 6px #10233618, 0 12px 24px -12px #10233660;
  --care-light: #ffffffa3;
  --care-shade: #53687f12;
  --care-edge: #ffffffb3;
  --care-shadow-surface: 0 2px 4px #10233605, 0 16px 36px -26px #10233640;
  --care-shadow-media: 0 2px 5px #1023360d, 0 26px 54px -32px #10233655;
  --care-shadow-display: 0 2px 1px #ffffff80, 0 8px 20px #10233610;
  --care-shadow-overlay: 0 2px 14px #00132980;
  --care-shadow-contact: #12233538;
  --care-surface-light: linear-gradient(145deg, var(--care-light), transparent 48%, var(--care-shade));
  --care-dither: url('./surface-dither.png');
  --care-masthead-light: radial-gradient(ellipse at 18% 0%, var(--care-light), color-mix(in srgb, var(--care-light) 55%, transparent) 32%, color-mix(in srgb, var(--care-light) 18%, transparent) 56%, transparent 80%);
  --care-stage-light: radial-gradient(ellipse at 38% 16%, var(--care-light), transparent 70%), linear-gradient(160deg, transparent 50%, var(--care-shade));
  --care-ambient-studio: #d8dce0;
  --care-ambient-studio-opacity: .5;
  --care-ambient-key: #fffaf2;
  --care-ambient-fill: #c4d8e8;
  --care-ambient-back: #c3d4e4;
  /* Shared with the resident 3D stages and both animated page bookends. */
  --care-scene-surface: #e9e7e1;
  --care-scene-depth: #d8dfe3;
  --care-scene-mid: #d5dde3;
  --care-scene-reflection: #fffdf9;
  --care-ambient-deep: var(--care-scene-surface);
  --care-ambient-blue: var(--care-scene-mid);
  --care-ambient-mist: var(--care-scene-reflection);
  --care-ambient-slate: var(--care-scene-depth);
  --care-ambient-scrim: radial-gradient(ellipse at 50% 35%, #f6f3ed38, #f6f3ed0d 80%);
  --care-reveal-distance: 12px;
  --care-duration-reveal: 560ms;
  --care-press-scale: .97;
  --care-shadow: 0 18px 48px -24px #10233640;
  --care-duration: 180ms;
  --care-duration-media: 400ms;
  --care-ease: cubic-bezier(.22, 1, .36, 1);
  --background: 40 33% 95%; --foreground: 212 47% 17%;
  --card: 40 60% 99%; --card-foreground: 212 47% 17%;
  --popover: 40 60% 99%; --popover-foreground: 212 47% 17%;
  --primary: 212 47% 17%; --primary-foreground: 40 33% 95%;
  --secondary: 36 26% 90%; --secondary-foreground: 212 47% 17%;
  --muted: 36 26% 90%; --muted-foreground: 211 11% 39%;
  --border: 40 6% 78%; --input: 210 8% 52%; --ring: 212 66% 43%;
  --ink: 212 47% 12%; --ink-foreground: 40 33% 95%;
  --botanic: 212 66% 43%; --accent: 212 66% 43%; --accent-foreground: 40 33% 95%;
  --destructive: 1 58% 43%; --destructive-foreground: 0 0% 100%;
  --radius: 6px;
}
html[data-theme=dark] {
  color-scheme: dark;
  --care-paper: #111214;
  --care-surface: #1b1d20;
  --care-surface-alt: #22262b;
  --care-ink: #f0f0ed;
  --care-muted: #b7b9bd;
  --care-blue: #79b7ff;
  --care-line: #383d44;
  --care-control-border: #7b858f;
  --care-action: #e5e7e8;
  --care-on-action: #15171a;
  --care-action-hover: #c8d9e9;
  --care-inverse: #17191c;
  --care-error: #ffaaa6;
  --care-success: #91cde5;
  --care-shadow: 0 18px 48px -24px #0009;
  --care-light: #91b4d41a;
  --care-shade: #00000030;
  --care-edge: #bfd8ee20;
  --care-shadow-surface: 0 2px 5px #0002, 0 20px 38px -26px #0009;
  --care-shadow-media: 0 3px 6px #0003, 0 28px 56px -32px #000b;
  --care-shadow-display: 0 2px 2px #0003, 0 8px 24px #0005;
  --care-shadow-contact: #0007;
  --care-ambient-studio: #8290a0;
  --care-ambient-studio-opacity: 1;
  --care-ambient-key: #c7d5e3;
  --care-ambient-fill: #709bc1;
  --care-ambient-back: #678bac;
  --care-scene-surface: #101a26;
  --care-scene-depth: #091221;
  --care-scene-mid: #293e52;
  --care-scene-reflection: #465c71;
  --care-ambient-scrim: radial-gradient(ellipse at 50% 35%, #101a2673, #101a2633 80%);
  --care-button-shadow: inset 0 1px 0 #ffffff50, 0 2px 4px #0003, 0 10px 20px -14px #0009;
  --care-button-hover-shadow: inset 0 1px 0 #ffffff60, 0 4px 8px #0003, 0 14px 26px -14px #000b;
  --background:220 8% 7%; --foreground:60 5% 94%;
  --card:220 8% 12%; --card-foreground:60 5% 94%;
  --popover:220 8% 12%; --popover-foreground:60 5% 94%;
  --primary:60 5% 94%; --primary-foreground:220 8% 9%;
  --secondary:220 8% 17%; --secondary-foreground:60 5% 94%;
  --muted:220 7% 16%; --muted-foreground:220 4% 73%;
  --border:220 10% 24%; --input:210 8% 52%;
  --accent:212 100% 74%; --accent-foreground:220 8% 9%;
  --botanic:212 100% 74%; --ring:212 100% 74%; --destructive:3 100% 83%;
}

@media (max-width:600px) {
  :root { --care-label-tracking: var(--care-label-tracking-mobile); }
}

/* Decorative, resident canvases. Content and product lighting stay independent. */
[data-ambient-host]{position:relative;isolation:isolate}
.care-ambient{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--care-duration-media) var(--care-ease)}
.care-ambient[data-ambient-ready=true]{opacity:1}
.care-ambient-studio[data-ambient-ready=true]{opacity:var(--care-ambient-studio-opacity)}
.care-ambient canvas{display:block;width:100%;height:100%}
.care-ambient::after{content:"";position:absolute;inset:0;z-index:2;background-image:var(--care-dither);background-blend-mode:soft-light;opacity:.5}
.care-ambient-philosophy{z-index:-1}
.care-ambient-flow::before,.care-ambient-philosophy::before{content:"";position:absolute;inset:0;z-index:1;background:var(--care-ambient-scrim)}
.care-ambient-flow{mask-image:linear-gradient(#000 0%,#000 48%,transparent 100%)}
.care-ambient-studio{mask-image:radial-gradient(ellipse 85% 100% at 50% 60%,#000 35%,#000c 70%,transparent 100%)}
/* Long stacked mobile heroes keep the flowing composition within the first screen. */
@media(max-width:767px){.care-ambient-flow{bottom:auto;height:100%;max-height:100svh}}
@media(prefers-reduced-motion:reduce){.care-ambient{display:none;transition:none}}

/* PR27 visual roles, adapted to the existing WooCommerce layout. No grid or order changes. */
body{background:var(--care-paper);color:var(--care-ink);text-wrap:pretty}
.assembly-page.clean[data-boutique]{--stage:var(--care-surface-alt);--card:var(--care-surface);--dark:var(--care-inverse)}
.assembly-page[data-boutique] :is(h1,h2,h3){text-wrap:balance}
.assembly-page[data-boutique] [data-ambient-host=flow]{background-color:var(--care-paper);background-image:var(--care-dither),var(--care-masthead-light);background-blend-mode:soft-light,normal}
.assembly-page[data-boutique] .care-ambient-flow{bottom:auto;height:100%;max-height:100svh}
.assembly-page[data-boutique] :is(.shop-intro,.woo-content) h1{text-shadow:var(--care-shadow-display)}
.assembly-page[data-boutique] .shop-visual{background:var(--care-stage-light),var(--care-scene-surface);box-shadow:inset 0 1px 0 var(--care-edge),inset 0 0 0 1px var(--care-line),var(--care-shadow-media)}
.assembly-page[data-boutique] .shop-scene{box-shadow:inset 0 1px 0 var(--care-edge),var(--care-shadow-media)}
.assembly-page[data-boutique] .shop-stock{background:var(--care-surface);box-shadow:var(--care-shadow-surface)}
.assembly-page.clean[data-boutique] :is(.btn,.pill){border-radius:var(--care-button-radius);background:var(--care-action);color:var(--care-on-action);border:1px solid var(--care-action);box-shadow:var(--care-button-shadow);transition:background var(--care-duration) var(--care-ease),box-shadow var(--care-duration) var(--care-ease);transform:none}
.assembly-page.clean[data-boutique] .pill{background:var(--care-surface);color:var(--care-ink);border-color:var(--care-control-border)}
.assembly-page.clean[data-boutique] :is(.btn,.pill):not(:disabled,[aria-disabled=true]):hover{background:var(--care-action-hover);color:var(--care-on-action);box-shadow:var(--care-button-hover-shadow);transform:none}
.assembly-page.clean[data-boutique] :is(.btn,.pill):not(:disabled,[aria-disabled=true]):active{opacity:.84}
.assembly-page.clean[data-boutique] .btn:disabled{background:var(--care-surface);color:var(--care-muted);border-color:var(--care-line);box-shadow:none;cursor:not-allowed}
.assembly-page[data-boutique] .shop-quantity{border-radius:var(--care-button-radius);background:var(--care-surface);border-color:var(--care-control-border)}
.assembly-page.clean[data-boutique] header.site{background:var(--care-paper);box-shadow:0 1px 0 var(--care-line)}
html[data-theme=dark] .assembly-page[data-boutique] .site-preferences select{background:transparent;color:var(--care-ink);border-color:transparent;box-shadow:none}
.assembly-page[data-boutique] .menu a{color:var(--care-muted);text-decoration-color:var(--care-blue);text-underline-offset:6px}
.assembly-page[data-boutique] .menu a:hover{color:var(--care-ink);text-decoration:underline}
.woocommerce :is(table.shop_table,.cart-collaterals .cart_totals,form.login,form.register),.wc-block-components-sidebar,.woocommerce-checkout #payment{background-color:var(--care-surface);background-image:var(--care-surface-light);box-shadow:inset 0 1px 0 var(--care-edge),var(--care-shadow-surface);border-color:var(--care-line)}
.woocommerce :is(input.input-text,select,textarea):focus,.wc-block-components-text-input input:focus{outline:2px solid var(--care-blue);outline-offset:3px}
.woocommerce :is(a.button,button.button,input.button):is(:disabled,[aria-disabled=true]),.wc-block-components-button:disabled{opacity:var(--care-disabled);cursor:not-allowed;box-shadow:none}
.woocommerce :is(a.button,button.button)[aria-busy=true],.wc-block-components-button[aria-busy=true]{cursor:progress}
.native-footer,.assembly-page[data-boutique] .shop-operator{background:var(--care-paper);color:var(--care-muted)}
@media(prefers-reduced-motion:reduce){.assembly-page.clean[data-boutique] :is(.btn,.pill){transition:none}}

.woocommerce .show-password-input{color:var(--care-ink)!important}
/* WooCommerce 11 ships a black SVG for both password visibility states. */
html[data-theme=dark] .woocommerce .show-password-input::before{filter:invert(1)}
.woocommerce .required,.woocommerce form .form-row .required,.wc-block-components-validation-error{color:var(--care-error)!important}
.assembly-page.clean[data-boutique] .care-menu-toggle{background:transparent;border-color:transparent;box-shadow:none}
