/* Calculateur de délais — habillage de la refonte, extrait de refonte/build/habit.fr.json par tools/build-delais.php. Ne pas éditer. */
@layer sitebase{
@keyframes mnavIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes selRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes hpRise{from{opacity:0;transform:translateY(var(--rise))}to{opacity:1;transform:none}}
@scope (.topbar, header.rx-habit, footer.rx-habit) {

/* Inter auto-hébergée — 400/600/700, les trois graisses réellement utilisées
   sur le site (vérifié : 700 compte 80 usages, plus que 600 avec 76 ; 500
   n'était utilisée qu'une fois et a été convertie en 400 pour ne pas exiger
   un 4e fichier). Remplace l'ancien chargement Google Fonts CDN — supprime
   le transfert d'adresse IP vers un tiers, conformément à REFONTE_SPEC §8. */
:scope{
  /* @tokens-start */
  --red:#C8102E; --red-dark:#A50D26; --ink:#1A1A18; --ink-soft:#3C434E;
  --paper:#FFFFFF; --bg:#F6F8FA; --line:#E1E5EB; --line-strong:#CBD1DA; --grey:#545C69;
  --green:#1E7B3C; --amber:#B45309;
  --white:#fff;
  --white-rgb:255,255,255; --ink-rgb:26,26,24; --black-rgb:0,0,0; --red-rgb:200,16,46; --shade1-rgb:20,20,18; --shade2-rgb:9,10,12; --shade3-rgb:10,6,6; --shade4-rgb:20,20,19;
  --k01:#0e7c55; --k02:#111110; --k03:#2f6f63; --k04:#3c5c99; --k05:#3d7a52; --k06:#3d7a72; --k07:#6b4e8c; --k08:#7bc98f; --k09:#8b94a3; --k10:#9c5b3f; --k11:#b8bcc4; --k12:#bfe3cb; --k13:var(--k12); --k14:#c9c9c4; --k15:var(--line-strong); --k16:var(--k14); --k17:var(--line); --k18:var(--k19); --k19:#e3e3df; --k20:#ead9bd; --k21:var(--k23); --k22:var(--k19); --k23:#edf7f0; --k24:var(--bg); --k25:var(--k20); --k26:var(--k24); --k27:var(--k22); --k28:var(--bg); --k29:var(--k33); --k30:#fdf6ec; --k31:#ff6b6b; --k32:#ff8a9a; --k33:#fff9f9;
  --c-log:#12467a; --c-emp:#1c5138; --c-ent:#8a5a12; --c-pri:#8a132a; --c-aso:#4b2570;
  --hero-legal:oklch(.9 .006 60); --qr-kick:oklch(.82 .12 150);
  --fs-1:11px; --fs-2:12px; --fs-3:13px; --fs-4:14px; --fs-5:16px; --fs-6:19px; --fs-7:24px; --fs-8:31px;
  --fs-display:64px;
  --sp-1:4px; --sp-2:8px; --sp-3:10px; --sp-4:12px; --sp-5:14px; --sp-6:16px; --sp-7:20px; --sp-8:24px; --sp-9:32px; --sp-10:40px; --sp-11:48px;
  --radius:var(--r-2); --radius-lg:var(--r-3);
  --r-1:4px; --r-2:8px; --r-3:12px; --r-4:16px; --r-pill:999px; --r-round:50%;
  --shadow:0 1px 2px rgba(var(--ink-rgb),.05);
  --shadow-hover:0 1px 3px rgba(var(--ink-rgb),.06),0 4px 12px rgba(var(--ink-rgb),.04);
  --elev-1:var(--shadow); --elev-2:var(--shadow-hover); --elev-3:0 18px 48px -10px rgba(var(--ink-rgb),.34);
  --mono:"SFMono-Regular",ui-monospace,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1); --t-fast:160ms; --t-reveal:450ms; --rise:12px; --stagger:60ms;
  --wrap-narrow:640px; --wrap-tool:1180px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --law:#1F3A5F;
  /* @tokens-end */
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
/* Lot 1a — invariants portés globalement (invisibles à l'état normal).
   Composant CARTE : variantes DÉCLARÉES (réduites au Lot 2e) —
     produit : .pcard (+ .pcard--doc) · pack : .pkcard (+ .pkcard--teaser accueil) ·
     guide : .gcard (unique ; .hpx-guide + .cat-guides fusionnés) · spécifiques
     (non fusionnés) : .hpx-sel, .hp-hcp, .pro-integral, .hsdrop-item.
   Invariants aussi tenus : cible ≥44px (boutons/chips/liens), prose ≤75ch
   (max-width en ch), contraste AA (couleurs inchangées). */
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
:scope{scroll-behavior:smooth;overflow-x:clip}
:scope{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:var(--fs-4);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
h1,h2,h3,.price,.brand,.pk-price{letter-spacing:-.02em}
.foot-label{font-size:var(--fs-2);font-weight:700;margin:0 0 14px;color:rgba(var(--white-rgb),.5)}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.wrap{margin:0 auto;padding-inline:clamp(16px,2.5vw,56px)}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}:scope{scroll-behavior:auto}}
.hide{display:none!important}
.topbar{background:var(--ink);color:var(--white);font-size:var(--fs-2)}
.topbar .wrap{display:flex;justify-content:center;gap:var(--sp-8);align-items:center;height:34px;flex-wrap:wrap;overflow:hidden}
.topbar span{opacity:.9;white-space:nowrap;display:flex;gap:var(--sp-1);align-items:center}
.topbar b{color:var(--white)}
.tick{color:var(--k08);font-weight:700}
header.main{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.header-row{display:flex;align-items:center;gap:var(--sp-8);padding:14px 0}
.header-row .brand{flex:0 0 auto}
.header-row .hsearch{flex:1 1 auto;min-width:0}
.header-row nav.primary{flex:0 0 auto}
.header-row .hactions{flex:0 0 auto}
.brand{font-size:var(--fs-6);font-weight:700;display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}
.brand-logo{height:76px;width:auto;display:block}
.cross{width:28px;height:28px;background:var(--red);border-radius:var(--r-2);position:relative;flex-shrink:0}
.cross::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:15px;height:4.5px;background:var(--white)}
.cross::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4.5px;height:15px;background:var(--white)}
.brand em{font-style:normal;color:var(--red)}
.brand-tag{border-left:1px solid var(--line-strong);padding-left:12px;font-size:var(--fs-1);font-weight:600;line-height:1.45;color:var(--grey);letter-spacing:.01em}
nav.primary{display:flex;gap:var(--sp-1)}
nav.primary a{padding:9px 12px;font-weight:600;font-size:var(--fs-3);border-radius:var(--radius);color:var(--ink-soft);white-space:nowrap;position:relative}
nav.primary a:hover{background:var(--bg)}
nav.primary a.on{color:var(--red)}
nav.primary a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:3px;background:var(--red);border-radius:var(--r-1)}
.nav-badge{display:inline-block;background:var(--green);color:var(--white);font-size:var(--fs-1);font-weight:700;letter-spacing:.05em;padding:2px 6px;border-radius:999px;margin-left:6px;vertical-align:2px;text-transform:uppercase}
.nav-badge--pack{background:var(--red)}
.hactions{display:flex;align-items:center;gap:var(--sp-3)}
.hsearch{position:relative;display:flex;align-items:center;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);height:46px;padding:0 8px 0 16px;transition:border-color .15s ease}
/* Lot 3 point 0 : panneau de suggestions large et lisible. Aligné à gauche du
   champ, ≥520px en desktop (le mot discriminant ne doit plus être coupé),
   pleine largeur du champ sous 640px. */
.hsdrop{position:absolute;left:0;right:auto;top:calc(100% + 8px);width:520px;max-width:calc(100vw - 24px);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--elev-3);max-height:70vh;overflow-y:auto;display:none;z-index:200;text-align:left}
.hsdrop.open{display:block}
.hsdrop-sec{padding:8px 14px 4px;font-size:var(--fs-1);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--grey)}
.hsdrop-item{display:flex;align-items:baseline;gap:var(--sp-3);padding:10px 16px;cursor:pointer;text-decoration:none;color:var(--ink)}
.hsdrop-item:hover,.hsdrop-item.active{background:var(--bg)}
/* Badge de type = premier repère visuel (Document/Pack/Guide). */
.hsdrop-item .hd-type{flex:0 0 auto;align-self:center;font-size:var(--fs-1);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;border:1px solid var(--line-strong);color:var(--grey);background:var(--bg);white-space:nowrap;min-width:66px;text-align:center}
.hsdrop-item .hd-type-pack{border-color:var(--ink);color:var(--ink)}
.hsdrop-item .hd-type-guide{border-color:var(--red);color:var(--red)}
/* Titre : jamais tronqué au caractère. Sur une ligne s'il tient, sinon deux
   lignes à césure normale (jamais au milieu d'un mot). */
.hsdrop-item .hd-nm{flex:1;min-width:0;font-size:var(--fs-4);font-weight:600;line-height:1.35;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hsdrop-item .hd-nm mark{background:none;color:var(--red);font-weight:700}
/* Prix : informatif, en second plan (ne discrimine pas). */
.hsdrop-item .hd-pr{flex:0 0 auto;align-self:center;font-size:var(--fs-2);font-weight:600;color:var(--grey);white-space:nowrap}
.hsdrop-more{display:block;padding:11px 16px;text-align:center;font-size:var(--fs-2);font-weight:600;color:var(--red);text-decoration:none;border-top:1px solid var(--line)}
.hsdrop-more:hover{background:var(--bg)}
.hsdrop-empty{padding:16px 14px;font-size:var(--fs-3);color:var(--grey);text-align:center}
@media(max-width:640px){.hsdrop{width:auto;left:0;right:0;max-width:none}}
.hsearch:focus-within{border-color:var(--ink)}
/* Focus clavier de la recherche : même anneau rouge que .qrbtn/.cartbtn/.burger,
   posé sur le WRAPPER (l'input garde outline:none pour ne pas doubler l'anneau
   autour d'un input de 17px de haut). :has = clavier seul, comme :focus-visible. */
.hsearch:has(input:focus-visible){outline:3px solid var(--red);outline-offset:2px}
.hsearch input{border:none;background:none;flex:1;font-family:inherit;font-size:var(--fs-4);outline:none;min-width:0}
.hsearch input::placeholder{font-style:italic;color:var(--grey)}
.hsearch svg{width:18px;height:18px;color:var(--ink);flex-shrink:0;padding:6px;box-sizing:content-box}
.cartbtn{position:relative;width:42px;height:42px;border-radius:var(--radius);display:grid;place-items:center;border:1px solid var(--line);background:var(--paper)}
.cartbtn:hover{border-color:var(--ink)}
.cartbtn svg{width:20px;height:20px}
.cartcount{position:absolute;top:-6px;right:0;min-width:19px;height:19px;background:var(--red);color:var(--white);font-size:var(--fs-1);font-weight:700;border-radius:999px;display:grid;place-items:center;padding:0 5px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius);place-items:center}
.burger svg{width:20px;height:20px}
/* Icône QR-facture dans la rangée épinglée (mobile/tablette, là où nav.primary
   est masquée). Même boîte 42px que le panier. Ouvre la modale QR via le href
   (handler délégué existant). Badge « Gratuit » calibré pour ne pas déborder. */
.qrbtn{position:relative;display:none;width:44px;height:44px;border-radius:var(--radius);place-items:center;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.qrbtn:hover{border-color:var(--ink)}
.qrbtn svg{width:20px;height:20px}
.qrbtn .qr-badge{position:absolute;top:-7px;right:-6px;margin:0;font-size:var(--fs-1);padding:1px 4px;letter-spacing:.02em;line-height:1.4}
/* Menu mobile = overlay PLEIN ÉCRAN opaque (le fond var(--paper) suffit, pas de
   voile séparé : le panneau EST l'overlay). z-index au-dessus du header (100) et
   du panier (201) pour tout recouvrir ; fermeture par le × dédié. */
/* Menu mobile (lifting) : en-tête de marque + kicks « Navigation »/« Catégories »,
   liens à chevron, catégories liserées par couleur de domaine, ouverture en fondu. */
.mobilenav{display:none;position:fixed;inset:0;z-index:210;background:var(--paper);padding:14px 20px 36px;overflow-y:auto;overscroll-behavior:contain}
.mobilenav.open{display:block}
@media (prefers-reduced-motion:no-preference){.mobilenav.open{animation:mnavIn .22s var(--ease) both}}

.mobilenav-top{display:flex;justify-content:space-between;align-items:center;min-height:52px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mobilenav-brand img{height:44px;width:auto;display:block}
.mobilenav-close{font-size:var(--fs-8);line-height:1;color:var(--grey);padding:2px 8px;border:0;background:none;cursor:pointer}
.mobilenav-close:hover{color:var(--red)}
.mnav-kick{margin:24px 0 6px}
.mnav-kick.first{margin-top:4px}
.mnav-links a{display:flex;align-items:center;gap:var(--sp-3);padding:13px 2px;font-weight:600;font-size:var(--fs-5);color:var(--ink);border-bottom:1px solid var(--line)}
.mnav-links a:last-child{border-bottom:none}
.mnav-links a::after{content:"\203A";margin-left:auto;color:var(--line-strong);font-size:var(--fs-7);font-weight:400;line-height:1}
.mnav-badge{font-size:var(--fs-1);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);border-radius:var(--r-pill);padding:1px 8px}
.mnav-cats-list a{display:flex;align-items:center;gap:var(--sp-4);padding:12px 4px 12px 12px;font-size:var(--fs-5);font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);border-left:3px solid transparent}
.mnav-cats-list a:last-child{border-bottom:none}
.mnav-cats-list a.dc-log{border-left-color:var(--c-log)}.mnav-cats-list a.dc-emp{border-left-color:var(--c-emp)}.mnav-cats-list a.dc-ent{border-left-color:var(--c-ent)}.mnav-cats-list a.dc-pri{border-left-color:var(--c-pri)}.mnav-cats-list a.dc-aso{border-left-color:var(--c-aso)}
.mnav-cat-ic{font-size:var(--fs-6);flex:0 0 auto;line-height:1}
.mnav-cat-lb{flex:1 1 auto}
.mnav-cat-n{flex:0 0 auto;color:var(--grey);font-weight:600;font-variant-numeric:tabular-nums}
main{min-height:70vh}
.sect{padding:50px 0}
.sect.tint{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sect-head{display:flex;align-items:end;justify-content:space-between;gap:var(--sp-7);margin-bottom:26px;flex-wrap:wrap}
.kick{font-size:var(--fs-1);letter-spacing:.12em;text-transform:uppercase;color:var(--grey);font-weight:600;margin-bottom:8px;display:block}
.sect-head h1,.sect-head h2{font-size:var(--fs-7);font-weight:700;line-height:1.15}
.sect-head p.sub{color:var(--grey);margin-top:6px;max-width:600px}
.seeall{font-weight:600;font-size:var(--fs-3);color:var(--red);white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.seeall:hover{text-decoration:underline}
/* ============ SÉLECTEUR GUIDÉ (Lot 1 — reconstruit sur les jetons) ============ */
.selector{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-4);box-shadow:var(--elev-2);overflow:hidden}
.sel-page{padding-top:8px}
.sel-page .selector{max-width:680px;margin:14px auto 0}
.sel-top{display:flex;align-items:center;gap:var(--sp-3);padding:14px 18px;border-bottom:1px solid var(--line)}
.sel-top.hide{display:none}
.sel-top-mark{width:26px;height:26px;flex:0 0 auto}
.sel-top .t{display:flex;flex-direction:column;font-weight:700;font-size:var(--fs-4);line-height:1.2;flex:1}
.sel-top .t small{font-weight:400;font-size:var(--fs-1);color:var(--grey);letter-spacing:0}
.sel-step{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);white-space:nowrap}
.sel-progress{height:3px;background:var(--line)}
.sel-progress.hide{display:none}
.sel-progress i{display:block;height:100%;width:20%;background:var(--red);transition:width .3s cubic-bezier(.2,.7,.2,1)}
.sel-body{padding:16px 18px 18px}
.hide{display:none!important}
/* écran d'accueil */
.sel-welcome{text-align:center;margin:4px auto 18px;max-width:560px}
.sel-welcome .wlogo{height:38px;width:auto;margin:0 auto 12px;display:block}
.sel-welcome .wq{font-size:var(--fs-7);font-weight:700;letter-spacing:-.02em;line-height:1.18;margin:0}
/* options */
.sel-opts{display:flex;flex-direction:column;gap:var(--sp-2)}
.sel-opts.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
@media(max-width:640px){.sel-opts.grid2{grid-template-columns:1fr}}
.sel-opt{display:flex;align-items:center;gap:var(--sp-3);width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);padding:11px 14px;min-height:44px;box-sizing:border-box;font:inherit;color:var(--ink);cursor:pointer;text-decoration:none;transition:border-color .13s,box-shadow .13s,transform .13s}
.sel-opt:hover{border-color:var(--ink)}
.sel-opt.big{padding:15px 16px;border-radius:var(--r-3)}
.sel-opt.is-picked{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 14%,transparent);transform:translateY(-1px)}
.sel-opt .ico{flex:0 0 42px;height:42px;display:grid;place-items:center;font-size:var(--fs-6);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-2)}
.sel-opt .ico.sm{flex:0 0 30px;height:30px;font-size:var(--fs-5)}
.sel-opt .lb{display:block;font-weight:600;font-size:var(--fs-4)}
.sel-opt .sb{display:block;font-size:var(--fs-2);color:var(--grey);margin-top:1px}
.sel-opt>span:nth-child(2){flex:1;min-width:0}
.sel-opt .ar{color:var(--grey);font-weight:700;flex:0 0 auto}
/* packs recommandés (écran d'accueil) */
.sel-short{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:16px}
.sel-short .sl{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-right:2px}
.spill{display:inline-flex;align-items:baseline;gap:var(--sp-1);font-size:var(--fs-2);font-weight:600;border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 12px;background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color .14s,box-shadow .14s}
.spill:hover{border-color:var(--red);box-shadow:var(--elev-2)}
.spill b{color:var(--red)}
@media(max-width:640px){.sel-short{display:none}}
/* question / retour */
.sel-back{background:none;border:none;color:var(--grey);font:inherit;font-weight:600;font-size:var(--fs-3);cursor:pointer;padding:2px 0;margin-bottom:12px}
.sel-back:hover{color:var(--ink)}
.sel-q{font-size:var(--fs-6);font-weight:700;letter-spacing:-.01em;line-height:1.25;margin:0 0 14px}
/* résultat (feuille) */
.sel-res-title{font-size:var(--fs-6);font-weight:700;letter-spacing:-.01em;margin:0 0 12px}
.note-legal{background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:var(--r-2);padding:10px 13px;font-size:var(--fs-2);color:var(--ink-soft);line-height:1.5;margin-bottom:12px}
.sel-pack{position:relative;border:1px solid var(--red);border-radius:var(--r-3);padding:16px 18px 15px;margin-bottom:14px;background:color-mix(in srgb,var(--red) 4%,var(--paper))}
.sel-pack .flag{position:absolute;top:-10px;left:16px;background:var(--red);color:var(--white);font-size:var(--fs-1);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-1)}
.sel-pack .pnm{font-weight:700;font-size:var(--fs-5);letter-spacing:-.01em;margin:6px 0 2px}
.sel-pack a:hover .pnm{color:var(--red)}
.sel-pack .pinc{font-size:var(--fs-2);color:var(--ink-soft)}
.sel-pack .ledger{display:flex;align-items:baseline;gap:var(--sp-3);margin-top:11px;flex-wrap:wrap}
.sel-pack .was{color:var(--grey);text-decoration:line-through;font-size:var(--fs-3)}
.sel-pack .nowp{font-weight:700;font-size:var(--fs-7);letter-spacing:-.02em}
.sel-pack .disc{background:var(--green);color:var(--white);font-size:var(--fs-1);font-weight:700;padding:3px 8px;border-radius:var(--r-1);font-variant-numeric:tabular-nums}
.sel-prod{display:flex;align-items:center;gap:var(--sp-3);padding:10px 0;border-bottom:1px solid var(--line)}
.sel-prod:last-child{border-bottom:0}
.sel-prod .lk{flex:1;min-width:0;text-decoration:none;color:var(--ink)}
.sel-prod .nm{display:block;font-weight:600;font-size:var(--fs-3)}
.sel-prod .lk:hover .nm{color:var(--red)}
.sel-prod .ds{display:block;font-size:var(--fs-2);color:var(--grey)}
.sel-prod .pr{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.sel-prod .pr small{font-size:var(--fs-1);color:var(--grey);font-weight:600;margin-right:2px}
.sel-also-h{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin:14px 0 4px}
/* X4.1a — pont vers le catalogue filtré : lien discret sous les documents */
.sel-bridge{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:600;font-size:var(--fs-3);color:var(--red)}
.sel-bridge:hover{text-decoration:underline}
.sel-bridge .ar{transition:transform .15s}
.sel-bridge:hover .ar{transform:translateX(3px)}
/* entrée en scène (désactivée par prefers-reduced-motion via la règle globale) */

.sel-anim{animation:selRise .32s both}
.crumb{font-size:var(--fs-2);color:var(--grey);margin-bottom:18px;display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.crumb a{color:var(--grey)}
.crumb a:hover{color:var(--red);text-decoration:underline}
.crumb .sep{opacity:.5}
.crumb b{color:var(--ink);font-weight:600}
.hero{background:var(--ink);color:var(--white);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-140px;top:-140px;width:520px;height:520px;background:var(--red);opacity:.13;border-radius:50%}
.hero .wrap{display:grid;grid-template-columns:1fr 560px;gap:var(--sp-11);align-items:center;padding-top:54px;padding-bottom:60px;position:relative;z-index:1}
.hero h1{font-size:clamp(28px,3.6vw,42px);line-height:1.1;font-weight:700;margin-bottom:16px}
.hero h1 em{font-style:normal;color:var(--k31)}
.hero p.lead{font-size:var(--fs-5);color:rgba(var(--white-rgb),.78);max-width:460px;margin-bottom:24px}
.hero-stats{display:flex;gap:var(--sp-9);flex-wrap:wrap;margin-bottom:28px}
.hstat b{display:block;font-size:var(--fs-7);font-weight:700}
.hstat span{font-size:var(--fs-2);color:rgba(var(--white-rgb),.62)}
.hero-badges{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.hbadge{font-size:var(--fs-2);font-weight:600;border:1px solid rgba(var(--white-rgb),.22);border-radius:999px;padding:6px 13px;display:flex;align-items:center;gap:var(--sp-2);color:rgba(var(--white-rgb),.9)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-weight:700;font-size:var(--fs-3);border-radius:var(--radius);padding:10px 18px;min-height:44px;transition:background .13s,color .13s,border-color .13s;border:1.5px solid transparent;text-align:center}
.btn.red{background:var(--red);color:var(--white)}
.btn.red:hover{background:var(--red-dark)}
.btn.ghost{border-color:var(--ink);color:var(--ink);background:var(--paper)}
.btn.ghost:hover{background:var(--ink);color:var(--white)}
.btn.sm{padding:7px 13px;font-size:var(--fs-2)}
.btn.lg{padding:13px 26px;font-size:var(--fs-4)}
.btn.in{background:var(--green);border-color:var(--green);color:var(--white)}
.btn.block{width:100%}
.reassure{background:var(--paper);border-bottom:1px solid var(--line)}
.reassure .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);padding-block:20px}
.re-item{display:flex;gap:var(--sp-4);align-items:center}
.re-item .ic{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-size:var(--fs-6)}
.re-item b{display:block;font-size:var(--fs-3)}
.re-item span{font-size:var(--fs-2);color:var(--grey)}
.uni-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-5)}
.uni{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column;gap:var(--sp-2)}
.uni:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}
.uni .ic{font-size:var(--fs-7)}
.uni h3{font-size:var(--fs-5);font-weight:700}
.uni p{font-size:var(--fs-2);color:var(--grey);flex:1}
.uni .n{font-family:var(--mono);font-size:var(--fs-1);color:var(--red);font-weight:600;letter-spacing:.05em}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(268px,100%),1fr));gap:var(--sp-5)}
.pcard{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s;overflow:hidden}
.pcard:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.pthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.pthumb{height:150px;background:linear-gradient(160deg,var(--k28),var(--k22));border-bottom:1px solid var(--line);display:grid;place-items:center;position:relative}
.doc-mini{width:92px;height:122px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-1);box-shadow:var(--elev-2);position:relative;padding:13px 12px}
.doc-mini::before{content:"";position:absolute;top:13px;left:12px;right:38px;height:7px;background:var(--red);opacity:.85;border-radius:var(--r-1)}
.doc-mini i{display:block;height:3.5px;background:var(--k18);border-radius:var(--r-1);margin-top:7px}
.doc-mini i:first-child{margin-top:17px}
.doc-mini i:nth-child(2){width:80%}.doc-mini i:nth-child(4){width:65%}.doc-mini i:nth-child(6){width:88%}
.fmt-corner{position:absolute;top:9px;right:9px;font-family:var(--mono);font-size:var(--fs-1);font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--ink);color:var(--white);padding:3px 7px;border-radius:var(--r-1)}
.fmt-corner.xl{background:var(--green)}
.pbody{padding:13px 14px 14px;display:flex;flex-direction:column;flex:1;gap:var(--sp-1)}
.pref{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.08em;color:var(--grey)}
.pnm{font-weight:700;font-size:var(--fs-4);line-height:1.28}
.pcard a:hover .pnm{color:var(--red)}
.pds{font-size:var(--fs-2);color:var(--grey);flex:1}
.pbadges{display:flex;gap:var(--sp-1);flex-wrap:wrap;margin-top:2px}
.pb{font-size:var(--fs-1);font-weight:600;letter-spacing:.03em;border:1px solid var(--line);border-radius:var(--r-1);padding:2px 6px;color:var(--ink-soft);background:var(--bg)}
.pb.co{color:var(--amber);border-color:var(--k20);background:var(--k30)}
.pfoot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:var(--sp-3)}
.price{font-weight:700;font-size:var(--fs-5);white-space:nowrap}
.price small{font-size:var(--fs-1);color:var(--grey);font-weight:600;margin-right:2px;letter-spacing:.03em}
.pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),420px));justify-content:start;gap:var(--sp-6)}
.packs-ref{color:var(--grey);font-size:var(--fs-3);margin:6px 0 0;font-variant-numeric:tabular-nums}
.pk-jump{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:36px}
/* Lot 1b : onglet d'ANCRE (défile dans la page) — forme CARRÉE + barre de domaine
   à gauche + flèche ↓, volontairement distincte des pilules-filtres de /catalogue.
   Même couleur de domaine (--rx via .dc-*), même traitement de compteur. */
