/* Polices auto-hébergées (OFL) : Geist (Vercel, licence dans fonts/Geist-OFL.txt) pour tout le site depuis le design A
   (06/11/2026) : titres, texte et montants, en chiffres tabulaires. Hors connexion. */
@font-face{font-family:"Geist";font-style:normal;font-weight:300 500;font-display:swap;src:url(fonts/Geist-Regular.woff2) format("woff2")}
@font-face{font-family:"Geist";font-style:normal;font-weight:550 650;font-display:swap;src:url(fonts/Geist-SemiBold.woff2) format("woff2")}
@font-face{font-family:"Geist";font-style:normal;font-weight:651 900;font-display:swap;src:url(fonts/Geist-Bold.woff2) format("woff2")}
/* L'argent expliqué · simulateurs, v5 (05/11/2026). La charte des vidéos : le sable crème du studio, le bleu marine,
   l'or pour ce qui reste, le rouge seulement pour ce qui part. Fraunces pour les grands titres, Inter pour tout le reste,
   Inter Display en chiffres tabulaires pour les montants. Pas de cartes ombrées ni de pastilles : des filets, des colonnes
   de relevé, du blanc. « En vrai » (assets/studio.js) montre les résultats en liasses de billets, comme dans les vidéos. */
:root{
  --fond:#F3EEE3;--blanc:#FFFDF8;--papier:#FAF6EE;--encre:#14213D;--encre2:#3B4763;--doux:#69708A;
  --filet:rgba(20,33,61,.16);--filet2:rgba(20,33,61,.09);--or:#946410;--or-vif:#C9932F;--or-pale:#F1E3BF;
  --rouge:#B3361F;--rouge-vif:#D2412F;--rose:#DE9C92;--gris:#B5BBC8;--sur-encre:#FFFDF8;
  --titre:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;--sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --chiffre:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --max:1240px;--gut:28px;--r:4px;--haut:64px;
  /* anciens noms (diagnostic, scripts) : mêmes couleurs */
  --bg:var(--fond);--paper:var(--blanc);--field:var(--blanc);--ink:var(--encre);--ink2:var(--encre2);--mute:var(--doux);
  --line:var(--filet);--line2:var(--filet2);--gold:var(--or);--goldfill:var(--or-vif);--red:var(--rouge);--navy:var(--encre);
  --grey:var(--gris);--onink:var(--sur-encre);--topbg:rgba(243,238,227,.94);--shadow:0 12px 32px rgba(20,33,61,.12);
  --serif:var(--sans);--num:var(--chiffre);--disp:var(--chiffre)
}
html[data-theme=dark]{
  --fond:#0F172E;--blanc:#16203D;--papier:#131C36;--encre:#F2ECDF;--encre2:#CDD1DC;--doux:#97A0B6;
  --filet:rgba(242,236,223,.18);--filet2:rgba(242,236,223,.09);--or:#E2B65C;--or-vif:#D3A346;--or-pale:#3A3220;
  --rouge:#F07A6C;--rouge-vif:#E05A48;--rose:#9C4E46;--gris:#59627C;--sur-encre:#0F172E;--topbg:rgba(15,23,46,.92);
  --shadow:0 12px 32px rgba(0,0,0,.35);color-scheme:dark
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{background:var(--fond);color:var(--encre);font:400 16.5px/1.55 var(--sans);overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
main{flex:1}
img{max-width:100%;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--encre);outline-offset:2px}
::selection{background:var(--or-pale)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.hide{display:none!important}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-family:var(--chiffre);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.skip{position:absolute;left:-999px;top:8px;background:var(--encre);color:var(--sur-encre);padding:8px 14px;border-radius:var(--r);z-index:50}
.skip:focus{left:8px}
.rouge{color:var(--rouge)}

/* ---------- en-tête */
.hd{position:sticky;top:0;z-index:30;background:var(--topbg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--filet)}
.hd-in{height:var(--haut);display:flex;align-items:center;gap:20px}
.brand{text-decoration:none;flex:none}
.brand b{font:700 23px/1 var(--titre);letter-spacing:-.02em;font-variation-settings:"opsz" 72}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav a{text-decoration:none;font:500 15px/1 var(--sans);color:var(--encre2);padding:10px 12px;position:relative}
.nav a:hover{color:var(--encre)}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--or-vif);transform:scaleX(0);transition:transform .15s}
.nav a:hover::after{transform:scaleX(1)}
.nav a[aria-current]{color:var(--encre)}
.nav a[aria-current]::after{transform:scaleX(1);background:var(--encre)}
.nav-dd{position:relative}
.nav-dd .dd-t{display:inline-flex;align-items:center;gap:4px}
.nav-dd .dd-t svg{width:15px;height:15px;color:var(--doux)}
.dd{position:absolute;right:0;top:100%;min-width:240px;background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r);box-shadow:var(--shadow);padding:6px 0;display:none;flex-direction:column;z-index:40}
.nav-dd:hover .dd,.nav-dd:focus-within .dd{display:flex}
.nav-dd.ferme .dd{display:none}
.nav .dd a{padding:11px 18px;font-size:15px}
.nav .dd a::after{display:none}
.nav .dd a:hover,.nav .dd a[aria-current]{background:var(--papier)}
.theme,.burger{flex:none;width:40px;height:40px;border-radius:var(--r);border:1px solid var(--filet);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--encre2)}
.theme svg{width:17px;height:17px}
.theme:hover,.burger:hover{border-color:var(--encre);color:var(--encre)}
.burger{display:none}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:1.8px;background:currentColor;position:relative;transition:transform .2s,background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.hd.open .burger span{background:transparent}
.hd.open .burger span::before{top:0;transform:rotate(45deg)}
.hd.open .burger span::after{top:0;transform:rotate(-45deg)}
.mnav{display:none}
@media (max-width:980px){
  .nav{display:none}
  .burger{display:inline-flex}
  .theme{margin-left:auto}
  .hd-in{gap:10px}
  .mnav{display:block;position:fixed;z-index:29;left:0;right:0;top:var(--haut);bottom:0;background:var(--fond);padding:4px var(--gut) 32px;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .18s,visibility .18s}
  body.menu-open .mnav{visibility:visible;opacity:1}
  body.menu-open{overflow:hidden}
  .mnav>a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font:600 26px/1.15 var(--titre);letter-spacing:-.015em;padding:16px 0;border-bottom:1px solid var(--filet)}
  .mnav>a[aria-current]{color:var(--or)}
  .mnav-th{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:2px 0 12px;border-bottom:1px solid var(--filet)}
  .mnav-th a{display:block;text-decoration:none;font:500 17px/1.3 var(--sans);padding:10px 0;color:var(--encre2)}
  .mnav-th a[aria-current]{color:var(--or)}
}
.soc{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:18px}
.soc a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font:500 15px/1 var(--sans);min-height:40px;color:var(--encre)}
.soc a:hover{text-decoration:underline}
.soc svg{width:17px;height:17px}

/* ---------- boutons, filtres */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:var(--r);padding:0 20px;font:600 15.5px/1.1 var(--sans);text-decoration:none;border:1px solid var(--encre);background:var(--encre);color:var(--sur-encre);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:#22325A;border-color:#22325A}
html[data-theme=dark] .btn:hover{background:#fff;border-color:#fff}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px;height:18px;flex:none}
.btn .fl{transition:transform .15s}
.btn:hover .fl{transform:translateX(3px)}
.btn.ghost{background:transparent;color:var(--encre);border-color:var(--filet)}
.btn.ghost:hover{border-color:var(--encre);background:transparent}
.chips{display:flex;gap:2px 20px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 0;min-height:44px;font:500 15.5px/1 var(--sans);color:var(--encre2);cursor:pointer;white-space:nowrap}
.chip:hover{color:var(--encre);border-bottom-color:var(--filet)}
.chip.on{color:var(--encre);border-bottom-color:var(--or-vif)}
.pastilles{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:12px}
.pastilles a{font:500 15.5px/1.6 var(--sans);color:var(--encre);text-decoration:underline;text-decoration-color:var(--or-vif);text-underline-offset:4px}

/* ---------- titres et sections */
.lede{font-size:clamp(17px,1.5vw,19px);line-height:1.55;color:var(--encre2);max-width:58ch}
.h2{font:650 clamp(28px,3vw,40px)/1.06 var(--titre);letter-spacing:-.02em;font-variation-settings:"opsz" 96;margin-bottom:18px}
.sec{padding-top:72px}
.sec-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px;margin-bottom:22px;border-bottom:1px solid var(--filet);padding-bottom:14px}
.sec-h .h2{margin:0}
.sec-h p{color:var(--doux);font-size:15.5px;max-width:60ch}
.sec-h p a{color:var(--encre)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14.5px;color:var(--doux);padding-top:30px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--encre);text-decoration:underline}
.t-h1{font:700 clamp(38px,5vw,64px)/1.0 var(--titre);letter-spacing:-.03em;font-variation-settings:"opsz" 144;margin:14px 0 14px;max-width:18ch;text-wrap:balance}

