@font-face{font-family:"Schibsted";src:url(/assets/fonts/schibsted-grotesk-latin-wght-normal.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Schibsted";src:url(/assets/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2) format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+0100-02BA,U+0152-0153,U+1E00-1EFF,U+20A0-20C0}
@font-face{font-family:"Mono";src:url(/assets/fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2");font-weight:100 800;font-display:swap}
:root{--paper:#fff;--pale:#F6F7F8;--ink:#0E0F12;--soft:#3A3E46;--muted:#5B6069;--line:#E4E6EA;--or:#FF5A1F;--or-soft:#FFE9DF;--ok:#128A5A;--ok-soft:#E2F5EC;--amb:#9A5B00;--amb-soft:#FBF0DA;--blue:#2458D6;--blue-soft:#E7EEFF;--red:#B42318;--red-soft:#FDECEA;--focus:#2458D6;
  --sans:"Schibsted",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Mono",ui-monospace,Menlo,monospace}
@media (prefers-color-scheme:dark){:root{--paper:#0E0F12;--pale:#15171C;--ink:#F2F3F5;--soft:#C7CAD1;--muted:#9A9FA8;--line:#2A2E36;--or:#FF6A33;--or-soft:#3A2218;--ok:#5ED6A0;--ok-soft:#153327;--amb:#F0B14A;--amb-soft:#3A2E12;--blue:#7FA3FF;--blue-soft:#1B2740;--red:#FF8A80;--red-soft:#3A1A18;--focus:#7FA3FF}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--sans)}
.wrap{max-width:52rem;margin:0 auto;padding:0 1.25rem}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.top{border-bottom:1px solid var(--ink)}
.top .wrap{display:flex;align-items:center;gap:1rem;min-height:3.75rem;max-width:68rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:inherit;font-weight:700;font-size:1.2rem;letter-spacing:-.02em}
.private{margin:0 0 0 auto;font-size:.85rem;color:var(--muted)}
h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3rem)}
h2{font-size:1.6rem}
h3{font-size:1.1rem;letter-spacing:-.015em;line-height:1.25;margin:0}
.k{font:500 .78rem/1 var(--mono);color:var(--or);text-transform:uppercase;letter-spacing:.02em;margin:2rem 0 1rem}
.lede{font-size:1.15rem;color:var(--soft);max-width:44ch}
/* progression */
.progress{display:flex;gap:.35rem;margin:1.75rem 0 .5rem}
.progress span{flex:1;height:5px;border-radius:9px;background:var(--line)}
.progress span.on{background:var(--or)}
.stepname{font:500 .8rem var(--mono);color:var(--muted);margin:0 0 1.5rem}
/* questions */
fieldset{border:0;margin:0 0 1.9rem;padding:0}
legend{font-weight:700;font-size:1.12rem;margin-bottom:.35rem;padding:0}
.hint{color:var(--muted);font-size:.92rem;margin:-.1rem 0 .6rem}
.opts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.55rem}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt span{display:inline-flex;align-items:center;min-height:2.75rem;padding:.55rem 1rem;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);font-weight:500;cursor:pointer}
.opt input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.opt.nsp span{border-style:dashed;color:var(--muted)}
.opt.nsp input:checked+span{background:var(--pale);color:var(--ink);border-style:solid;border-color:var(--ink)}
input[type=date]{font:inherit;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);margin-top:.5rem}
.err{color:var(--red);font-size:.92rem;margin:.4rem 0 0}
.nav{display:flex;gap:.75rem;align-items:center;margin:2.2rem 0 3rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.7rem 1.3rem;border-radius:7px;background:var(--or);color:#fff;font:600 1rem var(--sans);border:1.5px solid var(--or);cursor:pointer;text-decoration:none}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.nav .note{margin-left:auto;font-size:.88rem;color:var(--muted)}
/* plan */
.summary{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--ink);margin:1.75rem 0}
.summary div{padding:1.1rem 0}.summary div+div{padding-left:1.2rem;border-left:1px solid var(--line)}
.summary b{display:block;font-size:2.1rem;font-weight:800;letter-spacing:-.04em;line-height:1}
.summary span{font-size:.88rem;color:var(--muted)}
@media (max-width:640px){.summary{grid-template-columns:1fr 1fr}.summary div:nth-child(3){padding-left:0;border-left:0}.summary div:nth-child(n+3){border-top:1px solid var(--line)}}
.verdict{border:1.5px solid var(--ink);border-radius:12px;padding:1.25rem 1.4rem;margin:0 0 2rem}
.verdict.probable{border-style:dashed}
.verdict p{margin:.4rem 0 0;color:var(--soft)}
.phase{margin:2.2rem 0 0}
.phase>h2{font-size:1.25rem;margin:0 0 .3rem;padding-bottom:.6rem;border-bottom:2px solid var(--ink)}
.task{display:grid;grid-template-columns:6.5rem 1fr;gap:.3rem 1.2rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.task time{font:500 .82rem var(--mono);color:var(--muted);padding-top:.15rem}
.task.late time{color:var(--red)}
.task p{margin:.35rem 0 0;color:var(--soft);font-size:.96rem;max-width:60ch}
.badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
.badge{font-size:.76rem;font-weight:600;padding:.2rem .55rem;border-radius:99px;white-space:nowrap}
.m-courrier,.m-formulaire{background:var(--or-soft);color:var(--ink)}
.m-auto{background:var(--ok-soft);color:var(--ok)}
.m-decision{background:var(--blue-soft);color:var(--blue)}
.m-vous{background:var(--pale);color:var(--soft);border:1px solid var(--line)}
.s-confirmer{background:var(--amb-soft);color:var(--amb)}
.s-late{background:var(--red-soft);color:var(--red)}
.why{font-size:.88rem!important;color:var(--amb)!important}
@media (max-width:560px){.task{grid-template-columns:1fr}}
.cta{background:var(--ink);color:var(--paper);border-radius:14px;padding:2rem;margin:3rem 0;display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}
.cta h2{color:var(--paper);margin:0 0 .3rem}.cta p{margin:0;color:color-mix(in srgb,var(--paper) 75%,transparent)}
@media (max-width:640px){.cta{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){.cta{background:var(--pale);border:1px solid var(--line)}.cta h2{color:var(--ink)}.cta p{color:var(--soft)}}
.foot{font-size:.85rem;color:var(--muted);margin:0 0 3rem}

.lbl{display:block;font-weight:700;font-size:1.12rem;margin:1.6rem 0 .5rem}
#org{width:100%;max-width:32rem;font:inherit;padding:.75rem .9rem;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper);color:var(--ink)}
.sugg{display:flex;flex-direction:column;max-width:32rem;margin-top:.35rem}
.opt-s{display:flex;justify-content:space-between;gap:1rem;text-align:left;font:inherit;padding:.65rem .9rem;border:1px solid var(--line);border-top:0;background:var(--paper);color:var(--ink);cursor:pointer}
.opt-s:first-child{border-top:1px solid var(--line);border-radius:8px 8px 0 0}.opt-s:last-child{border-radius:0 0 8px 8px}.opt-s:only-child{border-radius:8px}
.opt-s:hover,.opt-s:focus-visible{background:var(--pale)}
.opt-s small,.chips small{color:var(--muted);font-size:.85rem}
.opt-s.other{color:var(--soft)}
.amb{margin-top:.8rem}.amb p{margin:0 0 .3rem;font-weight:600}
.btn.small{min-height:2.5rem;padding:.4rem .9rem;font-size:.95rem}
.chips{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-direction:column;gap:.4rem;max-width:32rem}
.chips li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .4rem .6rem .9rem;border:1.5px solid var(--ink);border-radius:8px}
.chips li span{display:flex;flex-direction:column;font-weight:600}
.chips button{font:inherit;font-size:.88rem;background:none;border:0;color:var(--muted);cursor:pointer;padding:.4rem .6rem;border-radius:6px}
.chips button:hover{color:var(--red);background:var(--red-soft)}
.soon{border:1.5px dashed var(--line);border-radius:10px;padding:1rem 1.2rem;margin:1.4rem 0 0;max-width:32rem}
.soon p{margin:.3rem 0 0;color:var(--muted);font-size:.95rem}

.drop{border:1.5px dashed var(--ink);border-radius:10px;padding:1.1rem 1.2rem;margin:1.4rem 0 0;max-width:32rem}
.drop p{margin:.35rem 0 .8rem;color:var(--soft);font-size:.95rem}
.drop .small{font-size:.85rem;margin:.7rem 0 0}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.drop label.btn{cursor:pointer}
.detect{margin-top:.8rem}.detect .ok{color:var(--ok);font-weight:600}
.found{list-style:none;padding:0;margin:.6rem 0 1rem;display:flex;flex-direction:column;gap:.3rem}
.found label{display:flex;gap:.7rem;align-items:flex-start;padding:.45rem .2rem;cursor:pointer}
.found input{width:1.15rem;height:1.15rem;margin-top:.2rem;accent-color:var(--or)}
.found span{display:flex;flex-direction:column;font-weight:600}.found small{color:var(--muted);font-weight:400;font-size:.85rem}
/* Courriers : aperçu verrouillé */
.letters{margin:3rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--ink)}
.letters .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin:1.5rem 0}
.letter{border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.1rem 1rem;background:var(--paper);display:flex;flex-direction:column}
.letter header{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:.6rem}
.letter .to{font:600 .78rem var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.letter h3{font-size:1.02rem;margin:0 0 .5rem}
.letter .start{margin:0 0 .6rem;font-size:.93rem;color:var(--soft)}
.masked{display:grid;gap:.45rem;margin:.2rem 0 .8rem;user-select:none}
.masked span{display:block;height:.62rem;border-radius:4px;background:var(--line)}
.letter .lock{font-size:.84rem;color:var(--muted);margin:auto 0 .3rem}
.letter .pj{font-size:.8rem;color:var(--muted);margin:0}
.price{border:1.5px solid var(--ink);border-radius:10px;padding:1.2rem 1.3rem;max-width:34rem}
.price dl{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;margin:0 0 .8rem}
.price dt,.price dd{margin:0}.price dd{font-variant-numeric:tabular-nums;text-align:right}
.price .tot{font-weight:700;border-top:1px solid var(--line);padding-top:.45rem}
.price .btn{margin-top:.6rem}
.ident fieldset{border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;margin:0 0 1rem;display:grid;gap:.7rem}
.field{display:grid;gap:.25rem}.field span{font-size:.9rem;font-weight:500}
.field input,.field select,.field textarea{font:inherit;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
details.full{border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin:.6rem 0}
details.full pre{white-space:pre-wrap;font:400 .92rem/1.55 var(--sans);margin:.8rem 0 0}
@media print{.letters .masked,.price .btn{display:none}}
.masked span:nth-child(1){width:96%}.masked span:nth-child(2){width:88%}.masked span:nth-child(3){width:92%}.masked span:nth-child(4){width:70%}.masked span:nth-child(5){width:94%}.masked span:nth-child(6){width:82%}.masked span:nth-child(7){width:58%}
/* Plan : colonne principale et encart de paiement collant */
#app.wide{max-width:74rem}
.plan-grid{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:2.5rem;align-items:start}
.plan-aside{position:sticky;top:1.25rem}
.plan-aside .price{max-width:none;background:var(--paper)}
.plan-aside .big{font-size:1.35rem;font-weight:700;margin:.1rem 0 .2rem}
.plan-aside .k{margin:0}
.plan-aside a.note{display:inline-block;margin-bottom:1rem;color:var(--muted)}
.btn.block{width:100%;justify-content:center}
.paybar{display:none}
.letters .grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
@media (max-width:900px){
  .plan-grid{grid-template-columns:1fr}
  .plan-aside{position:static}
  .paybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:5;gap:1rem;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--paper);border-top:1px solid var(--ink)}
  .paybar b{font-size:1.15rem}.paybar span{color:var(--muted);font-size:.9rem}
  #app.wide{padding-bottom:5rem}
}
.choix{padding:.7rem 0;border-top:1px solid var(--line)}
.choix .q{margin:0 0 .4rem}
.opt-line{display:flex;gap:.55rem;align-items:flex-start;padding:.2rem 0;cursor:pointer}
.opt-line input{margin-top:.3rem;accent-color:var(--ink)}
@media print{.plan-aside,.paybar{display:none}.plan-grid{display:block}}
/* Relevé mis en avant, banques */
.drop.reco{border:2px solid var(--or);background:var(--or-soft)}
.drop.reco>strong{display:block;font-size:1.15rem;margin:.5rem 0 .3rem}
.badge.s-reco{background:var(--or);color:#fff}
.compare{list-style:none;padding:0;margin:.8rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.compare li{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;display:grid;gap:.15rem}
.compare li:first-child{border-color:var(--ink)}
.compare span{font-size:.9rem;color:var(--soft)}
.banques{margin:1.4rem 0}
#banque{width:100%;max-width:32rem;font:inherit;padding:.75rem .9rem;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper);color:var(--ink)}
@media (max-width:560px){.compare{grid-template-columns:1fr}}