.pk-jump-chip{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--rx,var(--line-strong));border-radius:var(--r-2);padding:8px 12px;min-height:44px;box-sizing:border-box;font-size:var(--fs-3);font-weight:600;color:var(--ink);text-decoration:none;transition:border-color .13s,box-shadow .13s}
.pk-jump-chip:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}
.pk-jump-chip .n{color:var(--grey);font-weight:600;font-variant-numeric:tabular-nums}
.pk-jump-arrow{color:var(--rx,var(--grey));font-weight:700;margin-left:auto;padding-left:var(--sp-2)}
.pk-segsec{margin-bottom:38px;scroll-margin-top:110px}
.pk-segsec-h{display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-6);font-weight:700;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--rx,var(--line))}
.pk-segsec-h .ic{font-size:var(--fs-6)}
.pk-segsec-h .n{font-size:var(--fs-2);font-weight:600;color:var(--grey)}
.pkintro{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--sp-10);align-items:start;margin-bottom:8px}
.pkintro-text h1{font-size:var(--fs-7);margin:10px 0 8px;letter-spacing:-.01em;line-height:1.2}
/* CB1 — bascule vers le pack de la partie opposée (discrète, sous le H1) */
.pk-mirror{display:inline-block;margin:0 0 10px;font-size:var(--fs-2);color:var(--grey);border-bottom:1px dashed var(--line-strong);padding-bottom:1px}
.pk-mirror b{color:var(--red);font-weight:600}
.pk-mirror:hover{color:var(--ink)}
.pkhero-d{color:var(--grey);font-size:var(--fs-4);line-height:1.55;margin-bottom:16px}
.pk-quicklist-h{font-size:var(--fs-1);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--grey);margin:22px 0 4px}
.pk-quicklist{list-style:none;margin:0;padding:0}
.pk-quicklist li{display:flex;justify-content:space-between;gap:var(--sp-4);padding:9px 0;border-bottom:1px solid var(--line);font-size:var(--fs-3)}
.pk-quicklist li:last-child{border-bottom:0}
.pk-quicklist a{color:var(--ink);text-decoration:none;font-weight:600}
.pk-quicklist a:hover{color:var(--red)}
.pk-quicklist .pr{color:var(--grey);white-space:nowrap;font-variant-numeric:tabular-nums}
/* CB2 — bloc d'information obligations cantonales (honnête, ne revendique rien) */
.pk-oblig{margin:20px 0 0;padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--law);border-radius:var(--r-2)}
.pk-oblig-h{font-size:var(--fs-3);font-weight:700;margin:0 0 6px;color:var(--ink);letter-spacing:0}
.pk-oblig p{font-size:var(--fs-2);line-height:1.55;color:var(--ink-soft);margin:0 0 8px}
.pk-oblig-liens{margin:0}
.pk-oblig-liens a{color:var(--red);font-weight:600}
.pk-oblig-liens a:hover{text-decoration:underline}
.pk-oblig-todo{color:var(--ink-soft);font-weight:600}
.pk-oblig-src{color:var(--grey)}
.pkhero-buy{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;position:sticky;top:124px}
.recap-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-hover)}
.pkhero-price-row{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}
.pkhero-price-row .was{color:var(--grey);text-decoration:line-through;font-size:var(--fs-4)}
.pkhero-price-row .now{font-size:var(--fs-8);font-weight:700;letter-spacing:-.01em}
.pkhero-price-row .now small{font-size:var(--fs-4);font-weight:600;opacity:.7;margin-right:2px}
.pkhero-eco{font-size:var(--fs-2);color:var(--grey);margin-top:4px}
.pkhero-trust{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:var(--fs-2);color:var(--grey)}
/* CB5 — réassurance éditeur (discrète, sous le bloc de confiance, près du CTA) */
.pkhero-editeur{margin-top:12px;font-size:var(--fs-1);color:var(--grey);text-align:center}
.pkhero-editeur a{color:var(--ink-soft);font-weight:600;border-bottom:1px solid var(--line-strong)}
.pkhero-editeur a:hover{color:var(--red)}
@media(max-width:860px){.pkintro{grid-template-columns:1fr}}
.pk-gallery-h{font-size:var(--fs-5);font-weight:700;margin:38px 0 16px}
.pk-docgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-6);margin-bottom:38px}
.pk-docgrid .pcard{flex:0 1 240px;min-width:200px}
.pcard--doc .pfoot,.pcard--doc .price{display:none}
@media(max-width:860px){.pkhero{grid-template-columns:1fr}}
.pk-stickybar{position:fixed;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(var(--ink-rgb),.08);z-index:90}
.pk-stickybar-in{display:flex;align-items:center;gap:var(--sp-6);padding:12px 20px calc(12px + env(safe-area-inset-bottom))}
/* C2 : barre d'achat collante = mobile/tablette uniquement ; ≥1200px le bloc d'achat latéral collant prend le relais (desktop inchangé). */
@media(min-width:1200px){.pk-stickybar{display:none}}
.pk-stickybar-nm{font-weight:700;font-size:var(--fs-4);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk-stickybar-price{display:flex;align-items:baseline;gap:var(--sp-2);font-variant-numeric:tabular-nums}
.pk-stickybar-price .was{color:var(--grey);text-decoration:line-through;font-size:var(--fs-2)}
.pk-stickybar-price .now{font-weight:700;font-size:var(--fs-5)}
@media(max-width:640px){.pk-stickybar-nm{display:none}}
@media(max-width:900px){.pkfiche{grid-template-columns:1fr}.pkfiche-visual{position:static}}
.pk-anchor{background:var(--ink);border-radius:var(--radius-lg);padding:26px 28px;margin-top:32px}
.pk-anchor-tag{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.1em;text-transform:uppercase;color:var(--k09);margin-bottom:12px}
.pk-anchor-body{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-8);flex-wrap:wrap}
.pk-anchor-nm{color:var(--white);font-size:var(--fs-6);font-weight:700;letter-spacing:-.01em}
.pk-anchor-d{color:var(--k11);font-size:var(--fs-3);margin-top:4px;max-width:46ch}
.pk-anchor-price{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}
.pk-anchor-was{color:var(--k09);text-decoration:line-through;font-size:var(--fs-4)}
.pk-anchor-now{color:var(--white);font-size:var(--fs-7);font-weight:700}
.pk-anchor-now small{font-size:var(--fs-3);font-weight:600;margin-right:2px;opacity:.8}
@media(max-width:640px){.pk-anchor-body{flex-direction:column;align-items:flex-start}}
.pk-related{margin-top:32px;max-width:780px}
.pk-related-h{font-size:var(--fs-5);font-weight:700;margin-bottom:12px}
.pk-related-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;text-decoration:none;color:var(--ink);transition:border-color .13s}
.pk-related-item:hover{border-color:var(--line-strong)}
.pk-related-item .nm{font-weight:600;font-size:var(--fs-4)}
.pk-related-item .up{display:inline-block;background:var(--red);color:var(--white);font-size:var(--fs-1);font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:var(--r-1);margin-left:6px;vertical-align:middle}
.pk-related-item .why{font-size:var(--fs-2);color:var(--grey);margin-top:2px}
.pk-related-item .pr{font-weight:700;white-space:nowrap;font-family:var(--mono)}
.pkcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;flex-direction:column}
.pkcard:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);border-color:var(--line-strong)}
.pkcard.hero-pack{border:1.5px solid var(--ink)}
.pk-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:11px}
.pk-flag{font-size:var(--fs-1);font-weight:600;letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--r-1);padding:2px 7px;background:var(--bg)}
.pk-flag.dark{color:var(--white);background:var(--ink);border-color:var(--ink)}
.pk-off{font-size:var(--fs-2);font-weight:700;color:var(--green)}
.pk-nm{font-weight:700;font-size:var(--fs-6);margin-bottom:5px;letter-spacing:-.005em}
a:hover .pk-nm{color:var(--red)}
.pk-inc{font-size:var(--fs-2);color:var(--grey);line-height:1.5}
.pk-list{list-style:none;margin:12px 0 0;padding:0;font-size:var(--fs-2);color:var(--ink-soft);line-height:1.5}
.pk-list li{padding-left:14px;position:relative}
.pk-list li+li{margin-top:3px}
.pk-list li::before{content:"–";position:absolute;left:0;color:var(--line-strong)}
.pk-list li.pk-more{color:var(--grey);font-weight:600}
.pk-list li.pk-more::before{content:"+"}
.pk-list li.pk-all{color:var(--ink);font-weight:600}
.pk-list li.pk-all::before{content:none}
.pk-cartouche{margin:14px 0 0;font-size:var(--fs-2)}
.pk-cartouche>div{padding:8px 12px}
.pk-cartouche dt{font-size:var(--fs-1)}
.pk-cartouche dd{font-size:var(--fs-2)}
.pk-price-row{margin-top:auto;padding-top:14px}
.pk-price{font-weight:700;font-size:var(--fs-7);letter-spacing:-.01em}
.pk-price small{font-size:var(--fs-2);color:var(--grey);font-weight:700;margin-right:3px}
.pk-perdoc{display:block;font-size:var(--fs-2);color:var(--grey);margin-top:3px}
.pk-perdoc--big{font-size:var(--fs-5);font-weight:700;color:var(--ink-soft)}  /* H5 : « soit CHF X le document » agrandi sur l'Intégral */
.pk-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-top:12px}
.pack-thumbs{display:flex;gap:var(--sp-1);margin:12px 0 0;flex-wrap:wrap}
.pt-item{position:relative;display:block;width:36px;aspect-ratio:1/1.414;border-radius:var(--r-1);border:1px solid var(--line);background:var(--bg);overflow:hidden}
.pt-item img{width:100%;height:100%;object-fit:cover;display:block}
.pt-ph{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:var(--bg);color:var(--line-strong);font-size:var(--fs-3);font-weight:700}
.pt-more{display:flex;align-items:center;justify-content:center;border-style:dashed;border-color:var(--line-strong);color:var(--grey);font-size:var(--fs-1);font-weight:700}
.pack-thumbs.lg{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.pack-thumbs.lg .pt-item{width:100%;border-radius:var(--r-2)}
.pack-thumbs.lg .pt-ph{font-size:var(--fs-7)}
.pack-thumbs.lg .pt-more{font-size:var(--fs-3)}
.fiche{display:grid;grid-template-columns:minmax(0,42%) 1fr;gap:var(--sp-9);align-items:start}
.fiche-visual{position:sticky;top:124px}
/* Preuve d'aperçu (lifting §4.2) : aperçu dominant, pile de feuilles décalées, liseré de domaine. */
.apercu{background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--r-2);padding:30px;display:grid;place-items:center;overflow:hidden}
.apercu.dc-log{border-top-color:var(--c-log)}.apercu.dc-emp{border-top-color:var(--c-emp)}.apercu.dc-ent{border-top-color:var(--c-ent)}.apercu.dc-pri{border-top-color:var(--c-pri)}.apercu.dc-aso{border-top-color:var(--c-aso)}
.apercu-inner{position:relative;display:inline-block;width:100%;max-width:430px}
.apercu-inner::before,.apercu-inner::after{content:"";position:absolute;inset:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-1);box-shadow:var(--elev-1);z-index:0}
.apercu-inner::before{transform:translate(6px,6px)}
.apercu-inner::after{transform:translate(12px,12px)}
.apercu img.page{position:relative;z-index:1;width:100%;max-width:430px;aspect-ratio:1838/2600;border:1px solid var(--line);border-radius:var(--r-1);box-shadow:var(--shadow-hover);background:var(--white);transition:transform var(--t-fast) var(--ease);display:block}
.apercu-inner.apercu-open{cursor:zoom-in}
.apercu-inner.apercu-open:hover img.page{transform:translateY(-4px)}
.doc-big{width:230px;height:305px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-1);box-shadow:var(--elev-3);padding:26px 24px;position:relative}
.doc-big .hd{height:13px;width:56%;background:var(--red);opacity:.88;border-radius:var(--r-1);margin-bottom:7px}
.doc-big .sub{height:6px;width:38%;background:var(--k16);border-radius:var(--r-1);margin-bottom:20px}
.doc-big i{display:block;height:5px;background:var(--k19);border-radius:var(--r-1);margin-top:9px}
.doc-big i.w80{width:80%}.doc-big i.w65{width:65%}.doc-big i.w90{width:90%}.doc-big i.w50{width:50%}
.doc-big .sig{position:absolute;bottom:26px;right:24px;width:64px;height:6px;background:var(--k19);border-radius:var(--r-1)}
.apercu-cap{font-size:var(--fs-2);color:var(--grey);text-align:center;margin-top:10px}
.fiche-info h1{font-size:clamp(23px,3vw,30px);font-weight:700;line-height:1.15;margin:6px 0 10px}
.fiche-info .pds{font-size:var(--fs-4);color:var(--ink-soft);flex:none}
.fiche-badges{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin:14px 0}
.fiche-buy{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);padding:18px;margin:18px 0;box-shadow:var(--shadow)}
.fb-what{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin:14px 0 4px}
/* pay-band : début — généré par tools/paiement_bande.py depuis private/moyens-paiement.json, ne pas éditer */
.pay-band{display:grid;grid-template-columns:repeat(4,minmax(0,74px));gap:8px;margin:14px 0 0;padding:0;list-style:none;justify-content:start}
.pay-band li{display:block;position:relative;width:100%;aspect-ratio:74/28;min-width:0;min-height:0;margin:0;padding:0;overflow:clip;list-style:none;animation:none;transition:none;background:none}
.pay-band img{display:block;height:auto;max-width:none;object-fit:fill;pointer-events:none;user-select:none;-webkit-user-drag:none}
.pay-row .pay-band{margin:0}
.pay-band .pay-twint img{width:147.608%;margin:-33.227% 0 0 -23.803%}
.pay-band .pay-post-finance-pay img{width:86.486%;margin:-24.324% 0 0 6.757%}
.pay-band .pay-visa img{width:56.757%;margin:0 0 0 21.622%}
.pay-band .pay-visa img{outline:1px solid #c9c9c9;outline-offset:-1px;border-radius:3.333%/5%}
.pay-band .pay-mastercard img{width:56.757%;margin:0 0 0 21.622%}
.pay-band .pay-mastercard img{outline:1px solid #c9c9c9;outline-offset:-1px;border-radius:3.333%/5%}
.pay-band .pay-american-express img{width:56.757%;margin:0 0 0 21.622%}
.pay-band .pay-apple-pay img{width:59.104%;margin:0 0 0 20.448%}
.pay-band .pay-google-pay img{width:103.486%;margin:-16.081% 0 0 -1.715%}
.pay-band .pay-samsung-pay img{width:56.757%;margin:0 0 0 21.622%}
/* pay-band : fin */
.fiche-buy .row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap}
.fiche-buy .price{font-size:var(--fs-7)}
.fiche-buy .tva{font-size:var(--fs-1);color:var(--grey)}
.final-notice{font-size:var(--fs-2);color:var(--grey);margin-top:11px;padding-top:11px;border-top:1px solid var(--line);line-height:1.5}
.fiche-sec{margin-top:26px}
.fiche-sec h2{font-size:var(--fs-5);font-weight:700;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.fiche-sec p,.fiche-sec li{font-size:var(--fs-4);color:var(--ink-soft);line-height:1.65;max-width:72ch}
.fiche-sec ul{padding-left:20px}
.fiche-sec li{margin-bottom:5px}
.contenu-table{width:100%;border-collapse:collapse;font-size:var(--fs-3)}
.contenu-table td{padding:9px 10px;border-bottom:1px solid var(--line)}
.contenu-table td:last-child{text-align:right;font-family:var(--mono);font-size:var(--fs-1);color:var(--grey);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.contenu-table b{font-weight:600}
.pack-table{width:100%;border-collapse:collapse;font-size:var(--fs-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.pack-table th{text-align:left;font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.07em;color:var(--grey);padding:11px 14px;border-bottom:2px solid var(--ink);background:var(--paper)}
.pack-table td{padding:11px 14px;border-bottom:1px solid var(--line)}
.pack-table tr:last-child td{border-bottom:none}
.pack-table td.pr{text-align:right;font-family:var(--mono);white-space:nowrap}
.pack-table a:hover{color:var(--red);text-decoration:underline}
.pack-total{background:var(--ink);color:var(--white);border-radius:var(--r-2);padding:22px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);flex-wrap:wrap}
.pack-total .was{text-decoration:line-through;opacity:.6;font-size:var(--fs-4)}
.pack-total .now{font-size:var(--fs-8);font-weight:700}
.pack-total .now small{font-size:var(--fs-3);opacity:.7}
.pack-total .save{background:var(--green);font-size:var(--fs-2);font-weight:700;padding:4px 10px;border-radius:var(--r-1)}
.qr-hero{background:var(--paper);border-bottom:1px solid var(--line);padding:38px 0 30px}
.qr-hero h1{font-size:clamp(25px,3.4vw,36px);font-weight:700;line-height:1.1;margin-bottom:10px}
.qr-hero h1 em{font-style:normal;color:var(--red)}
.qr-hero p{color:var(--grey);max-width:680px;font-size:var(--fs-5)}
.badgerow{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:16px}
.qbadge{font-size:var(--fs-1);font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);background:var(--bg);padding:5px 11px;border-radius:999px}
.qbadge.red{background:var(--red);border-color:var(--red);color:var(--white)}
.qbadge.green{background:var(--green);border-color:var(--green);color:var(--white)}
.qr-layout{display:grid;grid-template-columns:minmax(340px,440px) 1fr;gap:var(--sp-8);align-items:start;padding:30px 0 20px}
.qcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);padding:19px;margin-bottom:15px}
.qcard h2{font-size:var(--fs-4);letter-spacing:.03em;text-transform:uppercase;display:flex;gap:var(--sp-2);align-items:baseline;margin-bottom:12px}
.qcard h2 .n{color:var(--red);font-size:var(--fs-2)}
.field{margin-bottom:11px}
.field label{display:block;font-size:var(--fs-2);font-weight:600;color:var(--ink-soft);margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-1);padding:9px 11px;font-family:inherit;font-size:var(--fs-3);background:var(--bg)}
.field input{height:38px;padding:0 11px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red);background:var(--white)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.qr-preview{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);padding:24px;position:sticky;top:124px}
.qr-preview h2{font-size:var(--fs-4);letter-spacing:.03em;text-transform:uppercase;margin-bottom:16px}
.receipt{background:var(--white);border:1px dashed var(--k14);border-radius:var(--r-1);padding:20px;display:grid;grid-template-columns:1fr 170px;gap:var(--sp-7);min-height:250px}
.receipt h4{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-family:'Inter';font-weight:700}
.receipt .ln{font-size:var(--fs-2);color:var(--ink-soft);line-height:1.6;word-break:break-word}
.receipt .qrz{display:grid;place-items:center}
.receipt .qrz>div{width:150px;height:150px}
.dlrow{display:flex;gap:var(--sp-3);margin-top:16px;flex-wrap:wrap}
.crosssell{border:1.5px solid var(--red);background:var(--k33);border-radius:var(--r-2);padding:18px;margin-top:20px}
.crosssell .t{font-weight:700;font-size:var(--fs-5);margin-bottom:5px}
.crosssell p{font-size:var(--fs-3);color:var(--ink-soft);margin-bottom:12px}
.qr-banner{background:var(--ink);color:var(--white);border-radius:var(--r-2);overflow:hidden;display:grid;grid-template-columns:1fr 340px;position:relative}
.qr-banner::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;background:var(--red);opacity:.16;border-radius:50%}
.qrb-txt{padding:36px 40px;position:relative;z-index:1}
.freeflag{display:inline-block;background:var(--green);color:var(--white);font-size:var(--fs-1);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 11px;border-radius:var(--r-1);margin-bottom:13px}
.qrb-txt h2{font-size:var(--fs-7);font-weight:700;line-height:1.15;margin-bottom:10px}
.qrb-txt p{color:rgba(var(--white-rgb),.75);max-width:480px;margin-bottom:18px;font-size:var(--fs-4)}
.qrb-points{display:flex;gap:var(--sp-6);flex-wrap:wrap;margin-bottom:22px;font-size:var(--fs-3)}
.qrb-points span{display:flex;gap:var(--sp-2);align-items:center;color:rgba(var(--white-rgb),.85)}
.qrb-visual{display:grid;place-items:center;position:relative;z-index:1;padding:28px}
.qr-mock{width:150px;height:150px;background:var(--white);border-radius:var(--r-2);padding:13px;box-shadow:var(--elev-3)}
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),420px));justify-content:start;gap:var(--sp-5)}
.gcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow);transition:box-shadow .15s;display:flex;flex-direction:column;gap:var(--sp-2)}
.gcard:hover{box-shadow:var(--shadow-hover);border-color:var(--rx,var(--line))}
/* .gtag/.glink sensibles au domaine : --rx quand une classe .dc-* est posée (accueil),
   repli rouge partout ailleurs (/guides, /aide, article pageGuide). Fusion .hpx-guide -> .gcard. */
.gtag{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.1em;text-transform:uppercase;color:var(--rx,var(--red));font-weight:600}
.gcard h3{font-size:var(--fs-5);font-weight:700;line-height:1.3}
.gcard p{font-size:var(--fs-3);color:var(--grey);flex:1}
.glink{font-weight:600;font-size:var(--fs-3);color:var(--rx-ink,var(--red))}
.article{max-width:72ch}
/* W2 : lecture — texte courant plafonné ~72ch + colonne latérale collante ≥1200px (sommaire guide). */
.guide-toc{display:none}
@media(min-width:1200px){
  .guide-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--sp-10);align-items:start}
  .guide-layout .article{grid-column:2}
  .guide-toc{display:block;position:sticky;top:124px;grid-column:1;font-size:var(--fs-2)}
  .guide-toc .h{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-1);color:var(--grey);font-weight:700;margin-bottom:10px}
  .guide-toc a{display:block;padding:6px 0 6px 12px;color:var(--ink-soft);border-left:2px solid var(--line);line-height:1.4}
  .guide-toc a:hover{color:var(--rx-ink,var(--red));border-left-color:var(--rx,var(--red))}
  /* W2 : bloc d'achat collant sur une fiche (colonne info) */
  .fiche-info #ficheBuyMain{position:sticky;top:124px;z-index:1}
}
.article h1{font-size:clamp(24px,3.2vw,32px);font-weight:700;line-height:1.15;margin:6px 0 14px}
.article .meta{font-size:var(--fs-2);color:var(--grey);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.article h2{font-size:var(--fs-6);font-weight:700;margin:28px 0 10px}
.article p{font-size:var(--fs-4);color:var(--ink-soft);line-height:1.7;margin-bottom:13px}
.article b{color:var(--ink)}
.encart{border:1.5px solid var(--red);background:var(--k33);border-radius:var(--r-2);padding:20px;margin-top:30px;display:flex;gap:var(--sp-6);align-items:center;flex-wrap:wrap}
.encart .body{flex:1;min-width:220px}
.encart .t{font-weight:700;font-size:var(--fs-5);margin-bottom:4px}
.encart p{font-size:var(--fs-3);margin:0;color:var(--ink-soft)}
.disclaim{font-size:var(--fs-2);color:var(--grey);border-top:1px solid var(--line);margin-top:30px;padding-top:14px;line-height:1.55}
.cat-toolbar{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:22px;align-items:center}
.chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 15px;min-height:44px;display:inline-flex;align-items:center;font-weight:600;font-size:var(--fs-3);color:var(--ink-soft);transition:all .12s}
.chip:hover{border-color:var(--ink)}
/* Lot 1a : actif = couleur de domaine (--rx, repli rouge « Tous ») + graisse (indice
   non-couleur, en plus du remplissage plein vs contour). AA : blanc sur les 5 couleurs. */
.chip.on{background:var(--rx,var(--red));color:var(--white);border-color:var(--rx,var(--red));font-weight:700}
.chip .n{color:var(--grey);font-weight:400;margin-left:4px;font-size:var(--fs-2);font-variant-numeric:tabular-nums}
.chip.on .n{color:rgba(var(--white-rgb),.82)}
.cat-toolbar .sepv{width:1px;height:24px;background:var(--line);margin:0 4px}
.cat-count{margin-left:auto;font-size:var(--fs-3);color:var(--grey)}
.aide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),420px));justify-content:start;gap:var(--sp-5);margin-bottom:40px}
.faq{max-width:780px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:9px;overflow:hidden}
.faq summary{padding:15px 17px;font-weight:600;font-size:var(--fs-4);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--sp-5);align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:var(--fs-6);color:var(--grey);flex-shrink:0}
.faq details[open] summary::after{content:"−";color:var(--red)}
.faq .a{padding:0 17px 15px;font-size:var(--fs-3);color:var(--ink-soft);line-height:1.6}
.faq .a a{color:var(--red);font-weight:600}
.faq .a a:hover{text-decoration:underline}
.aide-h2{font-size:var(--fs-6);font-weight:700;margin:38px 0 14px;padding-bottom:9px;border-bottom:2px solid var(--ink);scroll-margin-top:90px}
.steps{counter-reset:st;max-width:680px}
.step{display:flex;gap:var(--sp-5);margin-bottom:14px}
.step .n{counter-increment:st;flex:0 0 30px;height:30px;border-radius:50%;background:var(--ink);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:var(--fs-3)}
.step .n::before{content:counter(st)}
.step .tx b{display:block;font-size:var(--fs-4)}
.step .tx span{font-size:var(--fs-3);color:var(--grey);line-height:1.55}
.triage-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);padding:20px;max-width:680px}
.self-res{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:12px 0;font-size:var(--fs-3);line-height:1.55}
.self-res b{display:block;margin-bottom:3px}
.self-res a{color:var(--red);font-weight:600}
.self-res a:hover{text-decoration:underline}
.reveal-link{font-size:var(--fs-3);color:var(--grey);text-decoration:underline;cursor:pointer;background:none;padding:0}
.reveal-link:hover{color:var(--red)}
.form-ok{background:var(--k23);border:1px solid var(--k12);border-radius:var(--radius);padding:14px 16px;font-size:var(--fs-3);color:var(--green);font-weight:600}
.legal-layout{display:grid;grid-template-columns:230px 1fr;gap:var(--sp-10);align-items:start}
.legal-toc{position:sticky;top:124px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);padding:16px}
.legal-toc h3{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.09em;color:var(--grey);margin-bottom:10px;font-family:'Inter';font-weight:700}
.legal-toc a{display:block;font-size:var(--fs-3);font-weight:600;padding:6px 8px;border-radius:var(--r-1);color:var(--ink-soft)}
.legal-toc a:hover{background:var(--bg);color:var(--red)}
.legal-body{max-width:72ch}
.legal-body h2{font-size:var(--fs-7);font-weight:700;margin:44px 0 6px;padding-top:20px;border-top:2px solid var(--ink);scroll-margin-top:90px}
.legal-body h2:first-child{margin-top:0;border-top:none;padding-top:0}
.legal-body .maj{font-size:var(--fs-2);color:var(--grey);margin-bottom:16px}
.legal-body h3{font-size:var(--fs-5);font-weight:700;margin:20px 0 7px;scroll-margin-top:90px}
.legal-body p,.legal-body li{font-size:var(--fs-4);color:var(--ink-soft);line-height:1.68;margin-bottom:10px}
.legal-body ul{padding-left:20px;margin-bottom:12px}
.legal-body li{margin-bottom:4px}
.legal-body b{color:var(--ink)}
.tofill{background:var(--k30);border:1px dashed var(--amber);color:var(--amber);font-weight:600;padding:1px 7px;border-radius:var(--r-1);font-size:var(--fs-3);white-space:nowrap}
.drawer-veil{position:fixed;inset:0;background:rgba(var(--shade4-rgb),.72);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s}
.drawer-veil.open{opacity:1;pointer-events:auto}
/* Tiroir panier : masqué par TRANSFORM (pas de right négatif hors-écran, qui créait une
   barre de scroll horizontale fantôme sur mobile — un fixed hors-écran n'est pas rogné par
   overflow-x:clip). La boîte reste à right:0 ; seul le rendu est translaté + visibility. */
.drawer{position:fixed;top:0;right:0;width:min(400px,92vw);height:100%;background:var(--paper);z-index:201;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(var(--black-rgb),.18)}
@media(max-width:480px){.drawer{width:100%}}
.drawer.open{transform:translateX(0);visibility:visible}
.drawer-h{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:2px solid var(--ink)}
.drawer-h .t{font-weight:700;font-size:var(--fs-5)}
.drawer-count{font-weight:400;color:var(--grey);font-size:var(--fs-4)}
.drawer-close{font-size:var(--fs-7);line-height:1;color:var(--grey);padding:4px 8px}
.drawer-close:hover{color:var(--red)}
.drawer-items{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 20px}
.ditem{display:flex;align-items:stretch;margin-bottom:9px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.ditem:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}
.ditem-link{display:block;flex:1;min-width:0;padding:12px 8px 12px 14px;text-decoration:none;color:inherit}
.ditem-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:12px 12px 12px 4px;gap:var(--sp-2)}
.ditem-desc{font-size:var(--fs-2);color:var(--grey);line-height:1.4;margin:3px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ditem-pkbadge{display:inline-block;margin-left:6px;font-size:var(--fs-1);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--red);background:var(--red-wash,var(--k29));border-radius:var(--r-1);padding:1px 6px;vertical-align:middle}
.ditem .nm{font-weight:600;font-size:var(--fs-4);line-height:1.3;display:block}
.ditem .pr{font-weight:700;font-size:var(--fs-4);white-space:nowrap;font-variant-numeric:tabular-nums}
.ditem .rm{width:26px;height:26px;border:0;background:transparent;color:var(--grey);font-size:var(--fs-6);line-height:1;cursor:pointer;border-radius:var(--r-2);transition:background .13s,color .13s}
.ditem .rm:hover{background:var(--bg);color:var(--red)}
.ditem--pack{align-items:flex-start}
.ditem--pack .pr{margin-top:1px}
.ditem-pklist{list-style:none;margin:6px 0 0;padding:0;font-size:var(--fs-2);color:var(--ink-soft);line-height:1.5}
.ditem-pklist li{padding-left:12px;position:relative}
.ditem-pklist li+li{margin-top:2px}
.ditem-pklist li::before{content:"–";position:absolute;left:0;color:var(--line-strong)}
.ditem-pkall{display:block;margin-top:5px;font-size:var(--fs-2);color:var(--ink-soft)}
.ditem-pkname{display:block;text-decoration:none;color:inherit}
.ditem-pklist{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-1) 10px}
.ditem-pklist li{font-size:var(--fs-1);line-height:1.5}
.ditem-pklist a{color:var(--grey);text-decoration:none}
.ditem-pklist a:hover{color:var(--red)}
.ditem-main{flex:1;min-width:0}
.ditem .nm{display:block;font-weight:600;font-size:var(--fs-3);line-height:1.3}
.ditem-meta{margin-top:4px;display:flex;gap:var(--sp-1);flex-wrap:wrap}
.ditem-meta .fmt-chip{font-size:var(--fs-1);padding:1px 5px}
.ditem .pr{font-weight:700;white-space:nowrap}
.ditem .rm{color:var(--grey);font-size:var(--fs-5);padding:2px 6px}
.ditem .rm:hover{color:var(--red)}
.drawer-empty{color:var(--grey);text-align:center;padding:40px 10px;font-size:var(--fs-3)}
.drawer-empty .btn{display:inline-flex}
/* Footer robuste : si le contenu dépasse (petit viewport, message promo, etc.),
   le footer scrolle plutôt que de pousser le bouton "Commander" hors de l'écran.
   Le CTA reste ainsi atteignable dans tous les cas. */
.drawer-f{padding:16px 20px;border-top:1px solid var(--line);max-height:72vh;overflow-y:auto;overscroll-behavior:contain}
.drawer-total{display:flex;justify-content:space-between;font-weight:700;font-size:var(--fs-5);margin-bottom:12px}
.drawer-total--discount{font-weight:600;font-size:var(--fs-4);color:var(--ok,var(--k01));margin-top:-6px}
.promo-box{margin-bottom:14px}
.promo-row{display:flex;gap:var(--sp-2)}
.promo-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--r-2);padding:9px 11px;font-size:var(--fs-3);font-family:inherit;text-transform:uppercase}
.promo-row input::placeholder{text-transform:none}
.promo-row .btn{flex:0 0 auto;white-space:nowrap}
.promo-applied{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);background:var(--k23);border:1px solid var(--k13);border-radius:var(--r-2);padding:9px 12px;font-size:var(--fs-3);color:var(--k01)}
.promo-remove{border:0;background:none;color:var(--k01);font-size:var(--fs-5);line-height:1;cursor:pointer;padding:2px 4px}
.promo-msg{font-size:var(--fs-2);color:var(--red);margin-top:6px}
.drawer-email{display:block;font-size:var(--fs-1);color:var(--grey);font-weight:600;margin-bottom:10px}
.drawer-email input{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-2);font:inherit;font-size:var(--fs-4);color:var(--ink)}
.drawer-email input:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
.drawer-note{font-size:var(--fs-1);color:var(--grey);margin-top:12px;text-align:center;line-height:1.5}
.dgroup{border:1px solid var(--red);background:var(--red-wash,var(--k29));border-radius:var(--r-2);padding:12px 14px 14px;margin-bottom:14px}
.dgroup .ditem{border-bottom-color:rgba(var(--red-rgb),.15)}
.dgroup .ditem:last-of-type{border-bottom:0}
.dgroup-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:6px}
.dgroup-pack{font-size:var(--fs-1);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--red)}
.dgroup-n{font-size:var(--fs-1);color:var(--grey);font-weight:600;white-space:nowrap}
.dgroup-h--rest{margin:4px 0 6px;padding-top:4px}
.dgroup-h--rest .dgroup-pack{color:var(--grey)}
.dpack{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(var(--red-rgb),.25)}
.dpack-d{font-size:var(--fs-2);color:var(--ink-soft,var(--grey));line-height:1.5;margin-bottom:10px}
.dpack-d b{color:var(--ink)}
.dpack .btn{width:100%}
/* O4 : vente croisée discrète dans le tiroir (P02 proposé quand P01 seul). */
.dcross{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-top:6px;padding:10px 12px;border:1px dashed var(--line);border-radius:var(--r-2);background:var(--paper)}
/* X5.1c — proposition pack (écart à payer) */
.dpackoffer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-top:12px;padding:12px 14px;border:1px solid var(--red);border-radius:var(--r-2);background:var(--red-wash,var(--k29));flex-wrap:wrap}
.dpackoffer-txt{display:flex;flex-direction:column;gap:2px;min-width:180px;flex:1}
.dpackoffer-nm{font-weight:600;color:var(--ink)}
.dpackoffer-msg{font-size:var(--fs-2);color:var(--ink-soft,var(--grey));line-height:1.4}
.dcross-info{display:flex;flex-direction:column;min-width:0}
.dcross-nm{font-size:var(--fs-2);font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dcross-tag{font-size:var(--fs-1);color:var(--grey)}
.dcross .btn{flex:none}
.toast{position:fixed;bottom:250px;left:50%;transform:translate(-50%,80px);background:var(--ink);color:var(--white);font-size:var(--fs-3);font-weight:600;padding:12px 20px;border-radius:999px;box-shadow:var(--elev-3);opacity:0;transition:all .25s;z-index:300;pointer-events:none;max-width:88vw;text-align:center}
.toast.show{transform:translate(-50%,0);opacity:1}
footer{background:var(--ink);color:var(--white);margin-top:60px}
.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-9);padding:44px 0 36px}
.foot-brand p{color:rgba(var(--white-rgb),.6);font-size:var(--fs-3);margin-top:12px;max-width:280px}
.foot-brand .brand{color:var(--white)}
.foot-brand .brand-tag{border-left-color:rgba(var(--white-rgb),.25);color:rgba(var(--white-rgb),.6)}
.fcol h4{font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.09em;color:rgba(var(--white-rgb),.5);margin-bottom:14px;font-family:'Inter';font-weight:700}
.fcol a{display:block;color:rgba(var(--white-rgb),.82);font-size:var(--fs-3);padding:4px 0}
.fcol a:hover{color:var(--white);text-decoration:underline}
.foot-legalbar{border-top:1px solid rgba(var(--white-rgb),.12);padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap;font-size:var(--fs-2);color:rgba(var(--white-rgb),.55)}
.pay-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
/* padding-bottom de sécurité : le FAB de chat (position:fixed, bottom 16-20px +
   56px de haut) recouvrait les dernières lignes du disclaimer en bas de page.
   88px = hauteur+offset du FAB + marge, sur fond sombre (bande invisible). */