/* ================================================================ accueil */
.une{border-bottom:1px solid var(--filet);overflow:hidden}
.une-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:stretch;min-height:min(700px,calc(100vh - var(--haut)))}
.une-t{padding:56px 0 48px;display:flex;flex-direction:column;justify-content:center}
.une h1{font:720 clamp(46px,6.2vw,92px)/.94 var(--titre);letter-spacing:-.035em;font-variation-settings:"opsz" 144;max-width:9ch;text-wrap:balance}
.une .lede{margin-top:22px;max-width:40ch}
.rapide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 14px;margin-top:30px;padding-top:22px;border-top:2px solid var(--encre);max-width:480px}
.rapide .f{margin:0}
.rapide .f-rev{grid-column:1/-1}
.rapide-r{grid-column:1/-1;padding:12px 0 2px;border-top:1px solid var(--filet)}
.rapide-r .res-l{font-size:15px}
.rapide .res-n{font-size:clamp(46px,5vw,64px);margin:2px 0 0;color:var(--rouge)}
.rapide .res-s{font-size:14.5px;color:var(--doux)}
.rapide .btn{grid-column:1/-1;justify-self:start;margin-top:4px}
.une-s{position:relative;min-height:420px}
.une-s .studio{position:absolute;inset:0 calc(-1 * var(--gut)) 0 0}
@media (min-width:1300px){.une-s .studio{right:calc((100vw - var(--max)) / -2 - var(--gut))}}

/* le studio « En vrai » */
.studio{position:relative;overflow:hidden;background:var(--fond)}
.studio-toile{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .5s}
.studio.pret .studio-toile{opacity:1}
.studio-calque{position:absolute;inset:0;pointer-events:none}
.studio-ns{padding:24px;color:var(--doux)}
.st-et{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;text-align:center;white-space:nowrap;margin-top:-30px;translate:-50% -100%}
.st-l{font:600 14px/1.25 var(--sans);color:var(--encre2)}
.st-v{font:600 clamp(24px,2.6vw,34px)/1.05 var(--chiffre);letter-spacing:-.02em;color:var(--encre);font-variant-numeric:tabular-nums}
.st-v.impot,.st-v.cotis{color:var(--rouge)}
.st-v.net{color:var(--or)}
.st-c{font:500 13px/1.3 var(--sans);color:var(--doux);margin-top:2px}
.st-part{position:absolute;left:0;top:0;display:flex;flex-direction:column;padding-left:26px;translate:6px -50%;white-space:nowrap;color:var(--rouge)}
.st-part::before{content:"";position:absolute;left:0;top:50%;width:18px;height:1.5px;background:var(--rouge)}
.st-part span{font:600 13.5px/1.2 var(--sans)}
.st-part b{font:600 20px/1.1 var(--chiffre);font-variant-numeric:tabular-nums}
.st-pers{margin-top:-8px}
.st-court{flex-direction:row;align-items:center;gap:6px;margin-top:-16px}
.st-court .st-v{font-size:16px}
@media (max-width:420px){.st-court{gap:4px}.st-court .st-v{font-size:14.5px}.st-n{width:18px;height:18px;font-size:11px}}
.st-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--encre);color:var(--sur-encre);font:600 12px/1 var(--chiffre);flex:none}
.studio-legende{list-style:none;display:grid;gap:12px;margin:14px 0 0}
.studio-legende li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;column-gap:8px;align-items:baseline}
.studio-legende .st-n{align-self:center}
.sl-l{font:600 15px/1.3 var(--sans)}
.sl-v{font:600 16px/1.3 var(--chiffre);font-variant-numeric:tabular-nums;color:var(--encre)}
.sl-v.impot,.sl-v.cotis{color:var(--rouge)}.sl-v.net{color:var(--or)}
.sl-c{grid-column:2/-1;font-size:13.5px;color:var(--doux)}
.studio-legende .sl-pers{display:block;font-size:13.5px;color:var(--doux);padding-left:32px}
.st-pers .st-c{font-size:13px;color:var(--encre2)}
@media (max-width:640px){.st-v{font-size:22px}.st-part b{font-size:17px}.st-et:not(.st-pers) .st-c{display:none}}

/* recherche et calculs express */
.cherche{padding-top:44px}
.search{display:flex;align-items:center;gap:12px;max-width:760px;border-bottom:2px solid var(--encre);padding:0 2px;min-height:58px}
.search svg{width:22px;height:22px;color:var(--encre);flex:none}
.search input{border:0;background:transparent;outline:0;width:100%;font:500 clamp(18px,1.8vw,22px)/1.2 var(--sans);min-height:54px}
.search input::placeholder{color:var(--doux)}
.search:focus-within{border-bottom-color:var(--or-vif)}
.vite{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:18px;font:500 15.5px/1.5 var(--sans);color:var(--doux)}
.vite a{color:var(--encre);text-decoration:underline;text-decoration-color:var(--or-vif);text-underline-offset:4px}
.vite a.tous{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:600}
.vite a.tous svg{width:17px;height:17px}

/* ce que tu peux gagner : la vraie première question du diagnostic */
.gagner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.gagner h2{font:700 clamp(34px,4vw,54px)/1 var(--titre);letter-spacing:-.03em;font-variation-settings:"opsz" 144;max-width:11ch}
.gagner-t p{color:var(--encre2);margin-top:18px;max-width:50ch}
.aides-l{display:flex;flex-wrap:wrap;gap:4px 16px}
.aides-l a{color:var(--encre);text-decoration-color:var(--or-vif);text-underline-offset:4px}
.q1{border-top:2px solid var(--encre);padding-top:18px}
.q1-n{font:500 14.5px/1 var(--sans);color:var(--doux)}
.q1-q{font:650 clamp(28px,2.8vw,36px)/1.1 var(--titre);letter-spacing:-.02em;margin:10px 0 18px}
.reps{display:grid}
.rep{display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;font:500 17px/1.3 var(--sans);padding:15px 4px;border-bottom:1px solid var(--filet)}
.rep:first-child{border-top:1px solid var(--filet)}
.rep svg{width:20px;height:20px;color:var(--doux);transition:transform .15s,color .15s}
.rep:hover{background:var(--papier)}
.rep:hover svg{transform:translateX(4px);color:var(--encre)}

/* tous les simulateurs : un index, pas une grille de cartes */
.tous-h{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 28px;border-bottom:2px solid var(--encre);padding-bottom:4px}
.tous-h .h2{margin:0 0 10px}
.filters{display:flex;align-items:center;gap:20px;min-width:0;max-width:100%}
.count{font:500 14.5px/1 var(--sans);color:var(--doux);white-space:nowrap}
.theme-sec{padding-top:46px}
.theme-h{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 20px;margin-bottom:6px}
.theme-h h2{font:650 clamp(26px,2.6vw,34px)/1.05 var(--titre);letter-spacing:-.02em}
.theme-h p{grid-column:1;color:var(--doux);font-size:15.5px;max-width:62ch}
.theme-n{grid-column:2;grid-row:1;font:500 14px/1 var(--sans);color:var(--doux);white-space:nowrap}
.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.tool{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--filet);min-height:76px}
.tool-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.tool-t b{font:600 17.5px/1.25 var(--sans);letter-spacing:-.01em}
.tool-t span{font-size:15px;color:var(--encre2);line-height:1.4}
.tool-v{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:var(--or)}
.tool-v svg{width:15px;height:15px}
.tool .fl{width:20px;height:20px;color:var(--doux);transition:transform .15s,color .15s}
.tool:hover b{text-decoration:underline;text-decoration-color:var(--or-vif);text-underline-offset:4px;text-decoration-thickness:2px}
.tool:hover .fl{transform:translateX(4px);color:var(--encre)}
.vide{padding:28px 0;color:var(--doux)}
.cas{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:40px}
.cas li{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--filet);padding:12px 0}
.cas a{flex:1;text-decoration:none;display:flex;flex-direction:column;gap:2px;min-width:0}
.cas a b{font:600 16px/1.3 var(--sans)}
.cas a span{font-size:14.5px;color:var(--encre2)}
.cas .del{border:0;background:transparent;color:var(--doux);cursor:pointer;font-size:14px;min-height:44px;padding:0 6px;text-decoration:underline}

/* les vidéos */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:176px;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.vc{scroll-snap-align:start;text-decoration:none;display:flex;flex-direction:column;gap:4px}
.vc img{width:176px;height:313px;object-fit:cover;border-radius:var(--r);background:var(--filet2);margin-bottom:8px}
.vc b{font:600 16px/1.25 var(--sans)}
.vc span{font-size:14px;color:var(--doux);line-height:1.3}
.vc:hover b{text-decoration:underline;text-decoration-color:var(--or-vif);text-underline-offset:3px}

