:root{--bg:#fff;--bg-2:#f5f7fa;--bg-3:#eaeef3;--ink:#1f2329;--ink-2:#4b5159;--ink-3:#646a73;--line:#e4e8ec;--line-2:#cbd1d8;--accent:#2e70aa;--accent-bright:#357fbe;--accent-hover:#285f91;--accent-press:#224f79;--accent-soft:#ddeaf7;--accent-soft-2:#eef4fa;--band:#14243a;--band-2:#1c3150;--band-line:#2d4568;--band-soft:#b8c5d6;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--sans:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--radius-panel:16px;--radius-control:8px;--radius-pill:999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.18s;--header-h:64px;--shadow:0 16px 40px -20px #1f232947, 0 2px 8px -2px #1f232914;--paper:var(--bg);--ink-soft:var(--ink-2);--blue-deep:var(--accent)}*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light;background:var(--bg);overflow-x:clip}[id]{scroll-margin-top:calc(var(--header-h) + 16px)}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-optical-sizing:auto;text-wrap:pretty;margin:0;font-size:1rem;line-height:1.6;overflow-x:clip}::selection{background:var(--accent-soft)}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere;min-width:0;margin:0 0 .5em;font-style:normal;line-height:1.12}h1{letter-spacing:-.028em;font-size:clamp(2.5rem,5.4vw,3.5rem);font-weight:700;line-height:1.08}h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700}h3{font-size:1.125rem;font-weight:600}h4{font-size:1rem;font-weight:600}p{margin:0 0 1em}a{color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:1px}:is(a,button,input,summary,select,textarea):focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px;border-radius:4px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:60;background:var(--ink);color:var(--bg);border-radius:var(--radius-control);padding:8px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.kicker{font-family:var(--sans);letter-spacing:0;color:var(--accent);margin:0 0 14px;font-size:.875rem;font-weight:600}.lede{color:var(--ink-2);max-width:36em;font-size:1.25rem;line-height:1.5}.muted{color:var(--ink-3)}.status{font-family:var(--sans);color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg);white-space:nowrap;align-items:center;gap:8px;padding:4px 10px 4px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.status:before{content:"";background:var(--accent-bright);border-radius:50%;width:7px;height:7px}.status-roadmap:before{border:1.5px dashed var(--ink-3);background:0 0}button,a.btn{touch-action:manipulation;-webkit-tap-highlight-color:#357fbe1f}.btn{background:var(--accent);color:#fff;border-radius:var(--radius-pill);border:1px solid var(--accent);cursor:pointer;white-space:nowrap;min-height:40px;transition:background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), color var(--dur) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.9375rem;font-weight:550;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:active{background:var(--accent-press);border-color:var(--accent-press);transform:scale(.98)}.btn-small{min-height:34px;padding:0 14px;font-size:.875rem}.btn-ghost{background:var(--bg);color:var(--accent);border-color:var(--accent)}.btn-ghost:hover{background:var(--accent-soft-2);color:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost:active{background:var(--accent-soft)}.text-link{font-weight:550;text-decoration:none}.text-link:hover{text-decoration:underline}section{padding:clamp(52px,7vw,92px) 0}.intro{padding:clamp(32px,5vw,64px) 0 clamp(28px,4vw,44px)}.band{background:var(--band);color:var(--band-soft)}.band :is(h1,h2,h3,h4){color:#fff}.band p{color:var(--band-soft)}.band a{color:#fff}.band .kicker{color:var(--band-soft)}.cta-row{flex-wrap:wrap;gap:10px;margin:26px 0 0;display:flex}.strip{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.strip a,.strip span{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg);min-height:36px;color:var(--ink);white-space:nowrap;transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);align-items:center;gap:8px;padding:0 12px 0 8px;font-size:.875rem;font-weight:550;text-decoration:none;display:inline-flex}.strip a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft-2)}.strip .ghost{color:var(--ink-3);border-style:dashed;font-weight:500}.bubble{width:var(--bubble,56px);height:var(--bubble,56px);color:#fff;transition:transform var(--dur) var(--ease-out);flex:none;place-items:center;display:inline-grid;position:relative}.bubble>svg{width:100%;height:100%;display:block;overflow:visible}.bubble-dark{color:#fff}.bubble-ghost{color:var(--ink-3)}a:hover>.bubble,.lift:hover .bubble{transform:translateY(-2px)}.mods{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.mod{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--bg);align-content:start;gap:14px;min-width:0;padding:22px 22px 20px;display:grid}.mod-head{align-items:center;gap:14px;display:flex}.mod-head h3{margin:0;font-size:1.125rem}.mod-line{color:var(--ink-2);margin:0;font-size:.9375rem}.checks{gap:7px;margin:0;padding:0;list-style:none;display:grid}.checks li{color:var(--ink-2);padding-left:24px;font-size:.9375rem;line-height:1.45;position:relative}.checks li:before{content:"";width:14px;height:14px;color:var(--accent-bright);background:currentColor;position:absolute;top:.32em;left:0;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3 3 7-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") 50%/contain no-repeat}.band .checks li{color:var(--band-soft)}.band .checks li:before{color:#fff}.num{counter-reset:sec}.num>.numbered{border-top:1px solid var(--line);padding:clamp(28px,4vw,44px) 0}.num>.numbered:first-of-type{border-top:0;padding-top:0}.numbered h2{align-items:baseline;gap:14px;font-size:clamp(1.35rem,2.2vw,1.75rem);display:flex}.numbered h2:before{counter-increment:sec;content:counter(sec, decimal-leading-zero);font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:.02em;font-size:.875rem;font-weight:600}.numbered p{max-width:42em;color:var(--ink-2)}.numbered .checks{max-width:42em;margin-top:12px}.keep-card{border:1px solid var(--band-line);border-radius:var(--radius-panel);background:var(--band-2);padding:26px 24px}.keep-card h3{margin:0 0 8px;font-size:1.05rem}.keep-card p{max-width:30em;margin:0}.ledger{margin:0 0 18px;padding:0;list-style:none}.ledger li{border-bottom:1px dashed var(--band-line);justify-content:space-between;gap:16px;padding:10px 0;font-size:.9375rem;display:flex}.ledger li strong{font-family:var(--sans);font-variant-numeric:tabular-nums;color:#fff;text-align:right;font-weight:600}.faq{border-bottom:1px solid var(--line);padding:4px 0}.faq:first-of-type{border-top:1px solid var(--line)}.faq summary{cursor:pointer;padding:14px 0;font-weight:600;list-style-position:outside}.faq summary:hover{color:var(--accent)}.faq p{color:var(--ink-2);max-width:40em;margin:0 0 16px}.ghost-row{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ghost-row li{border:1.5px dashed var(--line-2);color:var(--ink-2);border-radius:12px;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-weight:500;display:inline-flex}.ghost-cap{font-family:var(--sans);color:var(--ink-3);margin:14px 0 0;font-size:.8125rem}.course{border-top:1px solid var(--line)}.course .content{padding-block:34px}.course a{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;text-decoration:none;display:flex}.course a:hover .course-label{color:var(--accent)}.course-kicker{font-family:var(--sans);color:var(--accent);font-size:.8125rem;font-weight:600}.course-label{letter-spacing:-.02em;transition:color var(--dur) var(--ease-out);align-items:center;gap:8px;font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:700;display:inline-flex}.foot{border-top:1px solid var(--line);background:var(--bg-2);padding:52px 24px 36px}.foot-grid{max-width:var(--content-w-wide,960px);grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;margin:0 auto;display:grid}.foot-mark{align-items:center;gap:10px;margin:0 0 10px;font-weight:650;display:inline-flex}.foot-story{color:var(--ink-2);max-width:26em;margin:0;font-size:.9375rem}.foot-col{align-content:start;gap:8px;display:grid}.foot-col h3{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);margin:0 0 4px;font-size:.875rem;font-weight:600}.foot-col a{color:var(--ink-2);font-size:.9375rem;text-decoration:none}.foot-col a:hover{color:var(--accent);text-decoration:underline}.foot-fine{font-family:var(--sans);color:var(--ink-3);border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:6px 24px;margin:34px 0 0;padding-top:18px;font-size:.8125rem;display:flex}.foot-fine a{color:var(--ink-2);text-decoration:none}.foot-fine a:hover{color:var(--accent);text-decoration:underline}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:.16s ease-in both vt-out}::view-transition-new(root){animation:.22s ease-out both vt-in}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}}@media (pointer:coarse){.strip a,.foot-col a,.foot-fine a{min-height:44px}.foot-col a,.foot-fine a{align-items:center;display:flex}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (width<=1040px){.mods{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.foot-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.mods,.foot-grid{grid-template-columns:1fr}.foot{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right))}}