.foot-disclaimer{background:var(--k02);font-size:var(--fs-1);color:rgba(var(--white-rgb),.50);padding:12px 0 88px;line-height:1.5}
/* Footer : les 3 sections nav sont des <details>. Accordéon actif UNIQUEMENT
   ≤640px (règles dans @media plus bas). État de BASE = rendu ">640" : summary =
   libellé statique (non cliquable, sans chevron) => colonnes dépliées identiques
   à avant. Styles dédiés, tons clairs sur fond sombre (pas .faq/.mnav-cats). */
.foot-acc{border:0;background:none}
.foot-acc>summary{list-style:none;display:block;pointer-events:none;cursor:default}
.foot-acc>summary::-webkit-details-marker{display:none}
@media(max-width:1080px){
  .hero .wrap{grid-template-columns:1fr;gap:var(--sp-9)}
  .uni-grid{grid-template-columns:repeat(3,1fr)}
  .reassure .wrap{grid-template-columns:repeat(2,1fr)}
  .qr-layout{grid-template-columns:1fr}
  .qr-preview{position:static}
  .fiche{grid-template-columns:1fr}
  .fiche-visual{position:static}
  .legal-layout{grid-template-columns:1fr}
  .legal-toc{position:static;display:flex;flex-wrap:wrap;gap:var(--sp-1)}
  .legal-toc h3{display:none}
  .foot-cols{grid-template-columns:1fr 1fr}
  nav.primary{display:none}
  .burger{display:grid}
  .qrbtn{display:grid}
  /* Cibles tactiles 44x44 dans le régime à boutons-icônes (≤1080, là où
     qr/burger apparaissent). Le panier reste 42px sur desktop (>1080, souris)
     pour ne pas décaler la nav — 42px passe WCAG 2.5.8 AA. */
  .cartbtn{width:44px;height:44px}
}
@media(max-width:640px){
  .uni-grid{grid-template-columns:repeat(2,1fr)}
  .reassure .wrap{grid-template-columns:1fr}
  .qr-banner{grid-template-columns:1fr}
  .qrb-visual{padding-top:0}
  .header-row{gap:var(--sp-3);flex-wrap:wrap}
  .header-row .hactions{margin-left:auto}
  /* Recherche scroll-aware : repliée au scroll-bas, révélée au scroll-haut. La
     rangée logo/icônes reste toujours visible. overflow:hidden n'est posé qu'à
     l'état replié pour ne pas rogner le dropdown quand la recherche est visible. */
  .header-row .hsearch{order:3;flex:1 1 100%;margin-top:2px;transition:max-height .22s ease,opacity .18s ease,margin-top .22s ease,border-width .22s ease}
  header.main.hsearch-hidden .header-row .hsearch{max-height:0;opacity:0;margin-top:0;border-width:0;overflow:hidden;pointer-events:none}
  .brand-logo{height:40px}
  .brand-tag{display:none}
  .foot-brand img{width:130px!important;height:auto!important;aspect-ratio:210/70}
  .receipt{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr}
  /* Footer accordéon (mobile uniquement) : summary redevient interactif, chevron
     +/− en tons clairs, séparateurs entre sections. Le repli natif <details>
     est piloté par JS (ouvert=false sur mobile) — voir l'IIFE footer plus bas. */
  .foot-acc{border-top:1px solid rgba(var(--white-rgb),.12)}
  .foot-acc>summary{display:flex;justify-content:space-between;align-items:center;margin:0;padding:15px 2px;pointer-events:auto;cursor:pointer}
  .foot-acc>summary::after{content:"+";color:rgba(var(--white-rgb),.55);font-weight:700;font-size:var(--fs-6);line-height:1}
  .foot-acc[open]>summary::after{content:"−"}
  .foot-acc-body{padding:2px 2px 14px}
}
@media print{.topbar,header.main,footer,.drawer,.drawer-veil,.toast{display:none}}

/* ============ V3 — REFONTE VISUELLE ============ */
/* Registre silencieux (2.1, option C) : les couleurs de catégorie ne sont
   plus des aplats saturés mais un repère fonctionnel discret — liseré 3px
   + libellé, jamais un fond peint. Teintes désaturées vers la rampe froide. */
:scope{
 /* Unifié Lot 2c : la palette domaine canonique (--c-*) partout — plus de 2e mapping
    (avant : Emploi=violet, Asso=vert, incohérents avec l'accueil). Bordure + libellé,
    jamais un fond peint (fonds = tint pâle réservé aux icônes .uni). */
 --cL:var(--c-log);--cLbg:color-mix(in srgb,var(--c-log) 12%,var(--white));--cE:var(--c-emp);--cEbg:color-mix(in srgb,var(--c-emp) 12%,var(--white));
 --cB:var(--c-ent);--cBbg:color-mix(in srgb,var(--c-ent) 12%,var(--white));--cP:var(--c-pri);--cPbg:color-mix(in srgb,var(--c-pri) 12%,var(--white));--cA:var(--c-aso);--cAbg:color-mix(in srgb,var(--c-aso) 12%,var(--white));
}
.sect-head h1{font-size:var(--fs-8)}
.kick.dc-log{color:var(--c-log)}.kick.dc-emp{color:var(--c-emp)}.kick.dc-ent{color:var(--c-ent)}.kick.dc-pri{color:var(--c-pri)}.kick.dc-aso{color:var(--c-aso)}
.hero .wrap{padding-top:60px;padding-bottom:74px}
.hero h1{font-size:clamp(32px,4vw,48px)}
.hero p.lead{font-size:var(--fs-5)}
/* ===== Homepage v2 — style suisse international (scopé .hp, système Helvetica) ===== */
.hp{color:var(--ink)} /* Inter partout (lifting) — plus de bascule Helvetica ; .hp .wrap reste sans max-width */
.hp .wrap{max-width:none}
.hp-sec{padding:56px 0}
.hp-sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-7);margin-bottom:30px}
.hp-sec-head h2{font-size:var(--fs-7);font-weight:600;letter-spacing:-.02em}
.hp-seeall{font-size:var(--fs-3);font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;white-space:nowrap}
.hp-seeall:hover{color:var(--red);border-color:var(--red)}
/* 1. Héros */
.hp-hero-in{padding:64px 0 48px}
.hp-hero-row{display:grid;grid-template-columns:1fr 380px;gap:var(--sp-10);align-items:start;margin-bottom:36px}
.hp-hero-top{max-width:none;margin-bottom:0;position:relative;overflow:hidden;z-index:0}
/* Badge compact remplaçant l'ancienne cartouche légale 4 colonnes du hero.
   --paper-soft n'existe pas dans les tokens du fichier → repli sur --bg. */
.pill{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-1);font-weight:700;background:var(--bg);border:1px solid var(--line);color:var(--ink-soft);padding:5px 10px;border-radius:999px;margin-bottom:14px}
/* Motif de marque (croix du logo) en arrière-plan du bloc H1, très discret.
   z-index:-1 (dans le contexte d'empilement de .hp-hero-top) → derrière le texte ;
   overflow:hidden du parent le contient. */
.cross-motif{position:absolute;top:-40px;right:-60px;width:220px;height:220px;opacity:.05;color:var(--red);pointer-events:none;z-index:-1}
/* Groupe 2 revert : le pill + le motif sont MOBILE uniquement (≤900px) ; sur
   desktop on restaure la cartouche légale 4 colonnes d'avant chantier. */
@media(min-width:901px){.pill,.cross-motif{display:none}}
@media(max-width:900px){dl.hp-hero-cartouche{display:none}}
/* Carrousel « À la une » : sur DESKTOP (>900px) il vit dans la colonne droite du
   hero, sticky (état d'avant chantier). Sur MOBILE (≤900px) il est repositionné en
   DOM (JS placeCarousel) dans #hcSection après le quiz, et l'override média le rend
   static/centré (l.705). Section mobile #hcSection masquée sur desktop. */
.hp-hcp{position:sticky;top:124px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden;display:flex;flex-direction:column}
@media(min-width:901px){#hcSection{display:none}}
.hp-hcp-tag{position:absolute;z-index:2;margin:12px;display:inline-block;background:var(--ink);color:var(--white);font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:var(--r-1)}
.hp-hcp-clip{transition:opacity .22s ease;flex:1 1 auto;overflow:hidden;min-height:0;display:flex;flex-direction:column}
.hp-hcp-dotsrow{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:10px 0;flex:0 0 auto}
.hp-hcp-arrow{position:static;transform:none;width:26px;height:26px;border-radius:50%;background:transparent;color:var(--grey);border:1px solid var(--line-strong);display:grid;place-items:center;cursor:pointer;opacity:1;flex:0 0 auto;transition:color .15s ease,border-color .15s ease}
.hp-hcp-arrow svg{width:14px;height:14px}
.hp-hcp-arrow:hover{color:var(--red);border-color:var(--red)}
.hp-hcp-img{flex:1 1 auto;min-height:180px;background:var(--bg);overflow:hidden;position:relative}
.hp-hcp-img img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hp-hcp-img--list{background:var(--ink);color:var(--white);display:flex;align-items:flex-end;padding:38px 18px 16px;min-height:165px}
.hp-hcp-listwrap{width:100%}
.hp-hcp-plist{list-style:none;margin:0;padding:0;font-size:var(--fs-2);line-height:1.5}
.hp-hcp-plist li+li{margin-top:8px}
.hp-hcp-plist a{display:flex;align-items:center;gap:var(--sp-2);color:rgba(var(--white-rgb),.88);text-decoration:none}
.hp-hcp-plist a:hover{color:var(--white);text-decoration:underline}
.hp-hcp-plist a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hp-hcp-check{width:14px;height:14px;flex:0 0 auto;color:var(--k32)}
.hp-hcp-plist li.more a{color:rgba(var(--white-rgb),.58);font-size:var(--fs-1);font-style:italic}
.hp-hcp-plist li.more a:hover{color:var(--white)}
.hp-hcp-list-all{font-size:var(--fs-3);color:rgba(var(--white-rgb),.85);line-height:1.5;margin:0}
.hp-hcp-img--card{background:var(--ink);color:var(--white);display:grid;place-items:center;padding:10px;min-height:100px}
.hp-hcp-datecard{text-align:center;max-width:100%}
.hp-hcp-date-lbl{display:block;font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--white-rgb),.6);margin-bottom:4px}
.hp-hcp-date-big{display:block;font-size:clamp(18px,4vw,30px);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.1}
.hp-hcp-qr{width:min(64px,50%);height:auto;color:var(--white)}
.hp-hcp-body{padding:16px 18px 18px;flex:0 0 auto}
.hp-hcp-seg{display:block;font-size:var(--fs-1);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--red);margin-bottom:5px}
.hp-hcp-nm{font-size:var(--fs-6);font-weight:700;line-height:1.22;letter-spacing:-.01em;margin-bottom:6px}
.hp-hcp-d{font-size:var(--fs-2);color:var(--grey);line-height:1.5;margin-bottom:8px}
.hp-hcp-meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:14px;padding:7px 10px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-2)}
.hp-hcp-co{font-size:var(--fs-1);color:var(--grey);font-weight:700;font-family:var(--mono);letter-spacing:.02em}
.hp-hcp-foot{display:flex;flex-direction:column;gap:var(--sp-2);padding:14px 18px;border-top:1px solid var(--line);flex:0 0 auto}
.hp-hcp-foot-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}
.hp-hcp-pr{font-size:var(--fs-7);font-weight:700;flex:0 1 auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.hp-hcp-actions{display:flex;gap:var(--sp-1);flex:0 0 auto}
.hp-hcp-trust{font-size:var(--fs-1);color:var(--grey);text-align:center}
.hp-hcp-pr small{font-size:var(--fs-2);font-weight:600;opacity:.7;margin-right:2px}
.hp-hcp-dots{display:flex;justify-content:center;gap:var(--sp-1);flex:0 0 auto}
.hp-hcp-dots button{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.hp-hcp-dots button::after{content:"";display:block;width:6px;height:6px;border-radius:999px;background:var(--line-strong);transition:background .15s,width .15s}
.hp-hcp-dots button.on::after{background:var(--red);width:18px}
@media(max-width:900px){.hp-hero-row{grid-template-columns:1fr}.hp-hcp{position:static;max-width:360px;margin-inline:auto}}
.hp-hero-kickrow{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:14px}
.hp-hero-seal{height:26px;width:auto;aspect-ratio:171/163;flex:0 0 auto;display:block}
.hp-hero-kick{display:block;font-family:var(--mono);font-size:var(--fs-1);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:0}
.hp-hero-h1{font-size:clamp(30px,4.2vw,46px);line-height:1.08;font-weight:700;letter-spacing:-.01em;margin:0 0 16px}
.hp-hero-sub{font-size:var(--fs-5);line-height:1.55;color:var(--ink-soft);margin:0 0 24px;max-width:60ch}
.hp-hero-cartouche{max-width:560px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hp-btn{display:inline-block;background:var(--red);color:var(--white);font-size:var(--fs-4);font-weight:600;padding:13px 26px;text-decoration:none;border:1px solid var(--red);border-radius:var(--radius)}
.hp-btn:hover{background:var(--red-dark);border-color:var(--red-dark)}
/* ===== Entrée en scène (1re visite de session, sobre, reduced-motion safe) ===== */

/* Cascade de tête de page (lifting) : la tête .sect-head monte kick→titre à chaque rendu de route. */
@media (prefers-reduced-motion:no-preference){
  .js .sect-head .kick{animation:hpRise var(--t-reveal) .05s var(--ease) both}
  .js .sect-head h1{animation:hpRise var(--t-reveal) .13s var(--ease) both}
}
/* 2. Barre de faits */
/* 3. Segments · 5. Essentiels · grilles à filet 1px */
.hp-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:172px;gap:var(--sp-6)}
.hp-seg{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:20px 22px;background:var(--white);text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}
.hp-seg:hover,.hp-seg:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow-hover)}
.hp-seg--lg{grid-column:span 2;grid-row:span 2}
.hp-seg-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .35s ease,transform .35s ease}
.hp-seg:hover .hp-seg-bg,.hp-seg:focus-visible .hp-seg-bg{filter:grayscale(0);transform:scale(1.02)}
@media(hover:none){.hp-seg-bg{filter:grayscale(0)}}
.hp-seg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--white-rgb),0) 38%,rgba(var(--white-rgb),.86) 78%,rgba(var(--white-rgb),.96) 100%);pointer-events:none}
.hp-seg h3{position:relative;z-index:2;font-size:var(--fs-6);font-weight:600;letter-spacing:-.01em}
.hp-seg--lg h3{font-size:var(--fs-7)}
.hp-seg p{position:relative;z-index:2;font-size:var(--fs-4);color:var(--ink-soft);line-height:1.5;margin-top:3px}
.hp-seg.is-pack{background:var(--bg)}
.hp-seg.is-pack::after{content:none}
.hp-seg.is-pack:hover{background:var(--paper)}
/* Rangée de chips catégories (remplace la grille photo « par domaine »).
   Défilement horizontal scroll-snap ; chips ~80px ; icône CATIC + libellé CAT
   + comptage catCount (source unique). */
.hp-catchips{display:flex;gap:var(--sp-3);overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:4px 2px 10px;scrollbar-width:none}
.hp-catchips::-webkit-scrollbar{display:none}
.hp-catchip{scroll-snap-align:start;flex:0 0 auto;width:80px;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:15px 6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-3);text-decoration:none;color:inherit;text-align:center;transition:border-color .15s ease,box-shadow .15s ease}
.hp-catchip:hover,.hp-catchip:focus-visible{border-color:var(--ink);box-shadow:var(--shadow-hover)}
.hp-catchip .ic{font-size:var(--fs-7);line-height:1}
.hp-catchip .lb{font-size:var(--fs-2);font-weight:600;line-height:1.2}
.hp-catchip .n{font-size:var(--fs-1);color:var(--grey);font-weight:600;font-variant-numeric:tabular-nums}
/* Groupe 1 pt.3 : desktop (>900px) = grille photo « par domaine » d'avant
   chantier ; mobile (≤900px) = rangée de chips. Les deux markups sont rendus,
   on bascule par largeur. */
@media(min-width:901px){.hp-catchips{display:none}}
@media(max-width:900px){.hp-grid{display:none}}
/* 6. Packs */
.hp-packs{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-6)}
.hp-pack{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;text-decoration:none;color:inherit;background:var(--white);transition:border-color .15s ease,box-shadow .15s ease}
.hp-pack:hover{border-color:var(--line-strong);box-shadow:var(--shadow-hover)}
.hp-pack.feat{border-color:var(--ink)}
.hp-pack-n{font-size:var(--fs-5);font-weight:700}
.hp-pack-d{font-size:var(--fs-3);color:var(--grey);line-height:1.5;margin:8px 0 18px;flex:1}
.hp-pack-pr{display:flex;align-items:baseline;gap:var(--sp-3)}
.hp-pack-now{font-size:var(--fs-7);font-weight:700}
.hp-pack-was{font-size:var(--fs-2);color:var(--grey);text-decoration:line-through}
.hp-pack-save{font-size:var(--fs-1);font-weight:700;color:var(--red);margin-top:6px}
/* 7. Outil gratuit */
.hp-tool{display:grid;grid-template-columns:1fr auto;gap:var(--sp-9);align-items:center;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;background:var(--white)}
.hp-tool h2{font-size:var(--fs-7);font-weight:700;margin-bottom:8px;letter-spacing:-.02em}
.hp-tool a{align-self:start}
.hp-tool p{font-size:var(--fs-4);color:var(--ink-soft);line-height:1.6;max-width:46em}
/* 8. FAQ */
.hp-faq{max-width:760px}
.hp-faq details{border-top:1px solid var(--line)}
.hp-faq details:last-child{border-bottom:1px solid var(--line)}
.hp-faq summary{list-style:none;cursor:pointer;padding:16px 0;font-size:var(--fs-4);font-weight:600;display:flex;justify-content:space-between;gap:var(--sp-6);align-items:center}
.hp-faq summary::-webkit-details-marker{display:none}
.hp-faq summary::after{content:"+";color:var(--red);font-weight:400;font-size:var(--fs-6);line-height:1}
.hp-faq details[open] summary::after{content:"\2013"}
.hp-faq .a{font-size:var(--fs-4);line-height:1.65;color:var(--ink-soft);padding:0 0 18px}
.hp-faq .a a{color:var(--red);font-weight:600}
@media(max-width:900px){
  .hp-hero-in{padding:32px 0 36px}
  .hp-grid{grid-template-columns:repeat(2,1fr)}
  .hp-seg--lg{grid-column:span 2;grid-row:span 1}
  .hp-packs{grid-template-columns:1fr}
  .hp-tool{grid-template-columns:1fr;gap:var(--sp-7)}
}
@media(max-width:640px){
  .hp-grid{grid-template-columns:1fr;grid-auto-rows:150px}
  .hp-seg--lg{grid-column:span 1}
  .hp-sign{grid-template-columns:1fr}
}
/* cartes produit : repère de catégorie discret, vignette plate */
.pcard{border-radius:var(--r-2);border-top:3px solid var(--line)}
.pcard.cat-L{border-top-color:var(--cL)} .pcard.cat-E{border-top-color:var(--cE)}
.pcard.cat-B{border-top-color:var(--cB)} .pcard.cat-P{border-top-color:var(--cP)}
.pcard.cat-A{border-top-color:var(--cA)}
/* D1 (Lot 2c) : l'aperçu domine la carte — c'est la preuve de valeur. */
.pthumb{height:230px;overflow:hidden;background:var(--bg)}
.pthumb img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .2s}
.pcard:hover .pthumb img{transform:scale(1.02)}
.pcard.cat-L .pref{color:var(--cL)} .pcard.cat-E .pref{color:var(--cE)}
.pcard.cat-B .pref{color:var(--cB)} .pcard.cat-P .pref{color:var(--cP)}
.pcard.cat-A .pref{color:var(--cA)}
.pref{font-size:var(--fs-1);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.pnm{font-size:var(--fs-5)}
.price{font-size:var(--fs-6)}
.pfoot .btn.buy{background:var(--red);color:var(--white);border-color:var(--red);padding:8px 16px}
.pfoot .btn.buy:hover{background:var(--red-dark)}
.pfoot .btn.buy.in{background:var(--green);border-color:var(--green)}
.ribbon{position:absolute;top:10px;left:10px;background:var(--paper);color:var(--ink-soft);font-size:var(--fs-1);font-weight:700;
 letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;z-index:2;border:1px solid var(--line-strong)}
.ribbon.star{color:var(--red);border-color:var(--red)}
.ribbon.soon{color:var(--amber);border-color:var(--k20);background:var(--k30)}
.ribbon.soon.lg{position:static;display:inline-block;padding:6px 14px}
/* badges format + cross-sell pack sur les cartes */
.pfmt{display:flex;gap:var(--sp-1);flex-wrap:wrap;margin:1px 0 2px}
.fmt-chip{font-size:var(--fs-1);font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:var(--r-1);color:var(--white);line-height:1.55}
.fmt-chip.f-w{background:var(--k04)}.fmt-chip.f-x{background:var(--k03)}.fmt-chip.f-p{background:var(--ink-soft)}
.pcross{display:block;font-size:var(--fs-1);font-weight:600;color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-2);padding:6px 9px;text-decoration:none;transition:border-color .15s,color .15s}
.pcross:hover{border-color:var(--red);color:var(--red)}
.pcross b{color:var(--red)}
.soon-btn{opacity:.65;cursor:not-allowed;background:var(--grey);color:var(--white)}
.pcard.is-soon .pthumb{filter:grayscale(.4) opacity(.85)}
/* fiche produit : état du droit, aperçu, statut bientôt */
/* Cartouche de droit — élément signature (REFONTE_SPEC §1) : filets 1px,
   capitales espacées, chiffres tabulaires. Largeur variable selon cartouche(). */
.cartouche{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);overflow:hidden;font-variant-numeric:tabular-nums;margin:14px 0}
.cartouche>div{padding:10px 14px;flex:1 1 130px;border-right:1px solid var(--line)}
.cartouche>div:last-child{border-right:0}
.cartouche dt{margin:0 0 2px;text-transform:uppercase;letter-spacing:.07em;font-size:var(--fs-1);font-weight:700;color:var(--grey)}
.cartouche dd{margin:0;font-weight:700;font-size:var(--fs-3);color:var(--ink)}
/* Bloc de portée légale — n'apparaît que si p.warn existe (6/96 produits) */
.scope-limit{border:1px solid var(--line);border-left:3px solid var(--red);border-radius:var(--radius);padding:12px 15px;margin:0 0 14px;background:var(--paper)}
.scope-limit h3{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.06em;color:var(--red);font-weight:700;margin-bottom:4px}
.scope-limit p{font-size:var(--fs-3);color:var(--ink-soft);line-height:1.55;margin:0}
.apercu-zoom{position:absolute;bottom:14px;right:14px;width:36px;height:36px;border-radius:999px;background:rgba(var(--ink-rgb),.82);color:var(--white);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.82) translateY(4px);transition:opacity .2s cubic-bezier(.2,.7,.2,1),transform .2s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.apercu-zoom svg{width:17px;height:17px}
.apercu-inner.apercu-open .apercu-zoom{opacity:.9;transform:scale(1) translateY(0)}
.apercu-inner.apercu-open:hover .apercu-zoom{opacity:1}
.soon-box{display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-2);padding:18px}
.soon-txt{font-size:var(--fs-3);color:var(--ink-soft);margin:0}
.notify{display:flex;gap:var(--sp-2);width:100%;flex-wrap:wrap}
.notify input{flex:1;min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-2);font:inherit}
.notify-done{font-size:var(--fs-3);font-weight:600;color:var(--cA)}
/* lightbox aperçu — ouverture en deux temps (visible puis open) pour que la
   transition CSS parte bien de display:none plutôt que de sauter sans animer */
.lightbox{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;background:rgba(var(--shade1-rgb),0);padding:4vh 4vw;transition:background .28s cubic-bezier(.2,.7,.2,1)}
.lightbox.visible{display:flex}
.lightbox.open{background:rgba(var(--shade1-rgb),.85)}
.lightbox img{max-width:100%;max-height:92vh;border-radius:var(--r-2);box-shadow:var(--elev-3);opacity:0;transform:scale(.94);transition:opacity .3s cubic-bezier(.2,.7,.2,1),transform .3s cubic-bezier(.2,.7,.2,1)}
.lightbox.open img{opacity:1;transform:scale(1)}
.lb-close{position:absolute;top:16px;right:20px;width:40px;height:40px;border:none;border-radius:999px;background:rgba(var(--white-rgb),.15);color:var(--white);font-size:var(--fs-7);line-height:1;cursor:pointer}
/* univers : pastilles colorées */
.uni{border-radius:var(--r-2);border-top:3px solid transparent}
.uni .ic{width:46px;height:46px;border-radius:var(--r-3);display:grid;place-items:center;font-size:var(--fs-7)}
.uni.u-L{border-top-color:var(--cL)} .uni.u-L .ic{background:var(--cLbg)}
.uni.u-E{border-top-color:var(--cE)} .uni.u-E .ic{background:var(--cEbg)}
.uni.u-B{border-top-color:var(--cB)} .uni.u-B .ic{background:var(--cBbg)}
.uni.u-P{border-top-color:var(--cP)} .uni.u-P .ic{background:var(--cPbg)}
.uni.u-A{border-top-color:var(--cA)} .uni.u-A .ic{background:var(--cAbg)}
.uni h3{font-size:var(--fs-5)}
/* packs : plus de poids */
.pkcard{border-radius:var(--r-2);padding:22px}
.pk-nm{font-size:var(--fs-6)}
.pk-price{font-size:var(--fs-7)}
.pkcard .btn.red{padding:10px 16px}
/* chips filtres colorés quand actifs */
.chip{padding:9px 17px;font-size:var(--fs-3)}
/* fiche produit : boîte d'achat renforcée */
.fiche-buy{border:2px solid var(--ink);border-radius:var(--r-3);box-shadow:var(--elev-3)}
.fiche-buy .price{font-size:var(--fs-8)}
.fiche-buy .btn.lg{padding:15px 30px;font-size:var(--fs-5)}
.apercu{padding:20px}
.apercu img.page{max-width:360px}
/* rythme des sections */
.sect{padding:58px 0}

/* ===== ACCUEIL v2 (préproduction /accueil-v2) — structure maquette A8, jetons de prod, scopé .hpx.
   Aucun jeton global touché : :scope, :scope, :scope, * inchangés. Police = Inter (existante).
   Rouge = var(--red) var(--red). Quasi-noir chaud dérivé de var(--red) en OKLCH. ===== */
.hpx{--nx0:oklch(.15 .026 22);--nx1:oklch(.19 .032 22);--nx2:oklch(.23 .034 22);
  --rx:var(--red);--rx-ink:var(--red-dark);
  color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.55;--f1:clamp(1.02rem,.96rem+.3vw,1.15rem)}
.hpx a{text-decoration:none;color:inherit}
.hpx :focus-visible{outline:3px solid var(--rx);outline-offset:3px;border-radius:var(--r-2)}
.hpx .b2{display:inline-flex;align-items:center;gap:.5em;min-height:44px;font-weight:600;padding:.6em 1.2em;border-radius:var(--r-2);border:1px solid var(--rx);background:var(--rx);color:var(--white);cursor:pointer;transition:background .15s ease,transform .15s ease}
.hpx .b2:hover{background:var(--rx-ink);transform:translateY(-1px)}
.hpx .b2.ghost{background:transparent;color:var(--white);border-color:rgba(var(--white-rgb),.5)}
/* HÉROS sombre — porté par la SECTION, jamais body */
.hpx-hero{background:linear-gradient(160deg,var(--nx1),var(--nx0));color:var(--bg);position:relative;overflow:hidden}
.hpx-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(1000px 460px at 85% -12%,color-mix(in srgb,var(--rx) 24%,transparent),transparent 60%)}
.hpx-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:var(--sp-6);padding-block:clamp(18px,3.5vh,40px)}
.hpx-left,.hpx-right{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}
.hpx-hero h1{font-weight:700;letter-spacing:-.02em;line-height:1.12;font-size:clamp(1.5rem,2.9vw,2.2rem);margin:0;color:var(--white);text-wrap:balance}
.hpx-lead{color:var(--k17);font-size:var(--f1);max-width:48ch}
.hpx-price{display:flex;flex-wrap:wrap;gap:var(--sp-1) 10px;align-items:baseline}
.hpx-price .seg{white-space:nowrap}
.hpx-price b{font-weight:700;font-size:1.35rem;color:var(--white)}
.hpx-price .mut{color:var(--k15)}
/* strip légal une ligne */
.hpx-legal{display:flex;flex-wrap:wrap;gap:var(--sp-1) 14px;align-items:center;font-size:.8rem;color:var(--hero-legal);border:1px solid rgba(var(--white-rgb),.28);border-radius:var(--r-3);padding:9px 14px}
.hpx-legal span{white-space:nowrap}.hpx-legal b{font-weight:600;color:var(--white)}
/* H2 : bandeau LAMal — fond bord-à-bord (section), contenu borné 1500px (règle G2), fin/horizontal */
.hpx-lamal{background:linear-gradient(0deg,var(--paper),color-mix(in srgb,var(--rx) 6%,var(--paper)));border-block:1px solid var(--line);margin-top:var(--sp-6)}  /* K4 : marge au-dessus pour séparer du hero */
.hpx-lamal .wrap{max-width:1500px;margin-inline:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-6);padding-block:12px}
/* M2 : compte à rebours (gauche) · accroche+bénéfice (guide discret dessous) · prix · bouton unique */
.hpx-lamal .ech{flex:none;white-space:nowrap;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--white);background:var(--rx);border-radius:var(--r-2);padding:.2em .6em}
.hpx-lamal .tx{flex:1 1 320px;margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.4}
.hpx-lamal .tx b{color:var(--ink)}
/* O3 : lien texte discret « Complémentaires → » à droite du bouton rouge unique. */
.hpx-lamal .crosslk{flex:none;white-space:nowrap;color:var(--ink-soft);font-weight:600;font-size:.85rem;text-decoration:none}
.hpx-lamal .crosslk:hover{color:var(--rx-ink);text-decoration:underline}
.hpx-lamal .lamal-btns{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}
.hpx-lamal .add{flex:none;background:var(--rx);border:1px solid var(--rx);color:var(--white);font:inherit;font-weight:600;border-radius:var(--r-2);padding:.5em 1em;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap}
.hpx-lamal .add:hover{background:var(--rx-ink)}
@media(max-width:640px){.hpx-lamal .lamal-btns{flex:1 1 100%}.hpx-lamal .add{flex:1 1 auto}}
/* H3 : ligne de confiance datée — bande fine, fond bord-à-bord, contenu borné 1500px */
/* J1 : la bande .hpx-trust est remontée dans le hero (colonne gauche, .hpx-legal) — CSS retiré. */
/* SÉLECTEUR (carte blanche inchangée) */
/* K2 : dans le hero, le sélecteur n'a plus de conteneur blanc — titre/sous-titre sur le fond
   sombre (blanc) ; les 6 options restent des cartes claires ; chips lisibles. Une seule couche. */
.hpx-sel{background:transparent;padding:0}
.hpx-sel .selector{background:transparent;border:0;box-shadow:none}
.hpx-sel .sel-welcome .wq{color:var(--white)}
.hpx-sel .sel-short .sl{color:var(--k17)}
/* L2 : combler le vide du hero gauche — options compactées ; le sélecteur (col. droite)
   s'étire à la hauteur de la colonne (align-self:stretch, ≥1200) et répartit l'espacement
   entre les 6 options. Aucun contenu ajouté à gauche. */