/* ================================================================ page outil */
.tete{padding-bottom:6px}
.express{margin-top:4px;font-size:15.5px;color:var(--encre2)}
.express a{color:var(--encre);font-weight:600;text-decoration-color:var(--or-vif);text-underline-offset:4px;text-decoration-thickness:2px}
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;margin-top:30px}
.champs{border-top:2px solid var(--encre);padding-top:20px}
.res{position:sticky;top:84px;background:var(--blanc);border-top:3px solid var(--encre);padding:24px 26px 26px;min-height:200px;box-shadow:0 1px 0 var(--filet)}
.grp{font:600 16px/1.3 var(--sans);margin:24px 0 14px;padding-top:18px;border-top:1px solid var(--filet)}
.grp:first-child{border-top:0;padding-top:0;margin-top:0}
.f{margin-bottom:18px}
.f label,.f .lab{display:block;font:500 15px/1.3 var(--sans);margin-bottom:7px;color:var(--encre)}
.f label output{color:var(--or);font-weight:600;font-size:15px;margin-left:4px;font-family:var(--chiffre)}
.in{display:flex;align-items:center;gap:8px;border:1px solid var(--filet);background:var(--blanc);border-radius:var(--r);padding:0 14px;min-height:52px;transition:border-color .15s,box-shadow .15s}
.in:hover{border-color:rgba(20,33,61,.32)}
.in:focus-within{border-color:var(--encre);box-shadow:inset 0 -2px 0 var(--or-vif)}
.in input,.in select{border:0;background:transparent;outline:0;width:100%;min-height:50px;font:500 19px/1 var(--chiffre);font-variant-numeric:tabular-nums;color:var(--encre)}
.in select{font:500 16px/1.2 var(--sans);appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:18px}
.in.sel{position:relative}
.in.sel::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:1.8px solid var(--doux);border-bottom:1.8px solid var(--doux);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.suf{color:var(--doux);font:500 16px/1 var(--chiffre);flex:none}
.aide{display:block;font-size:14px;color:var(--doux);margin-top:6px;line-height:1.45}
.f-curseur input[type=range]{width:100%;accent-color:var(--encre);height:32px;cursor:pointer}
.bornes{display:flex;justify-content:space-between;font-size:13px;color:var(--doux);font-family:var(--chiffre)}
.seg{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--filet);border-radius:var(--r);overflow:hidden;background:var(--blanc)}
.seg button{flex:1 1 auto;min-height:48px;border:0;border-left:1px solid var(--filet);background:transparent;padding:8px 14px;font:500 15.5px/1.2 var(--sans);cursor:pointer;color:var(--encre2)}
.seg button:first-child{border-left:0}
.seg button:hover{color:var(--encre);background:var(--papier)}
.seg button[aria-checked=true]{background:var(--encre);color:var(--sur-encre)}
.chk{display:flex!important;gap:12px;align-items:flex-start;cursor:pointer;font-weight:400!important}
.chk input{width:22px;height:22px;margin-top:1px;accent-color:var(--encre);flex:none;cursor:pointer}
.res-l{font:500 15.5px/1.35 var(--sans);color:var(--encre2)}
.res-n{font-family:var(--chiffre);font-weight:600;font-size:clamp(44px,5vw,70px);line-height:1;letter-spacing:-.035em;color:var(--or);margin:10px 0 12px}
.res[data-sens=impot] .res-n{color:var(--rouge)}
.res-s{font-size:15.5px;color:var(--encre2);line-height:1.55}
.res-f{font-size:16px;color:var(--encre);line-height:1.45;margin:-2px 0 10px}
.res-f b{font-weight:600;white-space:nowrap}
.res-dem{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:16px;font-weight:600;color:var(--encre);text-decoration-color:var(--or-vif);text-underline-offset:4px;text-decoration-thickness:2px}
.res-dem svg{width:16px;height:16px;color:var(--or);flex:none}
.mini-t{font:600 14.5px/1.3 var(--sans);color:var(--encre2);margin-bottom:10px}
.verdict{font:500 16px/1.5 var(--sans);color:var(--encre);border-left:3px solid var(--or-vif);padding:4px 0 4px 14px;margin-bottom:18px}
.bars{margin-top:22px;padding-top:18px;border-top:1px solid var(--filet)}
.br{margin-bottom:14px}
.br-h{display:flex;justify-content:space-between;gap:12px;font-size:15px;margin-bottom:6px}
.br-h .num{font-size:15.5px;color:var(--encre);font-weight:600}
.br-b{display:flex;height:12px;background:var(--filet2)}
.sg{display:block;height:100%}
.sg-net{background:var(--or-vif)}.sg-impot{background:var(--rouge-vif)}.sg-cotis{background:var(--rose)}.sg-garde{background:var(--encre)}.sg-cout{background:var(--gris)}.sg-autre{background:var(--doux)}
.leg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--encre2);margin-top:10px}
.leg span{display:inline-flex;align-items:center;gap:7px}
.leg i{display:inline-block;width:12px;height:12px}
.leg i.sg-net{background:var(--or-vif)}.leg i.sg-impot{background:var(--rouge-vif)}.leg i.sg-cotis{background:var(--rose)}.leg i.sg-garde{background:var(--encre)}.leg i.sg-cout{background:var(--gris)}
.courbe{margin-top:22px;padding-top:18px;border-top:1px solid var(--filet)}
.courbe svg{width:100%;height:auto;display:block;overflow:visible}
.courbe .gl{stroke:var(--filet2);stroke-width:1}
.courbe .gt{fill:var(--doux);font:500 12px var(--chiffre)}
.courbe .ln{fill:none;stroke-width:2.4;stroke-linejoin:round}
.courbe .ln.c0{stroke:var(--encre)}.courbe .ln.c1{stroke:var(--or-vif)}
.courbe .ln.c2{stroke:var(--doux);stroke-dasharray:6 5;stroke-width:2}
.courbe .pt-opt{fill:var(--or-vif);stroke:var(--blanc);stroke-width:2}
.courbe .pt-ici{fill:var(--blanc);stroke-width:2.4}.courbe .pt-ici.c0{stroke:var(--encre)}.courbe .pt-ici.c1{stroke:var(--or-vif)}.courbe .pt-ici.c2{stroke:var(--doux)}
.leg .lc{width:16px;height:3px}.leg .lc.c0{background:var(--encre)}.leg .lc.c1{background:var(--or-vif)}
.leg .lc.c2{background:repeating-linear-gradient(90deg,var(--doux) 0 6px,transparent 6px 10px)}
.leg .lo{width:11px;height:11px;border-radius:50%;background:var(--or-vif)}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.actions .btn{flex:1 1 auto;min-height:44px;font-size:14.5px;padding:0 14px;font-weight:500}
.res .actions .share{flex-basis:100%}
.share{margin-top:20px;width:100%}
.save-f{margin-top:12px}
.save-f label{display:block;font-size:15px;margin-bottom:6px}
.save-f .row{display:flex;gap:8px}.save-f .in{flex:1}
.save-f .in input{font:400 16px/1.2 var(--sans)}

/* en vrai : le résultat en liasses */
.envrai{margin-top:56px}
.envrai-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 22px;border-bottom:1px solid var(--filet);padding-bottom:12px}
.envrai-h .h2{margin:0}
.envrai-h p{color:var(--doux);font-size:15.5px}
.envrai .studio{height:clamp(340px,42vw,520px);margin:0 calc(-1 * var(--gut))}
@media (min-width:1300px){.envrai .studio{margin:0 calc((100vw - var(--max)) / -2 - var(--gut))}}

