@property --p{syntax:"<number>";inherits:true;initial-value:1}@property --pe{syntax:"<number>";inherits:true;initial-value:1}@property --step-p{syntax:"<number>";inherits:true;initial-value:1}@property --arc{syntax:"<angle>";inherits:false;initial-value:360deg}@property --accent{syntax:"<color>";inherits:true;initial-value:#eee}@property --accent-ink{syntax:"<color>";inherits:true;initial-value:#eee}@property --tint{syntax:"<color>";inherits:true;initial-value:#161616}@property --band{syntax:"<color>";inherits:true;initial-value:#000}:root{--paper:#000;--paper-2:#070707;--paper-3:#181818;--white:#111;--ink:#f4f4f4;--ink-2:#c6c6c6;--ink-3:#a0a0a0;--ink-4:#757575;--hair:#ffffff1f;--hair-strong:#ffffff3d;--hair-ui:#545454;--night:#000;--night-2:#111;--night-ink:#f4f4f4;--night-ink-2:#a0a0a0;--focus:#bdcde3;--focus-night:#bdcde3;--success:#abd3b9;--danger:#eea49e;--clay:#e1ded8;--math:#bacce5;--english:#e0d5c3;--cs:#afcfbe;--approach:#dadada;--math-soft:#bacce51a;--english-soft:#e0d5c31a;--cs-soft:#afcfbe1a;--spark:#c8bdd4;--spark-ink:#c8bdd4;--spark-bright:#d9cde5;--spark-tint:#17141b;--hl:#4e442c;--hl-claim:#554629;--hl-evidence:#243e59;--hl-analysis:#254b3a;--pen:#e2a49b;--ink-blue:#bacce5;--cream:#111110;--rule:#ffffff12;--margin-rule:#e0d5c32e;--term-bg:#0a0c0b;--term-ink:#e3e9e6;--tok-k:#c8bdd4;--tok-f:#bacce5;--tok-n:#e0d5c3;--tok-s:#afcfbe;--tok-c:#95a49d;--tok-p:#afcfbe;--cmp:#e0ce9e;--swp:#eea49e;--sorted:#afcfbe;--amber:#e0d5c3;--graphite:#c6c6c6;--gold:#e0d5c3;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI Variable Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif:ui-serif, "New York", "Iowan Old Style", Charter, "Bitstream Charter", Georgia, serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-hand:"Bradley Hand", Noteworthy, "Segoe Print", "Ink Free", ui-serif, Georgia, serif;--fs-wordmark:clamp(3rem, 1.25rem + 7.5vw, 8rem);--fs-display:clamp(3rem, 1.944rem + 4.507vw, 6rem);--fs-h1:clamp(2.5rem, 1.796rem + 3.005vw, 4.5rem);--fs-h2:clamp(2rem, 1.472rem + 2.254vw, 3.5rem);--fs-h3:clamp(1.3125rem, 1.158rem + .657vw, 1.75rem);--fs-stat:clamp(2.5rem, 1.62rem + 3.756vw, 5rem);--fs-eyebrow:clamp(1.0625rem, .908rem + .657vw, 1.5rem);--fs-lead:clamp(1.25rem, 1.074rem + .751vw, 1.75rem);--fs-read:clamp(1.0625rem, 1.04rem + .09vw, 1.125rem);--fs-body:clamp(1rem, .978rem + .094vw, 1.0625rem);--fs-small:.875rem;--fs-meta:.75rem;--fs-mono:.9375rem;--fs-mono-sm:.8125rem;--gutter:clamp(1.25rem, .6rem + 2.8vw, 2.5rem);--wrap:1180px;--wrap-wide:1440px;--narrow:820px;--read:640px;--gap:clamp(1rem, .8rem + .9vw, 1.5rem);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--s-11:200px;--space-1:var(--s-1);--space-2:var(--s-2);--space-3:var(--s-4);--space-4:var(--s-6);--space-5:var(--s-7);--space-6:var(--s-8);--section-y:clamp(4.5rem, 3.09rem + 6.01vw, 8.5rem);--head-gap:clamp(2.5rem, 2rem + 2vw, 4.5rem);--header-h:56px;--subnav-h:52px;--stick-top:0px;--stick-top-ui:0px;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-2xl:32px;--r-pill:999px;--r-tile:clamp(20px, 1rem + 1vw, 28px);--shadow-1:0 1px 2px #1414130f, 0 1px 1px #1414130a;--shadow-2:0 10px 28px -14px #14141338;--shadow-3:0 28px 64px -28px #14141352;--shadow-float:0 12px 32px -10px #14141359, 0 0 0 1px #1414130f;--pencil-stroke:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8C60 3 140 11 298 5' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");--tick-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8.6l3.4 3.4L13.5 4.4' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--pin-step:70svh;--ease-out:cubic-bezier(.165,.84,.44,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-expo:cubic-bezier(.19,1,.22,1);--ease-pencil:cubic-bezier(.45,.05,.35,1);--ease-pop:cubic-bezier(.34,1.56,.64,1);--dur-press:.12s;--dur-ui:.24s;--dur-swap:.48s;--dur-reveal:.64s;--dur-hero:.9s;--dur-draw:1.4s;--stagger:70ms;--p:1;--pe:1;--step:99;--step-p:1;--mx:.5;--my:.5;--chars:0;--type-delay:0s;--type-dur:.6s;--at:0;--len:.25;--until:999;--i:0;--d:0;--n:1;--w:0;--digit:0;--autoplay:6s;--x:0;--v:1;--fin:0;--push:0;--pop:999;--from:0;--to:1;--rx:50%;--ry:50%;--seg-i:0;--seg-n:3;--li:0;--k:0;--ai:.7;--steps:1}body[data-subnav]{--stick-top:var(--subnav-h);--stick-top-ui:var(--subnav-h)}html.js body[data-subnav]{--stick-top-ui:calc(var(--header-h) + var(--subnav-h))}html.js[data-head=hidden] body[data-subnav]{--stick-top-ui:var(--subnav-h)}:root,[data-theme]{--accent:#eee;--accent-ink:#eee;--accent-bright:#fff;--tint:#161616;--tint-2:#0c0c0c;--band:#000;--band-2:#111;--band-ink:#f4f4f4;--band-ink-2:#a0a0a0;--band-hair:#ffffff1f;--cta-bg:#f2f2f2;--cta-fg:#080808;--cta-bg-band:#f2f2f2;--cta-fg-band:#080808;--brand-lines:#000;--motif:radial-gradient(#ffffff0f 1px, transparent 1.5px) 0 0/24px 24px;--motif-band:radial-gradient(#ffffff0a 1px, transparent 1.5px) 0 0/24px 24px;--tone-gradient:linear-gradient(90deg, #fff, #b8b8b8);--tone-font:initial;--tone-style:normal;--tone-weight:initial;--kicker-font:var(--font-sans);--kicker-prefix:"";--num-font:var(--font-sans);--sel:#ffffff38;--plot-bg:#090b0e;--plot-grid:#bacce514;--plot-grid-major:#bacce529;--plot-axis:#ffffff8c;--plot-label:#b0b7c1;--plot-curve:#bacce5;--plot-target:#ffffff73;--plot-target-dot:#fff;--plot-vertex:#fff}[data-theme=english]{--accent:#e0d5c3;--accent-ink:#e0d5c3;--accent-bright:#eee5d7;--tint:#1b1915;--tint-2:#0c0b0a;--motif:repeating-linear-gradient(to bottom, transparent 0 39px, #e0d5c30e 39px 40px);--motif-band:repeating-linear-gradient(to bottom, transparent 0 39px, #e0d5c30a 39px 40px);--tone-font:var(--font-serif);--tone-style:italic;--tone-weight:400}[data-theme=math]{--accent:#bacce5;--accent-ink:#bacce5;--accent-bright:#d6e2f3;--tint:#141a22;--tint-2:#090c10;--motif:linear-gradient(#bacce50f 1px, transparent 1px) 0 0/40px 40px, linear-gradient(90deg, #bacce50f 1px, transparent 1px) 0 0/40px 40px;--motif-band:linear-gradient(#bacce50b 1px, transparent 1px) 0 0/40px 40px, linear-gradient(90deg, #bacce50b 1px, transparent 1px) 0 0/40px 40px}[data-theme=cs]{--accent:#afcfbe;--accent-ink:#afcfbe;--accent-bright:#c4e1d2;--tint:#141d18;--tint-2:#090c0a;--motif:radial-gradient(#afcfbe1a 1px, transparent 1.5px) 0 0/20px 20px;--motif-band:radial-gradient(#afcfbe12 1px, transparent 1.5px) 0 0/20px 20px;--kicker-font:var(--font-mono);--num-font:var(--font-mono)}[data-theme=approach]{--accent:#dadada;--accent-ink:#dadada;--accent-bright:#fff;--tint:#171717;--tint-2:#0a0a0a;--motif:repeating-linear-gradient(-45deg, #ffffff09 0 1px, transparent 1px 9px)}#subject-stage{transition:--accent .48s var(--ease-in-out), --tint .48s var(--ease-in-out)}:root,[data-theme],.bg-paper,.bg-paper-2,.section-alt,.bg-white,.bg-tint{--surface:var(--paper);--card-bg:var(--white);--text:var(--ink);--text-2:var(--ink-2);--text-3:var(--ink-3);--line:var(--hair);--line-strong:var(--hair-strong);--accent-text:var(--accent-ink);--spark-text:var(--spark-ink);--btn-bg:var(--cta-bg);--btn-fg:var(--cta-fg);--seg-bg:#1414130f;--focus-ring:var(--focus);--mark:var(--accent)}.bg-paper-2,.section-alt{--surface:var(--paper-2)}.bg-white{--surface:var(--white);--card-bg:var(--paper)}.bg-tint{--surface:var(--tint)}.bg-band,.hero-stage,.term,.sheet--band{--surface:var(--band);--card-bg:var(--band-2);--text:var(--band-ink);--text-2:var(--band-ink);--text-3:var(--band-ink-2);--line:var(--band-hair);--line-strong:#ffffff38;--accent-text:var(--accent-bright);--spark-text:var(--spark-bright);--btn-bg:var(--cta-bg-band);--btn-fg:var(--cta-fg-band);--seg-bg:#ffffff1a;--focus-ring:var(--focus-night);--mark:var(--accent-bright);color-scheme:dark}.bg-paper,.bg-paper-2,.section-alt,.bg-white,.bg-tint,.bg-band{background-color:var(--surface);color:var(--text-2)}.term{--surface:var(--term-bg);--text:var(--term-ink);--text-2:var(--term-ink);--text-3:var(--tok-c);background:var(--term-bg);color:var(--term-ink)}.paper,.slip,.sheet:not(.sheet--band),.chat-bubble.is-ai{--surface:var(--cream);--card-bg:var(--white);--text:var(--ink);--text-2:var(--ink-2);--text-3:var(--ink-3);--line:var(--hair);--line-strong:var(--hair-strong);--accent-text:var(--accent-ink);--spark-text:var(--spark-ink);--mark:var(--accent);--btn-bg:var(--cta-bg);--btn-fg:var(--cta-fg);--seg-bg:#1414130f;--focus-ring:var(--focus);color-scheme:dark;color:var(--text-2)}.paper,.slip{background-color:var(--cream)}.sheet:not(.sheet--band){background-color:var(--card-bg)}.chat-bubble.is-ai{background-color:var(--spark-tint)}.motif{background:var(--motif), var(--surface)}.bg-band.motif,.hero-stage.motif{background:var(--motif-band), var(--band)}::selection{background:var(--sel)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper);scroll-padding-top:calc(var(--header-h) + 12px);scroll-padding-bottom:88px}html:has(body[data-subnav]){scroll-padding-top:calc(var(--header-h) + var(--subnav-h) + 12px)}html.motion-ok{scroll-behavior:smooth}body{background:var(--surface);min-height:100vh;color:var(--text-2);font:400 var(--fs-body)/1.55 var(--font-sans);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:clip}@supports not (overflow:clip){body{overflow-x:hidden}}body.nav-open{overflow:hidden}h1,h2,h3,h4{font-family:var(--font-sans);color:var(--text);text-wrap:balance;margin:0 0 .45em}h1{font-size:var(--fs-h1);letter-spacing:-.02em;font-weight:700;line-height:1.05}h2{font-size:var(--fs-h2);letter-spacing:-.012em;font-weight:600;line-height:1.07}h3{font-size:var(--fs-h3);letter-spacing:-.008em;font-weight:600;line-height:1.14}h4{font-size:1.0625rem;font-weight:600;line-height:1.3}p{margin:0 0 var(--s-4);text-wrap:pretty;max-width:68ch}p:last-child{margin-bottom:0}ul,ol{margin:0 0 var(--s-4);padding-left:1.2em}li{margin-bottom:.4em}li:last-child{margin-bottom:0}strong,b{font-weight:600}small{font-size:.875em}em,i{font-style:italic}a{color:var(--accent-text);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}img,svg,video,canvas{max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}code,kbd,pre,samp{font-family:var(--font-mono)}mark{background:var(--hl);color:var(--ink)}del{text-decoration-thickness:2px}hr{background:var(--line);height:1px;margin:var(--s-7) 0;border:0}[hidden]{display:none!important}.var{font-family:var(--font-serif);font-style:italic}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;border-radius:0 0 var(--r-md) var(--r-md);background:var(--ink);color:var(--paper);transition:transform var(--dur-ui) var(--ease-out);padding:12px 20px;font-weight:600;text-decoration:none;position:fixed;top:0;left:50%;transform:translate(-50%,-120%)}.skip-link:focus{color:var(--paper);outline-color:var(--focus-night);transform:translate(-50%)}.noscript-bar{padding:12px var(--gutter);background:var(--tint);color:var(--text);text-align:center;font-size:14px}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.wrap-wide{width:min(100% - 2 * var(--gutter), var(--wrap-wide));margin-inline:auto}.narrow{max-width:var(--narrow);margin-inline:auto}.read{max-width:var(--read);margin-inline:auto}.read p{font:400 var(--fs-read)/1.65 var(--font-sans)}.grid-12{gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width>=720px){.grid-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.stack>*+*{margin-top:var(--s-6)}.text-center{text-align:center}.mx-auto{margin-inline:auto}.section{padding-block:var(--section-y);position:relative;overflow-x:clip}.motif.motif-fade{background:var(--surface);isolation:isolate;position:relative}.motif.motif-fade:before{content:"";z-index:-1;pointer-events:none;background:var(--motif);position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 80% at 50% 0,#000 40%,#0000 85%);mask-image:radial-gradient(120% 80% at 50% 0,#000 40%,#0000 85%)}.bg-band.is-framed,.bg-band.motif.is-framed{background:0 0}.is-framed{isolation:isolate;position:relative;overflow:clip}.is-framed:before{content:"";z-index:-1;pointer-events:none;background:var(--motif-band), var(--band);transform:scale(calc(.92 + .08 * var(--pe)), calc(.88 + .12 * var(--pe)));border-radius:64px;position:absolute;inset:-48px}@media (width<=719px){.is-framed:before{transform:none}}.display{font-size:var(--fs-display);letter-spacing:-.022em;font-weight:700;line-height:1.02}.lead{font:400 var(--fs-lead)/1.5 var(--font-sans);letter-spacing:-.005em;color:var(--text-2);max-width:34em}.t-meta{font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.section-head{max-width:52rem;margin:0 0 var(--head-gap)}.section-head h2{margin:0}.section-kicker{font:700 var(--fs-eyebrow)/1.17 var(--kicker-font);letter-spacing:0;color:var(--text);margin:0 0 var(--s-3);max-width:none;display:block}.section-kicker:before{content:var(--kicker-prefix);content:var(--kicker-prefix) / "";color:var(--accent-text)}.section-lead{font:400 var(--fs-lead)/1.29 var(--font-serif);letter-spacing:-.005em;color:var(--text-2);max-width:34em;margin:var(--s-5) 0 0}.section-head>p:not(.section-kicker):not(.section-lead){margin-top:var(--s-4);font-size:var(--fs-small);color:var(--text-2)}.section-head>p:not(.section-kicker):not(.section-lead):has(.btn){font-size:inherit;margin-top:var(--s-5)}.tone{color:var(--accent-text);font-family:var(--tone-font);font-style:var(--tone-style);font-weight:var(--tone-weight)}@media (width>=960px){.section-head h2 .tone{display:block}}.tone--spectrum{background:var(--tone-gradient) 0 0/100% 100%;color:#0000;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text}.section-head h2:after{content:"";width:min(4.5em,60%);height:10px;margin-top:var(--s-3);background:var(--mark);-webkit-mask:var(--pencil-stroke) no-repeat center/100% 100%;mask:var(--pencil-stroke) no-repeat center/100% 100%;display:block}.section-head.is-center{text-align:center;max-width:820px;margin-inline:auto}.section-head.is-center h2:after,.section-head.is-center p{margin-inline:auto}.section-head.is-split{justify-content:space-between;align-items:end;gap:var(--s-5);flex-wrap:wrap;max-width:none;display:flex}.section-head.is-split>:first-child{max-width:52rem}.section-head.no-rule h2:after{content:none}.wordmark{max-width:100%;margin:0 0 var(--s-4);font:700 var(--fs-wordmark)/.95 var(--font-sans);letter-spacing:-.035em;color:var(--text);display:inline-block;position:relative}.wm-text{display:inline-block;position:relative}.wm-english{font-family:var(--font-serif);font-style:italic;font-weight:500}.wm-cs{font-family:var(--font-mono);font-size:min(var(--fs-wordmark), 11vw);letter-spacing:-.04em}.wm-line{display:inline-block}.wm-construct,.wm-flourish{pointer-events:none;fill:none;width:100%;height:auto;position:absolute;inset:auto 0 -12%;overflow:visible}.wm-blot{background:var(--accent);border-radius:48% 52% 45% 55%;width:10px;height:10px;position:absolute;bottom:-.05em;right:-.18em}.wm-caret{vertical-align:-.04em;background:var(--amber);width:.55em;height:.82em;margin-left:.06em;display:inline-block}.site-header{z-index:50;isolation:isolate;color:var(--text-2);transition:transform var(--dur-ui) var(--ease-out);position:sticky;top:0}.site-header:before,.subnav:before{content:"";z-index:-1;pointer-events:none;backdrop-filter:saturate(180%)blur(20px);transition:background-color var(--dur-ui) var(--ease-out);background:#000000d9;position:absolute;inset:0}.site-header.is-stuck:before{box-shadow:inset 0 -1px 0 var(--line)}@media (pointer:coarse){.site-header:before,.subnav:before,.float-pill:before,.gallery-ctrl:before{backdrop-filter:blur(12px)}}html[data-head=hidden] .site-header{transform:translateY(-100%)}body.nav-open .site-header{transform:none!important}html:not(.js) body[data-subnav] .site-header{position:relative}html[data-tone-under=dark] body:not(.nav-open) .site-header,html.sub-stuck[data-tone-under=dark] body:not(.nav-open) .subnav{--text:var(--night-ink);--text-2:var(--night-ink);--text-3:var(--night-ink-2);--line:#faf9f51f;--line-strong:#faf9f538;--accent-text:var(--accent-bright);--btn-bg:var(--cta-bg-band);--btn-fg:var(--cta-fg-band);--seg-bg:#ffffff1a;--focus-ring:var(--focus-night);--mark:var(--accent-bright);color-scheme:dark}html[data-tone-under=dark] body:not(.nav-open) .site-header:before,html.sub-stuck[data-tone-under=dark] body:not(.nav-open) .subnav:before{background:#0f0f0eb8}.header-inner{align-items:center;gap:var(--s-4);min-height:var(--header-h);display:flex}.brand{min-width:0;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{color:var(--accent);flex:none;display:inline-flex}.brand-mark svg{width:28px;height:28px}.brand-lines{stroke:var(--brand-lines);fill:none}.brand-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.brand-text strong{letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-size:15px;font-weight:600}.brand-text small{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.primary-nav ul{gap:clamp(14px,1.6vw,24px);margin:0;padding:0;list-style:none;display:flex}.primary-nav li{margin:0}.primary-nav ul a{color:var(--text-2);transition:background-size var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding:6px 0;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.primary-nav ul a:hover,.primary-nav ul a.is-current,.primary-nav ul a[aria-current=page]{color:var(--text);background-size:100% 1px}.nav-cta{margin:0}.nav-toggle{border-radius:var(--r-pill);min-height:36px;box-shadow:inset 0 0 0 1px var(--line-strong);font:600 14px/1 var(--font-sans);color:var(--text);background:0 0;border:0;align-items:center;gap:8px;margin-left:auto;padding:0 14px;display:none}.nav-toggle-bars{flex-direction:column;gap:3px;display:inline-flex}.nav-toggle-bars span{width:16px;height:2px;transition:transform var(--dur-ui) var(--ease-out), opacity var(--dur-ui);background:currentColor;border-radius:2px;display:block}.nav-toggle[aria-expanded=true] .nav-toggle-bars span:first-child{transform:translateY(5px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bars span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bars span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}@media (width>=901px){.primary-nav{align-items:center;gap:clamp(16px,2vw,28px);margin-left:auto;display:flex!important}}@media (width>=901px) and (width<=1100px){.brand-text small{display:none}}@media (width<=900px){.header-inner{flex-wrap:wrap}html.js .nav-toggle{display:inline-flex}html.js .header-inner{flex-wrap:nowrap}html.js .primary-nav{inset:var(--header-h) 0 0 0;z-index:49;overscroll-behavior:contain;padding:var(--s-5) var(--gutter) calc(var(--s-7) + env(safe-area-inset-bottom));background:var(--paper);--text:var(--ink);--text-2:var(--ink-2);--line:var(--hair);--btn-bg:var(--cta-bg);--btn-fg:var(--cta-fg);display:none;position:fixed;overflow-y:auto}html.js .primary-nav.is-open{display:block}html.js .primary-nav ul{flex-direction:column;gap:0}html.js .primary-nav ul a{letter-spacing:-.01em;color:var(--text);box-shadow:inset 0 -1px 0 var(--line);background:0 0;padding:14px 0;font-size:28px;font-weight:600;display:block}html.js .nav-cta{margin-top:var(--s-6)}html.js .nav-cta .btn{width:100%;min-height:52px;font-size:17px}html:not(.js) .primary-nav{align-items:center;gap:var(--s-3) var(--s-5);padding-bottom:var(--s-3);flex-wrap:wrap;flex-basis:100%;display:flex}html:not(.js) .primary-nav ul{flex-wrap:wrap}html.js body.nav-open :is(main,.site-footer,.subnav,.float-pill){visibility:hidden}}@media (width<=479px){.brand-text small{display:none}.nav-toggle-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.nav-toggle{padding:0 11px}}.subnav{top:var(--header-h);z-index:45;isolation:isolate;height:var(--subnav-h);transition:transform var(--dur-ui) var(--ease-out);position:sticky}.subnav:before{box-shadow:inset 0 -1px 0 var(--line)}html[data-head=hidden] .subnav{transform:translateY(calc(-1 * var(--header-h)))}html:not(.js) .subnav{top:0}.subnav-inner{align-items:center;gap:var(--s-5);height:100%;display:flex}.subnav-title{font:600 21px/1 var(--font-sans);letter-spacing:-.012em;color:var(--text);white-space:nowrap;flex:none;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.subnav-title:hover{text-decoration:none}.subnav-links{align-items:center;gap:clamp(14px,1.8vw,24px);min-width:0;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.subnav-links li{scroll-snap-align:start;flex:none;margin:0}.subnav-links a{min-height:44px;color:var(--text-2);white-space:nowrap;align-items:center;font-size:13px;text-decoration:none;display:inline-flex}.subnav-links a:hover{color:var(--text)}.subnav-links a[aria-current=location]{color:var(--text);text-underline-offset:6px;text-decoration:underline 1px}.subnav a{scroll-margin-top:calc(-1 * (var(--header-h) + var(--subnav-h) + 12px))}.subnav-inner>.btn{flex:none}.sw-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}@media (width<=899px){.subnav-inner{gap:var(--s-3)}.subnav-links{scroll-snap-type:x proximity;scrollbar-width:none;--fade-l:0px;--fade-r:16px;-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent);flex:auto;align-self:stretch;gap:clamp(4px,1vw,12px);margin-left:0;padding-inline:8px;scroll-padding-inline:16px;overflow-x:auto}.subnav-links.is-scrolled{--fade-l:16px}.subnav-links.is-end{--fade-r:0px}.subnav-links::-webkit-scrollbar{display:none}.subnav-links a{border-radius:var(--r-sm);padding-inline:8px}.subnav-links a:focus-visible{outline-offset:-3px}}@media (width<=479px){.subnav-title{display:none}}.subnav-progress{pointer-events:none;height:4px;display:none;position:absolute;bottom:0;left:0;right:0;container-type:inline-size}.motion-ok .subnav-progress{display:block}.subnav-progress:before{content:"";background:var(--text-3);height:2px;transform:scaleX(var(--p));transform-origin:0;position:absolute;bottom:1px;left:0;right:0}.subnav-progress i{background:linear-gradient(90deg, var(--graphite) 0 60%, var(--accent) 60%);clip-path:polygon(0 0,60% 0,100% 50%,60% 100%,0 100%);width:10px;height:4px;transform:translateX(calc(var(--p) * 100cqi - 100%));display:none;position:absolute;bottom:0;left:0}@supports (width:1cqi){.subnav-progress i{display:block}}.btn{border-radius:var(--r-pill);min-height:44px;font:600 1rem/1.15 var(--font-sans);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-ui), box-shadow var(--dur-ui), filter var(--dur-ui);border:0;justify-content:center;align-items:center;gap:8px;padding:10px 22px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:hover{text-decoration:none}.site-header .btn,.subnav .btn{transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-ui), color var(--dur-ui), box-shadow var(--dur-ui), filter var(--dur-ui)}.btn:active{transform:scale(.97)}.btn svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.btn-primary{background:var(--btn-bg);color:var(--btn-fg)}.btn-primary:hover{color:var(--btn-fg)}@media (hover:hover){.btn-primary:hover{filter:brightness(1.08)}}.btn-secondary,.btn-ghost{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.btn-secondary:hover,.btn-ghost:hover{color:var(--text)}@media (hover:hover){.btn-secondary:hover,.btn-ghost:hover{background:var(--seg-bg)}}.btn-lg{min-height:52px;padding:12px 28px;font-size:1.0625rem}.btn-sm{min-height:36px;padding:6px 16px;font-size:.875rem}.btn-xs{min-height:30px;padding:4px 14px;font-size:.8125rem}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;filter:none;transform:none}.hero-actions{align-items:center;gap:var(--s-3);margin:var(--s-6) 0 0;flex-wrap:wrap;max-width:none;display:flex}@media (width<=479px){.hero-actions .btn{width:100%}}.link-arrow{font:500 1.0625rem/1.3 var(--font-sans);color:var(--accent-text);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.link-arrow:hover{text-decoration:underline}.link-arrow svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform var(--dur-ui) var(--ease-out);flex:none}.link-arrow:is(:hover,:focus-visible) svg{transform:translate(3px)}.link-plus{font:500 1.0625rem/1.3 var(--font-sans);color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.link-plus:after{content:"+";content:"+" / "";background:var(--text);width:28px;height:28px;color:var(--surface);font:400 20px/1 var(--font-sans);transition:rotate var(--dur-ui) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.link-plus:is(:hover,:focus-visible):after{rotate:90deg}.btn-tag{border-radius:var(--r-xs);min-height:44px;box-shadow:inset 0 0 0 1px var(--line-strong);font:500 12px/1.2 var(--font-sans);color:var(--text);cursor:pointer;transition:background-color var(--dur-ui) var(--ease-out);background:0 0;border:0;align-items:center;gap:6px;padding:12px 16px;text-decoration:none;display:inline-flex}@media (hover:hover){.btn-tag:hover{background:var(--seg-bg);text-decoration:none}}html:not(.motion-ok) [data-motion~=replay]:not([data-m-value]){display:none}.lift{transition:translate var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out)}@media (hover:hover){.lift:hover{box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);translate:0 -4px}}.lift:focus-within{box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);translate:0 -4px}.tool-btn{border-radius:var(--r-pill);min-height:36px;box-shadow:inset 0 0 0 1px var(--line-strong);font:600 14px/1.2 var(--font-sans);color:var(--text);cursor:pointer;transition:background-color var(--dur-ui) var(--ease-out), color var(--dur-ui), box-shadow var(--dur-ui);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex;position:relative;overflow:hidden}@media (hover:hover){.tool-btn:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--text)}}.tool-btn[aria-pressed=true]{background:var(--text);color:var(--surface);box-shadow:none}.tool-btn.is-solid{background:var(--btn-bg);color:var(--btn-fg);box-shadow:none}.tool-btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-row+.lab-msg,.btn-row.lab-controls{margin-top:var(--s-4)}.btn,.tool-btn,.seg>button,.chip>span,.gc-dot{position:relative;overflow:hidden}.press-ink{left:var(--rx);top:var(--ry);pointer-events:none;opacity:0;width:120px;height:120px;animation:ink-ripple .42s var(--ease-out);background:currentColor;border-radius:50%;margin:-60px 0 0 -60px;position:absolute}[data-theme=math] .press-ink{background:0 0;animation-name:ink-ring;box-shadow:inset 0 0 0 1.5px}[data-theme=english] .press-ink{border-radius:48% 52% 45% 55%;animation-name:ink-blot}[data-theme=cs] .press-ink{border-radius:0;animation-name:ink-pixel;animation-timing-function:steps(4,end)}[data-theme=approach] .press-ink{background:radial-gradient(closest-side,currentColor,#0000);animation-name:ink-smudge}html:not(.motion-ok) .press-ink{display:none}.page-hero{padding-block:clamp(40px, 2rem + 3.5vw, 96px) var(--s-8);position:relative}.page-hero h1{max-width:18ch}.page-hero .lead{margin-top:var(--s-5)}.page-hero-grid{gap:var(--s-7);align-items:center;display:grid}@media (width>=1000px){.page-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}.hero-visual{justify-content:center;min-width:0;display:flex;position:relative}.subject-switcher{max-width:100%;margin:var(--s-6) 0 0;border-radius:var(--r-xl);background:var(--seg-bg);flex-wrap:wrap;gap:4px;padding:4px;list-style:none;display:inline-flex}.subject-switcher li{margin:0}.subject-switcher a{border-radius:var(--r-pill);min-height:36px;font:600 14px/1.15 var(--font-sans);color:var(--text);transition:background-color var(--dur-ui) var(--ease-out);align-items:center;gap:8px;padding:0 14px;text-decoration:none;display:inline-flex}@media (hover:hover){.subject-switcher a:not([aria-current=page]):hover{background:var(--seg-bg)}}.subject-switcher a[aria-current=page]{background:var(--btn-bg);color:var(--btn-fg)}.subject-switcher a[aria-current=page] .sw-dot{background:currentColor}@media (width<=479px){.subject-switcher{flex-wrap:nowrap;width:100%;display:flex}.subject-switcher li{flex:auto;min-width:0}.subject-switcher a{text-align:center;justify-content:center;gap:6px;width:100%;padding:4px 8px;font-size:13px}}.hero-stage-wrap{margin-top:var(--s-7)}.hero-stage{gap:var(--s-6);border-radius:var(--r-2xl);background-color:var(--band);color:var(--text-2);padding:clamp(20px,3vw,48px);display:grid;position:relative;overflow:clip}@media (width>=960px){.hero-stage{align-items:center;gap:var(--s-7);grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.hero-figure{gap:var(--s-4);min-width:0;margin:0;display:grid;position:relative}.hero-figure>.seg{justify-self:center}.hero-figure>.btn-tag{justify-self:end}.hero-figure figcaption{color:var(--text-2)}.contents{min-width:0}.contents-head{margin:0 0 var(--s-3);color:var(--text-3)}.contents-list{counter-reset:c;margin:0;padding:0;list-style:none}.contents-list li{counter-increment:c;margin:0}.contents-list a{min-height:44px;font:400 1.0625rem/1.5 var(--font-sans);color:var(--text);box-shadow:inset 0 -1px 0 var(--line);grid-template-columns:auto minmax(24px,1fr) auto;align-items:center;gap:12px;padding-block:10px;text-decoration:none;display:grid}.contents-num{font:500 15px/1 var(--font-sans);color:var(--text-3);font-variant-numeric:tabular-nums;transition:color var(--dur-ui)}.contents-num:before{content:"(" counter(c) ")"}[data-theme=math] .contents-num:before{content:"§" counter(c)}[data-theme=english] .contents-num:before{content:counter(c, lower-roman) ".";font-family:var(--font-serif);font-style:italic}[data-theme=cs] .contents-num:before{content:counter(c, decimal-leading-zero);font-family:var(--font-mono)}.contents-dots{opacity:.45;background:radial-gradient(circle,currentColor 0 1px,#0000 1.4px) 0/8px 4px repeat-x;height:4px}.contents-label{text-align:right;transition:translate var(--dur-ui) var(--ease-out)}.contents-list a:is(:hover,:focus-visible) .contents-num{color:var(--accent-text)}.contents-list a:is(:hover,:focus-visible) .contents-label{translate:4px}.motion-ok .contents-list a:is(:hover,:focus-visible) .contents-dots{animation:.6s linear dots-slide}.hero{padding-block:clamp(48px, 2rem + 5vw, 120px) var(--s-8);position:relative}.hero-grid{gap:var(--s-7);align-items:center;display:grid}@media (width>=1000px){.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.hero-copy{min-width:0}.hero-art{justify-content:center;min-width:0;display:flex}.eyebrow{margin:0 0 var(--s-5);max-width:none;font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:8px;display:inline-flex}.eyebrow .dot{background:var(--success);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 3px #2f7a4a2e}.trust-chips{margin:var(--s-6) 0 var(--s-4);flex-wrap:wrap;gap:10px 20px;padding:0;list-style:none;display:flex}.trust-chips li{color:var(--text-2);align-items:center;gap:8px;margin:0;font-size:15px;display:inline-flex}.trust-chips svg{fill:none;width:18px;height:18px;stroke:var(--accent-text);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;flex:none}.trust-chips li:first-child svg{fill:var(--accent);stroke:none}.replies{color:var(--text-2);font-size:15px}.replies strong{color:var(--text)}.session-card{border-radius:var(--r-tile);background:var(--card-bg);width:min(100%,30rem);box-shadow:var(--shadow-3), inset 0 0 0 1px var(--line);color:var(--text-2);overflow:hidden}.session-card-head{box-shadow:inset 0 -1px 0 var(--line);align-items:center;gap:12px;padding:16px 20px;display:flex}.monogram{background:var(--ink);width:42px;height:42px;color:var(--paper);font:600 16px/1 var(--font-sans);border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.monogram-lg{width:80px;height:80px;font-size:30px}.session-card-who{flex-direction:column;margin-right:auto;line-height:1.35;display:flex}.session-card-who strong{color:var(--text);font-size:15px}.session-card-who small{color:var(--text-3);font-size:12px}.live-pill{border-radius:var(--r-pill);color:var(--success);font:700 11px/1.2 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;background:#2f7a4a1a;padding:4px 10px}.session-card-body{padding:20px}.mock-question,.mock-answer{border-radius:var(--r-md);margin:0 0 12px;padding:12px 14px;font-size:15px}.mock-question{background:var(--tint);color:var(--text);border-top-left-radius:4px}.mock-answer{background:var(--paper-2);color:var(--text-2);border-top-right-radius:4px}.mock-plan{margin:18px 0 14px;padding:0;list-style:none}.mock-plan li{color:var(--text-2);grid-template-columns:1fr 5.5rem;align-items:center;gap:10px;margin:0 0 8px;font-size:13px;display:grid}.mock-plan .bar{border-radius:var(--r-pill);background:var(--paper-3);height:6px;display:block;overflow:hidden}.mock-plan .bar i{border-radius:inherit;background:var(--accent);height:100%;display:block}.mock-note{color:var(--text-3);margin:0;font-size:12px}.stat-strip{padding-block:var(--s-8)}.stat-row{gap:var(--s-5);display:grid}.stat{max-width:none;margin:0;position:relative}.stat-num{margin-bottom:var(--s-3);font:700 var(--fs-stat)/1 var(--num-font);letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;display:block;position:relative}.stat-label{color:var(--text-2);font-size:1.0625rem;line-height:1.4;display:block}@media (width<=719px){.stat-row>.stat+.stat{padding-top:var(--s-5);box-shadow:inset 0 1px 0 var(--line)}}@media (width>=720px){.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.stat-row>.stat{padding-inline:var(--s-5)}.stat-row>.stat:first-child{padding-left:0}.stat-row>.stat+.stat{box-shadow:inset 1px 0 0 var(--line)}}.odo{display:inline-flex}.odo-d{height:1em;line-height:1;display:inline-block;overflow:hidden}.odo-d>span{word-break:break-all;font-variant-numeric:tabular-nums;width:1ch;transform:translateY(calc(var(--digit) * -1em));transition:transform 1.2s var(--ease-out) calc(var(--k) * 80ms);display:block}.bin{vertical-align:top;display:inline-grid}.bin>*{grid-area:1/1}.bits{align-items:center;gap:.08em;display:inline-flex}.bin .bits{opacity:0;transition:opacity .24s var(--ease-out);font-size:.5em}.bin-dec{transition:opacity .24s var(--ease-out)}.bit{width:.72em;height:1.1em;transform-style:preserve-3d;transition:transform .36s var(--ease-in-out) calc(var(--i) * 80ms);font-style:normal;line-height:1.1;display:inline-block;position:relative}.bit:before,.bit:after{box-shadow:inset 0 0 0 1px var(--line-strong);-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:4px;place-items:center;display:grid;position:absolute;inset:0}.bit:before{content:"0";content:"0" / "";color:var(--text-3);background:var(--surface)}.bit:after{content:"1";content:"1" / "";color:var(--accent-text);background:var(--tint);transform:rotateX(180deg)}.bit[data-b="1"]{transform:rotateX(180deg)}.card,.cross-link,.subject-card,.price-card,.pillar,.stage-body,.callout,.about-card,.contact-card{background:var(--card-bg);border-radius:var(--r-tile);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line);padding:clamp(24px,1.5rem + 1vw,40px);position:relative}.card{flex-direction:column;display:flex}.card>h3,.pillar>h3,.callout>h3{margin-bottom:.35em}.card-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,18.5rem),1fr));display:grid}.tile{justify-content:space-between;gap:var(--s-5);border-radius:var(--r-tile);background:var(--motif), var(--tint);box-shadow:inset 0 0 0 1px var(--line);color:var(--text-2);transition:translate var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out), transform var(--dur-reveal) var(--ease-out);flex-direction:column;padding:clamp(24px,1.5rem + 1vw,40px);text-decoration:none;display:flex;position:relative;overflow:hidden}.tile[data-theme=english]{background-position:-48px 0,0 0;background-repeat:no-repeat,repeat}.tile:hover{color:var(--text-2);text-decoration:none}@media (hover:hover){.tile:hover{box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);translate:0 -4px}}.tile-kicker{color:var(--text-2);margin:0}.tile-title,.cross-link h3{max-width:none;font:600 var(--fs-h3)/1.14 var(--font-sans);letter-spacing:-.008em;color:var(--text);text-wrap:balance;margin:0}.tile-sub,.cross-link p{color:var(--text-2);margin:0;font-size:15px}.tile-art{flex:none;align-self:flex-end;width:120px;height:80px;margin-top:auto;display:block}.tile-art svg{width:100%;height:100%;display:block;overflow:visible}.tile-art path{fill:none;stroke:var(--mark);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.tile-art .ta-grid{stroke:var(--line-strong);stroke-width:1px}.tile-art .ta-dot{fill:var(--mark);stroke:none;transform-box:fill-box;transform-origin:50%}.tile-art .ta-hl{fill:var(--hl);stroke:none;transform-box:fill-box;transform-origin:0}.tile-art .ta-spark{fill:var(--spark);stroke:none;transform-box:fill-box;transform-origin:50%}.ta-term{border-radius:var(--r-md);background:var(--term-bg);font:700 28px/1 var(--font-mono);color:var(--tok-p);align-items:center;gap:8px;padding:12px 16px;display:inline-flex}.tile-art:has(.ta-term){justify-content:flex-end;align-items:flex-end;display:flex}.ta-prompt{color:var(--tok-p)}.ta-caret{background:var(--amber);width:.55em;height:1em;display:inline-block}.motion-ok .tile:is(:hover,:focus-visible) .tile-art .draw{animation:draw-on .7s var(--ease-pencil) both}.motion-ok .tile:is(:hover,:focus-visible) .tile-art .ta-grid{animation:fade-in .4s var(--ease-out) both}.motion-ok .tile:is(:hover,:focus-visible) .tile-art .ta-dot{animation:pop-in .42s var(--ease-pop) .65s both}.motion-ok .tile:is(:hover,:focus-visible) .tile-art .ta-hl{animation:ta-sweep .42s var(--ease-out) both}.motion-ok .tile:is(:hover,:focus-visible) .tile-art .ta-hl~.draw{animation-delay:.38s}.motion-ok .tile:is(:hover,:focus-visible) .tile-art .ta-spark{animation:pop-in .42s var(--ease-pop) .7s both}.motion-ok .tile:is(:hover,:focus-visible) .tile-art .ta-caret{animation:.6s step-end 3 caret}@media (hover:none){.motion-ok .tile.is-in .tile-art .draw{animation:draw-on .7s var(--ease-pencil) both}.motion-ok .tile.is-in .tile-art .ta-grid{animation:fade-in .4s var(--ease-out) both}.motion-ok .tile.is-in .tile-art .ta-dot{animation:pop-in .42s var(--ease-pop) .65s both}.motion-ok .tile.is-in .tile-art .ta-hl{animation:ta-sweep .42s var(--ease-out) both}.motion-ok .tile.is-in .tile-art .ta-hl~.draw{animation-delay:.38s}.motion-ok .tile.is-in .tile-art .ta-spark{animation:pop-in .42s var(--ease-pop) .7s both}.motion-ok .tile.is-in .tile-art .ta-caret{animation:.6s step-end 3 caret}}@media (hover:hover) and (pointer:fine){.motion-ok .tile[data-motion~=tilt]:is(:not(.reveal),.is-visible){transform:perspective(900px) rotateX(calc((var(--my) - .5) * -4deg)) rotateY(calc((var(--mx) - .5) * 4deg))}.motion-ok .tile[data-motion~=tilt]:hover{transition:transform .12s linear, translate var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out)}}.flip-card{align-items:flex-start;gap:var(--s-3);flex-direction:column;margin:0;display:flex}.flip-inner{gap:var(--s-3);flex:auto;width:100%;display:grid}.flip-front,.flip-back{border-radius:var(--r-tile);background:var(--card-bg);min-width:0;box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line);padding:clamp(20px,1.25rem + .6vw,32px)}.flip-back{background:var(--tint);color:var(--text)}.flip-front h3{margin-bottom:.35em}.flip-front p,.flip-back p{margin:0}.flip-back .t-meta{margin-bottom:var(--s-3);color:var(--accent-text)}.flip-back p:not(.t-meta){font:400 var(--fs-read)/1.6 var(--font-sans);color:var(--text)}html.js:not(.no-m) .flip-inner{gap:0}html.js:not(.no-m) .flip-front,html.js:not(.no-m) .flip-back{transition:opacity var(--dur-ui) var(--ease-out), visibility 0s;grid-area:1/1}html.js:not(.no-m) .flip-back,html.js:not(.no-m) .flip-card.is-flipped .flip-front{opacity:0;visibility:hidden;transition:opacity var(--dur-ui) var(--ease-out), visibility 0s linear var(--dur-ui)}html.js:not(.no-m) .flip-card.is-flipped .flip-back{opacity:1;visibility:visible;transition:opacity var(--dur-ui) var(--ease-out), visibility 0s}.flip-btn{flex:none}html.js:not(.no-m) .flip-card{gap:0;position:relative}html.js:not(.no-m) .flip-card :is(.flip-front,.flip-back){padding-bottom:calc(clamp(20px,1.25rem + .6vw,32px) + 52px)}html.js:not(.no-m) .flip-card .flip-btn{z-index:1;border-radius:var(--r-pill);background:var(--seg-bg);box-shadow:none;padding-inline:18px;font-size:13px;font-weight:600;position:absolute;bottom:clamp(12px,.75rem + .4vw,20px);left:clamp(12px,.75rem + .6vw,24px)}@media (hover:hover){html.js:not(.no-m) .flip-card .flip-btn:hover{background:#1414131f}}.gallery{position:relative}.gallery-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;scroll-padding-inline:max(var(--gutter), (100% - var(--wrap)) / 2);padding-block:8px 16px;overflow:auto hidden}.gallery-track::-webkit-scrollbar{display:none}.gallery-track:focus-visible{outline-offset:-3px}.gallery-list{gap:var(--gap);width:max-content;padding-inline:max(var(--gutter), (100% - var(--wrap)) / 2);grid-auto-flow:column;margin:0;list-style:none;display:grid}.gallery-item{scroll-snap-align:start;margin:0}.gallery .tile{aspect-ratio:4/5;width:clamp(280px,80vw,560px)}@media (width>=900px){.gallery .tile{aspect-ratio:7/6}}.gallery-ctrl{isolation:isolate;width:fit-content;max-width:calc(100% - 2 * var(--gutter));margin:var(--s-5) auto 0;border-radius:var(--r-pill);align-items:center;gap:2px;padding:0 6px;display:flex;position:relative}.gallery-ctrl:before,.float-pill:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;backdrop-filter:blur(20px)saturate(180%);background:#faf9f5c7;position:absolute;inset:0}.gallery-ctrl:before{box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line)}.gc-play,.gc-prev,.gc-next{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}@media (hover:hover){.gc-play:hover,.gc-prev:hover,.gc-next:hover{background:#1414130f}}.gc-play:before{content:"";clip-path:polygon(0 0,100% 50%,0 100%);background:currentColor;width:11px;height:13px;margin-left:2px}.gallery.is-playing .gc-play:before{clip-path:none;background:linear-gradient(90deg,currentColor 0 4px,#0000 4px 7px,currentColor 7px);width:11px;margin-left:0}.gc-prev:before,.gc-next:before{content:"";border-top:2px solid;border-left:2px solid;width:9px;height:9px}.gc-prev:before{transform:translate(2px)rotate(-45deg)}.gc-next:before{transform:translate(-2px)rotate(135deg)}.gc-prev[aria-disabled=true],.gc-next[aria-disabled=true]{cursor:default}.gc-prev[aria-disabled=true]:before,.gc-next[aria-disabled=true]:before{opacity:.4}html:not(.motion-ok) .gc-play{display:none}.gc-dots{align-items:center;display:flex}.gc-dot,.story-dots>button{width:24px;height:44px;color:var(--text);cursor:pointer;transition:width var(--dur-ui) var(--ease-out);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.gc-dot{color:var(--ink)}.gc-dot:before,.story-dots>button:before{content:"";border-radius:var(--r-pill);background:var(--hair-ui);width:8px;height:8px;transition:width var(--dur-ui) var(--ease-out), background-color var(--dur-ui)}.story-dots>button:before{background:var(--text-3)}.gc-dot[aria-current=true],.story-dots>button[aria-current=step]{width:52px}.gc-dot[aria-current=true]:before,.story-dots>button[aria-current=step]:before{background:currentColor;width:40px}.gc-dot i{border-radius:var(--r-pill);transform-origin:0;opacity:0;background:currentColor;width:40px;height:8px;margin-top:-4px;position:absolute;top:50%;left:6px;transform:scaleX(0)}.gallery.is-playing .gc-dot[aria-current=true]:before{background:var(--hair-ui)}.gallery.is-playing .gc-dot[aria-current=true] i{opacity:1;animation:gc-fill var(--autoplay) linear forwards}.seg{border-radius:var(--r-pill);background:var(--seg-bg);vertical-align:middle;grid-auto-columns:1fr;grid-auto-flow:column;max-width:100%;padding:4px;display:inline-grid;position:relative}.seg>button{z-index:1;border-radius:var(--r-pill);min-width:0;min-height:36px;font:600 14px/1.15 var(--font-sans);color:var(--text);cursor:pointer;transition:color var(--dur-swap) var(--ease-in-out);background:0 0;border:0;padding:0 16px;position:relative}.seg-thumb{width:calc((100% - 8px) / var(--seg-n));border-radius:var(--r-pill);background:var(--text);transform:translateX(calc(var(--seg-i) * 100%));transition:transform var(--dur-swap) var(--ease-in-out);pointer-events:none;position:absolute;inset:4px auto 4px 4px}.seg>:is([aria-selected=true],[aria-pressed=true]){color:var(--surface)}.seg:has(>:nth-child(2):is([aria-selected=true],[aria-pressed=true])){--seg-i:1}.seg:has(>:nth-child(3):is([aria-selected=true],[aria-pressed=true])){--seg-i:2}.seg:has(>:nth-child(4):is([aria-selected=true],[aria-pressed=true])){--seg-i:3}@supports not selector(:has(*)){.seg-thumb{display:none}.seg>:is([aria-selected=true],[aria-pressed=true]){background:var(--text)}}html:not(.js) .seg[data-motion]{display:none}@media (width<=30rem){.seg>button{padding:0 10px;font-size:13px}}.seg.btn-row{flex-wrap:nowrap;gap:0;display:inline-grid}.seg>.tool-btn,.seg>.tool-btn[aria-pressed=true]{box-shadow:none;background:0 0;min-height:36px}.seg>.tool-btn[aria-pressed=true]{color:var(--surface)}.tag-tools:has([data-tag-tool=claim][aria-pressed=true]) .seg-thumb{background:var(--hl-claim)}.tag-tools:has([data-tag-tool=evidence][aria-pressed=true]) .seg-thumb{background:var(--hl-evidence)}.tag-tools:has([data-tag-tool=analysis][aria-pressed=true]) .seg-thumb{background:var(--hl-analysis)}.seg.tag-tools>.tool-btn[aria-pressed=true]{color:var(--ink)}.seg-panel{min-width:0}html.js:not(.no-m) .seg-panel .seg-title{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.subject-icon{width:48px;height:48px;margin-bottom:var(--s-4);border-radius:var(--r-md);background:var(--tint);color:var(--accent-text);place-items:center;display:inline-grid}.subject-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.subject-card h3{margin-bottom:.3em}.subject-tagline{margin-bottom:var(--s-4);color:var(--accent-text);font-weight:600}.subject-for{margin-bottom:var(--s-5);border-radius:var(--r-md);background:var(--paper-2);color:var(--text-2);padding:12px 16px;font-size:15px}.subject-for strong{color:var(--text)}.subject-list{margin-bottom:var(--s-5);color:var(--text-2);padding-left:1.15em;font-size:15px}.subject-list li::marker{color:var(--mark)}.subject-levels{margin:auto 0 var(--s-4);padding-top:var(--s-2);font-size:var(--fs-small);color:var(--text-3)}.card-actions{align-items:center;gap:var(--s-3) var(--s-5);flex-wrap:wrap;margin-top:auto;display:flex}.subject-footnote,.faq-footnote{margin-top:var(--s-6);color:var(--text-2);font-size:15px}.steps{gap:var(--gap);counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(min(100%,15.5rem),1fr));margin:0;padding:0;list-style:none;display:grid}.steps>li{padding:var(--s-5);border-radius:var(--r-tile);background:var(--card-bg);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line);margin:0;position:relative}.steps h3{margin:var(--s-4) 0 .35em}.steps p{color:var(--text-2);margin:0;font-size:15px}.step-num{width:36px;height:36px;box-shadow:inset 0 0 0 1.5px var(--mark);font:600 15px/1 var(--num-font);color:var(--text);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.price-card{flex-direction:column;display:flex}.price-card-featured{box-shadow:var(--shadow-2), inset 0 0 0 1.5px var(--mark)}.price-badge{margin:0 0 var(--s-4);border-radius:var(--r-pill);background:var(--tint);color:var(--accent-text);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;align-self:flex-start;padding:5px 10px}.price-card h3{margin-bottom:.4em}.price{margin-bottom:var(--s-4);font:700 clamp(2rem, 1.6rem + 1.5vw, 2.75rem)/1.05 var(--font-sans);letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}.price small{font:500 15px/1 var(--font-sans);letter-spacing:0;color:var(--text-3)}.price-pending{margin-bottom:var(--s-4);font:400 var(--fs-body)/1.5 var(--font-sans);color:var(--text)}.price-card ul{color:var(--text-2);margin:0;padding-left:1.1em;font-size:15px}.price-card li::marker{color:var(--mark)}.pricing-notes{margin:var(--s-6) 0 0;color:var(--text-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));gap:12px 28px;padding:0;font-size:15px;list-style:none;display:grid}.pricing-notes li{margin:0;padding-left:26px;position:relative}.pricing-notes li:before{content:"✓";content:"✓" / "";color:var(--success);font-weight:700;position:absolute;left:0}.pricing-notes strong{color:var(--text)}.about-grid{gap:var(--s-7);align-items:start;display:grid}@media (width>=960px){.about-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}.about-copy{min-width:0}.about-copy .section-head{margin-bottom:var(--s-6)}.about-photo{padding:var(--s-2) 0 var(--s-5);justify-content:center;display:flex}.about-photo img{object-fit:cover;border-radius:50%;width:120px;height:120px}.about-mark{color:var(--accent);display:inline-flex}.about-mark svg{width:80px;height:80px}.about-facts{margin:0;font-size:15px}.about-facts>div{justify-content:space-between;gap:var(--s-4);box-shadow:inset 0 1px 0 var(--line);padding:12px 0;display:flex}.about-facts dt{color:var(--text-3)}.about-facts dd{text-align:right;color:var(--text);margin:0;font-weight:500}.credential-list{margin:var(--s-5) 0;gap:10px;padding:0;list-style:none;display:grid}.credential-list li{color:var(--text-2);margin:0;padding-left:28px;position:relative}.credential-list li:before{content:"";width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--mark);border-radius:50%;position:absolute;top:.3em;left:0}.about-cta{margin:var(--s-5) 0 0}.roadmap{gap:var(--s-4);margin:0;padding:0;list-style:none;display:grid;position:relative}.roadmap:before{content:"";background:var(--line-strong);width:2px;transform:scaleY(var(--p));transform-origin:top;border-radius:2px;position:absolute;top:24px;bottom:24px;left:23px}.roadmap>li{gap:var(--s-4);grid-template-columns:48px minmax(0,1fr);margin:0;display:grid;position:relative}.stage-num{z-index:1;background:var(--card-bg);width:48px;height:48px;box-shadow:inset 0 0 0 1.5px var(--mark);font:600 17px/1 var(--num-font);color:var(--text);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid;position:relative}.stage-body{min-width:0;transition:translate var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out)}@media (hover:hover){.roadmap>li:hover>.stage-body{box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);translate:0 -3px}}.stage-head{margin-bottom:var(--s-3);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.stage-head h3{margin:0}.stage-meta{border-radius:var(--r-pill);background:var(--tint);color:var(--accent-text);font:600 12px/1.3 var(--font-sans);letter-spacing:.04em;margin:0;padding:4px 10px}.stage-body>p{font:400 var(--fs-read)/1.65 var(--font-sans);color:var(--text-2)}.topic-chips{margin:var(--s-4) 0 0;flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.topic-chips li{border-radius:var(--r-pill);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);color:var(--text-2);margin:0;padding:6px 12px;font-size:13px;line-height:1.3}@media (width<=599px){.roadmap>li{grid-template-columns:minmax(0,1fr);gap:10px}.roadmap:before{display:none}.stage-num{width:40px;height:40px;font-size:15px}}.callout{background:var(--card-bg)}.split{grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));align-items:start;gap:clamp(24px,3.5vw,48px);display:grid}.cross-links{gap:var(--gap);display:grid}@media (width>=720px){.cross-links{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=719px){.cross-links{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;grid-auto-columns:min(82%,340px);grid-auto-flow:column;margin:-6px -4px 0;padding:6px 4px 12px;overflow-x:auto}.cross-links::-webkit-scrollbar{display:none}.cross-links>*{scroll-snap-align:start}}.cross-link{gap:var(--s-3);color:var(--text-2);flex-direction:column;text-decoration:none;display:flex}.cross-link:hover{color:var(--text-2);text-decoration:none}.cross-link .sw-dot{width:10px;height:10px}.page-cta .section-head{margin-bottom:var(--s-6)}.page-cta .hero-actions{justify-content:center;margin-top:0}.pillars{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.pillar-num{margin:0 0 var(--s-3);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}.pillar h3{margin-bottom:.4em}.pillar p{color:var(--text-2);margin:0}.exercise-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:0;padding:0;list-style:none;display:grid}.exercise-grid>li{margin:0}.exercise-grid>li:not(.flip-card){padding:var(--s-5);border-radius:var(--r-tile);background:var(--card-bg);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line)}.exercise-grid h3{margin-bottom:.35em}.exercise-grid p{color:var(--text-2);margin:0}.why{margin-top:var(--s-3);font:600 var(--fs-small)/1.4 var(--font-sans);color:var(--accent-text);display:block}.rules{counter-reset:rule;gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.rules li{counter-increment:rule;gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-lg);background:var(--card-bg);box-shadow:inset 0 0 0 1px var(--line);grid-template-columns:36px minmax(0,1fr);align-items:start;margin:0;display:grid;position:relative}.rules li:before{content:counter(rule);content:counter(rule) / "";width:36px;height:36px;box-shadow:inset 0 0 0 1.5px var(--mark);font:700 15px/1 var(--num-font);color:var(--text);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid;position:relative}.rules h3{margin:0 0 .3em;font-size:1.1875rem}.rules p{color:var(--text-2);margin:0}.ladder{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));margin:0;padding:0;list-style:none;display:grid}.ladder li{padding:var(--s-5);border-radius:var(--r-lg);background:var(--card-bg);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line);border-top:3px solid var(--mark);color:var(--text-2);margin:0}.ladder .grade{font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin:0}.ladder h3{margin:8px 0 .35em}.ladder p{margin:0}@media (width<=559px){.rules li{gap:var(--s-3);grid-template-columns:minmax(0,1fr)}}.duo{gap:var(--gap);display:grid}@media (width>=960px){.duo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.duo:has(>.spark-link){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}.duo-col{border-radius:var(--r-tile);background:var(--card-bg);background:color-mix(in srgb, var(--card-bg) 80%, transparent);min-width:0;box-shadow:inset 0 0 0 1px var(--line);padding:clamp(24px,1.5rem + 1vw,40px)}.duo-col h3{align-items:center;gap:12px;display:flex}.duo-col>p{color:var(--text-2)}.duo-icon{border-radius:var(--r-md);background:var(--seg-bg);width:40px;height:40px;color:var(--text);flex:none;place-items:center;display:inline-grid}.duo-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.is-ai .duo-icon{color:var(--spark-text)}.duo-col.is-ai h3:after{content:"✦";content:"✦" / "";color:var(--spark-text);margin-left:2px;font-size:.8em}.duo-foot{margin:var(--s-6) 0 0;color:var(--text-2)}.check-list{margin:var(--s-4) 0 0;gap:12px;padding:0;list-style:none;display:grid}.check-list li{color:var(--text-2);margin:0;padding-left:28px;position:relative}.check-list li:before{content:"";background:var(--mark);width:16px;height:16px;-webkit-mask:var(--tick-mask) no-repeat center/16px 16px;mask:var(--tick-mask) no-repeat center/16px 16px;position:absolute;top:.2em;left:0}.is-ai .check-list li:before{background:var(--spark-text)}.check-list.is-no li:before{background:var(--danger);width:12px;height:2px;top:.7em;-webkit-mask:none;mask:none}.spark-link{display:none}@media (width>=960px){.spark-link{fill:none;align-self:center;width:120px;display:block;overflow:visible}.spark-link .dash{stroke:var(--spark);stroke-width:1.5px;stroke-dasharray:4 6;stroke-linecap:round}}.dash{fill:none;stroke:var(--spark);stroke-width:1.5px;stroke-dasharray:4 6;stroke-linecap:round}.ring-host{display:inline-block;position:relative}.ring-host>svg{pointer-events:none;width:128%;max-width:none;height:180%;position:absolute;top:-40%;left:-14%;overflow:visible}.paper{--rule-h:2rem;--paper-margin:2.5rem;padding:var(--rule-h) 1.25rem var(--rule-h) calc(var(--paper-margin) + .9rem);border-radius:var(--r-sm);background-image:linear-gradient(90deg, transparent var(--paper-margin), var(--margin-rule) var(--paper-margin) calc(var(--paper-margin) + 1.5px), transparent calc(var(--paper-margin) + 1.5px)), repeating-linear-gradient(180deg, transparent 0 calc(var(--rule-h) - 1px), var(--rule) calc(var(--rule-h) - 1px) var(--rule-h));font:400 1.0625rem/var(--rule-h) var(--font-serif);color:var(--text);box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);position:relative}.paper p{margin:0 0 var(--rule-h);max-width:none}.paper p:last-child{margin-bottom:0}.paper strong{color:inherit}.paper del{color:var(--danger)}.paper ins{color:var(--ink-blue);font-style:italic;text-decoration:none}@media (width<=559px){.paper{--paper-margin:1.75rem;padding-right:1rem;font-size:1rem}}.margin-note{font-family:var(--font-serif);color:var(--accent-text);font-style:italic;line-height:1.4}.slip{border-radius:var(--r-xs);box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);font:400 15px/1.4 var(--font-serif);color:var(--text);padding:10px 14px}.sheet{border-radius:var(--r-tile);box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);color:var(--text-2);padding:clamp(20px,3vw,40px);position:relative}.sheet--band{background-color:var(--band-2)}.sheet--graph,.sheet--ruled{background:var(--motif), var(--card-bg)}.sheet--ruled{padding-left:max(84px,clamp(20px,3vw,40px))}.sheet.sheet--hatch{background:var(--motif), var(--paper)}.sheet--hatch{box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line)}.chat-bubble{background:var(--card-bg);max-width:22rem;box-shadow:inset 0 0 0 1px var(--line);color:var(--text);border-radius:18px 18px 4px;justify-self:end;margin:0;padding:14px 16px;font-size:15px;line-height:1.5}.chat-bubble.is-ai{border-radius:18px 18px 18px 4px;justify-self:start}.chat-who{font:600 11px/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px;display:block}.chat-bubble.is-ai .chat-who{color:var(--spark-text)}.hv-paper{width:min(100%,30rem)}.hv-pencil{pointer-events:none;width:8rem;position:absolute;top:-1.5rem;left:-1rem;rotate:-28deg}.hv-duo{gap:var(--s-4);width:min(100%,30rem);display:grid}.hv-term{width:100%}.term{border-radius:var(--r-lg);width:100%;font-family:var(--font-mono);box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);overflow:hidden}.term-bar{min-height:36px;box-shadow:inset 0 -1px 0 var(--line);font:400 12px/1 var(--font-mono);color:var(--text-3);align-items:center;gap:7px;padding:0 14px;display:flex}.term-bar>i{background:var(--swp);border-radius:50%;flex:none;width:10px;height:10px}.term-bar>i:nth-child(2){background:var(--amber)}.term-bar>i:nth-child(3){background:var(--sorted);margin-right:8px}.term-file{color:var(--text-3)}.term-body{font:400 var(--fs-mono-sm)/1.75 var(--font-mono);color:var(--text-2);padding:16px 18px 20px;overflow-x:auto}.tl,[data-type-line]{white-space:pre;width:fit-content;display:block}.tok-k{color:var(--tok-k)}.tok-f{color:var(--tok-f)}.tok-s{color:var(--tok-s)}.tok-n{color:var(--tok-n)}.tok-c{color:var(--tok-c)}.tok-p{color:var(--tok-p)}.hv-graph{aspect-ratio:1;border-radius:var(--r-lg);background:var(--band-2);width:min(100%,26rem);position:relative;overflow:hidden}.hv-graph svg{width:100%;height:100%;display:block}.hv-grid line,.hv-grid path{stroke:var(--band-hair);stroke-width:1px}.hv-axis{stroke:var(--band-ink-2);stroke-width:1.4px}.hv-curve{fill:none;stroke:var(--accent-bright);stroke-width:3.5px;stroke-linecap:round}.hv-tangent{stroke:var(--gold);stroke-width:1.6px;stroke-dasharray:5 5}.hv-point{fill:var(--gold)}.hv-label{fill:var(--band-ink-2);font:600 13px var(--font-mono)}.float-syms{pointer-events:none;position:absolute;inset:-1rem}.float-syms span{font:400 1.9rem/1 var(--font-serif);color:var(--band-ink-2);opacity:.4;position:absolute}.float-syms span:first-child{top:2%;left:4%}.float-syms span:nth-child(2){font-size:2.4rem;top:12%;right:2%}.float-syms span:nth-child(3){bottom:6%;left:0}.float-syms span:nth-child(4){font-size:1.5rem;bottom:0;right:10%}.float-syms span:nth-child(5){font-size:1.4rem;top:46%;left:-2%}.hl{background:linear-gradient(var(--hl), var(--hl)) no-repeat 0 88%/100% .62em;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit}.hl-ev{background-image:linear-gradient(var(--hl-evidence), var(--hl-evidence))}.hl-an{background-image:linear-gradient(var(--hl-analysis), var(--hl-analysis))}:is(.bg-band,.hero-stage,.term) .hl:not(.paper .hl){color:var(--ink)}.story-track{position:relative}.story-stage{gap:var(--s-7);padding-block:var(--s-7);display:grid;position:relative}.story-visual{min-width:0;margin:0;position:relative}.story-steps{gap:var(--s-6);margin:0;padding:0;list-style:none;display:grid}.story-steps>li{color:var(--text-2);margin:0;padding-left:52px;position:relative}.story-steps .step-num{position:absolute;top:-4px;left:0}.story-steps h3{margin-bottom:.35em}.story-steps p{margin:0 0 var(--s-3)}.story-steps p:last-child{margin-bottom:0}.story-rail{display:none}.story-controls{justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:none}.story-dots{align-items:center;display:flex}.story-skip{margin-left:auto}@media (width>=900px){.story-stage{grid-template:"visual steps"1fr"visual controls"/minmax(0,7fr) minmax(0,5fr);align-items:center}.story-visual{grid-area:visual}.story-steps{grid-area:steps;align-self:center}.story-controls{grid-area:controls}.story-rail{background:var(--mark);opacity:.5;width:2px;top:15%;bottom:15%;left:calc((100% - var(--s-7)) * 7 / 12 + var(--s-7) / 2 - 1px);transform:scaleY(var(--p));transform-origin:top;border-radius:2px;display:block;position:absolute}}[data-theme=math] .story-steps .step-num{box-shadow:inset 0 0 0 1px var(--line-strong)}[data-theme=math] .story-steps .step-num:after{content:"";background:conic-gradient(var(--mark) var(--arc), transparent 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 2px))}[data-theme=english] .story-steps .step-num{box-shadow:none;font-family:var(--font-serif);font-size:18px;font-style:italic}[data-theme=english] .story-steps .step-num:after{content:"";border:1.5px solid var(--mark);border-radius:48% 52% 45% 55%;position:absolute;inset:-2px;rotate:-8deg}[data-theme=cs] .story-steps .step-num{border-radius:var(--r-xs);font-family:var(--font-mono);grid-auto-flow:column;justify-content:center}[data-theme=cs] .story-steps .step-num:before{content:"0";content:"0" / ""}[data-theme=approach] .story-steps .step-num{border-radius:var(--r-pill);width:auto;min-width:36px;height:28px;font:600 12px/1 var(--font-mono);letter-spacing:.08em;padding:0 10px}[data-theme=home] .story-steps .step-num{width:28px;height:28px;font-size:13px}.strike{background:var(--pen);transform-origin:0;pointer-events:none;height:2px;position:absolute;top:55%;left:0;right:0}.wl-wrong{position:relative}mark.tp-hl{isolation:isolate;color:inherit;background:0 0;position:relative}mark.tp-hl:before{content:"";z-index:-1;background:var(--hl);transform-origin:0;height:.62em;position:absolute;bottom:.08em;left:-.1em;right:-.1em}.story:not(.is-pinned) .tp-keep{opacity:1}.callstack{flex-direction:column-reverse;gap:6px;margin:0;padding:0;list-style:none;display:flex}.frame{border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--line-strong);font:400 var(--fs-mono-sm)/1.4 var(--font-mono);color:var(--text);margin:0;padding:6px 10px}.story:not(.is-pinned) .frame{opacity:1;transform:none}.faq{box-shadow:inset 0 1px 0 var(--line);display:grid}.faq details{box-shadow:inset 0 -1px 0 var(--line)}.faq summary{cursor:pointer;font:600 1.25rem/1.3 var(--font-sans);letter-spacing:-.005em;color:var(--text);transition:color var(--dur-ui);padding:24px 56px 24px 0;list-style:none;display:block;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::marker{content:""}.faq summary:after{content:"+";content:"+" / "";width:28px;height:28px;box-shadow:inset 0 0 0 1px var(--line-strong);font:400 20px/1 var(--font-sans);color:var(--text);transition:transform var(--dur-ui) var(--ease-out), background-color var(--dur-ui);border-radius:50%;place-items:center;margin-top:-14px;display:grid;position:absolute;top:50%;right:0}.faq details[open]>summary:after{background:var(--seg-bg);transform:rotate(45deg)}@media (hover:hover){.faq summary:hover{color:var(--accent-text)}}.faq details>p{max-width:62ch;font:400 1rem/1.7 var(--font-sans);color:var(--text-2);margin:0;padding:0 56px 26px 0}.motion-ok .faq details[open]>p{animation:faq-in .32s var(--ease-out)}@supports (interpolate-size:allow-keywords){.motion-ok .faq{interpolate-size:allow-keywords}.motion-ok .faq details::details-content{block-size:0;transition:block-size .32s var(--ease-out), content-visibility .32s allow-discrete;overflow:clip}.motion-ok .faq details[open]::details-content{block-size:auto}}.contact-grid{align-items:start;gap:clamp(24px,3vw,44px);display:grid}@media (width>=1000px){.contact-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.inquiry-form{border-radius:var(--r-tile);background:var(--card-bg);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line);padding:clamp(20px,3vw,40px)}.field-group{min-width:0;margin:0 0 var(--s-6);border:0;padding:0}.field-group>legend{width:100%;margin-bottom:var(--s-4);padding:0 0 var(--s-3);font:600 1.1875rem/1.3 var(--font-sans);color:var(--text);box-shadow:inset 0 -1px 0 var(--line)}.field{margin-bottom:var(--s-5)}.field:last-child{margin-bottom:0}.field-row{gap:0 var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr));display:grid}.field-row>.field:last-child{margin-bottom:var(--s-5)}.field-group>.field-row:last-child>.field:last-child{margin-bottom:0}.field label,.chip-fieldset>legend{font:600 15px/1.35 var(--font-sans);color:var(--text);margin-bottom:8px;padding:0;display:block}.chip-fieldset{border:0;min-width:0;margin:0;padding:0}.req{color:var(--danger)}.optional{color:var(--text-3);font-size:.9em;font-weight:400}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=url],select,textarea{border-radius:var(--r-md);background:var(--white);width:100%;min-height:52px;color:var(--ink);font:400 1rem/1.4 var(--font-sans);box-shadow:inset 0 0 0 1px var(--hair-ui);-webkit-appearance:none;appearance:none;transition:box-shadow var(--dur-ui) var(--ease-out);border:0;margin:0;padding:13px 16px}textarea{resize:vertical;min-height:140px}select{cursor:pointer;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5 7 7.5l6-6' fill='none' stroke='%235E5D59' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:44px}input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:1}input:is([type=text],[type=email],[type=tel],[type=number],[type=search],[type=url]):focus,select:focus,textarea:focus{outline-offset:2px;box-shadow:inset 0 0 0 1px var(--focus), 0 0 0 3px var(--focus);outline:2px solid #0000}.field-hint{font-size:var(--fs-small);color:var(--text-3);margin:8px 0 0}.field-error{font:600 var(--fs-small)/1.4 var(--font-sans);color:var(--danger);align-items:center;gap:6px;margin:8px 0 0;display:flex}.field-error:before{content:"!";content:"!" / "";background:var(--danger);width:16px;height:16px;color:var(--white);font:700 11px/1 var(--font-sans);border-radius:50%;flex:none;place-items:center;display:inline-grid}.field.has-error :is(input,select,textarea),.has-error>:is(input,select,textarea){box-shadow:inset 0 0 0 2px var(--danger)}.chip-fieldset.has-error .chip>span{box-shadow:inset 0 0 0 1.5px var(--danger)}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer;display:inline-flex;position:relative}.chip input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.chip>span{border-radius:var(--r-pill);background:var(--white);min-height:44px;box-shadow:inset 0 0 0 1px var(--hair-ui);font:500 15px/1.2 var(--font-sans);color:var(--ink-2);transition:background-color var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out), color var(--dur-ui), gap var(--dur-ui) var(--ease-out);align-items:center;gap:0;padding:0 18px;display:inline-flex}@media (hover:hover){.chip:hover>span{box-shadow:inset 0 0 0 1px var(--ink-3)}}.chip-tick{width:0;height:12px;transition:width var(--dur-ui) var(--ease-out);flex:none;overflow:visible}.chip-tick .draw{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:1.001px;transition:stroke-dashoffset .24s var(--ease-pencil) 80ms}.chip input:checked+span{background:var(--tint);color:var(--accent-text);box-shadow:inset 0 0 0 2px var(--accent-text);gap:8px;font-weight:600}.chip input:checked+span .chip-tick{width:12px}.chip input:checked+span .chip-tick .draw{stroke-dashoffset:0}.chip input:focus-visible+span{outline:3px solid var(--focus-ring);outline-offset:2px}.field-consent{margin-top:var(--s-2)}.field .consent,.consent{cursor:pointer;align-items:flex-start;gap:12px;margin-bottom:0;font-size:15px;font-weight:500;display:flex}.consent input{width:22px;height:22px;accent-color:var(--accent-ink);flex:none;margin:-1px 0 0}.form-actions{align-items:center;gap:var(--s-4) var(--s-5);margin:var(--s-6) 0 0;flex-wrap:wrap;max-width:none;display:flex}.turnstile-widget{margin-top:var(--s-5);min-height:65px}.turnstile-widget:empty{display:none}.form-note{max-width:32rem;font-size:var(--fs-small);color:var(--text-3)}@media (width<=479px){.form-actions .btn{width:100%}}.form-status{margin-bottom:var(--s-5)}.form-status:empty{display:none}.form-status.is-error,.form-status.is-success,.form-status.is-info{border-radius:var(--r-md);padding:16px 20px;font-size:15px}.form-status.is-error{color:var(--danger);background:#271918;box-shadow:inset 0 0 0 1px #b423184d}.form-status.is-success{color:var(--success);background:#17221b;box-shadow:inset 0 0 0 1px #2f7a4a4d}.form-status.is-info{background:var(--tint);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.form-status h3{color:inherit;margin:0 0 .35em;font-size:1.0625rem}.form-status p{margin:0 0 .5em}.form-status p:last-child{margin-bottom:0}.form-status ul{margin:8px 0 0;padding-left:1.25em}.form-status strong,.form-status a{color:inherit}.contact-aside{gap:var(--s-4);display:grid}@media (width>=1000px){.contact-aside{top:calc(var(--header-h) + var(--s-5));position:sticky}}.contact-card{padding:var(--s-5)}.contact-card-quiet{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line)}.contact-card h3{margin-bottom:var(--s-4);font-size:1.1875rem}.contact-methods{margin:0 0 var(--s-5);gap:var(--s-4);padding:0;list-style:none;display:grid}.contact-methods li{align-items:center;gap:14px;margin:0;display:flex}.contact-icon{border-radius:var(--r-md);background:var(--tint);width:40px;height:40px;color:var(--accent-text);flex:none;place-items:center;display:inline-grid}.contact-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.contact-method-body{flex-direction:column;min-width:0;display:flex}.contact-label{font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.contact-method-body a{overflow-wrap:anywhere;font-weight:600}.copy-btn{border-radius:var(--r-pill);min-height:32px;box-shadow:inset 0 0 0 1px var(--line-strong);font:600 13px/1 var(--font-sans);color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:none;margin-left:auto;padding:0 12px}@media (hover:hover){.copy-btn:hover{background:var(--seg-bg);color:var(--text)}}.contact-facts{margin:0;font-size:15px}.contact-facts>div{justify-content:space-between;gap:var(--s-4);box-shadow:inset 0 1px 0 var(--line);padding:10px 0;display:flex}.contact-facts dt{color:var(--text-3)}.contact-facts dd{text-align:right;color:var(--text);margin:0;font-weight:500}.contact-reassure{margin:var(--s-5) 0 0;color:var(--text-2);font-size:15px}.contact-pending{margin:0 0 var(--s-5);color:var(--text-2);font-size:15px}.mini-steps{color:var(--text-2);margin:0;padding-left:1.25em;font-size:15px}.mini-steps li::marker{color:var(--accent-text);font-weight:700}.site-footer{--surface:var(--paper-2);background:var(--paper-2);box-shadow:inset 0 1px 0 var(--line);padding-block:var(--s-8) var(--s-6);color:var(--text-2);font-size:14px}.footer-grid{gap:var(--s-6);display:grid}@media (width>=720px){.footer-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}}.site-footer ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.site-footer li{margin:0}.site-footer a{color:var(--text-2);text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}.site-footer a:is([href^=mathematics],[href^=english],[href^=computer-science],[href^=approach]):before{content:"";vertical-align:.05em;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.site-footer a[href^=mathematics]:before{background:var(--math)}.site-footer a[href^=english]:before{background:var(--english)}.site-footer a[href^=computer-science]:before{background:var(--cs)}.site-footer a[href^=approach]:before{background:var(--approach)}.footer-brand{font:600 1.0625rem/1.3 var(--font-sans);color:var(--text);margin:0 0 4px}.footer-tagline{margin:0 0 var(--s-4);color:var(--text-3);font-size:12px}.footer-note{max-width:30rem;color:var(--text-2)}.footer-heading{margin:0 0 var(--s-4);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.footer-bottom{margin-top:var(--s-7);padding-top:var(--s-5);box-shadow:inset 0 1px 0 var(--line);color:var(--text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;font-size:12px;display:flex}.footer-bottom:first-child{box-shadow:none;margin-top:0;padding-top:0}.footer-bottom p{margin:0}@media (width>=700px) and (width<=1199px){.footer-bottom>.footer-fine{flex-basis:100%;order:3;max-width:none}}.footer-fine{max-width:42rem}.motion-toggle{border-radius:var(--r-sm);min-height:44px;font:500 13px/1 var(--font-sans);color:var(--text-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 4px;display:inline-flex}.motion-toggle:before{content:"";border-radius:var(--r-pill);width:32px;height:20px;box-shadow:inset 0 0 0 1.5px var(--hair-ui);background:radial-gradient(circle at 10px 50%, var(--ink-3) 0 5px, transparent 5.5px) no-repeat;transition:background-color var(--dur-ui), box-shadow var(--dur-ui);flex:none}.motion-toggle[aria-pressed=true]:before{box-shadow:none;background:radial-gradient(circle at 22px 50%, var(--paper) 0 5px, transparent 5.5px) no-repeat var(--ink)}@media (hover:hover){.motion-toggle:hover{color:var(--text)}}.float-pill{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:40;isolation:isolate;border-radius:var(--r-pill);box-shadow:var(--shadow-float);color:var(--ink);font:600 15px/1 var(--font-sans);white-space:nowrap;visibility:hidden;transition:transform var(--dur-swap) var(--ease-out), visibility 0s linear var(--dur-swap);align-items:center;gap:10px;padding:10px 10px 10px 20px;text-decoration:none;position:fixed;transform:translate(-50%,140%);display:inline-flex!important}.float-pill:hover{color:var(--ink);text-decoration:none}.float-pill.is-shown:not([hidden]){visibility:visible;transition-delay:0s;transform:translate(-50%)}.pill-plus{background:var(--btn-bg);width:24px;height:24px;color:var(--btn-fg);font:500 18px/1 var(--font-sans);border-radius:50%;place-items:center;display:grid}html:not(.js) .float-pill,html.no-m .float-pill{width:fit-content;margin:var(--s-6) auto;visibility:visible;position:relative;left:auto;transform:none;display:flex!important}body.nav-open .float-pill{visibility:hidden}.mobile-cta:not(.float-pill){display:none}.lab-stack{gap:var(--s-7);counter-reset:fig;display:grid}.lab{counter-increment:fig;--card-bg:var(--white);border-radius:var(--r-tile);background:var(--card-bg);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line);color:var(--text-2);position:relative;overflow:clip}.lab:before{content:"";height:40px;box-shadow:inset 0 -1px 0 var(--line);display:block}[data-theme=math] .lab:before{content:"FIG. " counter(fig);content:"FIG. " counter(fig) / "";font:600 var(--fs-meta)/1 var(--font-sans);letter-spacing:.12em;color:var(--text-3);background:repeating-linear-gradient(90deg,#5b3fd073 0 1px,#0000 1px 40px) 0 100%/calc(100% - 7.5em) 18px no-repeat,repeating-linear-gradient(90deg,#5b3fd04d 0 1px,#0000 1px 8px) 0 100%/calc(100% - 7.5em) 10px no-repeat;justify-content:flex-end;align-items:center;padding-inline:clamp(20px,3vw,32px);display:flex}[data-theme=english] .lab:before{background:linear-gradient(90deg, transparent 47px, var(--margin-rule) 47px 49px, transparent 49px), linear-gradient(transparent 19px, var(--rule) 19px 20px, transparent 20px 29px, var(--rule) 29px 30px, transparent 30px), var(--cream)}[data-theme=cs] .lab:before{background:radial-gradient(circle at 24px 20px, var(--swp) 0 5px, transparent 5.5px), radial-gradient(circle at 42px 20px, var(--amber) 0 5px, transparent 5.5px), radial-gradient(circle at 60px 20px, var(--sorted) 0 5px, transparent 5.5px), var(--paper-2)}[data-theme=approach] .lab:before{background:repeating-linear-gradient(-45deg,#14141314 0 1px,#0000 1px 7px)}[data-theme=home] .lab:before{content:none}.lab-head{padding:var(--s-5) clamp(20px, 3vw, 32px) 0;justify-items:start;gap:8px;display:grid}.lab-head h3{margin:0}.lab-head p{color:var(--text-2);margin:0}.lab-badge{border-radius:var(--r-pill);background:var(--tint);color:var(--accent-text);font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.lab.is-live .lab-badge:before{content:"";background:var(--success);border-radius:50%;width:6px;height:6px}.lab-body{padding:var(--s-5) clamp(20px, 3vw, 32px) clamp(20px, 3vw, 32px)}.lab-grid{align-items:start;gap:clamp(20px,3vw,32px);display:grid}@media (width>=900px){.lab-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.lab-msg{min-height:1.5em;margin:var(--s-3) 0 0;color:var(--text-2);font-size:15px}.lab-msg.is-good{color:var(--success)}.lab-msg.is-good:before{content:"✓ ";content:"✓ " / "";font-weight:700}.lab-msg.is-bad{color:var(--danger)}.lab-msg.is-bad:before{content:"! ";content:"! " / "";font-weight:700}.lab-foot{margin:var(--s-5) 0 0;padding-top:var(--s-4);box-shadow:inset 0 1px 0 var(--line);font-size:var(--fs-small);color:var(--text-2);max-width:none}.lab-foot strong{color:var(--accent-text)}.lab-nojs{font-size:var(--fs-small);color:var(--text-3);font-style:italic}html.js .lab-nojs{display:none}html:not(.js) .lab-controls,html:not(.js) .js-only,html.no-m :is(.seg[data-motion],.flip-btn,.gallery-ctrl,.story-dots,.motion-toggle,[data-motion~=replay]){display:none!important}.is-new{animation:pop-in .36s var(--ease-out) both}.pf-steps code,.lab-foot code,.lab-head code{background:var(--seg-bg);color:var(--text);border-radius:4px;padding:.05em .3em;font-size:.92em}.plot{aspect-ratio:1;border-radius:var(--r-lg);background:var(--plot-bg);box-shadow:inset 0 0 0 1px var(--line);padding:0;position:relative;overflow:hidden}.plot canvas{display:block}.sliders{margin-bottom:var(--s-5);gap:14px;display:grid}.slider{grid-template-columns:28px minmax(0,1fr) 56px;align-items:center;gap:12px;display:grid}.slider label{font:700 1rem/1 var(--font-mono);color:var(--text)}.slider output{border-radius:var(--r-pill);background:var(--tint);color:var(--accent-text);font:600 14px/1 var(--font-mono);font-variant-numeric:tabular-nums;justify-content:center;padding:5px 8px;display:inline-flex}input[type=range]{width:100%;height:28px;accent-color:var(--accent-ink);cursor:pointer;-webkit-appearance:none;appearance:none;background:0 0;margin:0}input[type=range]::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:var(--line-strong);height:6px}input[type=range]::-moz-range-track{border-radius:var(--r-pill);background:var(--line-strong);height:6px}input[type=range]::-moz-range-progress{border-radius:var(--r-pill);background:var(--accent-ink);height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-ink);width:22px;height:22px;box-shadow:0 0 0 3px var(--white), 0 1px 4px 2px #14141340;border:0;border-radius:50%;margin-top:-8px}input[type=range]::-moz-range-thumb{background:var(--accent-ink);width:22px;height:22px;box-shadow:0 0 0 3px var(--white), 0 1px 4px 2px #14141340;border:0;border-radius:50%}input[type=range]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:var(--r-sm)}.readout{margin:0 0 var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.readout>div{border-radius:var(--r-md);background:var(--paper);min-width:0;box-shadow:inset 0 0 0 1px var(--line);padding:12px 14px}.readout dt{font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.readout dd{font:400 15px/1.4 var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.readout .eq{font:italic 400 1.125rem/1.35 var(--font-serif);color:var(--accent-text)}@media (width<=419px){.readout{grid-template-columns:minmax(0,1fr)}}.pf-problem{max-width:none;margin-bottom:var(--s-5);padding:var(--s-5);border-radius:var(--r-lg);background:var(--motif), var(--paper);box-shadow:inset 0 0 0 1px var(--line);font:400 var(--fs-lead)/1.4 var(--font-serif);color:var(--text)}.pf-gate{margin-bottom:var(--s-4);border:1.5px dashed var(--hair-ui);border-radius:var(--r-md);color:var(--text-2);cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;font-size:15px;display:flex}.pf-gate input{cursor:pointer;-webkit-appearance:none;appearance:none;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/0 0;width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--hair-ui);transition:background-color var(--dur-ui), background-size var(--dur-ui) var(--ease-pop), box-shadow var(--dur-ui);border-radius:6px;flex:none;margin:1px 0 0}.pf-gate input:checked{background-color:var(--accent-text);box-shadow:none;background-size:15px 15px}.pf-steps{margin:var(--s-5) 0 0;counter-reset:pf;gap:10px;padding:0;list-style:none;display:grid}.pf-steps li{counter-increment:pf;border-radius:var(--r-md);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);color:var(--text-2);margin:0;padding:12px 16px 12px 52px;position:relative}.pf-steps li:before{content:counter(pf);content:counter(pf) / "";width:26px;height:26px;box-shadow:inset 0 0 0 1.5px var(--mark);font:600 13px/1 var(--num-font);color:var(--accent-text);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;left:14px}.lab .tool-btn[data-action=next-step]{margin-top:var(--s-2)}.tag-tools .tool-btn{align-items:center;gap:8px;display:inline-flex}.swatch{border-radius:3px;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #14141333}.swatch-claim{background:var(--hl-claim)}.swatch-evidence{background:var(--hl-evidence)}.swatch-analysis{background:var(--hl-analysis)}.anatomy-text{margin-top:var(--s-5)}.sent{--sent-hl:transparent;cursor:pointer;background:linear-gradient(var(--sent-hl), var(--sent-hl)) no-repeat 0 0/0% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .36s var(--ease-out), box-shadow var(--dur-ui);border-radius:3px;padding:.06em .1em}.sent[data-tag=claim]{--sent-hl:var(--hl-claim)}.sent[data-tag=evidence]{--sent-hl:var(--hl-evidence)}.sent[data-tag=analysis]{--sent-hl:var(--hl-analysis)}.sent[data-tag]{color:var(--ink);background-size:100% 100%}@media (hover:hover){.sent:not([data-tag]):hover{box-shadow:inset 0 -2px 0 var(--hair-strong)}}.sent:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sent.is-right{text-decoration-line:underline;text-decoration-style:double;text-decoration-color:var(--success);text-underline-offset:.22em;text-decoration-thickness:2px}.sent.is-right:after{content:" ✓";content:" ✓" / "";color:var(--success);font-weight:700}.sent.is-wrong{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--pen);text-underline-offset:.22em;text-decoration-thickness:2px}.tag-badge{background:var(--white);box-shadow:inset 0 0 0 1px var(--hair-strong);font:700 10px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;vertical-align:.3em;color:var(--ink-2);border-radius:4px;margin-right:.35em;padding:3px 6px;display:inline-block}.tag-badge:empty{display:none}.motion-ok .tag-badge:not(:empty){animation:pop-in .24s var(--ease-pop)}.draft-tabs{margin-bottom:var(--s-5)}.draft-note{margin:var(--s-4) 0 0;box-shadow:inset 3px 0 0 var(--pen);font:italic 400 1rem/1.55 var(--font-serif);color:var(--text-2);padding-left:14px}.draft-note strong{color:var(--accent-text);font-style:normal}.motion-ok [data-draft]:not([hidden]) .paper{animation:page-in .42s var(--ease-out)}.motion-ok [data-draft]:not([hidden]) .draft-note{animation:rise-in .42s var(--ease-out) .12s both}.sorter-grid{gap:var(--s-4);display:grid}@media (width>=900px){.sorter-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.bars{align-items:flex-end;gap:5px;height:230px;padding:28px 16px 12px;display:flex}.bars .bar{background:#e6f2ec47;border-radius:3px 3px 0 0;flex:1;min-height:4px;transition:height .16s,background-color .16s;position:relative}.bars .bar i{font:normal 400 11px/1 var(--font-mono);text-align:center;color:var(--text-3);position:absolute;top:-1.6em;left:-4px;right:-4px}.bars .bar.is-sorted{background:var(--sorted)}.bars .bar.is-compare{background:var(--cmp)}.bars .bar.is-swap{background:var(--swp)}.sorter-legend{color:var(--text-3);flex-wrap:wrap;gap:6px 16px;margin:0;padding:0 16px 14px;font-size:12px;list-style:none;display:flex}.sorter-legend li{align-items:center;gap:6px;margin:0;display:inline-flex}.sorter-legend i{border-radius:2px;width:10px;height:10px}.code-panel{font:400 var(--fs-mono-sm)/1.55 var(--font-mono);color:var(--text-2);margin:0;padding:12px 10px;display:block;overflow-x:auto}.code-line{white-space:pre;color:var(--text-3);transition:background-color var(--dur-ui), color var(--dur-ui);border-radius:4px;padding:2px 10px;display:block}.code-line.is-active{color:var(--term-ink);box-shadow:inset 3px 0 0 var(--tok-p);background:#3ee6b51f}.sorter-stats{margin:var(--s-4) 0 0;font:500 14px/1.4 var(--font-mono);color:var(--accent-text)}.sorter-controls{margin-top:var(--s-4);flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.sorter-controls select{border-radius:var(--r-pill);background-position:right 14px center;width:auto;min-height:36px;padding:0 40px 0 14px;font-size:14px}.sorter-controls label{color:var(--text-2);align-items:center;gap:8px;font-size:14px;display:inline-flex}.sorter-controls input[type=range]{width:7rem}.tool-btn[data-action=play][aria-pressed=true]:before{content:"❚❚";content:"❚❚" / "";letter-spacing:-.12em;font-size:.75em}@media (width<=559px){.bars{gap:3px;padding-inline:10px}.bars .bar i{font-size:9px}}.code-wrap{display:flex;overflow-x:auto}.code-gutter{font:400 var(--fs-mono)/1.7 var(--font-mono);text-align:right;color:var(--tok-c);-webkit-user-select:none;user-select:none;flex:none;margin:0;padding:16px 0 16px 16px}.code-block{white-space:pre;font:400 var(--fs-mono)/1.7 var(--font-mono);color:var(--term-ink);margin:0;padding:16px 18px;overflow-x:auto}.code-wrap .code-block{flex:1;min-width:0;overflow:visible}.predict-form{max-width:34rem;margin-top:var(--s-5);border-radius:var(--r-xs);background:var(--cream);box-shadow:var(--shadow-2), inset 0 0 0 1px var(--line);color:var(--ink-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:16px 18px;display:grid;rotate:-.6deg}.predict-form label{font:600 15px/1.35 var(--font-sans);color:var(--ink);grid-column:1/-1}.predict-form:before{content:">>>";content:">>>" / "";font:700 15px/1 var(--font-mono);color:var(--ink-blue);grid-area:2/1}.predict-form input{min-height:44px;font-family:var(--font-mono);color:var(--ink-blue);grid-area:2/2}.predict-form button{grid-area:2/3}@media (width<=479px){.predict-form button{grid-area:3/1/auto/-1;justify-self:start}}.trace{width:100%;margin-top:var(--s-5);border-collapse:collapse;font:400 14px/1.4 var(--font-mono);font-variant-numeric:tabular-nums}.trace th,.trace td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px}.trace th{font:600 var(--fs-meta)/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.trace td{color:var(--text)}.trace tbody tr:last-child td:last-child:after{content:" ✓";content:" ✓" / "";color:var(--success);font-weight:700}.motion-ok .trace tr.is-new td:first-child{animation:.28s steps(4,end) both write-in}.toc-list{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));margin:0;padding:0;list-style:none;display:grid}.toc-item{border-radius:var(--r-lg);background:var(--white);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line);color:var(--text-2);flex-direction:column;gap:14px;margin:0;padding:20px 22px;display:flex}@media (width>=900px){.toc-item:nth-child(odd){rotate:-.4deg}.toc-item:nth-child(2n){rotate:.4deg}.toc-item:focus-within{rotate:0deg}}.toc-item>p{font:400 1.0625rem/1.6 var(--font-sans);color:var(--text);margin:0}.toc-item .btn-row{margin-top:auto}.toc-item .tool-btn[data-choice=tool]{color:var(--spark-text);box-shadow:inset 0 0 0 1.5px var(--spark)}.toc-item .tool-btn[data-choice=crutch]{color:var(--graphite);box-shadow:inset 0 0 0 1.5px var(--graphite)}.toc-item .tool-btn.is-picked[data-choice=tool]{background:var(--spark-ink);color:var(--white);box-shadow:none}.toc-item .tool-btn.is-picked[data-choice=crutch]{background:var(--graphite);color:var(--white);box-shadow:none}.toc-item .tool-btn:disabled{opacity:.6;cursor:default}.toc-item .tool-btn.is-picked:disabled{opacity:1}.toc-item.is-right{box-shadow:var(--shadow-1), inset 0 0 0 2px var(--success)}.toc-item.is-wrong{box-shadow:var(--shadow-1), inset 0 0 0 2px var(--danger)}.toc-why{color:var(--text-2);margin:0;font-size:15px}.toc-why strong{color:var(--text)}.toc-score{min-height:1.2em;margin:var(--s-5) 0 0;font:600 var(--fs-h3)/1.2 var(--font-sans);color:var(--text);font-variant-numeric:tabular-nums}.motion-ok .toc-score:not(:empty){animation:pop-in .36s var(--ease-pop)}@keyframes draw-on{0%{stroke-dashoffset:1.001px}}@keyframes write-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes rise-in{0%{opacity:0;translate:0 .3em}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;scale:.6}}@keyframes stamp-in{0%{opacity:0;rotate:-12deg;scale:1.4}}@keyframes caret{50%{opacity:0}}@keyframes page-in{0%{opacity:0;transform:rotateY(-6deg)translate(12px)}}@keyframes flip-down{0%{opacity:0;transform-origin:top;transform:rotateX(-70deg)}}@keyframes shake{25%,75%{translate:-3px}50%{translate:3px}}@keyframes ink-ripple{0%{opacity:.22;transform:scale(0)}to{opacity:0;transform:scale(1.4)}}@keyframes ink-ring{0%{opacity:.22;transform:scale(0)}to{opacity:0;transform:scale(1.4)}}@keyframes ink-blot{0%{opacity:.22;transform:scale(0)}to{opacity:0;transform:scale(1.4)}}@keyframes ink-pixel{0%{opacity:.22;transform:scale(0)}to{opacity:0;transform:scale(1.4)}}@keyframes ink-smudge{0%{opacity:.22;transform:scale(0)}to{opacity:0;transform:scale(1.4)}}@keyframes p-drive{0%{--p:0}to{--p:1}}@keyframes arc-spin{0%{--arc:0deg}to{--arc:360deg}}@keyframes type-in{to{clip-path:inset(0)}}@keyframes gc-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes faq-in{0%{opacity:0;translate:0 -6px}}@keyframes panel-in{0%{opacity:0;translate:0 8px}}@keyframes dots-slide{0%{background-position-x:0}to{background-position-x:16px}}@keyframes ta-sweep{0%{transform:scaleX(0)}}.draw{fill:none;stroke-dasharray:1 2;stroke-dashoffset:0}.reveal{transition:opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out), clip-path var(--dur-reveal) var(--ease-out);transition-delay:calc(var(--i) * var(--stagger))}.reveal.lift,.reveal.tile{transition:opacity var(--dur-reveal) var(--ease-out) calc(var(--i) * var(--stagger)), transform var(--dur-reveal) var(--ease-out) calc(var(--i) * var(--stagger)), translate var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out)}.w{display:inline}@supports (animation-timeline:scroll()){.motion-ok .subnav-progress[data-m-css]{animation:linear both p-drive scroll(root)}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:var(--ease-out)}.subject-switcher a[aria-current=page]{view-transition-name:subject-pill}}html:not(.motion-ok)::view-transition-group(*),html:not(.motion-ok)::view-transition-old(*),html:not(.motion-ok)::view-transition-new(*){animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.site-header,.subnav{transition:none}.motion-toggle{display:none}}html.js:not(.motion-ok) *,html.js:not(.motion-ok) :before,html.js:not(.motion-ok) :after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}@media (prefers-reduced-transparency:reduce){.site-header:before,.subnav:before,.float-pill:before,.gallery-ctrl:before{background:var(--paper);backdrop-filter:none}html[data-tone-under=dark] body:not(.nav-open) :is(.site-header,.subnav):before{background:var(--night)}}@media (forced-colors:active){.tone--spectrum{color:canvastext;background:0 0}.seg-thumb{display:none}.seg>:is([aria-selected=true],[aria-pressed=true]){outline-offset:-4px;outline:2px solid canvastext}.gc-dot:before,.story-dots>button:before{background:canvastext}.pf-gate input{-webkit-appearance:auto;appearance:auto}.sent[data-tag]{outline:1px solid canvastext}}@media print{.bg-band,.hero-stage,.term,.sheet--band,.site-header,.subnav{--surface:#fff;--card-bg:#fff;--text:#000;--text-2:#222;--text-3:#444;--line:#ccc;--line-strong:#999;--accent-text:var(--accent-ink);--spark-text:var(--spark-ink);--btn-bg:#000;--btn-fg:#fff;--mark:var(--accent);color-scheme:light}body,.bg-paper,.bg-paper-2,.section-alt,.bg-white,.bg-tint,.bg-band,.hero-stage,.term,.sheet,.site-footer{color:#222;background:#fff!important}body{font-size:11pt}.motif,.motif-fade:before,.tile,.sheet--graph,.sheet--ruled,.sheet--hatch{background-image:none!important}.is-framed:before{display:none}.js-only,.lab-controls,.float-pill,.mobile-cta,.subnav,.story-controls,.motion-toggle,.gallery-ctrl,.site-header,.skip-link,.nav-toggle,.inquiry-form,.subnav-progress,.seg[data-motion],.press-ink{display:none!important}.section{padding-block:1.25rem}.story-track{height:auto!important}.story-stage{height:auto!important;position:static!important}.reveal{opacity:1!important;transform:none!important}.flip-inner{display:block!important;transform:none!important}.flip-front,.flip-back{margin-bottom:8px;opacity:1!important;visibility:visible!important;transform:none!important}.card,.stage-body,.lab,.tile,.duo-col,.sheet,.term{break-inside:avoid;box-shadow:0 0 0 1px #ccc!important}.faq details>p{padding-right:0}a[href^=http]:after{content:" (" attr(href) ")";color:#444;font-size:.85em}}@media screen and (prefers-reduced-motion:no-preference){.motion-ok .reveal:not(.is-visible){opacity:0;transform:translateY(24px)}.motion-ok .reveal[data-reveal=scale]:not(.is-visible){transform:scale(.96)}.motion-ok .reveal[data-reveal=clip]:not(.is-visible){opacity:1;clip-path:inset(0 0 100%);transform:none}.motion-ok .reveal:not(.is-visible):focus-within{opacity:1;clip-path:none;transform:none}.motion-ok .section-head.reveal:not(.is-visible) h2:after{clip-path:inset(0 100% 0 0)}.motion-ok .section-head.reveal h2:after{transition:clip-path var(--dur-hero) var(--ease-pencil) .25s}.motion-ok [data-motion~=draw]:not([data-m-draw=scrub]):not(.is-in) .draw{stroke-dashoffset:1.001px}.motion-ok [data-motion~=draw] .draw{transition:stroke-dashoffset var(--dur-draw) var(--ease-pencil) calc(var(--d) * .12s)}.motion-ok [data-m-draw=scrub] .draw{stroke-dashoffset:calc(1.001 - clamp(0, (var(--p) - var(--from)) / (var(--to) - var(--from)), 1));transition:none}.motion-ok [data-motion~=words] .w{opacity:clamp(.18, (var(--p) * (var(--n) + 4) - var(--w)) / 4, 1)}.motion-ok [data-motion~=type] [data-type-line]{clip-path:inset(0 100% 0 0)}.motion-ok [data-motion~=type].is-in [data-type-line]{animation:type-in var(--type-dur) steps(var(--chars), jump-start) var(--type-delay) forwards}.motion-ok [data-motion~=type].is-done [data-type-line]{clip-path:none;animation:none}.motion-ok .stat-num:not(.is-counting):not(.is-done) .odo-d>span{transform:none}.motion-ok .stat-num:not(.is-done) .bin .bits{opacity:1}.motion-ok .stat-num:not(.is-done) .bin-dec{opacity:0}.motion-ok .stat-num:not(.is-counting):not(.is-done) .bit{transform:none}@media (width>=720px){.motion-ok .hero-stage{scale:calc(.94 + .06 * var(--pe))}}.motion-ok .hl[data-motion]:not(.is-in){background-size:0% .62em}.motion-ok .hl[data-motion]{transition:background-size .52s var(--ease-out) .2s}.motion-ok .duo:not(.is-in) .duo-col:not(.is-ai) .check-list li:before{clip-path:inset(0 100% 0 0)}.motion-ok .duo .duo-col:not(.is-ai) .check-list li:before{transition:clip-path .36s var(--ease-pencil) calc(var(--li) * 90ms)}.motion-ok .duo:not(.is-in) .is-ai .duo-icon{opacity:0;transform:scale(.6)}.motion-ok .duo .is-ai .duo-icon{transition:transform .42s var(--ease-pop) .66s, opacity .2s .66s}.motion-ok .duo:not(.is-in) .spark-link .draw{stroke-dashoffset:1.001px}.motion-ok .duo .spark-link .draw{transition:stroke-dashoffset .6s var(--ease-pencil) .9s}.motion-ok .seg-panel:not([hidden]){animation:panel-in var(--dur-swap) var(--ease-out) both}.motion-ok .flip-card{perspective:1200px}.motion-ok .flip-inner{transform-style:preserve-3d;transition:transform var(--dur-swap) var(--ease-in-out)}html.motion-ok .flip-card .flip-front,html.motion-ok .flip-card .flip-back,html.motion-ok .flip-card.is-flipped .flip-front,html.motion-ok .flip-card.is-flipped .flip-back{opacity:1;visibility:visible;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:none}html.motion-ok .flip-card .flip-back,html.motion-ok .flip-card.is-flipped .flip-back,.motion-ok .flip-card.is-flipped .flip-inner{transform:rotateY(180deg)}.motion-ok .story-track{height:calc(var(--steps) * var(--pin-step,70svh) + 100svh)}.motion-ok .story-stage{top:var(--stick-top);height:calc(100svh - var(--stick-top));align-content:center;position:sticky}@supports not (height:1svh){.motion-ok .story-track{height:calc(var(--steps) * 70vh + 100vh)}.motion-ok .story-stage{height:calc(100vh - var(--stick-top))}}@media (width<=899px){.motion-ok .story-track{--pin-step:55svh}.motion-ok .story.is-pinned .story-stage{gap:var(--s-4);padding-block:var(--s-4);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"visual""steps""controls"}.motion-ok .story.is-pinned .story-visual{grid-area:visual;align-self:center;min-height:0}.motion-ok .story.is-pinned .story-steps{grid-area:steps;display:grid}.motion-ok .story.is-pinned .story-controls{grid-area:controls}.motion-ok .story.is-pinned .story-steps>li{opacity:0;transition:opacity var(--dur-ui);grid-area:1/1}.motion-ok .story.is-pinned .story-steps>li.is-active{opacity:1}}@media (height<=560px),(width<=899px) and (height<=760px){.motion-ok .story-track{height:auto}.motion-ok .story-stage{height:auto;position:static}}.motion-ok .story.is-pinned .story-controls{display:flex}.motion-ok .story.is-pinned .story-stage{padding-bottom:max(var(--s-7), calc(76px + env(safe-area-inset-bottom)))}@media (width>=900px) and (height<=760px){.motion-ok .story.is-pinned .story-stage{padding-top:var(--s-4);row-gap:var(--s-4);align-content:safe center}.motion-ok .story.is-pinned .story-steps{gap:var(--s-5)}}.motion-ok .story.is-pinned .story-visual{will-change:transform;min-height:0;max-height:100%;overflow:hidden}.motion-ok .story:is(.is-pinned,.is-player) .story-steps>li{color:var(--text-3);transition:color var(--dur-ui) var(--ease-out), opacity var(--dur-ui)}.motion-ok .story:is(.is-pinned,.is-player) .story-steps>li h3{color:var(--text-3);transition:color var(--dur-ui) var(--ease-out)}.motion-ok .story:is(.is-pinned,.is-player) .story-steps>li.is-active{color:var(--text)}.motion-ok .story:is(.is-pinned,.is-player) .story-steps>li.is-active h3{color:var(--accent-text)}.motion-ok [data-theme=math] .story:is(.is-pinned,.is-player) .story-steps>li:not(.is-active):not(.is-past) .step-num:after{opacity:0}.motion-ok [data-theme=math] .story:is(.is-pinned,.is-player) .story-steps>li.is-active .step-num:after{animation:arc-spin .7s var(--ease-pencil) both}.motion-ok .story:is(.is-pinned,.is-player) .tp{--on:clamp(0, (var(--step) + var(--step-p) - var(--at)) / var(--len), 1);opacity:var(--on);transform:translateY(calc((1 - var(--on)) * 12px))}.motion-ok .story:is(.is-pinned,.is-player) .tp-draw .draw{stroke-dasharray:1 2;stroke-dashoffset:calc(1.001 - var(--on))}.motion-ok .story:is(.is-pinned,.is-player) .tp-write{clip-path:inset(0 calc((1 - var(--on)) * 100%) 0 0);transform:none}.motion-ok .story:is(.is-pinned,.is-player) .tp-pop{transform:scale(calc(.6 + .4 * var(--on)))}.motion-ok .story:is(.is-pinned,.is-player) .tp.strike{opacity:1;transform:scaleX(var(--on))}.motion-ok .story:is(.is-pinned,.is-player) .tp-out{opacity:calc(var(--on) * (1 - clamp(0, (var(--step) + var(--step-p) - var(--until)) / .2, 1)))}.motion-ok .story:is(.is-pinned,.is-player) mark.tp-hl{--on:clamp(0, (var(--step) + var(--step-p) - var(--at)) / var(--len), 1)}.motion-ok .story:is(.is-pinned,.is-player) mark.tp-hl:before{transform:scaleX(var(--on))}.motion-ok .story:is(.is-pinned,.is-player) .frame{--t:calc(var(--step) + var(--step-p));--in:clamp(0, (var(--t) - var(--push)) * 4, 1);--out:clamp(0, (var(--t) - var(--pop)) * 4, 1);opacity:calc(var(--in) * (1 - var(--out)));transform:translateY(calc((1 - var(--in)) * -24px + var(--out) * -16px))}}.utility{min-height:calc(100svh - var(--header-h));grid-template-columns:minmax(0,1fr);align-content:center;display:grid}@supports not (height:1svh){.utility{min-height:calc(100vh - var(--header-h))}}.utility h1{max-width:16ch;margin:0}.utility .lead{margin:var(--s-5) 0 0}.utility-copy>.section-kicker{margin-bottom:var(--s-3)}.utility .card-title{margin:0 0 var(--s-4);font-size:var(--fs-h3);letter-spacing:-.008em;line-height:1.14}.utility .contact-card .card-title{padding-right:44px}@media (width<=479px){.utility-actions .btn{width:100%}}.utility-head{gap:var(--s-5);align-items:start;display:grid}@media (width>=720px){.utility-head{gap:var(--s-6);grid-template-columns:96px minmax(0,1fr)}}.thanks-tick{width:72px;height:72px;display:block;overflow:visible}@media (width>=720px){.thanks-tick{width:96px;height:96px;margin-top:6px}}.thanks-tick .tt-disc{fill:var(--tint);transform-box:fill-box;transform-origin:50%}.thanks-tick .draw{stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round}.thanks-tick .tt-ring{stroke-width:3px}.thanks-tick .tt-check{stroke-width:7px}.utility{--tt-base:.7s;--tt-gap:.3s}.utility .mini-steps{font-size:var(--fs-body);padding:0;line-height:1.55;list-style:none;display:grid}.utility .mini-steps li{min-height:28px;padding-left:44px;position:relative}.utility .mini-steps li:not(:last-child){padding-bottom:var(--s-5);background:linear-gradient(var(--line-strong), var(--line-strong)) 13px 33px / 2px calc(100% - 37px) no-repeat}.utility .mini-steps li:before{content:"";background:var(--tint);border-radius:50%;width:28px;height:28px;position:absolute;top:-1px;left:0}.utility .mini-steps li:after{content:"";background:var(--accent-text);width:16px;height:16px;-webkit-mask:var(--tick-mask) no-repeat center/16px 16px;mask:var(--tick-mask) no-repeat center/16px 16px;position:absolute;top:5px;left:6px}.mini-spark{font:400 26px/1 var(--font-sans);color:var(--spark);pointer-events:none;user-select:none;position:absolute;top:clamp(20px,1rem + .75vw,32px);right:clamp(20px,1rem + .75vw,32px)}.tile-row{gap:var(--gap);margin-bottom:0;padding:0;list-style:none;display:grid}@media (width>=720px){.tile-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.tile-row>li{min-width:0;margin:0;display:flex}.tile-row .tile{--t404-d:calc(var(--i) * .24s + .3s);flex:auto;min-width:0}.tile-row .tile-title{overflow-wrap:break-word}.tile-row .nobr{white-space:nowrap}.tile-row .tile[data-theme=english]{background-position:calc(clamp(24px,1.5rem + 1vw,40px)/2 - 64px) 0,0 0}.start-card .subject-list{margin-bottom:0}@keyframes t404-draw{0%{stroke-dashoffset:1.001px}}@keyframes t404-fade{0%{opacity:0}}@keyframes t404-pop{0%{opacity:0;scale:.6}}@keyframes t404-sweep{0%{transform:scaleX(0)}}@keyframes t404-rise{0%{opacity:0;translate:0 8px}}@keyframes t404-caret{50%{opacity:0}}@media screen and (prefers-reduced-motion:no-preference){.motion-ok .thanks-tick:not(.is-in) .tt-disc{opacity:0;scale:.4}.motion-ok .thanks-tick .tt-disc{transition:opacity .24s var(--ease-out), scale .56s var(--ease-pop)}.motion-ok .thanks-tick[data-motion~=draw] .tt-ring{transition:stroke-dashoffset .8s var(--ease-pencil) .12s}.motion-ok .thanks-tick[data-motion~=draw] .tt-check{transition:stroke-dashoffset .52s var(--ease-pencil) .76s}.motion-ok .utility .mini-steps:not(.is-in) li:before{opacity:0;scale:.5}.motion-ok .utility .mini-steps li:before{transition:opacity .2s var(--ease-out) calc(var(--tt-base) + var(--li) * var(--tt-gap)), scale .42s var(--ease-pop) calc(var(--tt-base) + var(--li) * var(--tt-gap))}.motion-ok .utility .mini-steps:not(.is-in) li:after{clip-path:inset(0 100% 0 0)}.motion-ok .utility .mini-steps li:after{transition:clip-path .36s var(--ease-pencil) calc(var(--tt-base) + var(--li) * var(--tt-gap) + .12s)}.motion-ok .utility .mini-steps:not(.is-in) li:not(:last-child){background-size:2px 0}.motion-ok .utility .mini-steps li:not(:last-child){transition:background-size .3s var(--ease-out) calc(var(--tt-base) + var(--li) * var(--tt-gap) + .26s)}.motion-ok .utility .mini-steps:not(.is-in)+.mini-spark{opacity:0;rotate:-40deg;scale:.3}.motion-ok .utility .mini-steps+.mini-spark{transition:opacity .2s var(--ease-out) calc(var(--tt-base) + 2 * var(--tt-gap) + .4s), scale .52s var(--ease-pop) calc(var(--tt-base) + 2 * var(--tt-gap) + .4s), rotate .52s var(--ease-pop) calc(var(--tt-base) + 2 * var(--tt-gap) + .4s)}.motion-ok .tile-row .tile:not(.is-in) .tile-art .draw{stroke-dashoffset:1.001px}.motion-ok .tile-row .tile:not(.is-in) .tile-art :is(.ta-grid,.ta-dot,.ta-term){opacity:0}.motion-ok .tile-row .tile:not(.is-in) .tile-art .ta-hl{transform:scaleX(0)}.motion-ok .tile-row .tile.is-in .tile-art .ta-grid{animation:t404-fade .4s var(--ease-out) var(--t404-d) both}.motion-ok .tile-row .tile.is-in .tile-art .draw{animation:t404-draw .9s var(--ease-pencil) calc(var(--t404-d) + .1s) both}.motion-ok .tile-row .tile.is-in .tile-art .ta-dot{animation:t404-pop .42s var(--ease-pop) calc(var(--t404-d) + .85s) both}.motion-ok .tile-row .tile.is-in .tile-art .ta-hl{animation:t404-sweep .42s var(--ease-out) var(--t404-d) both}.motion-ok .tile-row .tile.is-in .tile-art .ta-hl~.draw{animation:t404-draw .7s var(--ease-pencil) calc(var(--t404-d) + .38s) both}.motion-ok .tile-row .tile.is-in .tile-art .ta-term{animation:t404-rise .42s var(--ease-out) var(--t404-d) both}.motion-ok .tile-row .tile.is-in .tile-art .ta-caret{animation:t404-caret .6s steps(1) calc(var(--t404-d) + .42s) 3}.motion-ok .tile-row .tile.is-in:is(:hover,:focus-visible) .tile-art .ta-grid{animation:t404-fade .4s var(--ease-out) var(--t404-d) both, fade-in .4s var(--ease-out) both}.motion-ok .tile-row .tile.is-in:is(:hover,:focus-visible) .tile-art .draw{animation:t404-draw .9s var(--ease-pencil) calc(var(--t404-d) + .1s) both, draw-on .7s var(--ease-pencil) both}.motion-ok .tile-row .tile.is-in:is(:hover,:focus-visible) .tile-art .ta-dot{animation:t404-pop .42s var(--ease-pop) calc(var(--t404-d) + .85s) both, pop-in .42s var(--ease-pop) .65s both}.motion-ok .tile-row .tile.is-in:is(:hover,:focus-visible) .tile-art .ta-hl{animation:t404-sweep .42s var(--ease-out) var(--t404-d) both, ta-sweep .42s var(--ease-out) both}.motion-ok .tile-row .tile.is-in:is(:hover,:focus-visible) .tile-art .ta-hl~.draw{animation:t404-draw .7s var(--ease-pencil) calc(var(--t404-d) + .38s) both, draw-on .7s var(--ease-pencil) .38s both}.motion-ok .tile-row .tile.is-in:is(:hover,:focus-visible) .tile-art .ta-caret{animation:t404-caret .6s steps(1) calc(var(--t404-d) + .42s) 3, caret .6s steps(1) 3}}