.hpx-sel .sel-welcome{margin-bottom:4px}
.hpx-sel .sel-welcome .wq{font-size:var(--fs-6);line-height:1.15}
.hpx-sel .sel-opt.big{padding:6px 14px}
.hpx-sel .sel-opt .sb{margin-top:0;line-height:1.28}
.hpx-sel .sel-opts{gap:6px}
.hpx-sel .h{font-weight:700;font-size:.95rem;color:var(--ink-soft);margin-bottom:12px}
.hpx-opts{display:grid;gap:var(--sp-2)}
.hpx-opt{display:flex;align-items:center;gap:var(--sp-5);min-height:64px;border:1px solid var(--line);border-radius:var(--r-3);padding:12px 14px;background:var(--white);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.hpx-opt:hover,.hpx-opt:focus-visible{border-color:var(--cc);box-shadow:var(--elev-3);transform:translateY(-1px)}
.hpx-opt .ic{flex:0 0 48px;height:48px;display:grid;place-items:center;font-size:var(--fs-7);border-radius:var(--r-3);background:color-mix(in srgb,var(--cc) 12%,var(--white));border:1px solid color-mix(in srgb,var(--cc) 32%,var(--line))}
.hpx-opt .lb{display:block;font-weight:700;font-size:1rem;line-height:1.25}
.hpx-opt .sb{display:block;color:var(--ink-soft);font-size:.85rem;margin-top:1px}
.hpx-opt .cnt{color:var(--ink-soft);font-weight:600;font-size:.82rem;white-space:nowrap}
.hpx-opt .ar{margin-left:auto;color:var(--ink-soft);font-size:1.15rem;transition:transform .15s ease,color .15s ease}
.hpx-opt:hover .ar{color:var(--cc);transform:translateX(3px)}
.oc-log{--cc:var(--c-log)}.oc-emp{--cc:var(--c-emp)}.oc-ent{--cc:var(--c-ent)}.oc-pri{--cc:var(--c-pri)}.oc-aso{--cc:var(--c-aso)}.oc-all{--cc:var(--rx)}
.hpx-selfoot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) 14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-soft)}
.hpx-selfoot .r{display:inline-flex;align-items:center;gap:.4em}
.hpx-selfoot .r::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rx)}
/* I1 : les chips « Packs recommandés » de H1 doublonnaient la rangée .spill « Packs
   recommandés » déjà rendue par selectorShell (libellés complets + prix). Chips retirés. */
/* BLOC À LA UNE */
.hpx-una{border:1px solid var(--line);border-radius:var(--r-4);overflow:hidden;background:var(--white);color:var(--ink)}
.hpx-una .promo{border-left:4px solid var(--rx);padding:11px 14px;background:linear-gradient(0deg,var(--white),color-mix(in srgb,var(--rx) 5%,var(--white)));display:flex;flex-direction:column;gap:var(--sp-1)}
.hpx-una .ech{align-self:flex-start;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--white);background:var(--rx);border-radius:var(--r-2);padding:.15em .5em}
.hpx-una h3{font-size:1.02rem;font-weight:700;margin:0;color:var(--ink)}
.hpx-una p{color:var(--ink-soft);font-size:.82rem;line-height:1.34}
.hpx-una .doc{display:inline-flex;align-items:baseline;gap:var(--sp-2);background:var(--white);border:1px solid var(--line);border-left:3px solid var(--rx);border-radius:var(--r-2);padding:7px 11px;margin:2px 0}
.hpx-una .doc .dn{font-weight:700}.hpx-una .doc .df{font-size:.82rem;color:var(--ink-soft)}
.hpx-una .cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-top:2px}
.hpx-una .cta .add{background:var(--rx);border:1px solid var(--rx);color:var(--white);font-weight:600;border-radius:var(--r-2);padding:.5em 1em;font-size:.92rem;min-height:40px;display:inline-flex;align-items:center}
.hpx-una .cta .add:hover{background:var(--rx-ink)}
.hpx-una .cta .glink{font-weight:600;color:var(--rx-ink);min-height:40px;display:inline-flex;align-items:center}
.hpx-una .sep{border:0;border-top:1px solid var(--line);margin:0}
.hpx-una .packs{padding:8px 14px}
.hpx-una .packs .k{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-bottom:7px}
.hpx-plinks{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hpx-plinks a{display:inline-flex;align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-2);padding:8px 12px;min-height:44px;font-weight:600;white-space:nowrap;transition:border-color .15s ease,box-shadow .15s ease}
.hpx-plinks a:hover{border-color:var(--rx);box-shadow:0 6px 16px color-mix(in srgb,var(--rx) 14%,transparent)}
.hpx-plinks .pp{font-weight:700;color:var(--rx-ink)}
/* désordre desktop : sélecteur à droite, à la une + légal à gauche (grid-area, jamais order) */
@media(min-width:1200px){
  /* J1 : hero DEUX COLONNES aligné à gauche — gauche = H1 + sous-titre + prix + ligne de
     confiance (comble le vide) ; droite = carte sélecteur (min 520px). Aucun text-align
     center. En dessous de 1200px : colonne unique, ordre DOM H1 → sélecteur → confiance. */
  .hpx-hero .wrap{grid-template-columns:1fr minmax(520px,560px);column-gap:var(--sp-10);row-gap:var(--sp-4);align-items:start;grid-template-areas:"left sel" "legal sel";grid-template-rows:min-content 1fr;padding-block:clamp(10px,1.5vh,18px)}
  .hpx-left{grid-area:left}.hpx-sel{grid-area:sel;align-self:stretch}.hpx-legal{grid-area:legal;align-self:start}
  .hpx-sel .selector,.hpx-sel .sel-body{display:flex;flex-direction:column;height:100%}
  .hpx-sel .sel-opts{flex:1 1 auto;align-content:space-between}
}
/* J1 : dans le hero, le sélecteur s'aligne à gauche (plus aucun text-align:center) et masque
   son logo (redondant avec l'en-tête) pour compacter le hero < 700px. /catalogue non affecté. */
.hpx-hero .sel-welcome{text-align:left}
.hpx-hero .sel-welcome .wlogo{display:none}
/* Reveal générique .rv (lifting) — remplace l'ancien .hpx-una ; one-shot via IntersectionObserver.
   Sans .js ou sous prefers-reduced-motion:reduce, rien n'est masqué (contenu SSR visible robots/AT). */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(var(--rise));transition:opacity var(--t-reveal) var(--ease),transform var(--t-reveal) var(--ease)}
  .js .rv.is-in{opacity:1;transform:none}
  .js .rv-stagger>.rv:nth-child(2){transition-delay:calc(var(--stagger)*1)}
  .js .rv-stagger>.rv:nth-child(3){transition-delay:calc(var(--stagger)*2)}
  .js .rv-stagger>.rv:nth-child(4){transition-delay:calc(var(--stagger)*3)}
  .js .rv-stagger>.rv:nth-child(n+5){transition-delay:calc(var(--stagger)*4)}
}
/* BANDES DE DOMAINE (photos étalonnées vers la couleur du domaine, multiply) */
.hpx-band{color:var(--white);position:relative;overflow:hidden;min-height:320px;display:flex;align-items:flex-end}
.hpx-band .wrap{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-7);padding-block:40px;width:100%}
.hpx-band .scene{position:absolute;inset:0;background:var(--wc)}
.hpx-band .scene-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;filter:grayscale(1) brightness(1.55) contrast(1.02)}
.hpx-band::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(var(--shade3-rgb),.66),rgba(var(--shade3-rgb),.15) 55%,transparent 82%)}
.hpx-band h3{font-size:clamp(1.9rem,4.4vw,3rem);margin:0;color:var(--white)}
.hpx-band .meta{display:flex;align-items:baseline;gap:var(--sp-5);margin-top:6px}
.hpx-band .cnt{font-weight:700;font-size:1.1rem;background:rgba(var(--white-rgb),.18);border-radius:999px;padding:.05em .6em}
.hpx-band .d{max-width:38ch;color:rgba(var(--white-rgb),.92);margin-top:8px}
.hpx-band .go{white-space:nowrap;background:var(--white);color:var(--ink);border-radius:999px;padding:.7em 1.2em;font-weight:600}
.wb-log{--wc:var(--c-log)}.wb-emp{--wc:var(--c-emp)}.wb-ent{--wc:var(--c-ent)}.wb-pri{--wc:var(--c-pri)}.wb-aso{--wc:var(--c-aso)}.wb-pck{--wc:var(--nx2)}
@media(max-width:700px){.hpx-band{min-height:250px}.hpx-band .wrap{flex-direction:column;align-items:flex-start;gap:var(--sp-5)}.hpx-band .go{align-self:stretch;text-align:center}}
/* H4 : catalogue par domaine en grille de cartes (photo en fond), auto-fit centré (règle G1) */
/* J2 : catalogue par domaine — colonnes FIXES (jamais de rangée incomplète à 1920/2560) :
   1 col (<640) → 2 (≥640) → 3 (≥1000) → 5 sur une seule rangée (≥1400). Aligné à gauche. */
.hpx-dom-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5)}
@media(min-width:640px){.hpx-dom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.hpx-dom-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1400px){.hpx-dom-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.hpx-domcard{position:relative;overflow:hidden;border-radius:var(--r-3);min-height:288px;display:flex;align-items:flex-end;color:var(--white);transition:transform .15s ease,box-shadow .15s ease}
.hpx-domcard:hover{transform:translateY(-2px);box-shadow:var(--elev-3)}
.hpx-domcard .scene{position:absolute;inset:0;background:var(--wc);filter:saturate(.55)}
.hpx-domcard .scene-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;filter:grayscale(1) brightness(1.55) contrast(1.02)}
.hpx-domcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(var(--shade3-rgb),.72),rgba(var(--shade3-rgb),.15) 60%,transparent 85%)}
.hpx-domcard .cnt-wrap{position:relative;z-index:1;padding:18px}
.hpx-domcard h3{font-size:1.5rem;margin:0;color:var(--white)}
.hpx-domcard .cnt{display:inline-block;font-weight:700;font-size:.88rem;color:var(--white);background:rgba(var(--shade3-rgb),.85);border-radius:999px;padding:.1em .7em;margin-top:6px}  /* I4 : fond foncé opaque, texte blanc — lisible sur les 5 photos (claire comprise) */
.hpx-domcard .d{color:rgba(var(--white-rgb),.92);margin-top:8px;font-size:.9rem;line-height:1.4}
.hpx-domcard .go{display:inline-block;margin-top:10px;font-weight:600;color:var(--white);border-bottom:1px solid rgba(var(--white-rgb),.6)}
.hpx-domcard:hover .go{border-bottom-color:var(--white)}
/* H6 : un seul CTA rouge PLEIN par écran — rouge réservé à « Ajouter » (bandeau LAMal)
   et « Voir le pack » (Intégral, .btn.red). Liens de section (.seeall) et « Lire le
   guide » (.glink) de l'accueil passent en secondaire neutre. « Explorer » (domcard) est
   déjà secondaire (blanc sur photo). */
.hpx .seeall{color:var(--ink-soft)}
.hpx .glink{color:var(--ink-soft)}
/* sections claires (rythme : héros sombre → bandes → clair) */
.hpx-sec{padding-block:clamp(34px,6vh,64px);background:var(--bg)}
.hpx-sec .wrap>.head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-5);margin-bottom:18px}
.hpx-sec h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.hpx-sec .seeall{color:var(--rx-ink);font-weight:600;font-size:.9rem}
.hpx-domhead .wrap{padding-block:56px 12px}
.hpx-domhead h2{font-size:clamp(1.6rem,3.2vw,2.3rem)}
/* packs — conteneur de la grille d'accueil ; les cartes sont des .pkcard (fusion Lot 2e). */
.hpx-pk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6);max-width:1320px;margin-inline:0}  /* I5 : 3 colonnes ÉGALES + plafond de grille (aligné à gauche, I3) */
@media(max-width:820px){.hpx-pk-grid{grid-template-columns:1fr}}
/* Variante teaser de .pkcard : CTA unique pleine largeur. */
.pk-actions--one{grid-template-columns:1fr}
/* QR */
.hpx-qr .card{background:linear-gradient(120deg,var(--nx1),var(--nx2));color:var(--bg);border-radius:var(--r-4);padding:clamp(22px,3vw,34px);display:flex;gap:var(--sp-7);align-items:center;justify-content:space-between;flex-wrap:wrap}
.hpx-qr .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--qr-kick);font-weight:700}
.hpx-qr h2{color:var(--white);margin:.2em 0}
.hpx-qr p{color:var(--line-strong);max-width:60ch}
.hpx-qr .b2{background:var(--white);color:var(--ink);border-color:var(--white)}
/* FAQ */
.hpx-faq details{border-bottom:1px solid var(--line)}
.hpx-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--sp-6);align-items:center;padding:17px 0;font-weight:600;min-height:44px}
.hpx-faq summary::-webkit-details-marker{display:none}
.hpx-faq summary::after{content:"+";color:var(--rx-ink);font-weight:700}
.hpx-faq details[open] summary::after{content:"–"}
.hpx-faq .a{color:var(--ink-soft);padding-bottom:17px;max-width:74ch}
/* G2 : mesure d'interaction ~1500px, centrée — rapproche libellé et commande sur grand
   écran (résumé FAQ ↔ +/–, titre de bande ↔ bouton). Le FOND des bandes reste bord-à-bord
   (porté par la <section> .hpx-band) ; seul le CONTENU (.wrap interne) est borné. */
.hpx-band .wrap,.hpx-faq .wrap{max-width:1500px;margin-inline:0}  /* I3 : aligné à gauche sur la gouttière des titres */
/* Cartes guide : composant unique .gcard (fusion Lot 2e ; .hpx-guide/.cat-guides retirés).
   Accent de domaine réutilisable — marqueur constant (kicker + lien + survol), jamais un bouton. AA vérifié sur blanc (le plus clair, --c-ent, = 5.9:1). */
.dc-log{--rx:var(--c-log);--rx-ink:var(--c-log)}
.dc-emp{--rx:var(--c-emp);--rx-ink:var(--c-emp)}
.dc-ent{--rx:var(--c-ent);--rx-ink:var(--c-ent)}
.dc-pri{--rx:var(--c-pri);--rx-ink:var(--c-pri)}
.dc-aso{--rx:var(--c-aso);--rx-ink:var(--c-aso)}

/* Lot 1 archi — page catégorie structurée (situations / guides / documents) */
.cat-h2{font-size:var(--fs-7);font-weight:600;letter-spacing:-.02em;margin:46px 0 6px;padding-top:22px;border-top:1px solid var(--line)}
.cat-h2:first-of-type{margin-top:34px}
.cat-lead{color:var(--grey);font-size:var(--fs-4);margin:0 0 18px}
.cat-h3{font-size:var(--fs-3);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--grey);margin:26px 0 14px}
.cat-h3 .cat-n{color:var(--line-strong);font-weight:600}
/* Lot 2.1 — /catalogue = CARTE : bandeau de confiance + pont sélecteur + aperçu dense.
   La densité est ici une qualité (on évalue l'étendue) ; sur /catalogue/{C} l'aperçu
   garde ses 230px (D1, l'aperçu domine l'entonnoir). */
.cat-trust{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-6);margin:0 0 18px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg);font-size:var(--fs-3);color:var(--grey)}
.cat-trust b{color:var(--ink);font-weight:600}
.cat-trust span{display:inline-flex;align-items:center;gap:6px}
.cat-trust span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}
.cat-selentry{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap;margin:0 0 22px;padding:14px 18px;border:1px dashed var(--line-strong);border-radius:var(--r-2);text-decoration:none;transition:border-color .15s,background .15s}
.cat-selentry:hover{border-color:var(--red);background:var(--bg)}
.cat-selentry .q{font-weight:600;color:var(--ink)}
.cat-selentry .a{font-weight:600;color:var(--red);font-size:var(--fs-3)}
/* Repli du constructeur, sous la phrase dans la bande hero : ligne centrée sobre (pas de boîte). */
.cx-hero .cat-selentry{display:flex;align-items:baseline;justify-content:center;gap:var(--sp-3);margin:var(--sp-6) auto 0;padding:0;border:0;border-radius:0;font-size:var(--fs-4)}
.cx-hero .cat-selentry .q{color:var(--grey);font-weight:500}
.cx-hero .cat-selentry .a{font-size:var(--fs-4)}
.cx-hero .cat-selentry:hover{background:none}
.cx-hero .cat-selentry:hover .a{text-decoration:underline}
.cat-dense .pthumb{height:140px}
.cat-dense .pcard{font-size:var(--fs-3)}
/* Lot 2.2 — désambiguïsation sur l'entonnoir : 1re phrase du mode d'emploi (champ u),
   pour distinguer des documents aux titres proches sans jargon. */
.pds-usage{color:var(--grey);font-size:var(--fs-2);line-height:1.5;margin:2px 0 0;padding-left:10px;border-left:2px solid var(--line)}
/* Lot 2.3 — barre de filtres. Grammaire distincte des chips domaine (pills colorées) :
   panneau bordé, groupes étiquetés, boutons rectangulaires à case à cocher, select de tri. */
.cat-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-6);align-items:flex-end;justify-content:space-between;margin:0 0 24px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--white)}
.cf-facets{display:flex;flex-direction:column;gap:10px}
.cf-primary{display:flex;flex-direction:column;gap:10px}
.cf-sec{padding-top:9px;border-top:1px dashed var(--line)}
.cf-grp{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cat-monorole{color:var(--grey);font-size:var(--fs-4);margin:-6px 0 16px}
.cf-lab{font-size:var(--fs-1);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--grey)}
.fbtn{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;min-height:36px;border:1px solid var(--line-strong);border-radius:var(--r-1);background:var(--white);color:var(--ink);font-size:var(--fs-3);font-weight:600;cursor:pointer;transition:border-color .12s,background .12s}
.fbtn::before{content:"";width:15px;height:15px;border:1.5px solid var(--line-strong);border-radius:4px;flex:none;transition:background .12s,border-color .12s}
.fbtn:hover{border-color:var(--ink)}
.fbtn[aria-pressed="true"]{border-color:var(--red);background:var(--bg)}
.fbtn[aria-pressed="true"]::before{background:var(--red);border-color:var(--red)}
.fbtn .fn{font-size:var(--fs-1);font-weight:700;color:var(--grey)}
.cf-end{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
.cf-tri{display:inline-flex;align-items:center;gap:8px}
.cf-tri select{min-height:36px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--r-1);background:var(--white);color:var(--ink);font-size:var(--fs-3);font-weight:600;cursor:pointer}
.cf-count{font-size:var(--fs-3);font-weight:700;color:var(--ink);white-space:nowrap}
.cf-clear{min-height:36px;padding:6px 12px;border:0;background:none;color:var(--red);font-size:var(--fs-3);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cf-clear[hidden]{display:none}
.cat-empty{color:var(--grey);font-size:var(--fs-4);padding:28px 0}
.cf-link{border:0;background:none;color:var(--red);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:inherit}
@media(max-width:640px){.cat-filters{gap:14px}.cf-facets,.cf-end{width:100%}.cf-end{justify-content:space-between}
/* G — cibles tactiles ≥ 44px sous 640px (mesuré par le harnais responsive). */
.fbtn,.cf-tri select,.cf-clear{min-height:44px}}
.cat-situations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),420px));justify-content:start;gap:var(--sp-6);margin-bottom:8px}
/* X5.1a — cartouche cross-sell pack (vue filtrée) */
.cat-cross{display:flex;align-items:center;gap:var(--sp-3);margin:18px 0 4px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-wrap:wrap}
.cat-cross:hover{border-color:var(--red)}
.cat-cross-tag{font-family:var(--mono);font-size:var(--fs-0);letter-spacing:.08em;text-transform:uppercase;color:var(--white);background:var(--red);border-radius:var(--r-1);padding:2px 8px}
.cat-cross-txt{flex:1;min-width:180px;color:var(--ink);font-size:var(--fs-3)}
.cat-cross-pr{font-weight:700;color:var(--ink)}
/* X6.1 — landing par rôle + lien de maillage depuis le catalogue.
   E2 : le H1 est un <h1> NU (rendu global identique à celui du catalogue :
   31px/700/-.02em), pas de classe .pour-h1 redondante. */
.cat-pour-list{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:8px 16px}
.cat-pour-list a{color:var(--red);font-weight:600;font-size:var(--fs-3)}
/* /pour : conteneur sans gouttières -> le bleed -14px de .cx-row débordait (scroll horizontal, surtout mobile). Mêmes gouttières que .wrap. */
.pour-wrap{margin:0 auto;padding-inline:clamp(16px,2.5vw,56px)}
.pour-intro{color:var(--grey);font-size:var(--fs-4);max-width:70ch;margin:0 0 8px;line-height:1.6}
.cat-pour{display:inline-flex;align-items:center;gap:6px;margin:10px 0 4px;font-weight:600;font-size:var(--fs-3);color:var(--red)}
.cat-pour:hover{text-decoration:underline}
.cat-docs .doc-wrap{display:flex;flex-direction:column;min-width:0}
.cat-docs .doc-wrap>.pcard{flex:1;width:100%}
.doc-guide-flag{align-self:flex-start;font-size:var(--fs-1);font-weight:700;letter-spacing:.03em;color:var(--red);margin:0 0 6px 2px}
.doc-guide-flag::before{content:"📘 "}
/* Rang 2 : marqueur pack (neutre, secondaire par rapport au rang 1 guide). */
.doc-pack-flag{align-self:flex-start;font-size:var(--fs-1);font-weight:700;letter-spacing:.03em;color:var(--grey);margin:0 0 6px 2px}
.doc-pack-flag::before{content:"📦 "}
/* ═══ Lot C — refonte catalogue (prototype, namespace cx-, jetons du site) ═══ */
.cx-search{max-width:440px;margin:0 0 20px}
.cx-search input{width:100%;height:42px;border:1px solid var(--line);border-radius:var(--radius);padding:0 14px;font-size:var(--fs-4);background:var(--bg);color:var(--ink)}
/* .cx-say : centrage autorisé, hero des pages catalogue/packs — ne pas généraliser */
/* Lot T (variante C) — H1 marketing en ligne grise fine (balise conservée SEO) ; la phrase est le display. */
.cx-cat .sect-head h1,.cx-packs .sect-head h1{font-size:var(--fs-5);font-weight:400;color:var(--grey);line-height:1.3}
.cx-hero{background:var(--bg);padding:var(--sp-11) 0 var(--sp-9)}
.cx-hero>.wrap{text-align:center}
.cx-hero .sect-head{justify-content:center;margin-bottom:var(--sp-6)}
.cx-say{font-size:clamp(28px,5.2vw,var(--fs-display));line-height:1.15;letter-spacing:-.01em;color:var(--ink);font-weight:700;margin:0 auto;max-width:22ch;text-wrap:balance;text-align:center}
.cx-build{position:relative;display:inline-block;max-width:100%}
.cx-seg{display:inline}
.cx-end{white-space:nowrap}
.cx-slot{display:inline-block;position:relative;vertical-align:bottom}
.cx-roll{display:inline-block;overflow:hidden;vertical-align:bottom;line-height:1.15;text-align:center}
.cx-word{display:block}
@media (prefers-reduced-motion:no-preference){.cx-word.cx-fade{transition:opacity 160ms var(--ease)}}
.cx-blank{font:inherit;line-height:1.15;letter-spacing:inherit;border:0;border-bottom:3px solid var(--line-strong);background:none;padding:0 .04em;cursor:pointer;color:var(--ink);border-radius:0;transition:border-color var(--t-fast) var(--ease)}
.cx-blank[data-empty=true]{color:var(--ink-soft)}
.cx-blank:hover,.cx-blank:focus-visible{border-bottom-color:var(--ink);outline:none}
.cx-blank.cx-chosen{border-bottom-color:var(--uline,var(--ink));color:var(--red)}
.cx-blank[aria-expanded=true]{border-bottom-color:var(--red)}
.cx-blank.cx-flash{border-bottom-color:var(--ink)}
.cx-blank::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.5em;vertical-align:.12em;border-right:.09em solid currentColor;border-bottom:.09em solid currentColor;transform:rotate(45deg);transition:transform var(--t-fast) var(--ease);opacity:.5}
.cx-blank[aria-expanded=true]::after{transform:rotate(225deg)}
.cx-restart{display:block;margin:var(--sp-5) auto 0;font-size:var(--fs-2);color:var(--grey)}
.cx-restart:hover{color:var(--red)}
@media (prefers-reduced-motion:no-preference){
  .cx-say .cx-seg,.cx-say .cx-slot,.cx-say .cx-end{animation:hpRise var(--t-reveal) var(--ease) both}
  .cx-say>:nth-child(1){animation-delay:0ms}.cx-say>:nth-child(2){animation-delay:60ms}.cx-say>:nth-child(3){animation-delay:120ms}.cx-say>:nth-child(4){animation-delay:180ms}
}
@media(max-width:640px){.cx-hero{padding:var(--sp-9) 0 var(--sp-7)}}
.cx-panel{position:absolute;z-index:60;min-width:240px;max-width:min(92vw,360px);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--elev-2);padding:var(--sp-2);max-height:60dvh;overflow-y:auto;transform-origin:top center;text-align:left}
.cx-panel[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){.cx-panel{opacity:0;transform:translateY(-6px);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.cx-panel.cx-in{opacity:1;transform:none}}
.cx-opt{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:44px;padding:0 var(--sp-5);border:0;background:none;font-size:var(--fs-4);font-weight:500;color:var(--ink);cursor:pointer;border-radius:var(--r-1);text-align:left}
.cx-opt:hover,.cx-opt.cx-active{background:var(--bg)}
.cx-opt[aria-selected=true]{font-weight:600}
.cx-opt[aria-selected=true]::after{content:"\2713";margin-left:auto;color:var(--green);font-size:14px;font-weight:700;line-height:1}
.cx-opt:disabled{color:var(--grey);opacity:.45;cursor:default}
.cx-opt.cx-any{color:var(--grey);font-weight:500}
.cx-result{margin:20px 0 0;font-size:var(--fs-5);display:flex;gap:6px 18px;flex-wrap:wrap;align-items:baseline;min-height:24px}
.cx-life{position:sticky;top:var(--cx-head,64px);z-index:5;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;min-height:52px;margin:20px 0 0}
.cx-anchors{display:flex;align-items:center;gap:2px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none}
.cx-anchors::-webkit-scrollbar{display:none}
.cx-anchors a{text-decoration:none;font-size:var(--fs-4);padding:6px 12px;border-radius:99px;white-space:nowrap;color:var(--ink)}
.cx-anchors a:hover{background:var(--bg)}
.cx-anchors a[aria-current]{font-weight:700}
.cx-anchors a i{font-style:normal;color:var(--grey);font-size:var(--fs-2);margin-left:5px}
.cx-ctl{display:flex;gap:4px;white-space:nowrap}
/* /packs : la ligne vivante occupe la gauche de la barre, le sélecteur reste à droite (une ligne, pas une barre vide). */
.cx-life .cx-result{flex:1;min-width:0;margin:0}
.cx-ctl select{height:36px;border:0;background:transparent;font-size:var(--fs-3);color:var(--ink-soft);cursor:pointer;padding:0 4px;border-radius:var(--r-1);max-width:190px}
.cx-ctl select:hover{background:var(--bg)}
.cx-sec{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px;padding:40px 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--cx-head,64px) + 80px)}
.cx-sec h2{font-size:var(--fs-7);line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin:0 0 10px}
.cx-sec aside p{margin:0 0 18px;font-size:var(--fs-4);color:var(--grey)}
.cx-side a{display:block;padding:7px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--red);font-size:var(--fs-3)}
.cx-side a:hover{text-decoration:underline}
.cx-rows{list-style:none;margin:0;padding:0}
.cx-row{display:grid;grid-template-columns:96px minmax(0,1fr) 92px 72px 100px;gap:16px;align-items:center;padding:14px;border-radius:var(--radius);margin:0 -14px}
.cx-row+.cx-row{box-shadow:0 -1px 0 var(--line)}
.cx-row:hover{background:var(--bg);box-shadow:none}
.cx-ty{font-size:var(--fs-2);color:var(--grey);line-height:1.35}
.cx-ty small{display:block;font-size:var(--fs-1);color:var(--grey)}
.cx-norole .cx-ty small{display:none}
.cx-ttl{font-size:var(--fs-5);font-weight:700;color:var(--ink);text-decoration:none;line-height:1.3}
.cx-ttl:hover{text-decoration:underline}
.cx-art{font-family:var(--serif);font-style:italic;font-size:var(--fs-4);color:var(--law);margin-left:10px;white-space:nowrap}
.cx-ben{font-size:var(--fs-4);color:var(--grey);margin:2px 0 0}
.cx-fmt{font-size:var(--fs-2);color:var(--grey)}
.cx-pr{font-size:var(--fs-5);font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cx-pr small{font-size:var(--fs-1);font-weight:400;color:var(--grey);display:block;line-height:1}
.cx-add{height:38px;border-radius:var(--radius);border:0;background:var(--red);color:var(--white);font-size:var(--fs-4);font-weight:700;cursor:pointer}
.cx-add.in{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.cx-more{margin-top:14px;width:100%;height:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-size:var(--fs-4);cursor:pointer;color:var(--ink)}
.cx-more:hover{border-color:var(--ink)}
.cx-none{padding:56px 0}
.cx-none h2{font-size:var(--fs-7);color:var(--ink);margin:0 0 8px}
.cx-none p{margin:0 0 18px;max-width:52ch;color:var(--grey)}
.cx-none button{border:1px solid var(--ink);background:var(--paper);border-radius:var(--radius);padding:10px 16px;font-size:var(--fs-4);cursor:pointer;color:var(--ink);margin:0 8px 8px 0}
@media(max-width:900px){
  .cx-life{position:static;top:auto}
  .cx-sec{grid-template-columns:1fr;gap:18px;padding:30px 0}
  .cx-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 14px}
  .cx-ty{grid-column:1/-1;order:-1}.cx-ty small{display:inline;margin-left:8px}
  .cx-row>div{grid-column:1/-1}.cx-art{display:block;margin:2px 0 0}
  .cx-fmt{grid-column:1;align-self:center}.cx-pr{grid-column:2}
  .cx-add{grid-column:1/-1;margin-top:10px;height:44px}
}

/* Lot 2a — liens croisés pack -> catégorie / guide(s) (page détail pack) */
.pk-crosslinks{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:18px}
.pk-xlink{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-2);text-decoration:none;color:var(--ink);font-size:var(--fs-4);font-weight:600;background:var(--paper);transition:border-color .15s,transform .15s}
.pk-xlink:hover{border-color:var(--ink);transform:translateY(-1px)}
.pk-xlink.guide:hover{border-color:var(--red);color:var(--red)}
.pk-xlink .pkx-k{display:block;font-size:var(--fs-1);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--grey);margin-bottom:3px}
.pk-xlink.guide .pkx-k{color:var(--red)}

/* Lot 2b — bloc autonome Pack Intégral (professionnels), remplace la barre noire */
.pro-integral{margin-top:40px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:30px 32px;background:var(--paper)}
.pro-int-kick{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:10px}
.pro-int-h{font-size:var(--fs-7);font-weight:700;letter-spacing:-.02em;margin:0 0 12px}
.pro-int-lead{font-size:var(--fs-4);line-height:1.6;color:var(--ink-soft);max-width:72ch;margin:0 0 20px}
.pro-int-cite{border-left:3px solid var(--line-strong);padding-left:18px;margin-bottom:22px}
.pro-int-cite-h{font-size:var(--fs-2);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--grey);margin-bottom:10px}
.pro-int-cite blockquote{margin:0 0 10px;font-size:var(--fs-3);line-height:1.6;color:var(--ink-soft);font-style:italic;max-width:70ch}
.pro-int-legal{font-size:var(--fs-3);font-weight:600;color:var(--red);text-decoration:none}
.pro-int-legal:hover{text-decoration:underline}
.pro-int-buy{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-7);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
.pro-int-now{font-size:var(--fs-8);font-weight:700;letter-spacing:-.01em}
.pro-int-now small{font-size:var(--fs-4);font-weight:600;opacity:.7}
.pro-int-meta{display:block;font-size:var(--fs-2);color:var(--grey);margin-top:4px}
.pro-int-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}
@media(max-width:640px){.pro-integral{padding:24px 20px}.pro-int-buy{flex-direction:column;align-items:flex-start}}


}
}