/* détail : des relevés, avec points de conduite */
#resume{display:none}
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:36px 48px}
.dbloc{border-top:2px solid var(--encre);padding-top:14px}
.dbloc h3{font:600 17px/1.3 var(--sans);margin-bottom:8px}
.dl{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:15.5px}
.dl dt{flex:1;display:flex;align-items:baseline;gap:8px;color:var(--encre2);line-height:1.35;min-width:0}
.dl dt::after{content:"";flex:1 0 24px;border-bottom:1.5px dotted var(--filet);transform:translateY(-4px)}
.dl dd{white-space:nowrap;font:500 15.5px/1.35 var(--chiffre);font-variant-numeric:tabular-nums;text-align:right}
.dl.moins dd{color:var(--rouge)}
.dl.plus dd{color:var(--encre)}
.dl.info dt,.dl.info dd{color:var(--doux);font-weight:400}
.dl.info dd{white-space:normal}
.dl.total{border-top:3px double var(--encre);margin-top:6px;padding-top:10px}
.dl.total dt{color:var(--encre);font-weight:600}
.dl.total dt::after{display:none}
.dl.total dd{font-weight:600;font-size:18px;color:var(--or)}
.dl dd.txt{font-family:var(--sans);font-weight:400;white-space:normal;max-width:62%}
.dl.total dd.txt{font-weight:600}
.dnote,.note{font-size:15px;color:var(--encre2);margin-top:14px;max-width:75ch}
.note{border-left:3px solid var(--or-vif);padding:4px 0 4px 14px;margin-top:20px}
.tab{margin-top:28px}
.tab h3{font:600 17px/1.3 var(--sans);margin-bottom:10px}
.tab-s{overflow-x:auto;border-top:2px solid var(--encre);max-height:460px}
.tab table{border-collapse:collapse;width:100%;min-width:460px}
.tab th,.tab td{padding:10px 14px;text-align:right;font-size:15px;border-bottom:1px solid var(--filet2)}
.tab td{font-family:var(--chiffre);font-variant-numeric:tabular-nums}
.tab thead th{position:sticky;top:0;background:var(--fond);font:600 14px/1.3 var(--sans);color:var(--encre2)}
.tab tbody th{text-align:left;font:500 15px/1.3 var(--chiffre)}
.tab th:first-child{text-align:left;padding-left:0}
.tab tbody tr:hover{background:var(--papier)}
.cmp th,.cmp td{text-align:left}
.cmp td.num{text-align:right}
.cmp .cmp-g th,.cmp .cmp-g td{font-weight:600;font-size:16px}
.cmp .cmp-g td{color:var(--or)}
.cmp td.pos{color:var(--or);font-weight:600}.cmp td.neg{color:var(--rouge);font-weight:600}
.cmp .cmp-v{color:var(--doux);text-align:left!important}
#compare .actions{margin-top:12px}
.hyp ul{list-style:none;display:grid;max-width:80ch}
.hyp li{position:relative;padding:9px 0 9px 22px;font-size:15.5px;color:var(--encre2);border-bottom:1px solid var(--filet2)}
.hyp li::before{content:"";position:absolute;left:0;top:1.05em;width:10px;height:1.5px;background:var(--or-vif)}
.hyp-y{font-size:16px;margin-bottom:12px;color:var(--encre)}
.src{font-size:14px;color:var(--doux);margin-top:14px;line-height:1.7;overflow-wrap:anywhere}
.src a{margin-right:12px}
.guide{max-width:70ch}
.guide h3{font:650 23px/1.2 var(--titre);letter-spacing:-.015em;margin:28px 0 8px}
.guide p{color:var(--encre2);font-size:17px;line-height:1.7}
.vrow{display:flex;flex-wrap:wrap;gap:22px}
.vfig{width:200px}
.vid{position:relative;display:block;width:100%;aspect-ratio:9/16;border:0;border-radius:var(--r);overflow:hidden;cursor:pointer;background:var(--filet2);padding:0}
.vid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.vid:hover img{transform:scale(1.03)}
.play{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(255,253,248,.94);color:#14213D;display:flex;align-items:center;justify-content:center}
.play svg{width:24px;height:24px;margin-left:3px}
.vfig video{width:100%;aspect-ratio:9/16;border-radius:var(--r);background:#000}
.vfig figcaption{display:flex;flex-direction:column;margin-top:10px}
.vfig figcaption b{font:600 16px/1.25 var(--sans)}
.vfig figcaption span{font-size:14px;color:var(--doux)}
.vsoc{font-size:15px;color:var(--doux);margin-top:14px}
.faq details{border-bottom:1px solid var(--filet)}
.faq details:first-of-type{border-top:2px solid var(--encre)}
.faq summary{cursor:pointer;font:600 18px/1.35 var(--sans);padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--or);font:500 24px/1 var(--chiffre)}
.faq details[open] summary::after{content:"−"}
.faq details p{color:var(--encre2);padding-bottom:20px;max-width:70ch;font-size:16.5px;line-height:1.65}
.lies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;border-top:2px solid var(--encre)}
.lie{position:relative;display:flex;flex-direction:column;gap:3px;text-decoration:none;padding:16px 40px 16px 0;border-bottom:1px solid var(--filet)}
.lie b{font:600 17px/1.25 var(--sans)}
.lie span{font-size:15px;color:var(--encre2)}
.lie svg{position:absolute;right:4px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--doux);transition:transform .15s}
.lie:hover b{text-decoration:underline;text-decoration-color:var(--or-vif);text-underline-offset:4px;text-decoration-thickness:2px}
.lie:hover svg{transform:translate(4px,-50%);color:var(--encre)}
/* démarche d'une aide */
.dem{border-top:2px solid var(--encre);padding-top:8px;max-width:860px}
.dem dl{display:grid}
.dem dl div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--filet2)}
.dem dt{font:600 16px/1.35 var(--sans);color:var(--encre)}
.dem dd{color:var(--encre2);font-size:16px;line-height:1.55}
.dem ul{margin-left:18px;display:grid;gap:4px}
.dem .dem-piege{border-left:3px solid var(--or-vif);padding-left:14px}
.dem .dem-piege dd{color:var(--encre)}
.dem .btn{margin-top:22px;white-space:normal;text-align:center;line-height:1.25;padding:10px 20px}

/* ================================================================ calculateur express et aides */
html:has(.calc-page){scroll-padding-top:131px}
@media (min-width:1101px){html:has(.calc-page){scroll-padding-top:150px}}
.cx-search{margin-top:24px}
.cx-nav{position:sticky;top:var(--haut);z-index:20;background:var(--topbg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--filet);margin-top:26px}
.cx-nav-in{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:2px 20px;position:relative}
.cx-nav-in::-webkit-scrollbar{display:none}
@media (min-width:1101px){.cx-nav-in{flex-wrap:wrap;overflow:visible}}
.cx-nav a{flex:none;display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid transparent;text-decoration:none;font:500 14.5px/1 var(--sans);color:var(--encre2);white-space:nowrap}
.cx-nav a:hover{color:var(--encre);border-bottom-color:var(--filet)}
.cx-nav a[aria-current]{color:var(--encre);border-bottom-color:var(--or-vif)}
.cx-cat{padding-top:44px}
.cx-cat-t{font:650 clamp(26px,2.6vw,34px)/1.05 var(--titre);letter-spacing:-.02em;margin-bottom:18px}
.cx-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;align-items:start}
.cx-cat.n1{grid-column:span 1}.cx-cat.n2{grid-column:span 2}.cx-cat.n3{grid-column:1/-1}
.cx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 40px;align-items:start}
.cx-cat.n1 .cx-grid{grid-template-columns:1fr}.cx-cat.n2 .cx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cx-item{display:flex;flex-direction:column;gap:6px;min-width:0;position:relative}
.ancre{position:absolute;top:0;left:0}
.cx-item:focus,.ancre:focus{outline:none}
.cx{border-top:2px solid var(--encre);padding-top:16px}
.cx-t{font:600 18px/1.3 var(--sans);letter-spacing:-.01em;margin-bottom:14px}
.cx-f{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
.cf{min-width:0;border:0;padding:0;margin:0}
.cf label,.cf legend{display:block;font:500 14.5px/1.3 var(--sans);margin-bottom:6px;color:var(--encre2);padding:0}
.cf .in{min-height:48px;padding:0 12px}
.cf .in input,.cf .in select{min-height:46px;font-size:17.5px}
.cf .in select{font-size:15.5px}
.cf-large,.cf-case{grid-column:1/-1}
.cf-case .chk{font-size:15px}
.seg2{display:flex;flex-wrap:wrap;border:1px solid var(--filet);border-radius:var(--r);overflow:hidden;background:var(--blanc)}
.seg2 label{flex:1 1 0;position:relative;margin:0;min-width:fit-content;border-left:1px solid var(--filet)}
.seg2 label:first-child{border-left:0}
.seg2 input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.seg2 span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:6px 10px;font:500 15px/1.2 var(--sans);color:var(--encre2);cursor:pointer;text-align:center}
.seg2 input:checked+span{background:var(--encre);color:var(--sur-encre)}
.seg2 input:focus-visible+span{outline:2px solid var(--or-vif);outline-offset:-2px}
.cx-r{margin-top:16px;padding-top:12px;border-top:1px solid var(--filet)}
.cx-l{font-size:14.5px;color:var(--encre2);line-height:1.3}
.cx-n{font-family:var(--chiffre);font-weight:600;font-size:clamp(34px,3.2vw,44px);line-height:1.02;letter-spacing:-.03em;color:var(--or);margin:6px 0 6px;overflow-wrap:anywhere}
.cx-p{font-size:14.5px;color:var(--encre2);line-height:1.45}
.cx-err .cx-n{color:var(--doux)}
.cx-lien{display:inline-flex;align-items:flex-start;gap:6px;margin-top:12px;font-size:14.5px;line-height:1.4;color:var(--encre);text-decoration-color:var(--or-vif);text-underline-offset:3px}
.cx-lien svg{width:16px;height:16px;flex:none;color:var(--or);margin-top:2px}
.cx-ex{padding:0}
.cx-ex summary{cursor:pointer;font-size:14.5px;color:var(--encre2);padding:8px 0;list-style:none;display:flex;gap:8px;align-items:baseline}
.cx-ex summary::-webkit-details-marker{display:none}
.cx-ex summary::before{content:"+";font:600 16px/1 var(--chiffre);color:var(--or);width:12px;flex:none}
.cx-ex[open] summary::before{content:"−"}
.cx-ex p{font-size:15px;color:var(--encre2);line-height:1.6;padding:2px 0 10px}
.cx-dem{font-size:14.5px;color:var(--encre2);line-height:1.45;margin-top:12px;padding-top:10px;border-top:1px dotted var(--filet)}
.cx-dem b{font-weight:600;color:var(--encre)}
.cx-dem a{color:var(--encre);text-decoration-color:var(--or-vif);text-underline-offset:3px;white-space:nowrap}
.aides-page .express{margin-top:8px}

/* ================================================================ glossaire, recherche, pages simples */
.gl{position:relative}
.gl-t{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:help;letter-spacing:inherit;line-height:inherit;text-align:inherit;
  text-decoration:underline dotted;text-decoration-color:var(--or-vif);text-decoration-thickness:1.5px;text-underline-offset:3px;-webkit-tap-highlight-color:transparent}
.gl-t:hover,.gl.on .gl-t{text-decoration-style:solid}
.gl-d{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:45;width:max-content;max-width:min(320px,calc(100vw - 24px));background:var(--encre);color:var(--sur-encre);
  font:400 14.5px/1.5 var(--sans);letter-spacing:0;text-align:left;white-space:normal;padding:11px 14px;border-radius:var(--r);box-shadow:var(--shadow)}
