:root{color-scheme:light;--paper: oklch(.982 .004 230);--paper-2: oklch(.96 .006 235);--ink: oklch(.23 .02 252);--ink-soft: oklch(.42 .018 250);--ink-faint: oklch(.56 .016 250);--rule: oklch(.87 .012 245);--rule-soft: oklch(.92 .008 245);--navy: oklch(.29 .072 254);--navy-line: oklch(.42 .06 254);--link: oklch(.46 .11 252);--signal: oklch(.63 .185 47);--signal-deep: oklch(.5 .16 46);--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-24: 96px;--space-32: 128px;--display: "Archivo", system-ui, sans-serif;--serif: "Spectral", Georgia, serif;--mono: "Martian Mono", ui-monospace, monospace;--maxw: 1240px}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{font-family:var(--display);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.6}img,svg{display:block;max-width:100%}a{color:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--space-8)}.anno{font-family:var(--mono);font-size:.66rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.anno b{color:var(--signal-deep);font-weight:500}.anno--block{display:block}.serif-it{font-family:var(--serif);font-style:italic;font-weight:500}.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100}.skip-link:focus{left:var(--space-4);top:var(--space-4)}.status{background:var(--ink);color:#b8bfc5}.status .wrap{display:flex;justify-content:space-between;gap:var(--space-6);padding-block:7px;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap}.status .dot{color:var(--signal)}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklch,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}.site-header .wrap{display:flex;align-items:center;gap:var(--space-8);height:78px}.mark{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--ink)}.mark svg{width:36px;height:36px}.mark .name{display:block;font-weight:800;font-size:1.16rem;letter-spacing:-.01em;line-height:1}.mark .name span{color:var(--signal-deep)}.mark .sub{display:block;font-family:var(--mono);font-size:.54rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px}.nav{margin-left:auto;display:flex;gap:var(--space-8);align-items:center}.nav a{text-decoration:none;color:var(--ink-soft);font-size:.88rem;font-weight:500;position:relative;padding-block:6px}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--signal);transition:right .35s cubic-bezier(.22,1,.36,1)}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a:hover:after,.nav a[aria-current=page]:after{right:0}.cta{font-weight:600;font-size:.85rem;color:var(--paper);background:var(--ink);padding:11px 18px;text-decoration:none;transition:background .2s;white-space:nowrap}.cta:hover{background:var(--navy)}.nav-toggle{display:none;background:none;border:1px solid var(--rule);color:var(--ink);font:inherit;font-size:.85rem;font-weight:600;padding:9px 14px;cursor:pointer}.mobile-nav{display:none;border-bottom:1px solid var(--rule);background:var(--paper)}.mobile-nav a{display:block;padding:var(--space-4) var(--space-8);text-decoration:none;color:var(--ink-soft);font-weight:500;border-top:1px solid var(--rule-soft)}.mobile-nav a[aria-current=page]{color:var(--signal-deep)}.btn{font-weight:600;font-size:.94rem;text-decoration:none;padding:14px 24px;display:inline-flex;align-items:center;gap:10px;transition:transform .2s,background .2s;cursor:pointer;border:0;font-family:inherit}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--navy);transform:translateY(-2px)}.btn-light{background:var(--signal);color:var(--ink)}.btn-light:hover{background:#ef7926;transform:translateY(-2px)}.btn .arrow{transition:transform .25s}.btn:hover .arrow{transform:translate(4px)}.link-arrow{font-weight:600;color:var(--link);text-decoration:none;display:inline-flex;gap:8px;align-items:center;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .2s}.link-arrow:hover{border-color:var(--link)}.link-arrow .a{transition:transform .25s}.link-arrow:hover .a{transform:translate(4px)}.hero{padding-block:clamp(var(--space-16),8vw,120px) var(--space-24)}.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--space-16);align-items:center}.hero .eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.hero .eyebrow:before{content:"";width:28px;height:1px;background:var(--signal)}h1.head{font-weight:900;letter-spacing:-.025em;line-height:.97;font-size:clamp(2.7rem,6vw,5.2rem);text-wrap:balance}h1.head .it{font-family:var(--serif);font-weight:500;font-style:italic;letter-spacing:-.01em;color:var(--navy)}.hero .lede{font-family:var(--serif);font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.6;color:var(--ink-soft);max-width:48ch;margin-top:var(--space-8)}.hero-actions{display:flex;gap:var(--space-6);margin-top:var(--space-8);align-items:center;flex-wrap:wrap}.schematic{border:1px solid var(--rule);background:color-mix(in oklch,var(--paper) 50%,white);background-image:linear-gradient(var(--rule-soft) 1px,transparent 1px),linear-gradient(90deg,var(--rule-soft) 1px,transparent 1px);background-size:26px 26px;position:relative;aspect-ratio:1 / .95}.schematic .corner{position:absolute;width:9px;height:9px;border:1px solid var(--ink-faint)}.schematic .tl{top:-1px;left:-1px;border-right:0;border-bottom:0}.schematic .tr{top:-1px;right:-1px;border-left:0;border-bottom:0}.schematic .bl{bottom:-1px;left:-1px;border-right:0;border-top:0}.schematic .br{bottom:-1px;right:-1px;border-left:0;border-top:0}.schematic .l-tr{position:absolute;top:12px;right:14px;text-align:right}.schematic .l-bl{position:absolute;bottom:12px;left:14px}.schematic svg{width:100%;height:100%}.blade{fill:color-mix(in oklch,var(--signal) 7%,transparent);stroke:var(--ink);stroke-width:1.5}.dim{stroke:var(--signal-deep);stroke-width:1}.dimtxt{fill:var(--signal-deep);font-family:Martian Mono,monospace;font-size:9px;letter-spacing:.04em}.ctr{stroke:var(--rule);stroke-width:1;stroke-dasharray:7 3 1 3}.draw{stroke-dasharray:1700;stroke-dashoffset:1700;animation:draw 2.6s cubic-bezier(.22,1,.36,1) .3s forwards}@keyframes draw{to{stroke-dashoffset:0}}.figures{background:var(--navy);color:#dfe5eb}.figures .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.fig{padding:var(--space-12) var(--space-6);border-left:1px solid var(--navy-line)}.fig:first-child{border-left:0}.fig .n{font-weight:800;font-size:clamp(2.2rem,3.6vw,3.1rem);letter-spacing:-.02em;line-height:1}.fig .n small{color:var(--signal);font-size:1.1rem;vertical-align:super}.fig .c{margin-top:var(--space-4);font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:#9dadbe}.section{padding-block:var(--space-32)}.section--tight{padding-block:var(--space-24)}.section--alt{background:var(--paper-2)}.lead{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-16);align-items:start}.lead h2{font-weight:800;font-size:clamp(1.9rem,3.8vw,2.9rem);letter-spacing:-.022em;line-height:1.04}.lead .idx{margin-bottom:var(--space-6)}.lead .body p{font-size:1.05rem;color:var(--ink-soft);line-height:1.75;max-width:62ch}.lead .body p.first{font-family:var(--serif);font-size:1.28rem;line-height:1.6;color:var(--ink)}.lead .body p+p{margin-top:var(--space-6)}.section-title{font-weight:800;font-size:clamp(2rem,4.2vw,3.1rem);letter-spacing:-.022em;line-height:1.02}.page-header{padding-block:clamp(var(--space-16),7vw,110px) var(--space-16);border-bottom:1px solid var(--rule)}.page-header .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-12);align-items:end}.page-header h1{font-weight:900;font-size:clamp(2.4rem,5.2vw,4.4rem);letter-spacing:-.025em;line-height:.98;text-wrap:balance}.page-header h1 .it{font-family:var(--serif);font-weight:500;font-style:italic;color:var(--navy)}.page-header .intro{font-family:var(--serif);font-size:1.18rem;line-height:1.6;color:var(--ink-soft)}.breadcrumb{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-6);font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.breadcrumb a{color:var(--ink-faint);text-decoration:none}.breadcrumb a:hover{color:var(--signal-deep)}.breadcrumb .sep{color:var(--rule)}.comp{border-top:1px solid var(--ink)}.crow{display:grid;grid-template-columns:76px 1.1fr 1.5fr auto;gap:var(--space-8);padding-block:var(--space-8);border-bottom:1px solid var(--rule);align-items:baseline;transition:padding-left .3s,background .3s}.crow:hover{padding-left:var(--space-4);background:color-mix(in oklch,var(--signal) 4%,transparent)}.crow .no{font-family:var(--mono);font-size:.7rem;color:var(--signal-deep);letter-spacing:.05em}.crow h3{font-weight:700;font-size:1.32rem;letter-spacing:-.012em}.crow p{color:var(--ink-soft);font-size:.96rem}.crow .ar{color:var(--rule);transition:color .25s,transform .25s;justify-self:end}.crow:hover .ar{color:var(--signal);transform:translate(5px)}.p-intro{display:flex;justify-content:space-between;align-items:end;gap:var(--space-8);flex-wrap:wrap;margin-bottom:var(--space-16)}.p-intro h2{font-weight:800;font-size:clamp(2rem,4.2vw,3.1rem);letter-spacing:-.022em;line-height:1.02;max-width:18ch}.p-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.p-grid--2{grid-template-columns:repeat(2,1fr)}.pc{background:var(--paper);padding:var(--space-12) var(--space-8) var(--space-8);transition:background .3s;position:relative;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.section--alt .pc,.pc:hover{background:var(--paper-2)}.section--alt .pc:hover{background:var(--paper)}.pc .code{font-family:var(--mono);font-size:.68rem;color:var(--signal-deep);letter-spacing:.08em}.pc .ix{font-family:var(--serif);font-style:italic;color:var(--ink-faint);font-size:1rem;float:right}.pc h3{font-weight:700;font-size:1.45rem;margin-top:var(--space-4);letter-spacing:-.015em}.pc .div{height:1px;background:var(--rule);margin-block:var(--space-6)}.pc ul{list-style:none;display:grid;gap:var(--space-3)}.pc li{font-size:.93rem;color:var(--ink-soft);padding-left:var(--space-4);position:relative}.pc li:before{content:"";position:absolute;left:0;top:.62em;width:4px;height:4px;background:var(--signal-deep)}.split{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-16);align-items:start}.pull{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.3;letter-spacing:-.005em;margin-top:var(--space-6)}.pull em{color:var(--navy)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.chip{font-size:.84rem;font-weight:500;padding:8px 14px;border:1px solid var(--rule);color:var(--ink-soft);transition:border-color .2s,color .2s}.chip:hover{border-color:var(--signal);color:var(--signal-deep)}.spec{border:1px solid var(--ink)}.spec .h{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;padding:var(--space-6)}.spec .h .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#b2b8bd}.spec .r{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-6);border-bottom:1px solid var(--rule)}.spec .r:last-child{border-bottom:0}.spec .r .k{color:var(--ink-soft);font-size:.94rem}.spec .r .v{font-weight:700}.spec .r .v.sig{color:var(--signal-deep)}.prose{max-width:65ch}.prose p{color:var(--ink-soft);font-size:1.05rem;line-height:1.75}.prose p+p{margin-top:var(--space-6)}.prose h3{font-weight:700;font-size:1.4rem;letter-spacing:-.012em;margin-top:var(--space-12)}.mlist{display:grid;gap:0}.mlist li{list-style:none;display:grid;grid-template-columns:64px 1fr;gap:var(--space-6);align-items:baseline;padding-block:var(--space-4);border-bottom:1px solid var(--rule-soft)}.mlist .mk{font-family:var(--mono);font-size:.72rem;color:var(--signal-deep);letter-spacing:.05em}.mlist .t{font-size:1rem;color:var(--ink);font-weight:500}.mlist .t span{display:block;color:var(--ink-soft);font-weight:400;font-size:.92rem;margin-top:3px}.cta-band{background:var(--navy);color:#dfe5eb}.cta-band .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-12);align-items:center;padding-block:var(--space-24)}.cta-band h2{font-weight:800;font-size:clamp(2rem,4.4vw,3.3rem);letter-spacing:-.025em;line-height:1.02}.cta-band h2 .it{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--signal)}.cta-band p{color:#b4bfca;margin-top:var(--space-4);font-size:1.02rem;max-width:44ch}.cta-band .btn-light{justify-self:start}.site-footer{background:var(--ink);color:#b1b8bf;padding-block:var(--space-24) var(--space-8)}.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-12)}.site-footer .mark .name{color:var(--paper)}.site-footer h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#7a8187;margin-bottom:var(--space-4)}.site-footer a{color:#c8cfd5;text-decoration:none}.site-footer a:hover{color:var(--signal)}.foot-list{display:grid;gap:var(--space-3);font-size:.94rem}.foot-bottom{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid oklch(.32 .015 250);display:flex;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#7a8187}@media(max-width:940px){.nav{display:none}.nav-toggle{display:inline-flex;margin-left:auto}.hero .wrap{grid-template-columns:1fr;gap:var(--space-12)}.figures .wrap{grid-template-columns:1fr 1fr}.fig:nth-child(odd){border-left:0}.fig:nth-child(n+3){border-top:1px solid var(--navy-line)}.lead,.split,.cta-band .wrap,.foot,.page-header .wrap{grid-template-columns:1fr;gap:var(--space-12)}.crow{grid-template-columns:44px 1fr}.crow p{grid-column:2}.crow .ar{display:none}.p-grid,.p-grid--2{grid-template-columns:1fr 1fr}}@media(max-width:600px){.p-grid,.p-grid--2,.figures .wrap{grid-template-columns:1fr}.fig{border-left:0;border-top:1px solid var(--navy-line)}.fig:first-child{border-top:0}.mlist li{grid-template-columns:1fr;gap:var(--space-2)}}@media(prefers-reduced-motion:reduce){.draw{animation:none;stroke-dashoffset:0}*{scroll-behavior:auto}}