@font-face { font-family: "Inter"; src: url("/brand/fonts/inter-var.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
html, body { margin: 0; }
html.sdn { background: #000; }
@view-transition { navigation: auto; }
::view-transition { pointer-events: none; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 0.22s; animation-timing-function: cubic-bezier(0.2, 0, 0, 1); }
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } }
.sdn body { min-height: 100%; background: transparent; font-size: 1.0625rem; }
.sdn {
  --font: "Inter", -apple-system, system-ui, "Segoe UI", sans-serif;
  --red: #C8102E; --red-dark: #A50D26; --red-hi: #D61A3A;
  --page: #000; --label: #F5F5F7; --label2: #A1A1A6; --label3: #86868B; --tile: #161617; --tile2: #1D1D1F;
  --fill: rgba(255, 255, 255, 0.14); --fill2: rgba(255, 255, 255, 0.22); --hair: rgba(255, 255, 255, 0.2); --hair2: rgba(255, 255, 255, 0.32); --focus: #fff;
  --m: clamp(20px, 4.4vw, 88px);
  --bar: 52px; --top: 34px;
  --vh: 1vh;
  --d-log: #1D5A96; --d-emp: #256B4B; --d-ent: #94661A; --d-pri: #8F1D36; --d-aso: #5A2F86;
  --t-log: #7DB4EE; --t-emp: #6CCB9C; --t-ent: #E5B25A; --t-pri: #F28BA2; --t-aso: #BE9BEA;
  --ink: var(--label); --ink-soft: #D1D1D6; --grey: var(--label2); --paper: var(--tile); --bg: transparent; --line: var(--hair); --line-strong: var(--hair2);
  --white: #fff; --green: #5BD38A; --amber: #F2B45A; --law: #A9C4EC;
  --c-log: var(--t-log); --c-emp: var(--t-emp); --c-ent: var(--t-ent); --c-pri: var(--t-pri); --c-aso: var(--t-aso);
  --fs-1: 12px; --fs-2: 13px; --fs-3: 14px; --fs-4: 15px; --fs-5: 17px; --fs-6: 21px; --fs-7: 28px; --fs-8: 36px; --fs-display: 72px;
  --r-1: 6px; --r-2: 12px; --r-3: 18px; --r-4: 26px; --radius: 12px; --radius-lg: 18px;
  --shadow: none; --shadow-hover: none; --elev-1: none; --elev-2: none; --elev-3: 0 24px 60px rgba(0, 0, 0, 0.6);
  --mono: var(--font); --serif: var(--font);
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  isolation: isolate; background: #000; color: var(--label);
  font-family: var(--font); font-optical-sizing: auto; font-synthesis: none; line-height: 1.47; letter-spacing: -0.011em; font-weight: 400;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
.sdn[data-world="studio"] {
  --label: #fff; --label2: rgba(255, 255, 255, 0.86); --label3: rgba(255, 255, 255, 0.8); --tile: rgba(22, 22, 24, 0.3); --tile2: rgba(22, 22, 24, 0.44);
  --glass: rgba(16, 16, 18, 0.3); --fill: rgba(255, 255, 255, 0.16); --fill2: rgba(255, 255, 255, 0.26); --hair: rgba(255, 255, 255, 0.22); --hair2: rgba(255, 255, 255, 0.36);
  --ink-soft: rgba(255, 255, 255, 0.88);
  --c-log: #fff; --c-emp: #fff; --c-ent: #fff; --c-pri: #fff; --c-aso: #fff;
}
.sdn body > :is(.topbar, nav.sdn-langues, main#app, footer) { position: relative; z-index: 1; }
.sdn nav.sdn-langues[data-rx-source] { display: none !important; }
.sdn #app { display: block; min-height: calc(var(--vh) * 100 - var(--bar) - var(--top)); }
.sdn[data-posed] #app { min-height: 0; }
.sdn .wrap { margin: 0; padding-inline: var(--m); max-width: none; }
.rx-bg { position: fixed; inset: 0; z-index: 0; opacity: 0; pointer-events: none; will-change: opacity; }
.rx-bg i { position: absolute; inset: 0; opacity: 0; will-change: opacity; }
.rx-bg i[data-c="N"] { opacity: 1; background: radial-gradient(130% 95% at 42% 0%, #46464B 0%, #2B2B2E 44%, #161618 100%); }
.rx-bg i[data-c="L"] { background: radial-gradient(130% 95% at 42% 0%, #235F9E 0%, #1A5088 44%, #0C2B4C 100%); }
.rx-bg i[data-c="E"] { background: radial-gradient(130% 95% at 42% 0%, #26694A 0%, #1F5B40 44%, #0F3125 100%); }
.rx-bg i[data-c="B"] { background: radial-gradient(130% 95% at 42% 0%, #805613 0%, #6E4A10 44%, #432D08 100%); }
.rx-bg i[data-c="P"] { background: radial-gradient(130% 95% at 42% 0%, #9C2A45 0%, #861B33 44%, #4E0D1C 100%); }
.rx-bg i[data-c="A"] { background: radial-gradient(130% 95% at 42% 0%, #6A429A 0%, #55297F 44%, #30164B 100%); }
.sdn .crumb a, .sdn .hm-row-h h3 a, .sdn .hm-tour-t h2 a, .sdn .pkcard > a, .sdn .pcard .pbody > a:not(.pcross), .sdn .sel-prod > a.lk, .sdn .pk-oblig-liens a, .sdn .cx-anchors a, .sdn .ditem-pklist a { position: relative; }
.sdn .crumb a::before, .sdn .pkcard > a::before { content: ""; position: absolute; inset: -7px -4px; }
.sdn .hm-row-h h3 a::before, .sdn .pk-oblig-liens a::before { content: ""; position: absolute; inset: -8px; }
.sdn .hm-tour-t h2 a::before, .sdn .cx-anchors a::before, .sdn .cx-anchors button::before { content: ""; position: absolute; inset: -5px 0; }
.sdn .pcard .pbody > a:not(.pcross)::before, .sdn .sel-prod > a.lk::before { content: ""; position: absolute; inset: -13px 0; }
.sdn[data-stage] .fiche-sec .pcard > a { position: relative; }
.sdn[data-stage] .fiche-sec .pcard > a::before { content: ""; position: absolute; inset: 0 -3px; }
.sdn .cx-blank::before { content: ""; position: absolute; inset: -4px 0; }
.sdn .foot-brand .brand { min-height: 44px; }
.sdn .ditem-pklist a { display: flex; align-items: center; min-height: 32px; padding: 0; }
.sdn[data-stage] .fiche-sec .pfoot .btn { min-height: 44px; }
.sdn svg.rx-arr { display: inline-block; flex: none; width: 0.5em; height: 0.875em; margin-left: 0.45em; vertical-align: -0.09em; }
.sdn svg.rx-arr--b { margin: 0 0.45em 0 0; }
.g, .sdn .g { background: rgba(255, 255, 255, 0.17); -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), inset 0 0 0 0.5px rgba(255, 255, 255, 0.2), 0 8px 24px rgba(0, 0, 0, 0.16); }
.g--thick, .sdn .g--thick { background: rgba(22, 22, 24, 0.58); -webkit-backdrop-filter: blur(44px) saturate(190%); backdrop-filter: blur(44px) saturate(190%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 0 0 0.5px rgba(255, 255, 255, 0.14), 0 2px 6px rgba(0, 0, 0, 0.12), 0 30px 70px rgba(0, 0, 0, 0.34); }
.g--deep, .sdn .g--deep { background: rgba(22, 22, 24, 0.76); }
.sdn .t-96 { font-size: 6rem; line-height: 1.03; letter-spacing: -0.032em; font-weight: 600; }
.sdn .t-72 { font-size: 4.5rem; line-height: 1.04; letter-spacing: -0.03em; font-weight: 600; }
.sdn .t-56 { font-size: 3.5rem; line-height: 1.06; letter-spacing: -0.027em; font-weight: 600; }
.sdn .t-40 { font-size: 2.5rem; line-height: 1.1; letter-spacing: -0.024em; font-weight: 600; }
.sdn .t-32 { font-size: 2rem; line-height: 1.12; letter-spacing: -0.022em; font-weight: 600; }
.sdn .t-24 { font-size: 1.5rem; line-height: 1.18; letter-spacing: -0.019em; font-weight: 600; }
.sdn .t-21 { font-size: 1.3125rem; line-height: 1.35; letter-spacing: -0.016em; }
.sdn .t-17 { font-size: 1.0625rem; line-height: 1.47; letter-spacing: -0.011em; }
.sdn .t-15 { font-size: 0.9375rem; line-height: 1.4; letter-spacing: -0.008em; }
.sdn .t-13 { font-size: 0.8125rem; line-height: 1.38; letter-spacing: -0.003em; }
.sdn .t-12 { font-size: 0.75rem; line-height: 1.33; letter-spacing: 0; }
.sdn .num, .sdn .tnum { font-variant-numeric: tabular-nums; }
.sdn .vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sdn :focus { outline: none; }
.sdn :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.sdn [tabindex="-1"]:focus-visible { outline: none; }
.sdn a, .sdn button { -webkit-tap-highlight-color: transparent; }
.sdn img { -webkit-user-drag: none; }
.sdn ::selection { background: rgba(200, 16, 46, 0.5); color: #fff; }
.sdn .btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0.45em; min-height: 2.75rem; padding: 0 1.375rem; border: 0; border-radius: 999px;
  font-family: inherit; font-size: 1.0625rem; font-weight: 500; letter-spacing: -0.011em; line-height: 1.2; white-space: nowrap; text-align: center; cursor: pointer; user-select: none; text-decoration: none;
  background: var(--fill); color: var(--label); transition: transform 100ms ease-out, background-color 160ms ease, color 160ms ease, opacity 160ms ease; }
.sdn .btn:active { transform: scale(0.97); }
.sdn .btn.red, .sdn .btn.buy { background: var(--red); color: #fff; font-weight: 600; }
.sdn .btn.ghost { background: var(--fill); color: var(--label); border: 0; }
.sdn .btn.sm { min-height: 2.125rem; padding: 0 1rem; font-size: 0.9375rem; letter-spacing: -0.008em; }
.sdn .btn.sm::after { content: ""; position: absolute; inset: -5px 0; }
.sdn .btn.lg { min-height: 3.125rem; padding: 0 1.75rem; }
.sdn .btn.block { display: flex; width: 100%; }
.sdn .btn:disabled { opacity: 0.4; cursor: default; }
@media (hover: hover) {
  .sdn .btn.red:hover, .sdn .btn.buy:hover { background: var(--red-hi); color: #fff; }
  .sdn .btn.ghost:hover, .sdn .btn:not(.red):not(.buy):hover { background: var(--fill2); color: var(--label); }
}
.sdn .btn.red:active, .sdn .btn.buy:active { background: var(--red-dark); }
.sdn [data-add].in, .sdn .btn.in, .sdn .pfoot .btn.buy.in { background: var(--fill); color: var(--label); font-weight: 500; }
@media (hover: hover) { .sdn [data-add].in:hover { background: var(--fill2); } }
.sdn[data-world="studio"] .btn.red, .sdn[data-world="studio"] .btn.buy { background: #fff; color: #1D1D1F; }
@media (hover: hover) { .sdn[data-world="studio"] .btn.red:hover, .sdn[data-world="studio"] .btn.buy:hover { background: rgba(255, 255, 255, 0.9); color: #1D1D1F; } }
.sdn[data-world="studio"] [data-add].in { background: rgba(255, 255, 255, 0.24); color: #fff; }
.sdn .rx-more { display: inline-flex; align-items: center; gap: 0.3em; min-height: 2.75rem; font-size: 1.0625rem; font-weight: 500; color: var(--label); }
.sdn .rx-more svg { transition: transform 200ms ease; }
@media (hover: hover) { .sdn .rx-more:hover svg { transform: translateX(3px); } }
.sdn .topbar { position: relative; z-index: 2; height: var(--top); background: #000; color: var(--label2); font-size: 0.75rem; letter-spacing: 0; }
.sdn .topbar .wrap { height: var(--top); display: flex; align-items: center; justify-content: center; gap: 10px 28px; flex-wrap: nowrap; overflow: hidden; }
.sdn .topbar span { opacity: 1; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.sdn .topbar b { color: var(--label); font-weight: 600; }
.sdn .topbar .tick { color: var(--label3); font-weight: 600; }
.sdn[data-world="studio"] .topbar { background: transparent; color: rgba(255, 255, 255, 0.9); }
.sdn[data-world="studio"] .topbar .tick { color: rgba(255, 255, 255, 0.8); }
.sdn header.main { position: sticky; top: 0; z-index: 30; height: var(--bar); border: 0; background: rgba(0, 0, 0, 0.72); -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%); }
.sdn .header-row { height: var(--bar); padding-block: 0; gap: 8px; align-items: center; flex-wrap: nowrap; }
.sdn .header-row .brand { display: flex; align-items: center; gap: 9px; height: 44px; flex: none; margin-right: 14px; }
.sdn .rx-mark { display: grid; place-items: center; width: 34px; height: 34px; flex: none; margin-left: -4px; }
.sdn .rx-mark img { width: 36px; height: 36px; max-width: none; }
.sdn .rx-wm { font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.02em; white-space: nowrap; color: var(--label); }
.sdn .brand-tag { border-left: 1px solid var(--hair); padding-left: 12px; font-size: 0.6875rem; line-height: 1.3; font-weight: 500; letter-spacing: 0; color: var(--label2); }
.sdn nav.primary { display: flex; align-items: center; gap: 2px; flex: 1 1 auto; min-width: 0; }
.sdn nav.primary a { display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 13px; border-radius: 22px; font-size: 0.875rem; font-weight: 450; letter-spacing: -0.004em; color: rgba(245, 245, 247, 0.8); white-space: nowrap; background: none; transition: color 160ms ease; }
.sdn nav.primary a::after { display: none; }
.sdn nav.primary a[data-navkey="home"] { display: none; }
.sdn nav.primary a.on { color: #fff; font-weight: 600; }
@media (hover: hover) { .sdn nav.primary a:hover { color: #fff; background: none; } }
.sdn .nav-badge { margin: 0; padding: 2px 7px; border-radius: 999px; background: rgba(255, 255, 255, 0.18); color: #fff; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; vertical-align: 0; }
.sdn .nav-badge--pack { background: var(--red); min-width: 17px; text-align: center; }
.sdn .hactions { display: flex; align-items: center; gap: 2px; flex: none; }
.sdn .header-row .hsearch { display: none; }
.sdn .rx-hb { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 22px; color: var(--label); background: none; border: 0; cursor: pointer; transition: transform 100ms ease-out, background-color 160ms ease; }
.sdn .rx-hb:active { transform: scale(0.94); }
.sdn .rx-find-b { display: inline-flex; align-items: center; gap: 9px; width: auto; min-width: 208px; padding: 0 16px 0 13px; height: 36px; border-radius: 18px; background: var(--fill); color: var(--label2); font-size: 0.875rem; font-weight: 450; justify-content: flex-start; margin-right: 6px; }
@media (hover: hover) { .sdn .rx-find-b:hover { background: var(--fill2); } }
.sdn .rx-lang { position: relative; display: flex; align-items: center; height: 44px; }
.sdn .rx-lang-b { display: inline-flex; align-items: center; gap: 5px; height: 44px; padding: 0 10px; border-radius: 22px; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.02em; color: var(--label); background: none; border: 0; cursor: pointer; }
.sdn .rx-lang-b svg { opacity: 0.7; }
.sdn .rx-lang-m { position: absolute; z-index: 5; top: 46px; right: 0; min-width: 190px; padding: 6px; border-radius: 18px; visibility: hidden; opacity: 0; transform: scale(0.94); transform-origin: calc(100% - 24px) -6px; transition: opacity 140ms ease, transform 180ms var(--ease), visibility 0s 180ms; }
.sdn .rx-lang[data-open] .rx-lang-m { visibility: visible; opacity: 1; transform: none; transition: opacity 140ms ease, transform 220ms var(--ease); }
.sdn .rx-lang-m a { text-decoration: none; display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; min-height: 44px; padding: 0 12px; border-radius: 12px; font: inherit; font-size: 0.9375rem; font-weight: 500; color: #fff; background: none; border: 0; cursor: pointer; text-align: left; }
.sdn .rx-lang-m a span { color: rgba(255, 255, 255, 0.78); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.03em; }
.sdn .rx-lang-m a[aria-checked="true"] { background: rgba(255, 255, 255, 0.14); }
@media (hover: hover) { .sdn .rx-lang-m a:hover { background: rgba(255, 255, 255, 0.14); } }
.sdn .qrbtn { display: none; }
.sdn .cartbtn { position: relative; display: grid; place-items: center; width: 44px; height: 44px; margin-right: -10px; border: 0; border-radius: 22px; background: none; color: var(--label); transition: transform 100ms ease-out; }
.sdn .cartbtn:active { transform: scale(0.94); }
.sdn .cartbtn svg { width: 20px; height: 20px; }
.sdn .cartcount { position: absolute; top: 5px; right: 3px; min-width: 17px; height: 17px; padding: 0 5px; border-radius: 9px; background: var(--red); color: #fff; font-size: 0.6875rem; font-weight: 600; line-height: 17px; text-align: center; letter-spacing: 0; border: 0; transform: scale(0); transition: transform 280ms cubic-bezier(0.3, 1.6, 0.5, 1); }
.sdn .cartcount[data-n]:not([data-n="0"]) { transform: scale(1); }
.sdn .burger { display: none; width: 44px; height: 44px; margin-right: -8px; border-radius: 22px; color: var(--label); place-items: center; }
.sdn .burger svg { width: 22px; height: 22px; }
.sdn[data-world="studio"] header.main { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; height: 68px; pointer-events: none; }
.sdn[data-world="studio"] { --bar: 68px; }
.sdn[data-world="studio"] header.main::before { content: ""; position: absolute; z-index: -1; left: 0; right: 0; top: 0; height: 104px; pointer-events: none; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  -webkit-mask-image: linear-gradient(180deg, #000 0, #000 50%, transparent 100%); mask-image: linear-gradient(180deg, #000 0, #000 50%, transparent 100%); }
.sdn[data-world="studio"][data-stage] header.main::before { display: none; }
.sdn[data-world="studio"][data-under] { --glass: rgba(22, 22, 24, 0.84); }
.sdn[data-world="studio"] .header-row { height: 68px; padding-inline: 16px; gap: 10px; }
.sdn[data-world="studio"] .header-row > * { pointer-events: auto; }
.sdn[data-world="studio"] .header-row .brand { height: 48px; padding: 0 18px 0 16px; margin: 0; border-radius: 24px; background: var(--glass); transition: background-color 240ms ease; -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), inset 0 0 0 0.5px rgba(255, 255, 255, 0.2), 0 8px 24px rgba(0, 0, 0, 0.16); }
.sdn[data-world="studio"] .rx-mark { width: 32px; height: 32px; border-radius: 16px; background: #fff; overflow: hidden; margin-left: -8px; }
.sdn[data-world="studio"] .rx-mark img { width: 40px; height: 40px; }
.sdn[data-world="studio"] .brand-tag { display: none; }
.sdn[data-world="studio"] nav.primary { flex: 0 1 auto; margin: 0 auto; height: 48px; padding: 0 5px; border-radius: 24px; background: var(--glass); transition: background-color 240ms ease; -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), inset 0 0 0 0.5px rgba(255, 255, 255, 0.2), 0 8px 24px rgba(0, 0, 0, 0.16); }
.sdn[data-world="studio"] nav.primary a { height: 38px; padding: 0 14px; border-radius: 19px; font-size: 0.9375rem; font-weight: 500; color: rgba(255, 255, 255, 0.92); }
.sdn[data-world="studio"] nav.primary a.on { background: rgba(255, 255, 255, 0.2); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26); color: #fff; }
.sdn[data-world="studio"] .hactions { gap: 8px; }
.sdn[data-world="studio"] .rx-hb, .sdn[data-world="studio"] .cartbtn, .sdn[data-world="studio"] .rx-lang-b, .sdn[data-world="studio"] .burger { height: 48px; min-width: 48px; border-radius: 24px; margin: 0; background: var(--glass); transition: background-color 240ms ease; -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), inset 0 0 0 0.5px rgba(255, 255, 255, 0.2), 0 8px 24px rgba(0, 0, 0, 0.16); color: #fff; }
.sdn[data-world="studio"] .rx-lang { height: 48px; }
.sdn[data-world="studio"] .rx-lang-b { padding: 0 14px; }
.sdn[data-world="studio"] .rx-find-b { min-width: 48px; width: 48px; padding: 0; justify-content: center; margin: 0; }
.sdn[data-world="studio"] .rx-find-b span { display: none; }
.sdn[data-world="studio"] .cartcount { top: 6px; right: 5px; }
@media (hover: hover) { .sdn[data-world="studio"] .rx-hb:hover, .sdn[data-world="studio"] .cartbtn:hover, .sdn[data-world="studio"] .rx-lang-b:hover { background: rgba(60, 60, 64, 0.5); } }
.sdn footer { position: relative; z-index: 2; background: #0D0D0E; color: var(--label2); padding: 0; margin: 0; border: 0; }
.sdn .foot-cols { display: grid; grid-template-columns: minmax(0, 1.7fr) repeat(4, minmax(0, 1fr)); gap: 30px 40px; padding-block: 52px 34px; align-items: start; }
.sdn .foot-brand .brand { display: flex; align-items: center; gap: 12px; }
.sdn .foot-brand .brand img { height: 44px; width: auto !important; }
.sdn .foot-brand .brand-tag { border-left: 1px solid var(--hair); padding-left: 12px; font-size: 0.6875rem; line-height: 1.3; font-weight: 500; color: var(--label2); }
.sdn .foot-brand p { margin-top: 16px; max-width: 26em; font-size: 0.8125rem; line-height: 1.5; color: var(--label2); }
.sdn .foot-acc { border: 0; padding: 0; }
.sdn .foot-acc > summary, .sdn .foot-label { list-style: none; margin: 0; padding: 0 0 6px; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--label); cursor: default; pointer-events: none; }
.sdn .foot-acc > summary::-webkit-details-marker { display: none; }
.sdn .foot-acc > summary::after { display: none; }
.sdn .foot-acc-body { display: block; padding: 0; }
.sdn .foot-acc-body a, .sdn .rx-foot-lang a { text-decoration: none; display: flex; align-items: center; min-height: 32px; padding: 0; font: inherit; font-size: 0.8125rem; font-weight: 400; color: var(--label2); background: none; border: 0; cursor: pointer; transition: color 160ms ease; opacity: 1; }
.sdn .rx-foot-lang a[aria-checked="true"] { color: var(--label); }
@media (hover: hover) { .sdn .foot-acc-body a:hover, .sdn .rx-foot-lang a:hover { color: var(--label); } }
.sdn .foot-legalbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 30px; padding-block: 18px; border: 0; box-shadow: inset 0 0.5px 0 var(--hair); font-size: 0.75rem; color: var(--label3); background: none; margin-inline: var(--m); padding-inline: 0; }
.sdn .foot-legalbar .pay-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.sdn .foot-disclaimer { background: none; padding: 0 0 26px; font-size: 0.75rem; line-height: 1.45; color: var(--label3); border: 0; text-align: left; }
.sdn .toast { position: fixed; z-index: 90; left: 50%; bottom: 26px; top: auto; right: auto; max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 22px; background: rgba(44, 44, 46, 0.86); -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 14px 40px rgba(0, 0, 0, 0.5); color: #fff; font-size: 0.9375rem; font-weight: 500; line-height: 1.3; text-align: center; opacity: 0; transform: translate(-50%, 16px) scale(0.96); pointer-events: none;
  transition: opacity 180ms ease, transform 320ms cubic-bezier(0.2, 0.9, 0.3, 1.1); }
.sdn .toast.show { opacity: 1; transform: translate(-50%, 0) scale(1); }
.sdn .chatfab, .sdn .chatteaser, .sdn .chatpanel, .sdn .lightbox { display: none !important; }
@media (max-width: 1180px) {
  .sdn nav.primary a, .sdn[data-world="studio"] nav.primary a { padding: 0 10px; gap: 6px; }
  .sdn .nav-badge { padding: 2px 5px; letter-spacing: 0.02em; }
  .sdn .brand-tag { display: none; }
  .sdn .rx-find-b { min-width: 44px; width: 44px; height: 44px; border-radius: 22px; padding: 0; justify-content: center; background: none; margin-right: 0; }
  .sdn .rx-find-b span { display: none; }
  .sdn .foot-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sdn .foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 1080px) {
  .sdn nav.primary a, .sdn[data-world="studio"] nav.primary a { padding: 0 8px; gap: 5px; font-size: 0.875rem; }
  .sdn .nav-badge { font-size: 0.625rem; }
  .sdn nav.primary { overflow-x: auto; scrollbar-width: none; }
  .sdn nav.primary::-webkit-scrollbar { display: none; }
}
@media (max-width: 900px) {
  .sdn nav.primary { display: none; }
  .sdn .header-row { justify-content: space-between; gap: 4px; }
  .sdn .header-row .brand { margin-right: 0; min-width: 0; }
  .sdn .header-row .hactions { margin-left: auto; gap: 0; }
  .sdn .burger { display: grid; border: 0; background: none; }
  .sdn .rx-find-b { min-width: 44px; width: 44px; }
  .sdn .qrbtn { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 22px; background: none; color: var(--label); }
  .sdn .qrbtn svg { width: 21px; height: 21px; }
  .sdn .qrbtn .qr-badge { position: absolute; top: -3px; left: 50%; width: max-content; white-space: nowrap; transform: translateX(-50%); margin: 0; padding: 0 5px; border-radius: 7px; font-size: 0.625rem; line-height: 1.4; letter-spacing: 0; text-transform: none; font-weight: 700; background: #1F7D43; color: #fff; }
  .sdn .cartbtn { margin-right: 0; }
  .sdn .burger { margin-right: -10px; }
  .sdn .rx-lang { display: none; }
  .sdn[data-world="studio"] .header-row { padding-inline: 10px; gap: 6px; }
  .sdn[data-world="studio"] .header-row .brand { padding: 0 15px 0 14px; }
  .sdn[data-world="studio"] .rx-wm { font-size: 1rem; }
  .sdn[data-world="studio"] .hactions { height: 48px; padding: 0 3px; gap: 0; border-radius: 24px; background: var(--glass); transition: background-color 240ms ease; -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), inset 0 0 0 0.5px rgba(255, 255, 255, 0.2), 0 8px 24px rgba(0, 0, 0, 0.16); }
  .sdn[data-world="studio"] .hactions .rx-hb, .sdn[data-world="studio"] .hactions .qrbtn, .sdn[data-world="studio"] .hactions .cartbtn, .sdn[data-world="studio"] .hactions .burger { width: 42px; min-width: 42px; height: 42px; margin: 0; border-radius: 21px; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; color: #fff; }
  .sdn[data-world="studio"] .cartcount { top: 3px; right: 1px; }
  .sdn[data-world="studio"] .hactions .rx-hb::before, .sdn[data-world="studio"] .hactions .qrbtn::before, .sdn[data-world="studio"] .hactions .cartbtn::before, .sdn[data-world="studio"] .hactions .burger::before { content: ""; position: absolute; inset: -1px; }
  .sdn[data-world="studio"] .hactions .rx-hb, .sdn[data-world="studio"] .hactions .cartbtn, .sdn[data-world="studio"] .hactions .burger { position: relative; }
}
@media (max-width: 372px) {
  .sdn .rx-wm { display: none; }
}
@media (max-width: 760px) {
  .sdn { --m: 20px; }
  .sdn .topbar .wrap { display: grid; place-items: center; }
  .sdn .topbar .wrap > span { grid-area: 1 / 1; opacity: 0; animation: rx-claim 16s infinite; }
  .sdn .topbar .wrap > span:nth-child(2) { animation-delay: 4s; }
  .sdn .topbar .wrap > span:nth-child(3) { animation-delay: 8s; }
  .sdn .topbar .wrap > span:nth-child(4) { animation-delay: 12s; }
  .sdn .foot-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 20px; padding-block: 36px 24px; }
  .sdn .foot-acc-body a, .sdn .rx-foot-lang a { min-height: 44px; font-size: 0.9375rem; }
  .sdn .foot-acc > summary { font-size: 0.9375rem; }
  .sdn .foot-legalbar { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .sdn .foot-cols { grid-template-columns: minmax(0, 1fr); gap: 0; padding-block: 34px 22px; }
  .sdn .foot-brand { padding-bottom: 22px; }
  .sdn .foot-acc { box-shadow: inset 0 0.5px 0 var(--hair); }
  .sdn .foot-acc > summary { position: relative; display: flex; align-items: center; min-height: 52px; padding: 0 34px 0 0; pointer-events: auto; cursor: pointer; font-size: 1.0625rem; }
  .sdn .foot-acc > summary::after { content: ""; display: block; position: absolute; right: 4px; top: 50%; width: 12px; height: 12px; margin-top: -6px;
    background: linear-gradient(var(--label2), var(--label2)) 50% 50% / 12px 1.5px no-repeat, linear-gradient(var(--label2), var(--label2)) 50% 50% / 1.5px 12px no-repeat; transition: transform 300ms var(--ease); }
  .sdn .foot-acc[open] > summary::after { transform: rotate(45deg); }
  .sdn .foot-acc-body { padding: 0 0 12px; }
  .sdn .rx-foot-lang .foot-acc-body { display: flex; gap: 22px; }
}
@keyframes rx-claim { 0%, 2% { opacity: 0; } 5%, 22% { opacity: 1; } 25%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .sdn .topbar .wrap > span { animation: none !important; }
  .sdn .topbar .wrap > span:first-child { opacity: 1; }
  .sdn .toast, .sdn .cartcount, .sdn .rx-lang-m { transition: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .sdn[data-world="studio"] header.main::before { -webkit-backdrop-filter: none; backdrop-filter: none; background: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent); }
  .sdn header.main { background: #000; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .sdn[data-world="studio"], .sdn[data-world="studio"][data-under] { --glass: #2A2A2D; }
  .sdn[data-world="studio"] .header-row .brand, .sdn[data-world="studio"] nav.primary, .sdn[data-world="studio"] .rx-hb, .sdn[data-world="studio"] .cartbtn, .sdn[data-world="studio"] .rx-lang-b, .sdn[data-world="studio"] .burger, .sdn[data-world="studio"] .hactions, .sdn .cx-anchors, .sdn .rx-menu-b, .rx-psheet { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .rx-psheet { background: #1D1D1F; }
  .g, .g--thick, .sdn .toast { background: rgba(40, 40, 42, 0.96); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  .sdn { --label2: #D1D1D6; --label3: #C7C7CC; --hair: rgba(255, 255, 255, 0.5); }
  .sdn header.main { background: #000; box-shadow: inset 0 -1px 0 #fff; }
  .sdn[data-world="studio"], .sdn[data-world="studio"][data-under] { --glass: #1D1D1F; --label2: #F2F2F7; --label3: #E5E5EA; }
  .sdn[data-world="studio"] header.main { background: none; box-shadow: none; }
  .sdn[data-world="studio"] .header-row .brand, .sdn[data-world="studio"] nav.primary, .sdn[data-world="studio"] .rx-hb, .sdn[data-world="studio"] .cartbtn, .sdn[data-world="studio"] .rx-lang-b, .sdn .cx-anchors, .sdn .rx-menu-b { -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 0 0 1.5px #fff; }
  .rx-psheet { background: #1D1D1F; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 0 0 1.5px #fff; }
}
.sdn .foot-cols > .rx-foot-lang { padding-top: 26px; }
.sdn .rx-foot-lang a, .sdn .rx-foot-lang .foot-acc-body a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; }
.sdn:not(:lang(fr)) :is(.cat-pour, .cat-pour-list, h2.cat-h2:has(+ .cat-pour-list)) { display: none !important; }
.sdn #app select { max-width: 100%; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sdn .header-row .brand-logo { display: block; height: 58px; width: auto; max-width: none; }
.sdn .header-row .brand, .sdn[data-world="studio"] .header-row .brand { height: auto; padding: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; border-radius: 0; }
@media (max-width: 760px) { .sdn .header-row .brand-logo { height: 50px; } }
.sdn .sect { padding: 0 0 120px; background: none; border: 0; }
.sdn .crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; padding: 26px 0 0; margin: 0; font-size: 0.8125rem; color: var(--label2); }
.sdn .crumb a { color: var(--label2); display: inline-flex; align-items: center; min-height: 32px; transition: color 160ms ease; }
@media (hover: hover) { .sdn .crumb a:hover { color: var(--label); } }
.sdn .crumb .sep { color: var(--label3); }
.sdn .crumb b { color: var(--label); font-weight: 500; }
.sdn .sect-head { display: block; margin: 0; padding: 64px 0 0; border: 0; }
.sdn .crumb + .sect-head, .sdn .crumb + * .sect-head { padding-top: 30px; }
.sdn .kick, .sdn .js .sect-head .kick { display: block; margin: 0; font-family: var(--font); font-size: 1.0625rem; font-weight: 500; letter-spacing: -0.011em; text-transform: none; color: var(--label2); opacity: 1; transform: none; animation: none; }
.sdn .kick.dc-log { color: var(--c-log); } .sdn .kick.dc-emp { color: var(--c-emp); } .sdn .kick.dc-ent { color: var(--c-ent); } .sdn .kick.dc-pri { color: var(--c-pri); } .sdn .kick.dc-aso { color: var(--c-aso); }
.sdn .sect-head h1, .sdn .js .sect-head h1 { margin: 8px 0 0; font-size: 4.5rem; line-height: 1.04; letter-spacing: -0.03em; font-weight: 600; color: var(--label); text-wrap: balance; max-width: 16em; opacity: 1; transform: none; animation: none; }
.sdn .sect-head.ph-objet h1 { font-size: 3.5rem; line-height: 1.06; letter-spacing: -0.027em; }
.sdn .sect-head .sub { margin: 18px 0 0; max-width: 32em; font-size: 1.3125rem; line-height: 1.35; letter-spacing: -0.016em; color: var(--label2); text-wrap: pretty; }
.sdn .rv, .sdn .js .rv { opacity: 1; transform: none; transition: none; }
.sdn details { border: 0; }
.sdn .faq, .sdn .hpx-faq { border: 0; background: none; }
.sdn .faq details, .sdn .rx-faq details { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: inset 0 0.5px 0 var(--hair); }
.sdn .faq details:last-of-type, .sdn .rx-faq details:last-of-type { box-shadow: inset 0 0.5px 0 var(--hair), inset 0 -0.5px 0 var(--hair); }
.sdn .faq summary, .sdn .rx-faq summary { position: relative; display: flex; align-items: center; min-height: 68px; padding: 16px 48px 16px 0; list-style: none; cursor: pointer; font-size: 1.1875rem; line-height: 1.28; letter-spacing: -0.014em; font-weight: 600; color: var(--label); text-wrap: balance; }
.sdn .faq summary::-webkit-details-marker, .sdn .rx-faq summary::-webkit-details-marker { display: none; }
.sdn .faq summary::before, .sdn .rx-faq summary::before { content: ""; position: absolute; right: 0; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 14px; background: var(--fill); transition: background-color 160ms ease; }
.sdn .faq summary::after, .sdn .rx-faq summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border: 0; transform: none;
  background: linear-gradient(var(--label), var(--label)) 50% 50% / 12px 1.5px no-repeat, linear-gradient(var(--label), var(--label)) 50% 50% / 1.5px 12px no-repeat; transition: transform 320ms var(--ease); }
.sdn .faq details[open] > summary::after, .sdn .rx-faq details[open] > summary::after { transform: rotate(45deg); }
@media (hover: hover) { .sdn .faq summary:hover::before, .sdn .rx-faq summary:hover::before { background: var(--fill2); } }
.sdn .faq .a, .sdn .rx-faq .a { padding: 0 48px 24px 0; margin: 0; border: 0; color: var(--label2); font-size: 1.0625rem; line-height: 1.52; text-wrap: pretty; max-width: 44em; }
.sdn .faq .a b, .sdn .rx-faq .a b { color: var(--label); font-weight: 600; }
.sdn .faq .a a, .sdn .rx-faq .a a, .sdn .rx-prose a, .sdn .legal-body a, .sdn .article p a { color: var(--label); font-weight: 500; text-decoration: underline; text-decoration-color: rgba(245, 245, 247, 0.4); text-underline-offset: 0.22em; }
@supports (interpolate-size: allow-keywords) {
  .sdn .faq details, .sdn .rx-faq details { interpolate-size: allow-keywords; }
  .sdn .faq details::details-content, .sdn .rx-faq details::details-content { block-size: 0; overflow: clip; opacity: 0; transition: block-size 380ms var(--ease), opacity 260ms ease, content-visibility 380ms allow-discrete; }
  .sdn .faq details[open]::details-content, .sdn .rx-faq details[open]::details-content { block-size: auto; opacity: 1; }
}
.sdn .field { margin: 0 0 16px; }
.sdn .field label, .sdn .drawer-email { display: block; margin: 0 0 8px; font-size: 0.9375rem; font-weight: 500; color: var(--label2); letter-spacing: -0.008em; text-transform: none; }
.sdn .field input, .sdn .field select, .sdn .field textarea, .sdn .drawer-email input, .sdn .promo-row input, .sdn .resend input {
  width: 100%; min-height: 48px; padding: 12px 16px; border: 0; border-radius: 14px; background: var(--fill); color: var(--label); font: inherit; font-size: 1.0625rem; letter-spacing: -0.011em; box-shadow: none; transition: background-color 160ms ease; -webkit-appearance: none; appearance: none; }
.sdn .field textarea { min-height: 132px; resize: vertical; line-height: 1.45; }
.sdn .field select, .sdn .cx-ctl select { padding-right: 42px; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--label) 50%), linear-gradient(135deg, var(--label) 50%, transparent 50%); background-size: 5px 5px, 5px 5px; background-position: calc(100% - 21px) 50%, calc(100% - 16px) 50%; background-repeat: no-repeat; }
.sdn .field select option, .sdn .cx-ctl select option { background: #1D1D1F; color: #F5F5F7; }
.sdn .field input::placeholder, .sdn .field textarea::placeholder, .sdn .drawer-email input::placeholder, .sdn .promo-row input::placeholder { color: var(--label3); opacity: 1; }
.sdn .field input:focus, .sdn .field select:focus, .sdn .field textarea:focus, .sdn .drawer-email input:focus, .sdn .promo-row input:focus { background: var(--fill2); outline: 2px solid var(--focus); outline-offset: 2px; border: 0; }
.sdn .frow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.sdn .cartouche { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 14px 18px; margin: 0; padding: 18px 0 0; border: 0; border-radius: 0; background: none; box-shadow: inset 0 0.5px 0 var(--hair); font-size: inherit; }
.sdn .cartouche > div { padding: 0; border: 0; flex: none; }
.sdn .cartouche dt { margin: 0; font-size: 0.8125rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--label3); }
.sdn .cartouche dd { margin: 1px 0 0; font-size: 0.9375rem; font-weight: 600; letter-spacing: -0.004em; color: var(--label); font-family: var(--font); font-style: normal; }
.sdn .fmt-chip { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 12px; border: 0; background: var(--fill); color: var(--label); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.01em; }
.sdn .pb { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 12px; border: 0; background: none; box-shadow: inset 0 0 0 1px var(--hair); color: var(--label2); font-size: 0.75rem; font-weight: 500; font-family: var(--font); }
.sdn .disclaim, .sdn .final-notice { margin: 28px 0 0; padding: 0; border: 0; border-radius: 0; background: none; color: var(--label3); font-size: 0.8125rem; line-height: 1.45; max-width: 60em; }
.sdn .final-notice b { color: var(--label2); font-weight: 600; }
.sdn .final-notice a, .sdn .disclaim a, .sdn .fiche-sec p a { color: var(--label2) !important; font-weight: 500 !important; text-decoration: underline; text-underline-offset: 0.2em; }
.sdn[data-route="guides"] .sect > .wrap > h2 { margin: 72px 0 0 !important; font-size: 2rem !important; line-height: 1.12; letter-spacing: -0.022em; font-weight: 600; color: var(--label); }
.sdn .guide-grid { display: block; margin: 22px 0 0 !important; box-shadow: inset 0 -0.5px 0 var(--hair); }
.sdn .rx-ggrp { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 0 32px; box-shadow: inset 0 0.5px 0 var(--hair); }
.sdn .rx-ggrp-h { position: sticky; top: calc(var(--bar) + 8px); align-self: start; padding: 30px 0 0; font-size: 1.0625rem; font-weight: 500; color: var(--label2); }
.sdn .rx-ggrp-h b { display: block; color: var(--label); font-weight: 600; }
.sdn .gcard { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0 40px; padding: 28px 0 30px; border: 0; border-radius: 0; background: none; box-shadow: inset 0 0.5px 0 var(--hair); color: var(--label); min-height: 0; transition: none; transform: none; }
.sdn .rx-ggrp .gcard:first-of-type { box-shadow: none; }
.sdn .gcard::before { content: ""; position: absolute; inset: 1px -18px; border-radius: 18px; background: rgba(255, 255, 255, 0.06); opacity: 0; transition: opacity 160ms ease; }
@media (hover: hover) { .sdn .gcard:hover::before { opacity: 1; } .sdn .gcard:hover { border: 0; box-shadow: inset 0 0.5px 0 var(--hair); transform: none; } }
.sdn .gcard:active::before { opacity: 1; background: rgba(255, 255, 255, 0.1); }
.sdn .gcard > * { position: relative; }
.sdn .gcard .gtag { grid-column: 1; margin: 0 0 4px; padding: 0; border: 0; background: none; font-size: 0.9375rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--label2); font-family: var(--font); }
.sdn .rx-ggrp .gcard .gtag { display: none; }
.sdn .gcard h3 { grid-column: 1; margin: 0; font-size: 1.75rem; line-height: 1.14; letter-spacing: -0.022em; font-weight: 600; text-wrap: balance; color: var(--label); }
.sdn .gcard p { grid-column: 1; margin: 8px 0 0; max-width: 38em; font-size: 1.0625rem; line-height: 1.42; color: var(--label2); text-wrap: pretty; }
.sdn .gcard .glink { grid-column: 1; justify-self: start; display: inline-flex; align-items: center; gap: 7px; margin: 12px 0 0; font-size: 1.0625rem; font-weight: 500; color: var(--label); white-space: nowrap; }
.sdn .gcard .glink::after { content: ""; width: 7px; height: 7px; border-top: 1.8px solid currentColor; border-right: 1.8px solid currentColor; transform: rotate(45deg); opacity: 0.7; transition: transform 200ms ease; }
@media (hover: hover) { .sdn .gcard:hover .glink::after { transform: translateX(3px) rotate(45deg); } }
.sdn .gcard > .rx-th { grid-column: 2; grid-row: 1 / span 4; align-self: center; width: 72px; }
.sdn .guide-layout { display: grid; grid-template-columns: 15rem minmax(0, 44rem); gap: 0 72px; align-items: start; margin: 0; }
.sdn .guide-toc { position: sticky; top: calc(var(--bar) + 30px); display: block; margin: 96px 0 0; padding: 0; border: 0; border-radius: 0; background: none; font-size: 0.9375rem; }
.sdn .guide-toc .h, .sdn .legal-toc h3 { margin: 0 0 10px; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--label3); }
.sdn .guide-toc a, .sdn .legal-toc a { display: flex; align-items: center; min-height: 44px; padding: 4px 0; border: 0; font-size: 0.9375rem; line-height: 1.3; font-weight: 450; color: var(--label2); transition: color 160ms ease; }
@media (hover: hover) { .sdn .guide-toc a:hover, .sdn .legal-toc a:hover { color: var(--label); background: none; } }
.sdn .article { max-width: none; margin: 0; padding: 0; border: 0; background: none; }
.sdn .article .sect-head { padding-top: 30px; }
.sdn .article .meta { margin: 18px 0 0; padding: 0; border: 0; font-size: 1.3125rem; line-height: 1.38; letter-spacing: -0.014em; color: var(--label2); text-wrap: pretty; }
.sdn .article h2 { margin: 44px 0 0; padding: 0; border: 0; font-size: 1.5rem; line-height: 1.2; letter-spacing: -0.019em; font-weight: 600; color: var(--label); scroll-margin-top: calc(var(--bar) + 24px); }
.sdn .article p { margin: 12px 0 0; color: #D1D1D6; font-size: 1.0625rem; line-height: 1.6; text-wrap: pretty; }
.sdn .article p b { color: #fff; font-weight: 600; }
.sdn .encart { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; margin: 56px 0 0; padding: 20px 22px 20px 20px; border: 0; border-radius: 26px; background: var(--tile2); }
.sdn .rx-read { display: flow-root; margin: 34px 0 0; padding: 0 48px 48px; border-radius: 34px; background: rgba(20, 20, 22, 0.58); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 0 0.5px rgba(255, 255, 255, 0.1); }
.sdn .rx-read > h2:first-child { margin-top: 40px; }
.sdn .legal-body.rx-read { padding-top: 44px; }
.sdn .rx-read .encart { margin-top: 44px; background: rgba(255, 255, 255, 0.1); }
.sdn .encart .rx-th { flex: none; width: 64px; }
.sdn .encart .body { flex: 1 1 240px; min-width: 0; }
.sdn .encart .t { margin: 0; font-size: 0.8125rem; font-weight: 500; color: var(--label2); letter-spacing: 0; text-transform: none; }
.sdn .encart p { margin: 2px 0 0; font-size: 0.9375rem; line-height: 1.4; color: var(--label2); }
.sdn .encart p b { display: block; font-size: 1.0625rem; color: var(--label); font-weight: 600; }
.sdn .rx-th { position: relative; display: block; aspect-ratio: 0.7071; border-radius: 3px; overflow: hidden; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }
.sdn .rx-th img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sdn .rx-th[data-w] { aspect-ratio: 1.294; }
.sdn .aide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; margin: 44px 0 0; }
.sdn .aide-grid .gcard h3 { font-size: 1.5rem; }
.sdn .legal-layout { display: grid; grid-template-columns: 15rem minmax(0, 46rem); gap: 0 72px; align-items: start; margin: 72px 0 0; }
.sdn .legal-toc { position: sticky; top: calc(var(--bar) + 30px); margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.sdn .legal-body { min-width: 0; }
.sdn .legal-body h2, .sdn .aide-h2 { margin: 72px 0 18px !important; padding: 0; border: 0; font-size: 2.5rem; line-height: 1.1; letter-spacing: -0.024em; font-weight: 600; color: var(--label); scroll-margin-top: calc(var(--bar) + 24px); text-wrap: balance; }
.sdn .legal-body > h2:first-child, .sdn .legal-body > .aide-h2:first-child { margin-top: 0 !important; }
.sdn .legal-body .maj { margin: -6px 0 26px; padding: 0; border: 0; background: none; font-size: 1.0625rem; color: var(--label2); font-style: normal; }
.sdn .legal-body h3 { margin: 34px 0 0; font-size: 1.3125rem; line-height: 1.25; letter-spacing: -0.016em; font-weight: 600; color: var(--label); }
.sdn .legal-body p, .sdn .legal-body li { margin: 10px 0 0; color: #D1D1D6; font-size: 1.0625rem; line-height: 1.6; text-wrap: pretty; }
.sdn .legal-body ul { margin: 6px 0 0; padding: 0 0 0 1.2em; }
.sdn .legal-body b { color: #fff; font-weight: 600; }
.sdn #app .steps { display: grid; gap: 0; margin: 0; counter-reset: rxstep; }
.sdn #app .step { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 0 18px; align-items: start; padding: 20px 0; border: 0; border-radius: 0; background: none; box-shadow: inset 0 0.5px 0 var(--hair); counter-increment: rxstep; }
.sdn #app .step:last-child { box-shadow: inset 0 0.5px 0 var(--hair), inset 0 -0.5px 0 var(--hair); }
.sdn #app .step .n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 17px; background: var(--fill); color: var(--label); font-size: 0.9375rem; font-weight: 600; }
.sdn #app .step .n::before { content: counter(rxstep); }
.sdn #app .step .tx b { display: block; font-size: 1.1875rem; line-height: 1.28; letter-spacing: -0.014em; font-weight: 600; color: var(--label); }
.sdn #app .step .tx span { display: block; margin-top: 4px; color: var(--label2); font-size: 1.0625rem; line-height: 1.5; }
.sdn #app .step .tx a { color: var(--label) !important; font-weight: 500 !important; text-decoration: underline; text-underline-offset: 0.22em; }
.sdn .triage-card { margin: 0; padding: 26px 26px 12px; border: 0; border-radius: 28px; background: var(--tile); }
.sdn .self-res { margin: 4px 0 14px; padding: 18px 20px; border: 0; border-radius: 18px; background: var(--fill); color: var(--label2); font-size: 1.0625rem; line-height: 1.5; }
.sdn .self-res b { display: block; margin: 0 0 4px; color: var(--label); font-weight: 600; }
.sdn .self-res a { display: inline-block; margin-top: 8px; color: var(--label); font-weight: 500; text-decoration: underline; text-underline-offset: 0.22em; }
.sdn .reveal-link { display: inline-flex; align-items: center; min-height: 44px; margin: 0 0 14px; padding: 0; border: 0; background: none; color: var(--label); font: inherit; font-size: 1.0625rem; font-weight: 500; text-decoration: underline; text-decoration-color: rgba(245, 245, 247, 0.4); text-underline-offset: 0.22em; cursor: pointer; }
.sdn .form-ok { padding: 18px 20px; border: 0; border-radius: 18px; background: rgba(91, 211, 138, 0.14); color: var(--label); font-size: 1.0625rem; line-height: 1.5; }
.sdn #contact-form > p { color: var(--label2) !important; font-size: 0.8125rem !important; }
.sdn #contact-form > p a { color: var(--label) !important; }
.sdn #c-err { color: #FF8A8A !important; font-size: 0.9375rem !important; }
.sdn .pour-wrap { margin: 0; padding: 0 var(--m) 120px; max-width: none; }
.sdn .pour-intro { margin: 18px 0 0; max-width: 34em; font-size: 1.3125rem; line-height: 1.4; letter-spacing: -0.016em; color: var(--label2); text-wrap: pretty; }
.sdn .cat-h2 { margin: 72px 0 0; padding: 0; border: 0; font-size: 2rem; line-height: 1.12; letter-spacing: -0.022em; font-weight: 600; color: var(--label); }
.sdn .cat-h2 .cat-n { margin-left: 10px; font-size: 1.0625rem; font-weight: 500; color: var(--label2); letter-spacing: -0.011em; }
.sdn .cat-situations { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(420px, 100%), 1fr)); gap: 20px; margin: 22px 0 0; }
.sdn .cx-rows { list-style: none; margin: 18px 0 0; padding: 0; box-shadow: inset 0 -0.5px 0 var(--hair); }
.sdn .cx-row { position: relative; display: grid; grid-template-columns: 52px 7.5rem minmax(0, 1fr) 7rem 5.5rem auto; align-items: center; gap: 0 22px; margin: 0; padding: 16px 0; border: 0; border-radius: 0; background: none; box-shadow: inset 0 0.5px 0 var(--hair); }
.sdn .cx-row > .rx-th { width: 52px; grid-column: 1; grid-row: 1; }
.sdn .cx-row .cx-ty { grid-column: 2; display: block; font-size: 0.9375rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--label2); font-family: var(--font); }
.sdn .cx-row .cx-ty small { display: block; font-size: 0.8125rem; font-weight: 400; color: var(--label3); text-transform: none; letter-spacing: 0; }
.sdn .cx-row > div { grid-column: 3; min-width: 0; }
.sdn .cx-ttl { display: inline; font-size: 1.1875rem; line-height: 1.26; letter-spacing: -0.014em; font-weight: 600; color: var(--label); }
.sdn .cx-ttl::after { content: ""; position: absolute; inset: 0 150px 0 0; }
.sdn .cx-art { margin-left: 10px; font-family: var(--font); font-style: normal; font-size: 0.8125rem; font-weight: 500; color: var(--label2); white-space: nowrap; }
.sdn .cx-ben { margin: 3px 0 0; font-size: 0.9375rem; line-height: 1.4; color: var(--label2); text-wrap: pretty; }
.sdn .cx-fmt { grid-column: 4; font-size: 0.8125rem; font-weight: 500; color: var(--label2); white-space: nowrap; font-family: var(--font); }
.sdn .cx-pr { grid-column: 5; text-align: right; font-size: 1.0625rem; font-weight: 600; color: var(--label); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sdn .cx-pr small { display: inline; margin-right: 4px; font-size: 0.8125rem; font-weight: 500; color: var(--label2); }
.sdn .cx-add { position: relative; z-index: 1; grid-column: 6; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 6.25rem; min-height: 2.125rem; padding: 0 1rem; border: 0; border-radius: 999px; background: var(--fill); color: var(--label); font: inherit; font-size: 0.9375rem; font-weight: 500; cursor: pointer; white-space: nowrap; transition: transform 100ms ease-out, background-color 160ms ease; }
.sdn .cx-add::after { content: ""; position: absolute; inset: -5px 0; }
.sdn .cx-add:active { transform: scale(0.96); }
@media (hover: hover) { .sdn .cx-add:hover { background: var(--fill2); color: var(--label); border: 0; } }
.sdn .cx-add.in { background: none; box-shadow: inset 0 0 0 1px var(--hair); color: var(--label2); }
.sdn .pkcard { position: relative; display: flex; flex-direction: column; min-height: 0; margin: 0; padding: 30px 30px 28px; border: 0; border-radius: 30px; background: var(--tile); box-shadow: none; overflow: hidden; transition: none; transform: none; color: var(--label); }
@media (hover: hover) { .sdn .pkcard:hover { transform: none; box-shadow: none; border: 0; } }
.sdn .pk-head { margin: 0 0 12px; display: flex; }
.sdn .pk-flag { display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border: 0; border-radius: 13px; background: var(--fill); color: var(--label); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; font-family: var(--font); }
.sdn .pk-flag.dark { background: #fff; color: #1D1D1F; border: 0; }
.sdn .pk-nm { font-size: 1.75rem; line-height: 1.12; letter-spacing: -0.022em; font-weight: 600; color: var(--label); }
.sdn .pk-inc { margin: 10px 0 0; max-width: 30em; font-size: 1.0625rem; line-height: 1.42; color: var(--label2); text-wrap: pretty; }
.sdn .pk-list { margin: 16px 0 0; padding: 0; list-style: none; columns: 2; column-gap: 24px; font-size: 0.875rem; line-height: 1.35; color: var(--label2); }
.sdn .pk-list li { position: relative; margin: 0; padding: 4px 0 4px 14px; break-inside: avoid; border: 0; }
.sdn .pk-list li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 5px; height: 5px; border-radius: 3px; background: var(--label3); }
.sdn .pk-overlap { margin: 12px 0 0; font-size: 0.8125rem; color: var(--label3); }
.sdn .pk-overlap a { color: var(--label2); text-decoration: underline; text-underline-offset: 0.2em; }
.sdn .pk-price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 22px 0 0; padding: 0; border: 0; }
.sdn .pk-price { font-size: 1.75rem; font-weight: 600; letter-spacing: -0.022em; color: var(--label); font-variant-numeric: tabular-nums; }
.sdn .pk-price small { margin-right: 6px; font-size: 1.0625rem; font-weight: 500; color: var(--label2); letter-spacing: -0.011em; }
.sdn .pk-perdoc { font-size: 0.9375rem; font-weight: 500; color: var(--label2); }
.sdn .pk-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.sdn .selector { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; max-width: none; }
.sdn[data-route="recap"] .sect > .wrap { max-width: none !important; display: grid; grid-template-columns: minmax(0, 40rem); justify-content: center; }
.sdn .recap-card { margin: 34px 0 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.sdn[data-route] .sect > .wrap[style*="text-align:center"] { padding: 110px var(--m) 60px !important; }
.sdn[data-route] .sect > .wrap[style*="text-align:center"] > div:first-child { font-size: 9rem !important; line-height: 1; letter-spacing: -0.04em; font-weight: 600 !important; color: rgba(255, 255, 255, 0.42) !important; }
.sdn[data-route] .sect > .wrap[style*="text-align:center"] h1 { margin: 6px 0 12px !important; font-size: 2.5rem !important; line-height: 1.1; letter-spacing: -0.024em; font-weight: 600; }
.sdn[data-route] .sect > .wrap[style*="text-align:center"] p { color: var(--label2) !important; font-size: 1.3125rem; line-height: 1.38; max-width: 26em; margin-inline: auto; margin-bottom: 30px !important; text-wrap: balance; }
@media (max-width: 1080px) {
  .sdn .guide-layout, .sdn .legal-layout { grid-template-columns: minmax(0, 1fr); }
  .sdn .guide-toc { position: static; margin: 30px 0 0; padding: 18px 20px 12px; border-radius: 22px; background: var(--tile); order: 2; }
  .sdn .article { order: 1; }
  .sdn .legal-toc { position: static; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 34px; padding: 0; border-radius: 0; background: none; }
  .sdn .legal-toc h3 { display: none; }
  .sdn .legal-toc a { min-height: 44px; padding: 0 16px; border-radius: 22px; background: rgba(255, 255, 255, 0.16); color: #fff; font-weight: 500; }
  .sdn .cx-row { grid-template-columns: 52px minmax(0, 1fr) auto; }
  .sdn .cx-row .cx-ty { grid-column: 2; grid-row: 1; font-size: 0.8125rem; }
  .sdn .cx-row .cx-ty small { display: inline; margin-left: 6px; }
  .sdn .cx-row > .rx-th { grid-row: 1 / span 3; align-self: start; }
  .sdn .cx-row > div { grid-column: 2; grid-row: 2; }
  .sdn .cx-fmt { grid-column: 2; grid-row: 3; margin-top: 4px; }
  .sdn .cx-pr { grid-column: 3; grid-row: 1 / span 2; align-self: start; }
  .sdn .cx-add { grid-column: 3; grid-row: 3; align-self: end; }
  .sdn .cx-ttl::after { inset: 0; }
  .sdn .cx-ttl { display: block; }
  .sdn .cx-art { display: block; margin: 2px 0 0; }
}
@media (max-width: 760px) {
  .sdn .sect { padding-bottom: 90px; }
  .sdn .sect-head { padding-top: 40px; }
  .sdn .sect-head h1, .sdn .js .sect-head h1 { font-size: 2.5rem; line-height: 1.06; letter-spacing: -0.026em; }
  .sdn .sect-head.ph-objet h1 { font-size: 2.125rem; }
  .sdn .sect-head .sub, .sdn .pour-intro, .sdn .article .meta { font-size: 1.125rem; }
  .sdn .faq summary, .sdn .rx-faq summary { font-size: 1.0625rem; }
  .sdn .faq .a, .sdn .rx-faq .a { padding-right: 8px; }
  .sdn .rx-ggrp { display: block; }
  .sdn .rx-ggrp-h { position: static; padding: 26px 0 0; }
  .sdn .gcard { gap: 0 18px; padding: 20px 0 22px; }
  .sdn .gcard > .rx-th { width: 52px; align-self: start; margin-top: 4px; }
  .sdn .gcard h3 { font-size: 1.375rem; }
  .sdn .gcard p { font-size: 1rem; }
  .sdn .aide-grid { grid-template-columns: minmax(0, 1fr); margin-top: 26px; }
  .sdn .legal-layout { margin-top: 44px; }
  .sdn .legal-body h2, .sdn .aide-h2 { font-size: 1.875rem; margin-top: 56px !important; }
  .sdn .frow { grid-template-columns: minmax(0, 1fr); }
  .sdn .triage-card { padding: 20px 18px 8px; border-radius: 24px; }
  .sdn .pour-wrap { padding-bottom: 90px; }
  .sdn .cat-h2 { margin-top: 52px; font-size: 1.625rem; }
  .sdn .pkcard { padding: 24px 22px 22px; border-radius: 26px; }
  .sdn .pk-nm { font-size: 1.5rem; }
  .sdn .pk-list { columns: 1; }
  .sdn .encart { border-radius: 22px; }
  .sdn .rx-read { margin: 26px -8px 0; padding: 0 20px 28px; border-radius: 26px; }
  .sdn .rx-read > h2:first-child { margin-top: 28px; }
  .sdn .legal-body.rx-read { padding-top: 28px; }
  .sdn .encart > div:last-child { width: 100%; }
  .sdn .encart .btn { flex: 1; }
  .sdn[data-route] .sect > .wrap[style*="text-align:center"] > div:first-child { font-size: 6rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  .sdn .faq details::details-content, .sdn .rx-faq details::details-content, .sdn .faq summary::after, .sdn .rx-faq summary::after { transition: none; }
}
.sdn .rx-ask { --q: clamp(2.5rem, min(5.4vw, calc(var(--vh) * 8.6)), 5.25rem); --lb: clamp(1.5rem, min(2.5vw, calc(var(--vh) * 4.1)), 2.25rem); --rowh: clamp(54px, calc(var(--vh) * 7.7), 72px); --bleed: 18px;
  padding-top: clamp(6px, calc(var(--vh) * 2), 22px); padding-inline: var(--m); }
.sdn .sel-page { padding-top: 0; }
.sdn .sel-page .selector { max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
.sdn .sel-page .sel-body { padding: 0; min-height: 0; }
.sdn .sel-page .sel-top, .sdn .sel-page .sel-progress, .sdn .sel-page #selback { display: none; }
.sdn button.ak-crumb, .sdn button.ak-again { font-family: inherit; border: 0; cursor: pointer; }
.sdn button.ak-again { background: none; }
.sdn #selbody > .ak-line { width: 100%; box-sizing: border-box; grid-column: 1 / -1; }
.sdn #selbody .ak-line .sel-back { margin-top: 0; margin-bottom: 0; font-weight: 500; }
.sdn .ak-line { display: flex; align-items: center; gap: 6px 24px; min-height: 44px; margin: 0; }
.sdn .ak-trail { flex-wrap: wrap; }
.sdn .ak-name { font-size: 1.3125rem; line-height: 1.3; letter-spacing: -0.016em; font-weight: 500; color: var(--label2); }
.sdn .ak-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 9px; min-width: 0; }
.sdn .ak-crumbs > svg { flex: none; width: 6px; height: 11px; color: var(--label3); }
.sdn .ak-crumb { position: relative; display: inline-flex; align-items: center; min-height: 36px; max-width: 100%; padding: 7px 14px; border-radius: 18px; background: rgba(255, 255, 255, 0.15); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16); color: #fff; font-size: 0.9375rem; font-weight: 500; letter-spacing: -0.004em; line-height: 1.25; transition: background-color 160ms ease, transform 100ms ease-out; }
.sdn .ak-crumb::before { content: ""; position: absolute; inset: -4px 0; }
.sdn .ak-crumb:active { transform: scale(0.97); }
@media (hover: hover) { .sdn .ak-crumb:hover { background: rgba(255, 255, 255, 0.25); } }
.sdn .ak-again { position: relative; display: inline-flex; align-items: center; min-height: 44px; margin-left: auto; padding: 0 2px; font-size: 0.9375rem; font-weight: 500; color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.42); text-decoration-thickness: 1px; text-underline-offset: 0.24em; white-space: nowrap; transition: text-decoration-color 160ms ease; }
@media (hover: hover) { .sdn .ak-again:hover { text-decoration-color: #fff; } }
.sdn .ak-q, .sdn .sel-q.ak-q, .sdn .sel-res-title.ak-q, .sdn .hm-hero .sel-welcome .wq.ak-q { margin: clamp(2px, calc(var(--vh) * 0.9), 10px) 0 0; max-width: 16em; font-size: var(--q); line-height: 1.04; letter-spacing: -0.034em; font-weight: 600; color: #fff; text-wrap: balance; }
.sdn .ak-q:focus { outline: none; }
.sdn .rx-nb { white-space: nowrap; }
.sdn .rx-ask .sel-opts.ak-rows { display: block; margin: clamp(14px, calc(var(--vh) * 3), 30px) 0 0; padding: 0; gap: 0; box-shadow: inset 0 -0.5px 0 var(--hair); }
.sdn a.ak-row { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr) auto; align-items: center; column-gap: 24px; width: auto; min-height: var(--rowh); height: auto; max-height: none; margin: 0; padding: 7px 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: #fff; text-align: left; opacity: 1; transform: none; animation: none; transition: none; -webkit-tap-highlight-color: transparent; }
.sdn a.ak-row > .ico, .sdn a.ak-row > .ar { display: none; }
.sdn a.ak-row > span:not(.ico):not(.ar) { display: contents; }
.sdn a.ak-row .lb { grid-column: 1; display: block; font-size: var(--lb); line-height: 1.14; letter-spacing: -0.026em; font-weight: 600; color: #fff; text-wrap: balance; }
.sdn a.ak-row .lb:only-child { grid-column: 1 / 3; }
.sdn a.ak-row .sb { grid-column: 2; display: block; margin: 0; font-size: 1.1875rem; line-height: 1.32; letter-spacing: -0.014em; color: var(--label2); text-wrap: pretty; transition: color 200ms ease; }
.sdn a.ak-row::before { content: ""; position: absolute; z-index: -1; inset: 2px calc(var(--bleed) * -1); border-radius: 18px; background: rgba(255, 255, 255, 0); transition: background-color 220ms ease, box-shadow 160ms ease; }
.sdn a.ak-row::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 0.5px; background: var(--hair); transition: opacity 180ms ease; }
.sdn .ak-key { display: none; }
@media (hover: hover) and (pointer: fine) {
  .sdn .ak-key { grid-column: 3; display: grid; place-items: center; min-width: 26px; height: 26px; margin: 0; padding: 0 7px; border-radius: 7px; background: rgba(255, 255, 255, 0.12); box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.22); color: var(--label2); font: 600 0.8125rem/1 var(--font); letter-spacing: 0; transition: background-color 200ms ease, color 200ms ease; }
  .sdn a.ak-row:hover::before { background: rgba(255, 255, 255, 0.1); }
  .sdn a.ak-row:hover .sb { color: #fff; }
  .sdn a.ak-row:hover .ak-key { background: #F5F5F7; color: #1D1D1F; }
  .sdn a.ak-row:hover::after, .sdn a.ak-row:hover + a.ak-row::after { opacity: 0; }
}
.sdn a.ak-row[data-on]::before, .sdn a.ak-row[data-was]::before { background: rgba(255, 255, 255, 0.11); }
.sdn a.ak-row[data-on] .sb { color: #fff; }
.sdn a.ak-row[data-on]::after, .sdn a.ak-row[data-on] + a.ak-row::after, .sdn a.ak-row[data-was]::after, .sdn a.ak-row[data-was] + a.ak-row::after { opacity: 0; }
.sdn a.ak-row:active::before, .sdn a.ak-row.is-picked::before { background: rgba(255, 255, 255, 0.18); transition-duration: 40ms; }
.sdn a.ak-row.is-picked { box-shadow: none; transform: none; border: 0; }
.sdn a.ak-row.is-picked .lb { color: #fff; }
.sdn a.ak-row:focus-visible { outline: none; }
.sdn a.ak-row:focus-visible::before { background: rgba(255, 255, 255, 0.11); box-shadow: 0 0 0 2px #fff; }
.sdn .rx-ask a.sel-opt.hm-all .ak-key { display: none; }
.sdn .rx-ask:has(a.sel-opt.is-picked) .ak-q, .sdn .rx-ask:has(a.sel-opt.is-picked) a.sel-opt:not(.is-picked), .sdn .rx-ask:has(a.sel-opt.is-picked) .hm-facts { opacity: 0; transition: opacity 150ms ease; }
@keyframes rx-rise { from { opacity: 0; transform: translate3d(0, 16px, 0); } to { opacity: 1; transform: none; } }
@keyframes rx-fade { from { opacity: 0; } to { opacity: 1; } }
.sdn .rx-ask[data-enter] .ak-line { animation: rx-fade 520ms ease backwards; }
.sdn .rx-ask[data-enter] .ak-q { animation: rx-rise 680ms cubic-bezier(0.2, 0.8, 0.2, 1) 60ms backwards; }
.sdn .rx-ask[data-enter] a.ak-row { animation: rx-rise 600ms cubic-bezier(0.2, 0.8, 0.2, 1) backwards; animation-delay: calc(200ms + var(--i) * 55ms); }
.sdn .rx-ask[data-enter] a.sel-opt.hm-all, .sdn .rx-ask[data-enter] .hm-facts { animation: rx-fade 560ms ease 560ms backwards; }
.sdn .rx-ask[data-step] .ak-line { animation: rx-fade 300ms ease backwards; }
.sdn .rx-ask[data-step] .ak-q { animation: rx-rise 460ms cubic-bezier(0.2, 0.8, 0.2, 1) 110ms backwards; }
.sdn .rx-ask[data-step] a.ak-row { animation: rx-rise 440ms cubic-bezier(0.2, 0.8, 0.2, 1) backwards; animation-delay: calc(150ms + var(--i) * 34ms); }
.sdn .rx-ask[data-step] a.sel-opt.hm-all, .sdn .rx-ask[data-step] .hm-facts, .sdn .rx-ask[data-step] .note-legal, .sdn .rx-ask[data-step] .sel-pack, .sdn .rx-ask[data-step] .sel-prod, .sdn .rx-ask[data-step] .sel-also-h, .sdn .rx-ask[data-step] .sel-bridge { animation: rx-rise 460ms cubic-bezier(0.2, 0.8, 0.2, 1) 90ms backwards; }
.rx-flyt { position: absolute; left: 0; top: 0; display: block; transform-origin: 0 0; color: #fff; text-wrap: balance; white-space: normal; pointer-events: none; will-change: transform; transition: opacity 140ms ease; }
.rx-flyt--off { opacity: 0; }
.sdn .note-legal { margin: 0 0 22px; padding: 16px 20px; border: 0; border-radius: 20px; background: rgba(22, 22, 24, 0.36); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 0 0.5px rgba(255, 255, 255, 0.1); color: var(--label); font-size: 1.0625rem; line-height: 1.5; text-wrap: pretty; }
.sdn .note-legal b { color: #fff; font-weight: 600; }
.sdn .sel-page[data-leaf] .ak-q { max-width: 18em; margin-bottom: clamp(16px, calc(var(--vh) * 3), 30px); }
.sdn .sel-page[data-leaf] .sel-body { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 56px; row-gap: 0; max-width: 54rem; }
@media (min-width: 1100px) {
  .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) { grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); max-width: none; }
  .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) > .ak-q, .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) > .note-legal { grid-column: 1 / -1; }
  .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) > .sel-pack { grid-column: 1; grid-row: span 40; align-self: start; margin-bottom: 0; }
  .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) > .sel-prod, .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) > .sel-also-h, .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) > .sel-bridge { grid-column: 2; }
  .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) > .sel-also-h { margin-top: 26px; }
  .sdn .sel-page[data-leaf] .sel-body:has(> .sel-pack) > .sel-bridge { justify-self: start; }
}
.sdn .sel-pack { position: relative; margin: 0 0 22px; padding: 30px 30px 28px; border: 0; border-radius: 30px; background: var(--tile); overflow: hidden; min-height: 250px; }
.sdn .sel-pack > *:not(.rx-fan) { position: relative; z-index: 1; max-width: 60%; }
.sdn .sel-pack .flag { position: static; display: inline-flex; align-items: center; height: 26px; margin: 0 0 12px; padding: 0 11px; border-radius: 13px; background: #F5F5F7; color: #1D1D1F; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.sdn .sel-pack .pnm { margin: 0; font-size: 2rem; line-height: 1.12; letter-spacing: -0.022em; font-weight: 600; color: var(--label); }
.sdn .sel-pack .pinc { margin: 8px 0 0; font-size: 1.0625rem; line-height: 1.42; color: var(--label2); text-wrap: pretty; }
.sdn .sel-pack .ledger { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 18px 0 0; }
.sdn .sel-pack .was { font-size: 1.0625rem; color: var(--label3); text-decoration: line-through; }
.sdn .sel-pack .nowp { font-size: 1.75rem; font-weight: 600; letter-spacing: -0.022em; color: var(--label); font-variant-numeric: tabular-nums; }
.sdn .sel-pack .disc { padding: 3px 10px; border-radius: 11px; background: rgba(255, 255, 255, 0.2); color: #fff; font-size: 0.8125rem; font-weight: 600; }
.sdn .sel-pack .btn { margin-top: 18px !important; min-height: 2.75rem; padding: 0 1.375rem; font-size: 1.0625rem; }
.sdn .sel-pack .rx-fan--card { right: 6px; bottom: -6px; width: 300px; height: 190px; }
.sdn .sel-pack .rx-fan--card > span { width: 132px; margin-left: -66px; bottom: -84px; }
.sdn .sel-page .sel-prod { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto auto; align-items: center; gap: 0 18px; margin: 0; padding: 14px 0; border: 0; box-shadow: inset 0 0.5px 0 var(--hair); }
.sdn .sel-page .sel-prod:last-of-type { box-shadow: inset 0 0.5px 0 var(--hair), inset 0 -0.5px 0 var(--hair); }
.sdn .sel-page .sel-prod > .rx-th { width: 44px; }
.sdn .sel-page .sel-prod.sel-anim { grid-template-columns: 76px minmax(0, 1fr) auto auto; gap: 0 22px; padding: 18px 0; }
.sdn .sel-page .sel-prod.sel-anim > .rx-th { width: 76px; }
.sdn .sel-prod .lk { min-width: 0; color: var(--label); }
.sdn .sel-page .sel-prod .nm { display: block; font-size: 1.0625rem; line-height: 1.3; letter-spacing: -0.011em; font-weight: 600; color: var(--label); }
.sdn .sel-page .sel-prod.sel-anim .nm { font-size: 1.5rem; line-height: 1.2; letter-spacing: -0.019em; text-wrap: balance; }
.sdn .sel-page .sel-prod .ds { display: block; margin: 3px 0 0; font-size: 1.0625rem; color: var(--label2); }
.sdn .sel-page .sel-prod .pr { font-size: 1.0625rem; font-weight: 600; color: var(--label); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sdn .sel-page .sel-prod .pr small { margin-right: 4px; font-size: 0.8125rem; font-weight: 500; color: var(--label2); }
.sdn .sel-also-h { margin: 40px 0 6px; font-family: var(--font); font-size: 1.0625rem; font-weight: 500; letter-spacing: -0.011em; text-transform: none; color: var(--label2); }
.sdn .sel-bridge { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 22px 0 0; font-size: 1.0625rem; font-weight: 500; color: var(--label); }
.sdn .sel-bridge svg { opacity: 0.7; transition: transform 200ms ease; }
@media (hover: hover) { .sdn .sel-bridge:hover { text-decoration: none; } .sdn .sel-bridge:hover svg { transform: translateX(3px); } }
.sdn .sel-anim { opacity: 1; transform: none; }
.sdn .sel-anim:not(.ak-row) { animation-name: none; }
.sdn[data-route="recap"] .sect > .wrap { max-width: none !important; display: grid; grid-template-columns: minmax(0, 40rem); justify-content: center; }
.sdn .recap-card { margin: 26px 0 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.sdn .recap-card .ditem { grid-template-columns: 52px minmax(0, 1fr) auto; padding: 18px 0; }
.sdn .recap-card .ditem > .rx-th { width: 52px; }
.sdn .recap-card .ditem .nm { font-size: 1.1875rem; letter-spacing: -0.014em; }
.sdn .recap-card .ditem-desc { font-size: 0.9375rem; }
.sdn .recap-card .ditem .pr { font-size: 1.0625rem; }
.sdn .recap-card .ditem .rm { background: var(--fill); color: var(--label); }
.sdn .recap-card .promo-box { margin: 18px 0 0; }
.sdn .recap-card .drawer-total { padding: 6px 0; font-size: 1.3125rem; letter-spacing: -0.016em; }
.sdn .recap-card .drawer-total.js-subtotal-row, .sdn .recap-card .drawer-total--discount { font-size: 1.0625rem; }
.sdn .drawer-email { display: block; margin: 8px 0 0; font-size: 0.9375rem; font-weight: 500; color: var(--label2); }
.sdn .drawer-email input { display: block; margin: 8px 0 0; }
.sdn[data-world="studio"] .recap-card .btn.red { background: var(--red); color: #fff; }
@media (hover: hover) { .sdn[data-world="studio"] .recap-card .btn.red:hover { background: var(--red-hi); color: #fff; } }
.sdn .od > .wrap { display: grid; grid-template-columns: minmax(0, 44rem); justify-content: center; }
.sdn .od-card { padding: 64px 0 0; }
.sdn .od-badge { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 0 22px; border-radius: 28px; background: var(--fill); color: var(--label); }
.sdn .od-badge.ok { background: rgba(91, 211, 138, 0.18); color: #7BE0A2; }
.sdn .od-badge.warn { background: rgba(242, 180, 90, 0.18); color: #F2B45A; }
.sdn .od-badge.bad { background: rgba(255, 107, 107, 0.18); color: #FF8A8A; }
.sdn .od-spin { display: block; width: 24px; height: 24px; border-radius: 12px; border: 2.4px solid rgba(255, 255, 255, 0.24); border-top-color: #fff; animation: rx-spin 0.9s linear infinite; }
@keyframes rx-spin { to { transform: rotate(360deg); } }
.sdn .od-kick.ok { color: #7BE0A2; } .sdn .od-kick.warn { color: #F2B45A; } .sdn .od-kick.bad { color: #FF8A8A; }
.sdn .od-card h1 { margin: 8px 0 0; font-size: 3.5rem; line-height: 1.06; letter-spacing: -0.027em; font-weight: 600; color: var(--label); text-wrap: balance; }
.sdn .od-lead { margin: 16px 0 0; max-width: 32em; font-size: 1.3125rem; line-height: 1.38; letter-spacing: -0.016em; color: var(--label2); text-wrap: pretty; }
.sdn .od-list { margin: 34px 0 0; box-shadow: inset 0 -0.5px 0 var(--hair); }
.sdn .od-item { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 0 18px; padding: 14px 0; box-shadow: inset 0 0.5px 0 var(--hair); }
.sdn .od-item > .rx-th { width: 52px; }
.sdn .od-item > .rx-fan { width: 52px; height: 74px; }
.sdn .od-item > .rx-fan > span { left: 6px; top: 6px; width: 40px; }
.sdn .od-item > .rx-fan > span:nth-child(1) { transform: translate(-6px, 2px) rotate(-9deg); }
.sdn .od-item > .rx-fan > span:nth-child(2) { transform: translate(7px, 1px) rotate(8deg); }
.sdn .od-item .nm { font-size: 1.1875rem; line-height: 1.28; letter-spacing: -0.014em; font-weight: 600; color: var(--label); text-wrap: pretty; }
.sdn .od-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.sdn .od-facts { margin: 34px 0 0; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.sdn .od-note { margin: 26px 0 0; max-width: 40em; font-size: 0.9375rem; line-height: 1.5; color: var(--label2); text-wrap: pretty; }
.sdn .od-note a { color: var(--label); font-weight: 500; text-decoration: underline; text-decoration-color: rgba(245, 245, 247, 0.4); text-underline-offset: 0.22em; }
.sdn .od-resend { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 0; }
.sdn .od-resend input { flex: 1 1 260px; min-width: 0; min-height: 2.75rem; padding: 0 20px; border: 0; border-radius: 999px; background: var(--fill); color: var(--label); font: inherit; font-size: 1.0625rem; -webkit-appearance: none; appearance: none; }
.sdn .od-resend input::placeholder { color: var(--label3); opacity: 1; }
.sdn .od-resend input:focus { outline: 2px solid var(--focus); outline-offset: 2px; background: var(--fill2); }
.sdn .od-more { margin: 96px 0 0; }
.sdn .od-more h2 { margin: 0; font-size: 2rem; line-height: 1.12; letter-spacing: -0.022em; font-weight: 600; color: var(--label); }
.sdn .od-more .gcard h3 { font-size: 1.5rem; }
.sdn .pl h2 { margin: 64px 0 0; padding: 22px 0 0; box-shadow: inset 0 0.5px 0 var(--hair); font-size: 2rem; line-height: 1.12; letter-spacing: -0.022em; font-weight: 600; color: var(--label); }
.sdn .pl h3 { margin: 30px 0 0; font-size: 1.0625rem; font-weight: 500; color: var(--label2); }
.sdn .pl-n { margin-left: 8px; font-size: 1.0625rem; font-weight: 500; color: var(--label2); letter-spacing: -0.011em; }
.sdn .pl-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 0 40px; margin: 12px 0 0; padding: 0; list-style: none; }
.sdn .pl-list li { margin: 0; padding: 0; }
.sdn .pl-list a { display: inline-flex; align-items: center; min-height: 40px; padding: 4px 0; font-size: 1.0625rem; line-height: 1.3; color: var(--label); transition: color 160ms ease; }
.sdn .pl-list .pl-n { font-size: 0.9375rem; }
@media (hover: hover) { .sdn .pl-list a:hover { color: var(--label2); } }
@media (max-width: 760px) {
  .sdn .rx-ask { --q: clamp(2rem, 9.4vw, 2.5rem); --lb: 1.375rem; --rowh: clamp(58px, calc(var(--vh) * 8.3), 72px); --bleed: 12px; padding-top: 8px; }
  .sdn .ak-q, .sdn .sel-q.ak-q, .sdn .sel-res-title.ak-q, .sdn .hm-hero .sel-welcome .wq.ak-q { margin-top: 6px; line-height: 1.07; letter-spacing: -0.03em; }
  .sdn .rx-ask .sel-opts.ak-rows { margin-top: clamp(12px, calc(var(--vh) * 2.2), 20px); }
  .sdn a.ak-row { grid-template-columns: minmax(0, 1fr); row-gap: 2px; padding: clamp(6px, calc(var(--vh) * 1.2), 9px) 0; }
  .sdn .ak-key { display: none; }
  .sdn a.ak-row .lb, .sdn a.ak-row .lb:only-child { grid-column: 1; line-height: 1.2; letter-spacing: -0.019em; }
  .sdn a.ak-row .sb { grid-column: 1; font-size: 0.9375rem; letter-spacing: -0.004em; }
  .sdn a.ak-row::before { border-radius: 14px; }
  .sdn .ak-trail { padding: 4px 0 2px; gap: 2px 14px; }
  .sdn .ak-crumbs { gap: 6px 7px; }
  .sdn .ak-crumbs > svg { display: none; }
  .sdn .ak-crumb { min-height: 34px; padding: 6px 13px; }
  .sdn .ak-crumb::before { inset: -5px 0; }
  .sdn .ak-name { font-size: 0.9375rem; letter-spacing: -0.006em; }
  .sdn .ak-again { margin-left: 0; }
  .sdn .od-card h1 { font-size: 2.25rem; line-height: 1.08; letter-spacing: -0.025em; margin-bottom: 0; }
  .sdn .sel-pack { padding: 24px 22px 150px; border-radius: 26px; }
  .sdn .sel-pack > *:not(.rx-fan) { max-width: none; }
  .sdn .sel-pack .pnm { font-size: 1.75rem; }
  .sdn .sel-pack .rx-fan--card { right: 50%; margin-right: -130px; width: 260px; height: 150px; }
  .sdn .sel-pack .rx-fan--card > span { width: 104px; margin-left: -52px; bottom: -66px; }
  .sdn .sel-page .sel-prod, .sdn .sel-page .sel-prod.sel-anim { grid-template-columns: 52px minmax(0, 1fr) auto; gap: 4px 14px; }
  .sdn .sel-page .sel-prod.sel-anim > .rx-th, .sdn .sel-page .sel-prod > .rx-th { width: 52px; grid-row: 1 / span 2; align-self: start; }
  .sdn .sel-page .sel-prod .lk { grid-column: 2 / -1; }
  .sdn .sel-page .sel-prod .pr { grid-column: 2; grid-row: 2; }
  .sdn .sel-page .sel-prod .btn { grid-column: 3; grid-row: 2; }
  .sdn .sel-page .sel-prod.sel-anim .nm { font-size: 1.1875rem; letter-spacing: -0.014em; }
  .sdn .sel-page .sel-prod .ds { font-size: 0.9375rem; }
  .sdn .od-card { padding-top: 40px; }
  .sdn .od-lead { font-size: 1.125rem; }
  .sdn .od-item { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 0 14px; }
  .sdn .od-item > .rx-th { width: 44px; }
  .sdn .od-item .nm { font-size: 1.0625rem; }
  .sdn .od-actions .btn { flex: 1; }
  .sdn .pl h2 { margin-top: 44px; font-size: 1.625rem; }
  .sdn .pl-list a { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .sdn .od-spin { animation-duration: 2.4s; }
  .sdn .rx-ask[data-enter] *, .sdn .rx-ask[data-step] * { animation: none !important; }
  .sdn a.ak-row::before, .sdn a.ak-row::after, .sdn .rx-ask:has(a.sel-opt.is-picked) .ak-q, .sdn .rx-ask:has(a.sel-opt.is-picked) a.sel-opt:not(.is-picked) { transition: none; }
}
.sdn .rx-bg { opacity: 1; }
.sdn[data-page="qr"] .rx-bg i[data-c="N"] { background: radial-gradient(130% 95% at 42% 0%, #805613 0%, #6E4A10 44%, #432D08 100%); }
.sdn body > :not(.rx-bg):not(header):not(script):not(style) { position: relative; z-index: 1; }
.sdn header.main:not(.rx-habit), .sdn body > footer:not(.rx-habit), .sdn header.ps a.home { display: none !important; }
.sdn header.rx-habit .hactions { display: flex; align-items: center; gap: 8px; }
.sdn header.rx-habit a.cartbtn { display: grid; place-items: center; text-decoration: none; color: #fff; }
.sdn .rx-mm { display: none; }
@media (max-width: 900px) {
  .sdn .rx-mm { display: block; }
  .sdn .rx-mm > summary { list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .sdn .rx-mm > summary::-webkit-details-marker { display: none; }
  .sdn .rx-mm > summary svg { width: 22px; height: 22px; }
  .sdn .rx-mm .rx-mm-x, .sdn .rx-mm[open] .rx-mm-o { display: none; }
  .sdn .rx-mm[open] .rx-mm-x { display: block; }
  .sdn header.rx-habit .hactions .rx-mm[open] > summary { position: fixed; z-index: 92; top: calc(env(safe-area-inset-top, 0px) + 12px); right: max(14px, env(safe-area-inset-right, 0px)); width: 44px; min-width: 44px; height: 44px; border-radius: 22px; background: rgba(255, 255, 255, 0.16); }
  .sdn .rx-mm > summary:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
  .sdn header.rx-habit .hactions:has(.rx-mm[open]) { -webkit-backdrop-filter: none; backdrop-filter: none; }
  html.sdn:has(.rx-mm[open]) { overflow: hidden; }
  .sdn .rx-mm-p { position: fixed; inset: 0; z-index: 91; display: flex; flex-direction: column; overflow: hidden auto; overscroll-behavior: contain; pointer-events: auto;
    padding: env(safe-area-inset-top, 0px) max(20px, env(safe-area-inset-right, 0px)) 34px max(20px, env(safe-area-inset-left, 0px));
    background: radial-gradient(130% 95% at 42% 0%, #46464B 0%, #2B2B2E 44%, #161618 100%); color: #fff; text-align: left; }
  .sdn .rx-mm-brand { flex: none; display: flex; align-items: center; height: 68px; }
  .sdn .rx-mm-brand img { display: block; height: 40px; width: auto; }
  .sdn .rx-mm-k { margin: 14px 0 6px; font-size: 0.9375rem; font-weight: 500; letter-spacing: -0.008em; color: rgba(235, 235, 245, 0.6); }
  .sdn .rx-mm .mnav-links { display: block; margin: 0; padding: 0; }
  .sdn .rx-mm .mnav-links a { display: flex; align-items: center; gap: 12px; min-height: 54px; margin: 0; padding: 4px 0; border: 0; border-radius: 0; background: none; font-size: 1.75rem; line-height: 1.14; letter-spacing: -0.022em; font-weight: 600; color: #fff; text-decoration: none; }
  .sdn .rx-mm .mnav-links a::after { content: ""; flex: none; width: 9px; height: 9px; margin: 0 6px 0 auto; border-top: 2px solid rgba(255, 255, 255, 0.4); border-right: 2px solid rgba(255, 255, 255, 0.4); transform: rotate(45deg); }
  .sdn .rx-mm .mnav-links a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 6px; }
  .sdn .rx-mm .mnav-badge { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 11px; background: #2FA35A; color: #fff; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
}
.sdn .topbar > .wrap { padding-block: 0; }
.sdn[data-page] body { display: block; margin: 0; padding: 0; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) body > main { display: block; padding: 0; }
.sdn[data-page="commande"] .dl-list { max-width: none; margin: 0 0 22px; gap: 0; border-top: 1px solid var(--hair); }
.sdn[data-page="commande"] .dl-item { padding: 14px 0; border: 0; border-bottom: 1px solid var(--hair); border-radius: 0; background: none; }
.sdn[data-page="commande"] .dl-item .nm { font-size: 1.0625rem; font-weight: 500; line-height: 1.35; color: #fff; }
.sdn[data-page="commande"] .dl-item .btn { background: #F5F5F7; color: #1D1D1F; min-height: 40px; }
.sdn[data-page="commande"] #dlall { margin: 0 0 6px; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) body > main > .wrap { max-width: none; margin: 0; padding: 0 var(--m); }
.sdn .rx-use { padding: 0 var(--m); box-sizing: content-box; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .card { max-width: 740px; margin: clamp(32px, calc(var(--vh) * 6), 64px) auto 96px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: left; color: #fff; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .badge { width: 56px; height: 56px; margin: 0 0 26px; background: rgba(255, 255, 255, 0.12); }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .badge svg { width: 26px; height: 26px; color: var(--label2); }
.sdn[data-page="merci"] .badge, .sdn .card .badge.ok { background: rgba(91, 211, 138, 0.18); }
.sdn[data-page="merci"] .badge svg, .sdn .card .badge.ok svg { color: #7FDCA3; }
.sdn .card .spin { border-color: rgba(255, 255, 255, 0.22); border-top-color: #fff; }
.sdn[data-page="echec"] .badge, .sdn .card .badge.err { background: rgba(242, 139, 162, 0.2); }
.sdn[data-page="echec"] .badge svg, .sdn .card .badge.err svg { color: #F28BA2; }
.sdn .card .badge.warn { background: rgba(242, 180, 90, 0.2); } .sdn .card .badge.warn svg { color: #F2B45A; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .kick { display: block; margin: 0 0 8px; font-family: var(--font); font-size: 1.0625rem; font-weight: 500; letter-spacing: -0.01em; text-transform: none; color: var(--label2); }
.sdn[data-page="merci"] .kick, .sdn .card .kick-green { color: #7FDCA3; }
.sdn[data-page="echec"] .kick, .sdn .card .kick-red { color: #F28BA2; } .sdn .card .kick-amber { color: #F2B45A; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .card h1 { margin: 0 0 16px; font-size: clamp(2.5rem, 4.2vw, 3.5rem); line-height: 1.05; letter-spacing: -0.032em; font-weight: 600; color: #fff; text-wrap: balance; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .card .lead { margin: 0 0 28px; font-size: 1.3125rem; line-height: 1.38; color: var(--label2); }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .card :is(.lead, .note) { max-width: none; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .card .note + .actions { margin-top: 26px; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .card .note { margin: 22px 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--label2); }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .card a:not(.btn) { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.45); text-underline-offset: 0.2em; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .actions { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; margin: 0; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border: 0; border-radius: 22px; font: inherit; font-size: 1rem; font-weight: 500; text-decoration: none; background: rgba(255, 255, 255, 0.16); color: #fff; box-shadow: none; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .btn.red { background: #F5F5F7; color: #1D1D1F; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .cartouche { max-width: none; margin: 28px 0 0; padding: 22px 0 0; border: 0; border-top: 1px solid var(--hair); background: none; border-radius: 0; font-size: 0.9375rem; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .cartouche div { padding: 0 24px 0 0; border: 0; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .cartouche dt, .sdn .card .order .l { color: var(--label2); font-size: 0.875rem; font-family: var(--font); text-transform: none; letter-spacing: 0; }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .cartouche dd, .sdn .card .order .v { color: #fff; font-weight: 600; font-family: var(--font); }
.sdn:is([data-page="commande"], [data-page="merci"], [data-page="echec"]) .card input[type="email"] { min-height: 44px; padding: 0 16px; border: 0; border-radius: 22px; background: rgba(255, 255, 255, 0.12); color: #fff; font: inherit; }
.sdn .rx-use { max-width: 740px; margin: -40px auto 96px; }
.sdn .rx-use h2 { margin: 0 0 6px; padding: 0 0 18px; border-bottom: 1px solid var(--hair); font-size: 2rem; line-height: 1.1; letter-spacing: -0.025em; font-weight: 600; color: #fff; }
.sdn .rx-use a { display: block; padding: 18px 0; border-bottom: 1px solid var(--hair); text-decoration: none; color: #fff; }
.sdn .rx-use a small { display: block; margin: 0 0 4px; font-size: 0.875rem; color: var(--label2); }
.sdn .rx-use a b { display: block; font-size: 1.3125rem; font-weight: 600; letter-spacing: -0.015em; }
.sdn .rx-use a span { display: block; margin: 4px 0 0; color: var(--label2); }
@media (hover: hover) { .sdn .rx-use a:hover b { color: var(--label2); } }
.sdn[data-page="plan"] body > .wrap { max-width: none; margin: 0; padding: clamp(40px, calc(var(--vh) * 7), 72px) var(--m) 96px; }
.sdn[data-page="plan"] header.ps { border: 0; padding: 0; margin: 0 0 8px; }
.sdn[data-page="plan"] h1 { margin: 0 0 18px; font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: 1.04; letter-spacing: -0.035em; font-weight: 600; color: #fff; }
.sdn[data-page="plan"] .lead { margin: 0; font-size: 1.3125rem; line-height: 1.35; color: var(--label2); }
.sdn[data-page="plan"] h2 { margin: 64px 0 22px; padding-top: 40px; border-top: 1px solid var(--hair); font-size: 2rem; line-height: 1.1; letter-spacing: -0.025em; font-weight: 600; color: #fff; }
.sdn[data-page="plan"] h3 { margin: 26px 0 10px; font-size: 1.0625rem; font-weight: 600; color: var(--label2); }
.sdn[data-page="plan"] ul { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px 32px; }
.sdn[data-page="plan"] li { padding: 0; }
.sdn[data-page="plan"] a { color: #fff; border: 0; font-size: 1.0625rem; }
@media (hover: hover) { .sdn[data-page="plan"] a:hover { color: var(--label2); } }
.sdn[data-page="plan"] .count { margin-left: 8px; color: var(--label2); font-size: 0.9375rem; font-weight: 500; }
.sdn[data-page="plan"] .muted { color: var(--label3); }
@media (pointer: coarse) {
  .sdn header.rx-habit nav.primary a { display: inline-flex; align-items: center; min-height: 44px; }
  .sdn[data-page="plan"] body > .wrap a { display: inline-flex; align-items: center; min-height: 44px; }
}
.sdn[data-page="qr"] .help-sheet .hs-close { position: relative; }
.sdn[data-page="qr"] .help-sheet .hs-close::before { content: ""; position: absolute; inset: -5px; }
.sdn footer.rx-habit .wrap { width: auto; max-width: none; margin: 0; padding-inline: var(--m); }


.qp { --mut: rgba(255, 255, 255, 0.78); --preview-bg: transparent; --on-ink-soft: rgba(255, 255, 255, 0.8); --tint-red-bg: rgba(255, 107, 107, 0.18); --tint-red-line: transparent; --tint-green-bg: rgba(91, 211, 138, 0.16); --green-ink: #9BE8B8;
  --l2: rgba(255, 255, 255, 0.8); --l3: rgba(255, 255, 255, 0.62); --hl: rgba(255, 255, 255, 0.24);
  display: grid; grid-template-columns: 440px minmax(0, 1fr); gap: 0 clamp(40px, 4.4vw, 72px); align-items: start; max-width: calc(1360px + 2 * var(--m)); margin: 0 auto; padding: 0 var(--m) 110px; background: none; color: #fff;
  font: inherit; font-size: 1.0625rem; line-height: 1.47; letter-spacing: -0.011em; -webkit-font-smoothing: antialiased; }
.qp :focus { outline: none; }
.qp :focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.qp button, .qp a, .qp label { -webkit-tap-highlight-color: transparent; }
.qp .wrap { max-width: none; margin: 0; padding: 0; }
.qp > main, .qp .grid, .qp .qmain { display: contents; }
.qp > header { grid-column: 1 / -1; grid-row: 1; padding: 0; border: 0; background: none; }
.qp > header > .wrap { display: flex; flex-direction: column; }
.qp .hd { order: 2; display: block; padding: 0; margin: 20px 0 0; }
.qp .hd .brand { display: none; }
.qp .badges { gap: 8px; }
.qp .badge { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border: 0; border-radius: 14px; background: rgba(255, 255, 255, 0.17); color: #fff; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.qp .badge.red { background: #fff; color: #1D1D1F; }
.qp .hero { order: 1; padding: 22px 0 0; border: 0; }
.qp .qr-kick { display: block; margin: 0; font-family: inherit; font-size: 1.0625rem; font-weight: 500; letter-spacing: -0.011em; text-transform: none; color: var(--l2); }
.qp .hero h1 { margin: 8px 0 0; max-width: 12em; font-size: clamp(2.5rem, 4.9vw, 4.5rem); line-height: 1.04; letter-spacing: -0.03em; font-weight: 600; text-wrap: balance; }
.qp .hero h1 em { color: inherit; font-style: normal; }
.qp .hero p { margin: 16px 0 0; max-width: 35em; font-size: 1.1875rem; line-height: 1.42; letter-spacing: -0.014em; color: rgba(255, 255, 255, 0.86); text-wrap: pretty; }
.qp .stepper { display: none; }
.qp .qtabs { grid-column: 1; grid-row: 2; align-self: start; justify-self: start; display: inline-flex; align-items: center; gap: 0; height: 48px; margin: 40px 0 0; padding: 0 5px; border: 0; border-radius: 24px;
  background: rgba(0, 0, 0, 0.2); -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 0 0 0.5px rgba(255, 255, 255, 0.16), 0 8px 24px rgba(0, 0, 0, 0.16); }
.qp .qtabs button { height: 38px; margin: 0; padding: 0 16px; border: 0; border-radius: 19px; background: none; color: rgba(255, 255, 255, 0.86); font: inherit; font-size: 0.9375rem; font-weight: 500; cursor: pointer; white-space: nowrap; transition: color 160ms ease, background-color 160ms ease; }
.qp .qtabs button.on { background: rgba(255, 255, 255, 0.2); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3); color: #fff; }
.qp .step[data-step="1"] { display: block; grid-column: 1; grid-row: 2 / span 3; margin-top: 100px; position: sticky; top: calc(var(--bar, 68px) + 10px); max-height: calc(var(--vh, 1vh) * 100 - var(--bar, 68px) - 22px); overflow: hidden auto; overscroll-behavior: contain; scrollbar-width: none; padding: 4px 26px 26px; border-radius: 32px;
  background: rgba(22, 22, 24, 0.62); -webkit-backdrop-filter: blur(44px) saturate(190%); backdrop-filter: blur(44px) saturate(190%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 0 0 0.5px rgba(255, 255, 255, 0.14), 0 2px 6px rgba(0, 0, 0, 0.12), 0 30px 70px rgba(0, 0, 0, 0.34); }
.qp .step[data-step="1"]::-webkit-scrollbar { display: none; }
.qp .step1-wrap, .qp .step2-wrap { max-width: none; margin: 0; }
.qp .card { margin: 0; padding: 22px 0 14px; border: 0; border-radius: 0; background: none; box-shadow: inset 0 -0.5px 0 var(--hl); }
.qp .card h2, .qp .swico-sum { display: flex; align-items: center; gap: 10px; margin: 0 0 4px; font-size: 1.1875rem; line-height: 1.26; letter-spacing: -0.014em; text-transform: none; font-weight: 600; color: #fff; }
.qp .card h2 .n, .qp .swico-sum .n { flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 13px; background: rgba(255, 255, 255, 0.17); color: #fff; font-size: 0.75rem; font-weight: 600; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.qp .card h2 .count { margin-left: auto; float: none; }
.qp .card .hint { margin: 2px 0 14px; font-size: 0.9375rem; line-height: 1.42; color: var(--l2); text-wrap: pretty; }
.qp .row { gap: 10px; }
.qp .fld { margin-bottom: 12px; }
.qp label { display: block; margin: 0 0 6px; font-size: 0.8125rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: rgba(255, 255, 255, 0.76); }
.qp input[type=text], .qp input[type=date], .qp textarea, .qp select { width: 100%; min-height: 44px; margin: 0; padding: 10px 14px; border: 0; border-radius: 12px; background: rgba(255, 255, 255, 0.14); color: #fff; font: inherit; font-size: 1.0625rem; letter-spacing: -0.011em; color-scheme: dark; -webkit-appearance: none; appearance: none; transition: background-color 160ms ease; }
.qp input::placeholder, .qp textarea::placeholder { color: rgba(255, 255, 255, 0.42); opacity: 1; }
.qp input:focus, .qp textarea:focus, .qp select:focus { outline: 2px solid #fff; outline-offset: 1px; border: 0; background: rgba(255, 255, 255, 0.2); }
.qp select { padding-right: 38px; cursor: pointer; background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%); background-size: 5px 5px, 5px 5px; background-position: calc(100% - 19px) 50%, calc(100% - 14px) 50%; background-repeat: no-repeat; }
.qp select option { background: #1D1D1F; color: #F5F5F7; }
.qp textarea { min-height: 76px; line-height: 1.4; resize: vertical; }
.qp .mono { font-variant-numeric: tabular-nums; letter-spacing: 0.01em; }
.qp .ok { margin-top: 6px; font-size: 0.8125rem; line-height: 1.38; color: #B8F2CE; }
.qp .err { margin-top: 6px; font-size: 0.8125rem; line-height: 1.38; color: #FFC2C2; }
.qp .note { margin-top: 6px; font-size: 0.8125rem; line-height: 1.38; color: var(--l2); overflow-wrap: anywhere; }
.qp .count { font-size: 0.8125rem; font-weight: 500; color: var(--l3); font-variant-numeric: tabular-nums; }
.qp .radios { gap: 6px; margin-bottom: 12px; }
.qp .radio { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 12px 14px; border: 0; border-radius: 14px; background: rgba(255, 255, 255, 0.1); color: #fff; cursor: pointer; transition: background-color 160ms ease; }
.qp .radio:has(input:checked) { background: rgba(255, 255, 255, 0.2); }
.qp .radio input, .qp .switch input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #fff; }
.qp .radio b { display: block; font-size: 0.9375rem; line-height: 1.3; font-weight: 600; }
.qp .radio small { display: block; margin-top: 1px; font-size: 0.8125rem; line-height: 1.38; color: var(--l2); }
.qp .radio.dis { opacity: 0.45; }
.qp .switch { display: flex; align-items: flex-start; gap: 12px; margin: 8px 0 14px; font-size: 0.9375rem; line-height: 1.4; font-weight: 450; color: #fff; cursor: pointer; }
.qp details.swico { padding-top: 22px; }
.qp details.swico[open] { padding-bottom: 14px; }
.qp .swico-sum { margin: 0; }
.qp .swico-sum::before { content: ""; order: 3; flex: none; width: 12px; height: 12px; margin-left: 4px; background: linear-gradient(#fff, #fff) 50% 50% / 12px 1.5px no-repeat, linear-gradient(#fff, #fff) 50% 50% / 1.5px 12px no-repeat; transition: transform 300ms cubic-bezier(0.2, 0.8, 0.2, 1); }
.qp details[open] .swico-sum::before { content: ""; transform: rotate(45deg); }
.qp .swico-opt { margin-left: auto; font-size: 0.8125rem; font-weight: 500; color: var(--l2); }
.qp button { font: inherit; letter-spacing: inherit; }
.qp button.primary, .qp .xpack button, .qp .final-card .fbtn { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: 0 1.375rem; border: 0; border-radius: 999px; background: #fff; color: #1D1D1F; font-size: 1.0625rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: transform 100ms ease-out, background-color 160ms ease; }
.qp button.primary, .qp button.primary:hover { box-shadow: none; }
.qp button.primary:active, .qp .xpack button:active, .qp .final-card .fbtn:active { transform: scale(0.97); }
.qp .actions button:not(.primary):not(.link) { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: 0 1.375rem; border: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.17); color: #fff; font-size: 1.0625rem; font-weight: 500; cursor: pointer; white-space: nowrap; transition: transform 100ms ease-out, background-color 160ms ease; }
@media (hover: hover) {
  .qp button.primary:hover, .qp .xpack button:hover, .qp .final-card .fbtn:hover { background: rgba(255, 255, 255, 0.9); border: 0; }
  .qp .actions button:not(.primary):not(.link):hover { background: rgba(255, 255, 255, 0.27); border: 0; }
  .qp .qtabs button:hover { color: #fff; }
}
.qp button.link { display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 0; border: 0; background: none; color: #fff; font-size: 0.9375rem; font-weight: 500; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.5); text-underline-offset: 0.22em; cursor: pointer; }
.qp #fillSample { margin-top: 8px; }
.qp #errors { margin: 10px 0 0; padding: 14px 16px; border: 0; border-radius: 16px; background: rgba(255, 107, 107, 0.2); }
.qp #errors h3 { margin: 0 0 6px; font-size: 0.9375rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: #FFD0D0; }
.qp #errors ul { margin: 0; padding-left: 18px; font-size: 0.9375rem; line-height: 1.42; color: #fff; }
.qp .stepnav { display: block; margin: 16px 0 0; }
.qp #goStep2 { width: 100%; min-height: 3.125rem; }
.qp .batch-panel .card { box-shadow: none; }
.qp input[type=file] { width: 100%; font: inherit; font-size: 0.9375rem; color: var(--l2); }
.qp input[type=file]::file-selector-button { min-height: 40px; margin-right: 12px; padding: 0 16px; border: 0; border-radius: 20px; background: rgba(255, 255, 255, 0.17); color: #fff; font: inherit; font-weight: 500; cursor: pointer; }
.qp .batch-status { font-size: 0.9375rem; color: #fff; }
.qp .batch-status.ok { color: #B8F2CE; }
.qp .batch-status.bad { color: #FFC2C2; }
.qp .err-list { font-size: 0.8125rem; }
.qp .err-list li { color: #FFC2C2; border-top: 0.5px solid var(--hl); padding: 4px 0; }
.qp .step[data-step="2"] { display: block; grid-column: 2; grid-row: 2; padding: 40px 0 0; }
.qp .back-link { display: none; }
.qp .sheetOuter { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.qp .sheetOuter h2 { margin: 0 0 14px; font-size: 1.0625rem; font-weight: 500; letter-spacing: -0.011em; text-transform: none; color: var(--l2); }
.qp #sheetWrap { padding: 0; border-radius: 0; background: none; overflow: visible; max-width: 822px; }
.qp #sheet { border-radius: 3px; box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.18), 0 2px 5px rgba(0, 0, 0, 0.14), 0 14px 30px rgba(0, 0, 0, 0.2), 0 44px 90px rgba(0, 0, 0, 0.26); }
.qp #sheet svg.qr { position: absolute; left: 67mm; top: 17mm; width: 46mm; height: 46mm; }
.qp:not([data-ready]) #sheetScale { display: none; }
.qp #empty { max-width: 794px; padding: calc(25% - 1.6em) 28px; border-radius: 6px; background: rgba(0, 0, 0, 0.08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24); color: rgba(255, 255, 255, 0.92); font-size: 1.0625rem; line-height: 1.4; text-align: center; text-wrap: balance; }
.qp .sheetOuter { position: relative; }
.qp .qr-try { position: absolute; top: -10px; right: max(0px, calc(100% - 794px)); gap: 8px; margin: 0; text-decoration: none; }
.qp .qr-try svg { width: 7px; height: 12px; opacity: 0.8; }
.qp[data-ready] .qr-try { display: none; }
.qp .actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; }
.qp .privacy { margin: 16px 0 0; max-width: 48em; font-size: 0.8125rem; line-height: 1.45; color: var(--l2); text-wrap: pretty; }
.qp #dlValidate { margin-top: 4px; }
.qp .side { grid-column: 2; grid-row: 3; position: static; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 34px; margin: 44px 0 0; padding: 26px 0 0; box-shadow: inset 0 0.5px 0 var(--hl); }
@media (min-width: 1081px) {
  .sdn[data-page="qr"]:not([data-dl]) .qp { grid-template-rows: auto auto 1fr auto auto; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .step[data-step="1"] { grid-row: 2 / span 2; position: static; max-height: none; overflow: visible; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .card { scroll-margin-top: calc(var(--bar, 68px) + 24px); }
  .sdn[data-page="qr"]:not([data-dl]) .qp .stepnav { display: none; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .side { grid-row: 2 / span 4; align-self: start; position: sticky; top: calc(var(--bar, 68px) + 8px); z-index: 2;
    margin: 40px 0 calc(var(--qr-prev-h, 0px) + 14px); padding: 0 0 22px; box-shadow: inset 0 -0.5px 0 var(--hl); }
  .sdn[data-page="qr"]:not([data-dl]) .qp .side .rline { display: none; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .step[data-step="2"], .sdn[data-page="qr"]:not([data-dl]) .qp .step2-wrap { display: contents; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .sheetOuter { grid-column: 2; grid-row: 2 / span 4; align-self: start; position: sticky; top: calc(var(--bar, 68px) + 22px + var(--qr-side-h, 250px));
    margin-top: calc(54px + var(--qr-side-h, 250px)); padding-top: 0; }
  .sdn[data-page="qr"]:not([data-dl]) .qp #sheetWrap { max-width: var(--qr-sheet-max, 822px); }
  .sdn[data-page="qr"]:not([data-dl]) .qp[data-qr-libre] .sheetOuter { position: relative; top: auto; }
  .sdn[data-page="qr"]:not([data-dl]) .qp[data-qr-libre] .help-card:not(.on) { display: none; }
  .sdn[data-page="qr"]:not([data-dl]) .qp[data-qr-libre] .side { margin-bottom: 0; padding: 16px 20px 18px; border-radius: 24px; background: rgba(22, 22, 24, 0.78);
    -webkit-backdrop-filter: blur(30px) saturate(170%); backdrop-filter: blur(30px) saturate(170%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 12px 30px rgba(0, 0, 0, 0.24); }
  .sdn[data-page="qr"]:not([data-dl]) .qp:has(#helpCol[data-mode="batch"]) .sheetOuter { display: none; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xsell { grid-column: 1; grid-row: 4; margin-top: 64px; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xsell h3 { font-size: 1.5rem; margin-bottom: 14px; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xcards { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xcard { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: start; gap: 0 14px; padding: 16px 0; box-shadow: inset 0 0.5px 0 var(--hl); }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xcard .rx-th { grid-row: 1 / span 4; width: 64px; margin: 0; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xcard :is(.xfmt, .xnm, .xd) { grid-column: 2 / -1; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xcard .xp { grid-column: 2; align-self: center; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xcard .xbtn { grid-column: 3; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xpack { margin-top: 20px; padding: 16px 20px 20px; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .xpack button { width: 100%; }
  .sdn[data-page="qr"]:not([data-dl]) .qp .rx-fan { display: none; }
  .sdn[data-page="qr"]:not([data-dl]) .qp > footer { grid-column: 1; grid-row: 5; }
}
@media (min-width: 1081px) and (max-height: 599px) {
  .sdn[data-page="qr"]:not([data-dl]) .qp .sheetOuter { position: relative; top: auto; }
}
.qp .side .scard { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.qp .side .scard > .st { margin: 0 0 10px; font-size: 0.9375rem; font-weight: 600; letter-spacing: -0.006em; text-transform: none; color: #fff; }
.qp .reassure .rcheck { gap: 10px; padding: 4px 0; font-size: 0.9375rem; color: var(--l2); }
.qp .reassure .rcheck .dot { width: 20px; height: 20px; border: 1.5px solid rgba(255, 255, 255, 0.46); color: transparent; }
.qp .reassure .rcheck .dot svg { width: 12px; height: 12px; }
.qp .reassure .rcheck.ok { color: #fff; }
.qp .reassure .rcheck.ok .dot { border-color: #fff; background: #fff; color: #1D1D1F; }
.qp .reassure .rcheck.bad { color: #FFD0D0; }
.qp .reassure .rcheck.bad .dot { border-color: #FFB3B3; color: transparent; }
.qp .reassure .rline { margin: 12px 0 0; padding: 12px 0 0; border-top: 0.5px solid var(--hl); font-size: 0.8125rem; line-height: 1.45; color: var(--l2); }
.qp .reassure .rline b { color: #fff; font-weight: 600; }
.qp .fil li { gap: 10px; padding: 4px 0; font-size: 0.9375rem; color: var(--l2); }
.qp .fil li .fn { width: 22px; height: 22px; border: 1.5px solid rgba(255, 255, 255, 0.46); color: var(--l2); font-size: 0.75rem; font-weight: 600; }
.qp .fil li.on { color: #fff; font-weight: 600; }
.qp .fil li.on .fn { border-color: #fff; background: #fff; color: #1D1D1F; }
.qp .fil li.done .fn { border-color: transparent; background: rgba(255, 255, 255, 0.3); color: #fff; }
.qp .help-card .ht { margin: 0 0 4px; font-size: 0.9375rem; font-weight: 600; color: #fff; }
.qp .help-card .hx { font-size: 0.9375rem; line-height: 1.45; color: var(--l2); text-wrap: pretty; }
.qp .final-card, .qp .side[data-mode="2"] .final-card { grid-column: 1 / -1; padding: 24px 26px; border-radius: 26px; background: rgba(22, 22, 24, 0.3); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 0 0.5px rgba(255, 255, 255, 0.1); color: #fff; }
.qp .final-card .fk { font-family: inherit; font-size: 0.9375rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--l2); }
.qp .final-card .fq { margin: 4px 0 4px; font-size: 1.5rem; line-height: 1.18; letter-spacing: -0.019em; font-weight: 600; }
.qp .final-card .fp { margin: 0 0 16px; font-size: 1.0625rem; color: var(--l2); }
.qp .final-card .fbtn.is-in, .qp .xpack button.is-in { background: rgba(255, 255, 255, 0.24); color: #fff; }
.qp .xsell { margin: 80px 0 0; }
.qp .xsell h3 { margin: 0 0 26px; max-width: 18em; font-size: 2rem; line-height: 1.12; letter-spacing: -0.022em; font-weight: 600; text-transform: none; color: #fff; text-wrap: balance; }
.qp .xcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 28px; }
.qp .xcard { display: flex; flex-direction: column; align-items: flex-start; gap: 0; width: 100%; padding: 0; border: 0; border-radius: 0; background: none; color: #fff; text-align: left; font: inherit; cursor: pointer; }
.qp .rx-th { position: relative; display: block; aspect-ratio: 0.7071; border-radius: 3px; overflow: hidden; background: #fff; box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.16), 0 1px 3px rgba(0, 0, 0, 0.14), 0 8px 20px rgba(0, 0, 0, 0.2); }
.qp .rx-th[data-w] { aspect-ratio: 1.294; }
.qp .rx-th img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.qp .xcard .rx-th { width: 132px; margin: 0 0 12px; transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1); }
@media (hover: hover) { .qp .xcard:hover .rx-th { transform: translateY(-3px) scale(1.02); } .qp .xcard:hover { border: 0; } }
.qp .xcard .xfmt { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.01em; text-transform: none; color: rgba(255, 255, 255, 0.8); }
.qp .xcard .xnm { margin: 3px 0 0; font-size: 0.9375rem; line-height: 1.28; font-weight: 600; }
.qp .xcard .xd { flex: 0 0 auto; margin: 5px 0 0; font-size: 0.8125rem; line-height: 1.36; color: var(--l2); }
.qp .xcard .xp { margin: 10px 0 0; font-size: 0.9375rem; font-weight: 600; color: #fff; font-variant-numeric: tabular-nums; }
.qp .xcard .xbtn { display: inline-flex; align-items: center; min-height: 2rem; margin: 10px 0 0; padding: 0 0.9rem; border-radius: 1rem; background: rgba(255, 255, 255, 0.2); color: #fff; font-size: 0.8125rem; font-weight: 600; }
.qp .xcard.is-in { border: 0; background: none; }
.qp .xcard.is-in .xbtn { background: transparent; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.34); color: rgba(255, 255, 255, 0.86); }
.qp .xcard.is-in .xd { color: var(--l2); }
.qp .xpack { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 12px 18px; margin: 34px 0 0; padding: 12px 22px 12px 8px; border-radius: 26px; background: rgba(22, 22, 24, 0.3); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 0 0.5px rgba(255, 255, 255, 0.1); color: #fff; }
.qp .xpack > div { flex: 1 1 240px; min-width: 0; }
.qp .xpack div b { margin: 0 0 2px; font-size: 1.1875rem; font-weight: 600; letter-spacing: -0.014em; }
.qp .xpack div span { font-size: 0.9375rem; color: var(--l2); }
.qp .rx-fan { position: relative; display: block; flex: none; width: 104px; height: 92px; }
.qp .rx-fan > span { position: absolute; left: 26px; top: 9px; width: 52px; aspect-ratio: 0.7071; background: #fff; border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.16), 0 5px 12px rgba(0, 0, 0, 0.24); }
.qp .rx-fan > span img { width: 100%; height: 100%; object-fit: cover; }
.qp .rx-fan > span:nth-child(1) { transform: translate(-15px, 3px) rotate(-10deg); }
.qp .rx-fan > span:nth-child(2) { transform: translate(15px, 2px) rotate(9deg); }
.qp .xnote { margin: 14px 0 0; text-align: left; font-size: 0.9375rem; color: #fff; }
.qp > footer { grid-column: 2; grid-row: 4; margin: 48px 0 0; padding: 22px 0 0; border: 0; box-shadow: inset 0 0.5px 0 var(--hl); font-size: 0.8125rem; line-height: 1.5; color: var(--l2); background: none; }
.qp > footer .wrap { padding: 0; background: none; }
.qp > footer p { max-width: 62em; margin: 0 0 8px; text-wrap: pretty; }
.qp > footer strong { color: #fff; font-weight: 600; }
.qp .help-q { background: rgba(255, 255, 255, 0.2); color: #fff; box-shadow: none; }
.qp .help-sheet { background: rgba(28, 28, 30, 0.94); -webkit-backdrop-filter: blur(40px) saturate(180%); backdrop-filter: blur(40px) saturate(180%); border-radius: 34px 34px 0 0; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 -26px 64px -14px rgba(0, 0, 0, 0.5); color: #fff; }
.qp .hs-grip { width: 38px; background: rgba(255, 255, 255, 0.5); }
.qp .hs-badge { background: rgba(255, 255, 255, 0.16); color: #fff; }
.qp .help-sheet .ht { color: #fff; }
.qp .help-sheet .hx { font-size: 1.0625rem; line-height: 1.5; color: rgba(255, 255, 255, 0.86); }
.qp .hs-close { background: rgba(255, 255, 255, 0.16); color: #fff; }
@media (max-width: 1080px) {
  .qp .qr-try { display: none; }
  .qp { display: block; padding: 0 var(--m) 84px; }
  .qp > main { display: block; }
  .qp .grid { display: flex; flex-direction: column; }
  .qp .qmain { display: block; }
  .qp .grid > * { min-width: 0; max-width: 100%; }
  .qp #sheetWrap { margin: -14px -14px -18px; padding: 14px 14px 46px; overflow: hidden; max-width: none; }
  .qp label { display: flex; align-items: center; gap: 8px; }
  .qp .radio, .qp .switch { align-items: flex-start; }
  .qp .help-q { width: 28px; height: 28px; margin: -4px 0 -4px auto; font-size: 0.8125rem; font-weight: 600; }
  .qp .hero h1 { max-width: none; }
  .qp .stepper { display: flex; gap: 10px; margin: 26px 0 0; font-size: 0.9375rem; font-weight: 500; color: var(--l2); }
  .qp .stepper .num { width: 24px; height: 24px; border: 1.5px solid rgba(255, 255, 255, 0.46); color: var(--l2); font-size: 0.75rem; font-weight: 600; }
  .qp .stepper .seg.on { color: #fff; font-weight: 600; }
  .qp .stepper .seg.on .num { border-color: #fff; background: #fff; color: #1D1D1F; }
  .qp .stepper .seg.done .num { border-color: transparent; background: rgba(255, 255, 255, 0.3); color: #fff; }
  .qp .stepper .bar { background: rgba(255, 255, 255, 0.4); }
  .qp .qtabs { margin: 20px 0 14px; }
  .qp .step[data-step="1"], .qp .step[data-step="2"] { display: none; position: static; margin-top: 0; max-height: none; overflow: visible; padding: 0; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; }
  .qp .step.on[data-step="1"], .qp .step.on[data-step="2"] { display: block; }
  .qp .step[data-step="2"] { padding-top: 6px; }
  .qp .card { margin: 0 0 12px; padding: 20px 20px 12px; border-radius: 26px; background: rgba(22, 22, 24, 0.36); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 0 0.5px rgba(255, 255, 255, 0.1); }
  .qp details.swico { padding: 20px; }
  .qp .back-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0 0 8px; color: #fff; font-size: 1.0625rem; font-weight: 500; }
  .qp .side { order: -1; position: sticky; top: calc(var(--bar, 68px) + 4px); z-index: 20; display: flex; flex-direction: column; gap: 8px; margin: 16px 0 0; padding: 12px 18px; border: 0; border-radius: 24px; background: rgba(22, 22, 24, 0.62); -webkit-backdrop-filter: blur(40px) saturate(180%); backdrop-filter: blur(40px) saturate(180%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 12px 30px rgba(0, 0, 0, 0.2); }
  .qp .side .scard > .st { display: none; }
  .qp .reassure { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px 14px; }
  .qp .reassure .rcheck { padding: 0; gap: 6px; font-size: 0.8125rem; color: rgba(255, 255, 255, 0.86); }
  .qp .reassure .rcheck .dot { width: 16px; height: 16px; }
  .qp .reassure .rcheck .dot svg { width: 10px; height: 10px; }
  .qp .reassure .rline, .qp .side-fil, .qp .help-wrap { display: none; }
  .qp .side[data-mode="2"] { position: static; padding: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; order: 2; margin-top: 30px; }
  .qp > footer { margin-top: 40px; }
}
@media (max-width: 760px) {
  .qp .hero { padding-top: 12px; }
  .qp .hero h1 { font-size: 2.5rem; line-height: 1.06; letter-spacing: -0.027em; }
  .qp .hero p { font-size: 1.0625rem; margin-top: 12px; }
  .qp .hd { margin-top: 16px; }
  .qp .qtabs { width: 100%; }
  .qp .qtabs button { flex: 1; padding: 0 8px; font-size: 0.875rem; }
  .qp .actions button { flex: 1 1 100%; white-space: normal; text-align: center; padding-block: 10px; }
  .qp .xcards { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .qp .xcard { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: start; gap: 0 14px; padding: 16px 0; box-shadow: inset 0 0.5px 0 var(--hl); }
  .qp .xcard .rx-th { grid-row: 1 / span 4; width: 64px; margin: 0; }
  .qp .xcard .xfmt, .qp .xcard .xnm, .qp .xcard .xd { grid-column: 2 / -1; }
  .qp .xcard .xp { grid-column: 2; align-self: center; }
  .qp .xcard .xbtn { grid-column: 3; }
  .qp .xsell { margin-top: 56px; }
  .qp .xsell h3 { font-size: 1.625rem; margin-bottom: 14px; }
  .qp .xpack { padding: 16px 20px 20px; }
  .qp .xpack button { width: 100%; }
  .qp .rx-fan { display: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .qp .step[data-step="1"], .qp .qtabs, .qp .side, .qp .help-sheet { background: rgba(34, 34, 36, 0.97); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .qp .xcard .rx-th, .qp .swico-sum::before { transition: none; }
}
.qp .qtabs button, .qp .help-q, .qp .hs-close { position: relative; }
.qp .qtabs button::before { content: ""; position: absolute; inset: -5px 0; }
.qp .help-q::before { content: ""; position: absolute; inset: -9px; }
.qp .hs-close::before { content: ""; position: absolute; inset: -5px; }
.qp .switch { min-height: 44px; align-items: center; margin: 2px 0 8px; }
.qp .switch input { margin: 0; }
.qp .langsw { display: none; }
@media (max-width: 900px) {
  .sdn[data-page="qr"] .rx-lang { display: flex; } .sdn[data-page="qr"] .header-row .hactions { position: relative; z-index: 3; }
  .sdn[data-page="qr"][data-world="studio"] .hactions .rx-lang-b { height: 42px; min-width: 42px; margin: 0; padding: 0 8px; border-radius: 21px; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; color: #fff; }
  .sdn[data-page="qr"] .qrbtn .qr-badge { background: #1F7D43; }
}
.sdn[data-page="qr"] .nav-badge { background: rgba(0, 0, 0, 0.3); }
.sdn[data-page="qr"][data-world="studio"]:not([data-dl]) nav.primary a[data-navkey="qr"], .sdn[data-dl][data-world="studio"] nav.primary a[data-navkey="delais"] {
  background: rgba(255, 255, 255, 0.2); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26); color: #fff; }
@media (max-width: 760px) { .qp .side .side-note { display: none; } }
.qp .side-note { border: 0; background: none; padding: 0; color: var(--mut); }