.gl-d b{display:block;font-weight:600;margin-bottom:2px}
.gl.on .gl-d{display:block}
.gl-d.haut{top:auto;bottom:calc(100% + 6px)}
.rech-res{margin-top:6px;max-width:760px;background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r);box-shadow:var(--shadow);padding:6px 0;position:relative;z-index:5}
.rech-res[hidden]{display:none}
.rech-n{font-size:13.5px;color:var(--doux);padding:8px 16px 4px}
.rech-l{list-style:none}
.rech-l a{display:flex;flex-direction:column;gap:2px;text-decoration:none;padding:11px 16px}
.rech-l a:hover,.rech-l a:focus-visible{background:var(--papier)}
.rech-l a:focus-visible{outline:2px solid var(--encre);outline-offset:-2px}
.rech-l b{font:600 16.5px/1.3 var(--sans)}
.rech-l span{font-size:14.5px;color:var(--encre2);line-height:1.4}
.rech-l em{font-style:normal;color:var(--or);font-weight:600}
.rech-vide{padding:12px 16px;color:var(--doux);font-size:15px}
.cx-search+.rech-res{margin-top:6px}
/* (v4, repris en v5) sur ordinateur, la liste des résultats s'ouvre par-dessus la page au lieu de la pousser */
.cherche{position:relative}
@media (min-width:901px){.cherche .rech-res{position:absolute;left:0;top:108px;width:min(760px,100%);z-index:20;max-height:70vh;overflow-y:auto}}
.gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));column-gap:48px;border-top:2px solid var(--encre)}
.gloss div{border-bottom:1px solid var(--filet);padding:16px 0}
.gloss dt{font:600 17px/1.3 var(--sans);margin-bottom:4px}
.gloss dd{color:var(--encre2);font-size:15.5px;line-height:1.55}
.sources-l{list-style:none;display:grid;border-top:2px solid var(--encre)}
.sources-l li{border-bottom:1px solid var(--filet);padding:14px 0}
.sources-l b{display:block;font:600 16.5px/1.3 var(--sans)}
.sources-l a{font-size:14px;overflow-wrap:anywhere;color:var(--encre2)}
.sources-l span{display:block;font-size:14px;color:var(--doux);margin-top:4px}
.e404{padding-top:44px}
.e404-l{list-style:none;display:grid;margin-top:26px;max-width:680px;border-top:2px solid var(--encre)}
.e404-l a{display:flex;flex-direction:column;gap:2px;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--filet)}
.e404-l b{font:600 17.5px/1.25 var(--sans)}
.e404-l span{font-size:15px;color:var(--encre2)}
.e404-l a:hover b{text-decoration:underline;text-decoration-color:var(--or-vif);text-underline-offset:4px}

/* diagnostic : les parties communes (le reste dans diagnostic.css) */
.diag{max-width:780px}
.diag-prog{display:flex;align-items:center;gap:14px;margin:22px 0 10px;font:500 14.5px/1 var(--sans);color:var(--doux)}
.diag-prog .bar{flex:1;height:3px;background:var(--filet2);overflow:hidden}
.diag-prog .bar i{display:block;height:100%;background:var(--or-vif);transition:width .25s}
.diag-q{border-top:2px solid var(--encre);padding:22px 0 8px}
.diag-q h2{font:650 clamp(28px,3.4vw,40px)/1.08 var(--titre);letter-spacing:-.02em;margin-bottom:8px}
.diag-q .q-aide{color:var(--encre2);margin-bottom:22px;max-width:60ch}
.diag-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:18px 0}
.diag-nav .btn{min-width:130px}
.diag-res .diag-nav .btn{flex:1 1 auto;white-space:normal;text-align:center;line-height:1.2;padding:10px 16px}
.diag-resume{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 28px;margin-top:8px}
.diag-resume div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--filet2);padding:8px 0;font-size:15px}
.diag-resume dt{color:var(--encre2)}
.diag-resume dd{font-family:var(--chiffre);font-weight:500;text-align:right}
.diag-res .top3{display:grid;gap:28px;margin-top:22px}
.carte{border-top:2px solid var(--encre);padding-top:18px}
.carte .rang{font:600 14px/1 var(--chiffre);color:var(--or)}
.carte h3{font:650 26px/1.15 var(--titre);letter-spacing:-.015em;margin:8px 0 6px}
.carte .gain{font:600 clamp(32px,4vw,46px)/1.05 var(--chiffre);letter-spacing:-.03em;color:var(--or);margin:8px 0}
.carte .gain small{font:400 15.5px/1.3 var(--sans);color:var(--encre2);margin-left:6px;letter-spacing:0}
.carte p{color:var(--encre2)}
.carte .btn{margin-top:16px}
.autres-pistes{list-style:none;display:grid;margin-top:12px;border-top:1px solid var(--filet)}
.autres-pistes li{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--filet);padding:14px 0}
.autres-pistes a{font:600 16.5px/1.3 var(--sans);text-decoration:none}
.autres-pistes .num{color:var(--or);font-weight:600;text-align:right;max-width:45%}
.diag h2[tabindex]:focus{outline:none}

/* ---------- pied de page */
.ft{border-top:2px solid var(--encre);margin-top:96px;padding:40px 0 48px}
.ft-in{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px}
.ft-b{font:700 26px/1.1 var(--titre);letter-spacing:-.02em}
.ft p{font-size:15px;color:var(--doux);max-width:46ch;margin-top:8px}
.ft-col h2{font:600 14.5px/1.3 var(--sans);color:var(--doux);margin-bottom:10px}
.ft-liens{display:flex;flex-direction:column;gap:9px;margin:0!important;font-size:15px}
.ft-liens a{color:var(--encre);text-decoration:none}
.ft-liens a:hover{text-decoration:underline;text-decoration-color:var(--or-vif)}

/* ---------- barre du résultat (téléphone) */
.mini{display:none}
.mini:empty{display:none!important}

