/* Ready by [Date] — B3 design tokens (I4 Part 1). Signature: the countdown; the band beneath it. */
:root{
  --blue:#2E5E9E; --blue-2:#244B80; --green:#3A8C5F; --paper:#F6F7F7; --card:#FFFFFF; --line:#DCE1E5;
  --ink:#1B2733; --muted:#5D6B77; --ok:#2E7D53; --bad:#B4432F; --gold:#D9A93C;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s6:24px; --s8:32px; --s12:48px;
  --rad:10px; --rad-lg:14px; --sh:0 2px 8px rgba(27,39,51,.08);
  --font:'Inter','Segoe UI',system-ui,sans-serif; --mono:ui-monospace,'SF Mono',Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.55}
h1,h2,h3{line-height:1.15;margin:0 0 var(--s3)} h1{font-size:2.4rem;font-weight:700} h2{font-size:1.5rem} h3{font-size:1.1rem}
p{margin:0 0 var(--s3)} a{color:var(--blue)} .muted{color:var(--muted)} .mono{font-family:var(--mono)} .small{font-size:.85rem}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--s3);top:var(--s3);background:var(--card);padding:var(--s2) var(--s3);z-index:99}
button,.btn{font:inherit;font-weight:600;cursor:pointer;border:0;border-radius:var(--rad);padding:var(--s3) var(--s4);background:var(--blue);color:#fff}
button:hover,.btn:hover{background:var(--blue-2)}
.btn-ghost{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn-ghost:hover{background:rgba(46,94,158,.06)}
input,select{font:inherit;padding:var(--s2) var(--s3);border:2px solid var(--line);border-radius:var(--rad);background:#fff;width:100%}
label{display:block;font-weight:600;margin:var(--s3) 0 var(--s1)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad-lg);padding:var(--s6);box-shadow:var(--sh)}
.err{color:var(--bad);font-weight:600}.okc{color:var(--ok);font-weight:600}
.banner{background:#F3EBD7;border:1px solid var(--gold);border-radius:var(--rad);padding:var(--s3) var(--s4);margin:var(--s4) 0}
.wrap{max-width:1020px;margin:0 auto;padding:0 var(--s4)}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;color:var(--blue)}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s8);align-items:center;padding:var(--s12) 0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin:var(--s8) 0}
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin:var(--s6) 0}
footer{border-top:1px solid var(--line);margin-top:var(--s12);padding:var(--s8) 0;color:var(--muted);font-size:.85rem}
.langtoggle{position:absolute;top:var(--s3);right:var(--s4)}
/* app */
.shell{max-width:900px;margin:0 auto;padding:var(--s4)}
.topbar{display:flex;gap:var(--s2);align-items:center;margin-bottom:var(--s4);flex-wrap:wrap}
.topbar a{text-decoration:none;font-weight:600;color:var(--muted);padding:var(--s1) var(--s3);border-radius:var(--rad)}
.topbar a[aria-current="page"]{background:var(--blue);color:#fff}
.count{text-align:center;margin:var(--s6) 0 var(--s3)}
.bignum{font-size:4rem;font-weight:700;color:var(--blue);letter-spacing:-.02em}
.bandwrap{max-width:560px;margin:0 auto var(--s3)}
.bandtrack{position:relative;height:12px;background:#E7EBEE;border-radius:99px;margin:var(--s2) 0}
.bandseg{position:absolute;top:0;height:100%;background:var(--green);border-radius:99px;transition:left .5s,width .5s}
.tick262{position:absolute;left:62%;top:-4px;width:3px;height:20px;background:var(--gold)}
.weekcard{max-width:560px;margin:var(--s4) auto}
.weekcard{animation:slidein .45s ease}
@keyframes slidein{from{transform:translateY(8px);opacity:.4}to{transform:none;opacity:1}}
.meterbar{height:8px;background:#E7EBEE;border-radius:99px;overflow:hidden;margin:var(--s2) 0}
.meterbar>span{display:block;height:100%;background:var(--green);transition:width .5s ease}
.choices label{display:flex;gap:var(--s2);align-items:flex-start;font-weight:400;border:2px solid var(--line);border-radius:var(--rad);padding:var(--s3);margin:0 0 var(--s2);cursor:pointer}
.choices input{width:auto}
.choices label:has(input:checked){border-color:var(--blue);background:#EFF4FA}
.slotlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s2)}
table{border-collapse:collapse;width:100%} td,th{border-bottom:1px solid var(--line);padding:var(--s2) var(--s3);text-align:left;font-size:.9rem}
@media (max-width:860px){ .hero,.pricing{grid-template-columns:1fr} .steps{grid-template-columns:1fr} .bignum{font-size:3rem} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important;animation:none!important} }