/* ================================================================ tablette et téléphone */
@media (max-width:1100px){
  .cx-cats{display:block}
  .cx-grid,.cx-cat.n1 .cx-grid,.cx-cat.n2 .cx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .une-in{grid-template-columns:1fr;min-height:0;gap:0}
  .une-t{display:contents}
  .une h1{order:1;padding-top:26px;max-width:12ch}
  .une-s{order:2;min-height:0;height:min(64vw,380px);margin:4px calc(-1 * var(--gut)) 0}
  .une-s .studio{inset:0}
  .rapide{order:3;margin-top:0;max-width:none;border-top-width:2px;padding-bottom:28px}
  .une .lede{order:4;margin:0 0 30px}
  .calc{grid-template-columns:1fr;gap:26px;margin-top:22px}
  .res{position:static;order:-1;padding:20px 20px 22px}
  .gagner{grid-template-columns:1fr;gap:30px}
  .tools,.lies{grid-template-columns:1fr}
  .ft-in{grid-template-columns:1fr 1fr}
  .ft-a{grid-column:1/-1}
  .mini{display:flex;position:fixed;z-index:25;left:0;right:0;bottom:0;align-items:center;justify-content:space-between;gap:12px;background:var(--encre);color:var(--sur-encre);
    padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .22s ease;cursor:pointer}
  .mini.on{transform:none}
  .mini span{font-size:14px;line-height:1.25;opacity:.85}
  .mini b{font:600 22px/1 var(--chiffre);color:var(--or-vif);white-space:nowrap}
  html[data-theme=dark] .mini b{color:#B07F1F}
}
@media (max-width:680px){
  .cx-grid,.cx-cat.n1 .cx-grid,.cx-cat.n2 .cx-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--gut:18px}
  body{font-size:16px}
  .sec{padding-top:52px}
  .une h1{font-size:clamp(40px,11vw,52px)}
  .rapide .res-n{font-size:46px}
  .dgrid{grid-template-columns:1fr;gap:28px}
  .dl{font-size:15px}.dl dd{font-size:15px}
  .vfig{width:calc(50% - 11px)}
  .tous-h{flex-direction:column;align-items:stretch}
  .filters{flex-direction:column;align-items:stretch;gap:4px;width:100%;min-width:0}
  .filters .chips{min-width:0;max-width:100%}
  .t-h1{margin-top:10px}
  .crumbs{padding-top:20px}
  .actions .btn{flex:1 1 calc(50% - 8px)}
  .dem dl div{grid-template-columns:1fr;gap:2px}
  .dem .btn{width:100%}
  .envrai .studio{height:300px}
  .theme-h{grid-template-columns:1fr}
  .theme-n{display:none}
  .tool{min-height:68px;padding:14px 0}
  .rail{grid-auto-columns:150px;gap:16px}
  .vc img{width:150px;height:267px}
  .autres-pistes li{flex-direction:column;align-items:flex-start;gap:4px}.autres-pistes .num{text-align:left;max-width:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- impression : un résultat propre */
@media print{
  @page{margin:14mm}
  :root,html[data-theme=dark]{--fond:#fff;--blanc:#fff;--papier:#fff;--encre:#14213D;--encre2:#34425F;--doux:#5E6680;--filet:#ccc;--filet2:#e3e3e3;--or:#7d560c;--or-vif:#C89A3E;--rouge:#B0362C;--rouge-vif:#B0362C;--sur-encre:#fff}
  body{background:#fff;font-size:12pt}
  .hd,.mnav,.ft,.mini,.skip,.champs,.actions,.save-f,.videos,.guide,.lies,.faq,#mescas,.crumbs,.theme,.burger,#compare .actions,.envrai,.cx-nav,.cx-search{display:none!important}
  .calc{display:block;margin-top:8px}
  .res{position:static;border:1px solid #ccc}
  .courbe,.bars{break-inside:avoid}
  #resume{display:block;border:1px solid #ccc;padding:12px 16px;margin:12px 0;break-inside:avoid}
  #resume h2{font:600 15pt var(--sans);margin-bottom:6px}
  #resume dl{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}
  #resume dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dotted #ddd;padding:3px 0;font-size:10.5pt}
  #resume dd{font-family:var(--chiffre);font-weight:500}
  #resume p{font-size:9pt;color:#555;margin-top:8px;overflow-wrap:anywhere}
  .sec{padding-top:18px}
  .dbloc,.tab,.hyp{break-inside:avoid}
  .tab-s{max-height:none;overflow:visible}
  .br-b,.sg,.leg i{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a{text-decoration:none}
  .gl-d{display:none!important}.gl-t{text-decoration:none}
}

/* ===================================================================== refonte UX (06/11/2026, _ux/plan_ux.html)
   Même style (v5) : seulement l'ordre de lecture, les noms et les nouveaux blocs. */
/* recherche de l'en-tête, sur toutes les pages */
.hs-btn{flex:none;width:44px;height:44px;border-radius:var(--r);border:1px solid var(--filet);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--encre2)}
.hs-btn svg{width:20px;height:20px}
.hs-btn[aria-expanded=true]{color:var(--encre);border-color:var(--encre)}
.theme,.burger{width:44px;height:44px}
.hs{border-bottom:1px solid var(--filet);background:var(--fond);padding:6px 0 18px;position:relative;z-index:25}
.hs .rech-res{position:absolute;left:var(--gut);right:var(--gut);max-width:760px;max-height:70vh;overflow-y:auto}
body:has(main.accueil) .hs-btn{display:none}
@media (max-width:980px){.hs-btn{margin-left:auto}}
/* menu : les entrées secondaires sur une ligne discrète */
.mnav-plus{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:14px}
.mnav .mnav-plus a{font:500 15.5px/1.4 var(--sans);padding:8px 0;border:0;min-height:44px;display:inline-flex;align-items:center}
/* accueil : la recherche et les situations d'abord */
.porte{padding:40px 0 30px;border-bottom:1px solid var(--filet)}
.porte h1{font:720 clamp(40px,5.4vw,76px)/.96 var(--titre);letter-spacing:-.035em;font-variation-settings:"opsz" 144;text-wrap:balance}
.porte .lede{margin-top:14px}
.porte .cherche{padding-top:18px}
.sits-t{font:600 15px/1 var(--sans);color:var(--doux);margin:30px 0 10px;letter-spacing:.02em}
.sits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;border-top:2px solid var(--encre)}
.sit{display:block;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--filet);min-height:64px}
.sit b{display:block;font:650 19px/1.2 var(--sans);color:var(--encre)}
.sit span{display:block;font-size:14.5px;color:var(--encre2);margin-top:4px;line-height:1.4}
.sit:hover b{text-decoration:underline;text-decoration-color:var(--or-vif);text-underline-offset:4px}
.bilan-l{margin-top:22px;font-size:17px;color:var(--encre2)}
.bilan-l a,.theme-p a{display:inline-flex;align-items:center;gap:6px;color:var(--encre);font-weight:600;text-decoration:underline;text-decoration-color:var(--or-vif);text-underline-offset:4px;text-decoration-thickness:2px}
.bilan-l svg,.theme-p svg{width:17px;height:17px}
.une-h{font:700 clamp(30px,3.4vw,46px)/1 var(--titre);letter-spacing:-.03em;font-variation-settings:"opsz" 144}
.une-t{padding:40px 0}
/* les situations repliables de la liste */
details.theme-sec>summary{list-style:none;cursor:pointer}
details.theme-sec>summary::-webkit-details-marker{display:none}
details.theme-sec>summary .theme-n svg{width:16px;height:16px;vertical-align:-3px;margin-left:6px;transition:transform .15s}
details.theme-sec[open]>summary .theme-n svg{transform:rotate(180deg)}
details.theme-sec{padding-top:26px;border-bottom:1px solid var(--filet);padding-bottom:18px}
.sous-g{font:600 16px/1.3 var(--sans);color:var(--encre2);margin:22px 0 2px}
.theme-p{margin:12px 0 4px}
/* page simulateur : la question, l'exemple, les champs avancés repliés */
.question{font:600 clamp(19px,1.8vw,22px)/1.35 var(--sans);color:var(--encre);margin:10px 0 8px;max-width:46ch}
.exemple{font-size:14.5px;line-height:1.45;color:var(--encre2);background:var(--or-pale);padding:8px 12px;border-radius:var(--r);margin-bottom:14px}
details.plus{margin-top:22px;border-top:1px solid var(--filet);padding-top:4px}
details.plus>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;min-height:48px;font:600 16px/1.3 var(--sans);color:var(--encre)}
details.plus>summary::-webkit-details-marker{display:none}
details.plus>summary span{font:400 14.5px/1.4 var(--sans);color:var(--encre2);flex:1 1 60%}
details.plus>summary svg{width:18px;height:18px;transition:transform .15s}
details.plus[open]>summary svg{transform:rotate(180deg)}
details.plus .grp:first-of-type{border-top:0;padding-top:4px;margin-top:10px}
.actions-d{margin-top:18px;border-top:1px solid var(--filet)}
.actions-d>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:48px;font:500 15.5px/1.3 var(--sans);color:var(--encre2)}
.actions-d>summary::-webkit-details-marker{display:none}
.actions-d>summary svg{width:16px;height:16px;transition:transform .15s}
.actions-d[open]>summary svg{transform:rotate(180deg)}
.actions-d .actions{margin-top:4px}
.err{display:block;font-size:14.5px;color:var(--rouge);margin-top:6px}
.f input[aria-invalid=true]{outline:2px solid var(--rouge);outline-offset:-2px}
details.hyp-d>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:48px}
details.hyp-d>summary::-webkit-details-marker{display:none}
details.hyp-d>summary svg{width:20px;height:20px;transition:transform .15s}
details.hyp-d[open]>summary svg{transform:rotate(180deg)}
/* lisibilité : le texte qui dit quoi mettre, le fil d'Ariane */
.aide{font-size:15px;color:var(--encre2)}
.crumbs{color:var(--encre2)}
.crumbs a{display:inline-flex;align-items:center;min-height:32px}
@media (max-width:900px){
  /* téléphone : la question, tes chiffres, puis la réponse (la barre du bas garde le chiffre en vue) */
  .calc .res{order:0}
  .sits{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .sit b{font-size:17px}
  .sit span{font-size:13.5px}
  .porte{padding:26px 0 24px}
  .porte .cherche{padding-top:14px}
  .une-t{padding:28px 0 8px}
}
@media print{details>summary svg{display:none}}
@media (max-width:980px){.hs-btn+.theme{margin-left:0}}
@media print{.hs-btn,.hs,.actions-d>summary,details.plus>summary,.suite,.exemple{display:none!important}}
@media (max-width:900px){details.theme-sec>summary .theme-n{display:block;grid-column:1;grid-row:auto;margin-top:6px;color:var(--encre2)}}
details.plus>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:8px 0}
details.plus>summary span{grid-column:1;grid-row:2}
details.plus>summary svg{grid-column:2;grid-row:1}

/* ===================================================================== design A « Le relevé » (06/11/2026, choisi par Dylan)
   La presse financière et le relevé de compte : une seule famille (Geist), chiffres tabulaires, filets, et une seule figure,
   la barre qui se partage entre ce qui reste (or) et ce qui part (rouge). Maquette : _ui/directions/A/.
   Téléphone : menu, recherche, « Tu as aussi… », « Garder, partager, comparer » et les définitions du glossaire montent du
   bas ; les rangées de liens défilent à l'horizontale avec accroche ; la barre du bas garde le chiffre en vue.
   Formes : 3 px partout (champs, boutons, pastilles), 14 px en haut des panneaux qui montent du bas. */
:root{--fond:#F5F1E8;--encre:#12203F;--topbg:rgba(245,241,232,.94);--r:3px;--haut:60px;--voile:rgba(18,32,63,.42)}
html[data-theme=dark]{--fond:#0F172E;--topbg:rgba(15,23,46,.92);--voile:rgba(0,0,0,.55)}
body{font-feature-settings:"tnum" 1;letter-spacing:-.005em}
.num,.res-n,.cx-n,.st-v,.sl-v,.dl dd,.tab td{font-feature-settings:"tnum" 1}

/* ---------- titres : une seule famille, serrée */
.brand b{font:700 18px/1 var(--titre);letter-spacing:-.035em}
.porte h1{font:600 clamp(42px,6vw,80px)/.98 var(--titre);letter-spacing:-.05em}
.t-h1{font:600 clamp(32px,3.6vw,48px)/1.02 var(--titre);letter-spacing:-.045em;max-width:20ch}
.h2{font:600 clamp(26px,2.6vw,34px)/1.06 var(--titre);letter-spacing:-.04em}
.une-h{font:600 clamp(26px,2.4vw,30px)/1.05 var(--titre);letter-spacing:-.04em}
.gagner h2{font:600 clamp(32px,3.6vw,48px)/1 var(--titre);letter-spacing:-.05em}
.q1-q,.diag-q h2{font-weight:600;letter-spacing:-.04em}
.theme-h h2,.cx-cat-t{font-weight:600;letter-spacing:-.035em}
.carte h3,.guide h3{font-weight:600;letter-spacing:-.03em}
.ft-b{font:700 20px/1.1 var(--titre);letter-spacing:-.035em}
.question{font-weight:600;letter-spacing:-.02em}
.res-n,.cx-n,.rapide .res-n{font-weight:700;letter-spacing:-.055em}

/* ---------- en-tête : boutons sans cadre, 44 px */
.hd-in{gap:14px}
.theme,.burger,.hs-btn{border:0;border-radius:var(--r);color:var(--encre)}
.theme:hover,.burger:hover,.hs-btn:hover,.hs-btn[aria-expanded=true]{background:var(--filet2)}
.nav a{font-weight:400;color:var(--encre2)}
.nav a::after{height:1.5px;bottom:2px}
.dd{border-radius:var(--r)}
.hs-x{display:none}

/* ---------- boutons, pastilles */
.btn{border-radius:var(--r);font-weight:600}
.exemple{display:inline-block;font-size:13.5px;padding:5px 10px;border-radius:var(--r);color:#5E430E}
html[data-theme=dark] .exemple{color:var(--encre)}

/* ---------- la barre qui se partage (résultats, accueil) */
.br-b,.partage{position:relative;display:flex;height:14px;border-radius:2px;overflow:hidden;background:var(--filet2)}
.br-b .sg,.partage .sg{transition:width .4s cubic-bezier(.2,.7,.2,1)}
.br-b::after,.partage::after{content:"";position:absolute;inset:0;background:var(--encre);transform-origin:right center;transform:scaleX(0);pointer-events:none}
.a-anim #res:not(.vu) .br-b::after,.a-anim .rapide-r:not(.vu) .partage::after{transform:scaleX(1)}
.a-anim #res.vu:not(.deja) .br-b::after,.a-anim .rapide-r.vu:not(.deja) .partage::after{animation:decouvre 1.15s .2s cubic-bezier(.65,0,.35,1) both}
@keyframes decouvre{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.glisse{animation:glisse .3s cubic-bezier(.2,.7,.2,1)}
@keyframes glisse{from{transform:translateY(.16em);opacity:.35}to{transform:none;opacity:1}}
.br-h span:first-child{font-weight:600}
.leg i{border-radius:2px}

/* ---------- accueil */
.porte{border-bottom:0;padding:28px 0 20px}
.porte .lede{font-size:16px;color:var(--doux);margin-top:12px}
.sits-t{font:400 14px/1 var(--sans);color:var(--doux);letter-spacing:0;margin:26px 0 0}
.sits{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.sit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px;padding:14px 0 13px;min-height:44px}
.sit b{font:600 20px/1.15 var(--sans);letter-spacing:-.03em;grid-column:1}
.sit span{grid-column:1;font-size:14px;color:var(--doux);margin-top:3px}
.sit-n{grid-column:2;grid-row:1;font-style:normal;font-size:14px;color:var(--doux)}
.sit:hover b{color:var(--or);text-decoration:none}
.bilan-l{position:relative;margin-top:22px;display:flex;flex-direction:column;gap:2px;padding:16px 52px 17px 18px;background:var(--encre);color:rgba(255,253,248,.72);border-radius:var(--r);font-size:14px}
.bilan-l a{color:#FFFDF8;text-decoration:none;font:600 19px/1.25 var(--sans);letter-spacing:-.02em;display:block}
.bilan-l a::after{content:"";position:absolute;inset:0}
.bilan-l a svg{position:absolute;right:18px;top:50%;width:20px;height:20px;transform:translateY(-50%)}
html[data-theme=dark] .bilan-l{background:#1D2A4C}
.vite{gap:8px;margin-top:16px;font-size:14.5px;align-items:center}
.vite a{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;border:1px solid var(--filet);border-radius:var(--r);background:var(--blanc);text-decoration:none;color:var(--encre)}
.vite a:hover{border-color:var(--encre)}
.vite a.tous{border:0;background:none;padding:0 4px}
/* l'impôt en 10 secondes : la saisie, la barre, ce qui reste et ce qui part */
.une{border-bottom:0}
.rapide{border-top:0;padding-top:0;gap:12px}
.rapide .f-rev .in{border:0;border-bottom:1.5px solid var(--encre);border-radius:0;background:transparent;padding:0 2px;min-height:60px}
.rapide .f-rev .in input{font:700 40px/1 var(--chiffre);letter-spacing:-.05em;min-height:58px}
.rapide .f-rev .suf{font:600 26px/1 var(--chiffre);color:var(--encre)}
.rapide .f-rev label{order:2;font-size:14px;color:var(--doux);margin:6px 0 0}
.rapide .f-rev{display:flex;flex-direction:column-reverse}
.rapide .f:not(.f-rev){grid-column:span 1}
.rapide{grid-template-columns:repeat(3,minmax(0,1fr))}
.rapide .f-rev,.rapide-r,.rapide .btn{grid-column:1/-1}
.rapide-r{border-top:0;padding-top:8px}
.r-cote{display:grid;grid-template-columns:1fr auto;column-gap:12px;margin-top:12px}
.r-cote .res-l{font-size:14px;color:var(--doux)}
.r-cote .r-d{text-align:right}
.r-reste{font:600 26px/1.1 var(--chiffre);letter-spacing:-.035em;color:var(--or)}
.rapide .res-n{font-size:26px;margin:0;text-align:right;letter-spacing:-.035em;font-weight:600}
.rapide .res-s{margin-top:8px;font-size:14px}
.une-s{border-radius:var(--r);overflow:hidden}

/* ---------- page simulateur */
.tete{padding-bottom:0}
.crumbs{padding-top:22px;font-size:14px}
.question{font-size:clamp(18px,1.6vw,21px);margin-top:4px}
.lede{color:var(--encre2)}
.tete .lede{font-size:16px}
.champs{border-top:0;padding-top:4px;margin-top:22px}
.in{border:0;border-bottom:1.5px solid rgba(18,32,63,.55);border-radius:0;background:transparent;padding:0 2px;min-height:52px}
html[data-theme=dark] .in{border-bottom-color:rgba(242,236,223,.5)}
.in:hover{border-color:var(--encre)}
.in:focus-within{border-color:var(--or-vif);box-shadow:inset 0 -1px 0 var(--or-vif)}
.in input{font:600 22px/1 var(--chiffre);letter-spacing:-.03em}
.f label,.f .lab{font-weight:600;font-size:14.5px;color:var(--encre2)}
.grp{font-weight:600;font-size:15px;color:var(--doux);border-top-color:var(--filet)}
.seg{border-radius:var(--r)}
.f-curseur input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;height:36px}
.f-curseur input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--filet)}
.f-curseur input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-11px;border-radius:50%;background:var(--blanc);border:2px solid var(--encre)}
.f-curseur input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--filet)}
.f-curseur input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--blanc);border:2px solid var(--encre)}
.res{background:transparent;border-top:2px solid var(--encre);box-shadow:none;padding:20px 0 0}
.res-l{font-weight:600;color:var(--encre)}
.res-n{font-size:clamp(52px,6.4vw,104px);margin:6px 0 12px}
.res-s{color:var(--encre2)}
details.plus{border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);padding-top:0;margin-top:18px}
details.plus>summary{min-height:52px}
.actions-d{border-bottom:1px solid var(--filet)}
.dbloc{border-top-width:2px}
.dl.total{border-top:2px solid var(--encre)}
.note,.verdict{border-left-width:2px}
.envrai .studio{border-radius:0}

/* ---------- la barre du bas : le chiffre reste en vue */
.mini b{font:700 22px/1 var(--chiffre);letter-spacing:-.04em}
.mini::after{content:"";width:9px;height:9px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-135deg);margin:4px 2px 0 0;opacity:.7}
.mini.bas::after{transform:rotate(45deg);margin:-4px 2px 0 0}
.mini span{margin-right:auto}

/* ---------- ordinateur : la composition de la maquette A */
@media (min-width:1101px){
  :root{--haut:64px}
  /* accueil : la porte à gauche, l'impôt en 10 secondes dans une fiche à droite */
  .acc-haut{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:start;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
  .acc-haut .wrap{padding:0;max-width:none}
  .acc-haut .porte{padding:40px 0 10px}
  .acc-haut .une{margin-top:40px;background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--encre);border-radius:var(--r);overflow:hidden}
  .acc-haut .une-in{display:block;min-height:0}
  .acc-haut .une-t{padding:24px 26px 20px;display:block}
  .acc-haut .une .lede{margin-top:6px;font-size:15px}
  .acc-haut .rapide{max-width:none;margin-top:14px}
  .acc-haut .une-s{min-height:0;height:300px;margin:0 26px 26px;background:var(--fond)}
  .acc-haut .une-s .studio{inset:0}
  .porte .search{max-width:none}
  .cherche .rech-res{top:76px}
  /* simulateur : la question et les champs à gauche, la réponse à droite, collée en haut ; le reste sur toute la largeur */
  .calc{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;margin-top:0}
  .calc-g{padding-bottom:12px}
  .calc .res{position:sticky;top:84px;margin-top:34px}
  .lies{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:901px) and (max-width:1100px){
  .calc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:0}
  .calc .res{margin-top:34px}
}

/* ---------- tablette et téléphone */
@media (max-width:980px){
  /* le menu monte du bas, par-dessus la page voilée */
  .mnav{top:auto;bottom:0;max-height:88dvh;border-radius:14px 14px 0 0;padding:6px var(--gut) calc(24px + env(safe-area-inset-bottom));
    transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1),visibility .26s;opacity:1;box-shadow:0 -10px 40px rgba(18,32,63,.18);z-index:61}
  body.menu-open .mnav{transform:none}
  body.menu-open::after{content:"";position:fixed;inset:0;background:var(--voile);z-index:60}
  .poignee{display:block;width:40px;height:4px;border-radius:2px;background:var(--filet);margin:4px auto 6px}
  .mnav>a{font:600 22px/1.15 var(--sans);letter-spacing:-.035em;min-height:56px;padding:12px 0}
  .mnav-th a{min-height:44px;display:flex;align-items:center}
  .hd{z-index:62}
}
@media (max-width:900px){
  /* accueil : l'impôt, la saisie, la barre, puis les billets */
  .une{border-top:2px solid var(--encre);margin:12px var(--gut) 0}
  .une>.wrap{padding:0}
  .une h2.une-h{order:1;padding-top:20px}
  .une .lede{order:2;margin:6px 0 4px;font-size:15px}
  .rapide{order:3;padding-bottom:8px}
  .une-s{order:4;height:min(70vw,320px);margin:6px 0 0}
  .calc .res{margin-top:4px}
}
@media (max-width:760px){
  .sits{grid-template-columns:1fr}
  .sit{padding:12px 0 11px}
  .sit b{font-size:20px}
  .porte h1{font-size:clamp(40px,11.4vw,50px)}
  /* rangées qui défilent à l'horizontale, avec accroche */
  .vite{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:14px calc(-1 * var(--gut)) 0;padding:0 var(--gut);scroll-padding:0 var(--gut)}
  .vite::-webkit-scrollbar{display:none}
  .vite>*{flex:none;scroll-snap-align:start}
  .chips{scroll-snap-type:x mandatory;scroll-padding:0 var(--gut)}
  .chip{scroll-snap-align:start}
  .cx-nav-in{scroll-snap-type:x mandatory}
  .cx-nav a{scroll-snap-align:start}
  .lies{display:grid;grid-auto-flow:column;grid-auto-columns:80%;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    border-top:0;margin:0 calc(-1 * var(--gut));padding:2px var(--gut) 6px;scroll-padding:0 var(--gut)}
  .lies::-webkit-scrollbar{display:none}
  .lie{scroll-snap-align:start;border:1px solid var(--filet);border-radius:var(--r);background:var(--blanc);padding:16px 44px 16px 16px;min-height:112px}
  .vrow{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gut));padding:0 var(--gut);scroll-padding:0 var(--gut);scrollbar-width:none}
  .vrow::-webkit-scrollbar{display:none}
  .vfig{flex:none;width:58%;scroll-snap-align:start}
  .rail{scroll-padding:0 var(--gut)}
  /* cibles de 44 px */
  .crumbs a{min-height:44px}
  .ft-liens{gap:0}
  .ft-liens a{display:flex;align-items:center;min-height:44px}
  .rep{min-height:52px}
  /* recherche : en plein écran, le champ en haut, les résultats dessous */
  body.hs-open{overflow:hidden}
  body.hs-open .hs{position:fixed;inset:0;z-index:70;padding:14px 0 0;overflow-y:auto;border:0}
  body.hs-open .hs .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px}
  .hs-x{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;border:0;background:none;font:600 15px/1 var(--sans);color:var(--encre);cursor:pointer}
  body.hs-open .hs .rech-res{position:static;grid-column:1/-1;max-height:none;box-shadow:none;border:0;border-top:1px solid var(--filet);border-radius:0;margin-top:4px;padding:0}
  .hs .search{min-height:52px}
  /* panneaux qui montent du bas : « Tu as aussi… », « Garder, partager, comparer » */
  body.feuille-open{overflow:hidden}
  body.feuille-open .mini{display:none}
  details.feuille[open]{position:fixed;left:0;right:0;bottom:0;z-index:65;margin:0;max-height:86dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--fond);
    border:0;border-radius:14px 14px 0 0;padding:0 var(--gut);box-shadow:0 0 0 100vmax var(--voile);animation:monte .26s cubic-bezier(.2,.7,.2,1)}
  details.feuille[open]>summary{position:sticky;top:0;z-index:2;background:var(--fond);padding:18px 0 12px;border-bottom:1px solid var(--filet)}
  details.feuille[open]>summary::before{content:"";position:absolute;left:50%;top:7px;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--filet)}
  details.feuille.actions-d[open]{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .feuille-pied{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;background:var(--fond);border-top:1px solid var(--filet);margin:16px calc(-1 * var(--gut)) 0;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom))}
  .feuille-res{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .feuille-res span{font-size:13px;color:var(--doux);line-height:1.2}
  .feuille-res b{font:700 22px/1 var(--chiffre);letter-spacing:-.04em;color:var(--or)}
  .feuille-res b.rouge{color:var(--rouge)}
  details:not(.feuille) .feuille-pied{display:none}
  /* définitions du glossaire : elles montent du bas */
  .gl.on .gl-d,.gl.on .gl-d.haut{position:fixed;left:0!important;right:0;bottom:0;top:auto;width:auto;max-width:none;z-index:70;border-radius:14px 14px 0 0;
    padding:22px var(--gut) calc(26px + env(safe-area-inset-bottom));font-size:16px;line-height:1.55;box-shadow:0 0 0 100vmax var(--voile);animation:monte .22s cubic-bezier(.2,.7,.2,1)}
  .gl.on .gl-d b{font-size:18px;margin-bottom:6px}
  /* la barre du bas */
  .mini{min-height:60px}
  body:has(.mini.on){padding-bottom:64px}
}
@keyframes monte{from{transform:translateY(40%);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){
  .br-b::after,.partage::after{display:none}
  .glisse,details.feuille[open],.gl.on .gl-d{animation:none}
}
@media print{.partage,.mini{display:none!important}.br-b::after{display:none}}
/* design A, retouches après captures */
.crumbs{align-items:center;gap:4px 8px}
.crumbs>span{display:inline-flex;align-items:center;color:var(--doux)}
.rapide .f-rev .in{justify-content:flex-start}
.rapide .f-rev .in input{width:auto;field-sizing:content;min-width:3ch;max-width:100%}
.f-curseur input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--encre) var(--p,0%),var(--filet) var(--p,0%))}
@media (max-width:760px){
  .crumbs{padding-top:6px}
  .porte{padding-top:22px}
  .porte .lede{margin-top:10px;font-size:15px}
  .sits-t{margin-top:20px}
  .sit{padding:10px 0 9px}
}
@media (max-width:760px){
  .cx-nav-in{scroll-padding:0 var(--gut)}
  .vite-l{scroll-snap-align:start}
}
/* Ton bilan sur ordinateur : l'en-tête à gauche, les questions à droite (plus de colonne étroite perdue à gauche) */
@media (min-width:1101px){
  main:has(#diag)>.wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:72px;align-items:start}
  main:has(#diag)>.wrap>.crumbs,main:has(#diag)>.wrap>.t-h1,main:has(#diag)>.wrap>.lede{grid-column:1}
  main:has(#diag)>.wrap>.diag{grid-column:2;grid-row:1/span 4;max-width:none;padding-top:22px}
  main:has(#diag) .t-h1{font-size:44px}
  main:has(#diag) .lede{font-size:16px}
}
/* thème sombre : le studio « En vrai » garde son sable clair, ses étiquettes gardent donc les couleurs du thème clair */
html[data-theme=dark] .studio{--encre:#14213D;--encre2:#3B4763;--doux:#69708A;--or:#946410;--rouge:#B3361F;--sur-encre:#FFFDF8}
.mini b.rouge,.feuille-res b.rouge{color:#F08A7A}
.feuille-res b.rouge{color:var(--rouge)}
body:has(#res[data-sens=impot]) .mini b{color:#F08A7A}
body:has(#res[data-sens=impot]) .feuille-res b{color:var(--rouge)}

/* 06/11 : la vidéo s'ouvre en grand ; « Bientôt » pour celles pas encore publiées */
.vid.bientot img{filter:blur(6px) saturate(.7);transform:scale(1.08)}
.vid.bientot:hover img{transform:scale(1.1)}
.vid .bt{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(255,253,248,.94);color:#14213D;font:600 14px/1 var(--sans);letter-spacing:.02em;padding:10px 14px;border-radius:999px;white-space:nowrap}
.vbox{position:fixed;inset:0;z-index:1000;background:rgba(10,16,30,.92);display:flex;align-items:center;justify-content:center;padding:56px 16px 24px;opacity:0;transition:opacity .22s ease}
.vbox.on{opacity:1}
.vbox-c{height:min(86vh,calc((100vw - 32px) * 16 / 9));aspect-ratio:9/16;max-width:100%;border-radius:6px;overflow:hidden;background:#000;transform:scale(.96);transition:transform .22s ease;position:relative}
.vbox.on .vbox-c{transform:none}
.vbox-c video{width:100%;height:100%;display:block;background:#000}
.vbox-b img{width:100%;height:100%;object-fit:cover;filter:blur(14px) saturate(.6);transform:scale(1.15)}
.vbox-bt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;color:#fff;background:rgba(10,16,30,.35)}
.vbox-bt b{font:600 clamp(34px,7vh,52px)/1 var(--sans);letter-spacing:-.02em}
.vbox-bt span{font-size:17px;opacity:.85;max-width:22ch}
.vbox-x{position:absolute;top:12px;right:16px;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;font:500 15px/1 var(--sans);cursor:pointer}
.vbox-x:hover,.vbox-x:focus-visible{background:rgba(255,255,255,.12);outline:none}
html.vbox-on,html.vbox-on body{overflow:hidden}
@media (max-width:600px){.vbox{padding:0}.vbox-c{height:100%;width:100%;aspect-ratio:auto;border-radius:0}.vbox-c video{object-fit:contain}.vbox-x{top:max(12px,env(safe-area-inset-top));background:rgba(10,16,30,.5)}}
@media (prefers-reduced-motion:reduce){.vbox,.vbox-c{transition:none}}
