:root{color-scheme:dark;--space-3xs: 2px;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--space-3xl: 96px;--space-4xl: 144px;--text-xs: .8125rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5625rem;--text-2xl: 1.953rem;--text-3xl: 2.441rem;--text-display-s: clamp(2.25rem, 4vw + .5rem, 3.75rem);--text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);--text-section: clamp(2rem, 2.5vw + 1rem, 3.5rem);--text-title: clamp(1.25rem, .75vw + .875rem, 1.625rem);--text-lead: clamp(1.125rem, .35vw + 1rem, 1.375rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-settle: cubic-bezier(.22, 1, .36, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--dur-scene: .9s;--color-error: oklch(70% .15 27);--color-success: oklch(76% .11 150);--container: 1440px;--gutter: 64px;--gap-columns: 32px;--section-gap-s: 120px;--section-gap: 144px;--section-gap-l: 176px;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-sticky-nav: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--color-paper: oklch(13.2% .022 258);--color-paper-2: oklch(16.4% .024 258);--color-paper-3: oklch(20.5% .024 258);--color-ink: oklch(93.5% .012 85);--color-ink-2: oklch(85% .012 85);--color-muted: oklch(72% .02 255);--color-rule: oklch(27% .022 258);--color-rule-2: oklch(22% .022 258);--color-accent: oklch(82% .095 68);--color-accent-soft: oklch(82% .095 68 / .16);--color-accent-ink: oklch(20% .03 62);--color-focus: oklch(86% .08 68);--color-band: oklch(10.5% .02 258);--color-band-ink: oklch(93.5% .012 85);--color-slot: oklch(20.5% .024 258);--color-sky-top: oklch(11.5% .02 262);--color-sky-low: oklch(19.5% .036 250);--color-rain: oklch(86% .025 245);--metal-hi: oklch(44% .012 255);--metal-lo: oklch(25% .014 255);--edge-light: inset 0 1px 0 oklch(100% 0 0 / .07);--shadow-part: 0 1px 0 oklch(0% 0 0 / .55), 0 10px 18px -6px oklch(0% 0 0 / .6);--shadow-panel: 0 1px 0 oklch(0% 0 0 / .5), 0 24px 48px -16px oklch(4% .02 258 / .85), 0 64px 96px -32px oklch(4% .02 258 / .7);--dusk-glass: linear-gradient(to bottom, oklch(19% .022 258 / .65), oklch(14% .022 258 / .55));--dusk-glass-border: oklch(100% 0 0 / .08);--dusk-glass-hi: inset 0 1px 0 oklch(100% 0 0 / .14), inset 0 0 0 1px oklch(100% 0 0 / .03);--dusk-glass-hover-hi: inset 0 1px 0 oklch(100% 0 0 / .22), inset 0 0 0 1px var(--color-accent);--dusk-glass-blur: 20px;--font-display: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--font-body: "Figtree", ui-sans-serif, system-ui, sans-serif;--font-outlier: "JetBrains Mono", ui-monospace, monospace;--radius-card: 20px;--radius-part: 6px;--radius-pill: 999px;--rule-hair: 1px;--shadow-card: none;--tracking-display: -.035em;--nav-height: 76px;--land: clamp(72px, 11svh, 128px);--amber-82-a3-c095h68: oklch(82% .095 68 / .3);--night-31-c02h258: oklch(31% .02 258);--night-23-c022h258: oklch(23% .022 258);--night-18_5-c022h258: oklch(18.5% .022 258);--night-40-c02h258: oklch(40% .02 258);--black-a5: oklch(0% 0 0 / .5);--amber-68-c1h62: oklch(68% .1 62);--amber-86-c088h72: oklch(86% .088 72);--amber-78_5-c1h64: oklch(78.5% .1 64);--white-a5: oklch(100% 0 0 / .5);--amber-55-a35-c1h55: oklch(55% .1 55 / .35);--amber-78-a4-c12h62: oklch(78% .12 62 / .4);--amber-74-c1h64: oklch(74% .1 64);--night-31-a9-c02h258: oklch(31% .02 258 / .9);--white-a04: oklch(100% 0 0 / .04);--night-21-a9-c04h248: oklch(21% .04 248 / .9);--night-14-c024h258: oklch(14% .024 258);--night-12_5-c024h254: oklch(12.5% .024 254);--night-10-c018h258: oklch(10% .018 258);--night-24-a55-c04h246: oklch(24% .04 246 / .55);--night-80-a16-c03h245: oklch(80% .03 245 / .16);--amber-88-c1h72: oklch(88% .1 72);--amber-82-a9-c11h68: oklch(82% .11 68 / .9);--night-8-a6-c02h258: oklch(8% .02 258 / .6);--night-26-c022h258: oklch(26% .022 258);--night-18_6-c022h258: oklch(18.6% .022 258);--night-15_4-c022h258: oklch(15.4% .022 258);--night-38-c012h258: oklch(38% .012 258);--black-a6: oklch(0% 0 0 / .6);--amber-82-a12-c095h68: oklch(82% .095 68 / .12);--amber-82-a7-c095h68: oklch(82% .095 68 / .7);--night-11_5-c02h258: oklch(11.5% .02 258);--night-13-c02h258: oklch(13% .02 258);--black-a65: oklch(0% 0 0 / .65);--black-a35: oklch(0% 0 0 / .35);--white-a05: oklch(100% 0 0 / .05);--white-a035: oklch(100% 0 0 / .035);--white-a13: oklch(100% 0 0 / .13);--white-a26: oklch(100% 0 0 / .26);--night-6_5-c014h258: oklch(6.5% .014 258);--black-a95: oklch(0% 0 0 / .95);--white-a07: oklch(100% 0 0 / .07);--amber-70-c11h58: oklch(70% .11 58);--amber-82-a75-c11h68: oklch(82% .11 68 / .75);--amber-82-a35-c11h68: oklch(82% .11 68 / .35);--white-a1: oklch(100% 0 0 / .1);--black-a32: oklch(0% 0 0 / .32);--black-a4: oklch(0% 0 0 / .4);--black-a7: oklch(0% 0 0 / .7);--black-a45: oklch(0% 0 0 / .45);--amber-82-a55-c11h68: oklch(82% .11 68 / .55);--night-15-c02h258: oklch(15% .02 258);--amber-82-a4-c11h68: oklch(82% .11 68 / .4);--white-a28: oklch(100% 0 0 / .28);--night-60-c02h255: oklch(60% .02 255);--night-25-c022h258: oklch(25% .022 258);--night-19_5-c022h258: oklch(19.5% .022 258);--night-14_5-c02h258: oklch(14.5% .02 258);--night-16_5-c02h258: oklch(16.5% .02 258);--night-27-c02h258: oklch(27% .02 258);--white-a06: oklch(100% 0 0 / .06);--night-15_5-c022h258: oklch(15.5% .022 258);--night-9-c016h258: oklch(9% .016 258);--night-64-c02h255: oklch(64% .02 255);--black-a9: oklch(0% 0 0 / .9);--amber-82-a45-c11h68: oklch(82% .11 68 / .45);--white-a08: oklch(100% 0 0 / .08);--black-a18: oklch(0% 0 0 / .18);--night-52-c012h255: oklch(52% .012 255);--night-30-c014h255: oklch(30% .014 255);--white-a3: oklch(100% 0 0 / .3);--night-72-c02h255: oklch(72% .02 255);--night-21-a85-c04h248: oklch(21% .04 248 / .85);--night-78-a22-c03h245: oklch(78% .03 245 / .22);--night-8_5-c016h258: oklch(8.5% .016 258);--white-a2: oklch(100% 0 0 / .2);--white-a25: oklch(100% 0 0 / .25);--mask-ink: oklch(0% .01 258);--dose-p-err1: oklch(28% .09 68);--dose-p-err2: oklch(26% .085 65);--dose-p-err3: oklch(29% .095 70);--dose-p-err4: oklch(27% .09 66);--dose-p-err5: oklch(28% .092 68);--dose-accent: var(--color-accent);--dose-glint: oklch(100% 0 0 / .45);--dose-glint-hi: oklch(100% 0 0 / .85);--dose-specular: oklch(100% 0 0 / .12);--dose-shade: oklch(0% 0 0 / .45)}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip;margin:0;padding:0}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl);scroll-behavior:smooth;background:var(--color-paper)}body{background:var(--color-paper);color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-md);line-height:1.6;-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);font-feature-settings:"kern" 1}::-moz-selection{background:var(--amber-82-a3-c095h68);color:var(--color-ink)}::selection{background:var(--amber-82-a3-c095h68);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}:disabled,[disabled]{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:400;font-synthesis:none;letter-spacing:var(--tracking-display);line-height:1.04;color:var(--color-ink);overflow-wrap:break-word;min-width:0;text-wrap:balance}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);line-height:1.45;max-width:52ch;margin:0}p{margin:0;text-wrap:pretty}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);box-sizing:border-box}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 var(--space-lg);border:var(--rule-hair) solid var(--night-31-c02h258);border-radius:var(--radius-pill);background:linear-gradient(to bottom,var(--night-23-c022h258),var(--night-18_5-c022h258));box-shadow:var(--edge-light),var(--shadow-part);color:var(--color-ink);font:500 var(--text-md)/1 var(--font-body);white-space:nowrap;text-decoration:none;cursor:pointer;transition:border-color var(--dur-short) var(--ease-out),filter var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out)}.btn:hover{border-color:var(--night-40-c02h258);filter:brightness(1.12)}.btn:active{transform:translateY(1px);box-shadow:var(--edge-light),0 1px 0 var(--black-a5)}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.btn--primary{border-color:var(--amber-68-c1h62);background-color:var(--color-accent);background-image:linear-gradient(to bottom,var(--white-a2),transparent 60%);box-shadow:inset 0 1px 0 var(--white-a5),inset 0 -1px 0 var(--amber-55-a35-c1h55),0 1px 0 var(--black-a5),0 10px 24px -14px var(--amber-78-a4-c12h62);color:var(--color-accent-ink)}.btn--primary:hover{border-color:var(--amber-74-c1h64);filter:brightness(1.05)}.btn--quiet{background:transparent;border-color:var(--night-31-a9-c02h258);box-shadow:none;color:var(--color-ink-2)}.btn--quiet:hover{background:var(--white-a04);color:var(--color-ink);filter:none}.btn--quiet:active{box-shadow:none}.btn--small{min-height:40px;padding:0 var(--space-lg);font-size:var(--text-sm)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xl)}.nav{position:absolute;inset:0 0 auto;z-index:var(--z-sticky-nav)}.nav__bar{display:flex;align-items:center;gap:var(--space-xl);height:var(--nav-height)}.nav nav{margin-left:auto}.nav__links{display:flex;gap:var(--space-xl);margin:0;padding:0;list-style:none}.nav__links a{font-size:var(--text-sm);font-weight:500;color:var(--color-ink-2);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.4em;transition:color var(--dur-short) var(--ease-out),text-decoration-color var(--dur-short) var(--ease-out)}.nav__links a:hover{color:var(--color-ink);text-decoration-color:var(--color-accent)}.wordmark{font:500 1.375rem/1 var(--font-display);letter-spacing:var(--tracking-display);color:var(--color-ink);text-decoration:none;transition:color var(--dur-short) var(--ease-out)}.wordmark:hover{color:var(--color-accent)}.hero{position:relative;isolation:isolate;box-sizing:border-box;height:100svh;min-height:640px;max-height:1200px;display:grid;align-items:center;padding:var(--nav-height) 0 var(--land);overflow:hidden}.night{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 60% at 50% calc(100% - var(--land)),var(--night-21-a9-c04h248),transparent 70%),linear-gradient(to bottom,var(--color-sky-top),var(--night-14-c024h258) 50%,var(--color-sky-low))}.night__grain{position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--grain, none);background-size:160px 160px;opacity:.55;mix-blend-mode:soft-light;pointer-events:none}.night__land{position:absolute;inset:auto 0 0;height:var(--land);background:linear-gradient(to bottom,var(--night-12_5-c024h254),var(--night-10-c018h258) 60%)}.night__land:after{content:"";position:absolute;inset:auto 0 100%;height:56px;background:linear-gradient(to top,var(--night-24-a55-c04h246),transparent);pointer-events:none}.night__land:before{content:"";position:absolute;inset:-1px 0 auto;height:1px;background:linear-gradient(to right,transparent,var(--night-80-a16-c03h245) 18%,var(--night-80-a16-c03h245) 82%,transparent)}.night__terrain{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.has-terrain .night__land{background:none}.has-terrain .night__land:before,.has-terrain .night__land:after{display:none}.night__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1.6s var(--ease-in-out);pointer-events:none}.night__canvas.is-live{opacity:1}.hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);-moz-column-gap:var(--space-xl);column-gap:var(--space-xl);align-items:center}.hero__content{max-width:620px;display:grid;gap:var(--space-md);padding-bottom:var(--space-xl)}.hero h1{font-size:clamp(2.5rem,5.5vw,4.25rem);line-height:1.05;text-shadow:0 1px 24px var(--night-8-a6-c02h258);white-space:pre-line}.hero .lead{max-width:44ch;color:var(--color-ink-2);font-size:var(--text-lead)}.hero .actions{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-md)}.hero__visual{margin:0;--W: 76px;--G: calc(var(--W) * .08);--D: calc(var(--W) * 1.25);--H: calc(var(--W) * .44);--orgW: calc(5 * var(--W) + 4 * var(--G));--tx: 32%;--ty: 50%;--lw: 270px;--ls: .92;--tilt: 52deg;--turn: 19deg;position:relative;min-height:520px;width:100%;display:flex;align-items:center;justify-content:center}.scene{position:absolute;top:0;right:-20vw;bottom:0;left:-20vw;perspective:1050px;perspective-origin:calc(20vw + var(--tx)) 14%;pointer-events:none}.org{position:absolute;left:calc(20vw + var(--tx) - var(--orgW) / 2);top:calc(var(--ty) - var(--D) / 2);width:var(--orgW);height:var(--D);transform-style:preserve-3d;transform:rotateX(var(--tilt)) rotate(var(--turn))}.org__shade{position:absolute;top:6%;right:-4%;bottom:-24%;left:4%;border-radius:28px;background:var(--dose-shade);filter:blur(20px);transform:translate(2.5%,8%) translateZ(-2px)}.box{position:absolute;top:0;left:calc(var(--i) * (var(--W) + var(--G)));width:var(--W);height:var(--D);transform-style:preserve-3d}.box>i{position:absolute;display:block}.box__pool{left:50%;top:40%;width:100%;height:100%;border-radius:calc(var(--W) * .2);transform:translateZ(-1px) rotate(calc(-.5 * var(--turn)));background:radial-gradient(circle,var(--t) 0%,transparent 70%);filter:blur(12px);opacity:.85}.box__floor{top:0;right:0;bottom:0;left:0;border-radius:calc(var(--W) * .1);background:var(--t);box-shadow:inset 0 0 calc(var(--W) * .14) calc(var(--W) * .02) var(--dose-shade);border:var(--rule-hair) solid var(--dusk-glass-border)}.box__wall{background:var(--t);opacity:.88}.box__wall--front{left:0;right:0;bottom:0;height:var(--H);transform-origin:50% 100%;transform:rotateX(-90deg);border-radius:2px 2px calc(var(--W) * .06) calc(var(--W) * .06);box-shadow:inset 0 1px 0 var(--dose-glint),inset 0 -3px 4px -2px var(--dose-shade)}.box__wall--back{left:0;right:0;top:0;height:var(--H);transform-origin:50% 0;transform:rotateX(90deg);opacity:.7}.box__wall--l{left:0;top:0;width:var(--H);height:100%;transform-origin:0 50%;transform:rotateY(-90deg);opacity:.9}.box__wall--r{right:0;top:0;width:var(--H);height:100%;transform-origin:100% 50%;transform:rotateY(90deg);opacity:.75}.lid{position:absolute;inset:calc(var(--W) * -.035);margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;pointer-events:auto;border-radius:calc(var(--W) * .12);transform-style:preserve-3d;transform-origin:50% 0;transform:translateZ(calc(var(--H) + 1px)) rotateX(var(--open, 0deg));transition:transform .7s var(--ease-out)}.lid>span{position:absolute;display:block}.lid>.lid__top,.lid>.lid__under{top:0;right:0;bottom:0;left:0;border-radius:inherit;backface-visibility:hidden}.lid>.lid__top{display:grid;place-items:center;background:linear-gradient(180deg,var(--white-a13),transparent 28%),var(--t);border:var(--rule-hair) solid var(--dusk-glass-border);box-shadow:inset 0 1px 0 var(--dose-glint),inset 0 -2px 1px -1px var(--dose-glint-hi)}.lid__top:after{content:"";position:absolute;left:12%;right:12%;bottom:4px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--dose-glint-hi) 30%,var(--dose-glint-hi) 70%,transparent);filter:blur(.5px)}.lid__top b:before{content:attr(data-l)}.lid__top b{font:700 calc(var(--W) * .4)/1 var(--font-display);color:var(--dose-accent);text-shadow:0 1px 0 var(--dose-glint),0 0 12px var(--dose-accent),0 -1px 0 var(--dose-shade);transform:translateY(-4%)}.lid>.lid__under{display:grid;place-items:center;transform:rotateX(180deg);background:var(--t);box-shadow:inset 0 0 0 1px var(--dusk-glass-border)}.lid__edge{left:3px;right:3px;bottom:0;height:calc(var(--W) * .06);transform-origin:50% 100%;transform:rotateX(90deg);border-radius:0 0 3px 3px;background:var(--t);box-shadow:inset 0 1px 0 var(--dose-glint)}.lid__tab{left:34%;right:34%;bottom:calc(var(--W) * -.085);height:calc(var(--W) * .1);border-radius:0 0 8px 8px;background:var(--t);box-shadow:inset 0 -2px 1px -1px var(--dose-glint);backface-visibility:hidden}.lid:hover{--open: 12deg}.box.is-open{z-index:20}.box.is-open .lid{--open: 122deg}.label{position:relative;width:var(--lw);filter:drop-shadow(0 4px 12px var(--dose-shade)) drop-shadow(0 16px 32px var(--dose-shade))}.box>.label{position:absolute;left:calc(50% - var(--lw) / 2);bottom:26%;transform-origin:50% 100%;transform:translateZ(calc(var(--H) + 90px)) rotate(calc(-1 * var(--turn))) rotateX(calc(-1 * var(--tilt))) scale(var(--ls));pointer-events:none;transition:transform .6s var(--ease-out),opacity .4s var(--ease-out);animation:labelPop .5s var(--ease-out)}@keyframes labelPop{0%{opacity:0;transform:translateZ(1px) rotate(calc(-1 * var(--turn))) rotateX(calc(-1 * var(--tilt))) scale(var(--ls)) translateY(30px)}to{opacity:1;transform:translateZ(calc(var(--H) + 90px)) rotate(calc(-1 * var(--turn))) rotateX(calc(-1 * var(--tilt))) scale(var(--ls)) translateY(0)}}.label__main{display:grid;gap:var(--space-2xs);padding:var(--space-md) var(--space-lg) var(--space-md);border-radius:10px;background:var(--dusk-glass);border:var(--rule-hair) solid var(--dusk-glass-border);-webkit-backdrop-filter:blur(var(--dusk-glass-blur)) saturate(1.35);backdrop-filter:blur(var(--dusk-glass-blur)) saturate(1.35);box-shadow:var(--dusk-glass-hi);color:var(--color-ink);box-sizing:border-box;overflow:hidden;max-width:100%}.label__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);padding-bottom:var(--space-3xs);margin-bottom:var(--space-3xs);border-bottom:var(--rule-hair) solid var(--night-27-c02h258);font-size:var(--text-xs);font-weight:500;color:var(--color-muted)}.label__metric{font-family:var(--font-outlier);font-size:.6875rem;color:var(--dose-accent);white-space:nowrap}.label__what{font-size:1.0625rem;font-weight:600;line-height:1.25;color:var(--color-ink);margin:0;word-break:break-word}.label__desc{font-size:var(--text-xs);line-height:1.35;color:var(--color-ink-2);margin:var(--space-3xs) 0 0;word-break:break-word}.label__stack{margin:var(--space-3xs) 0 0}.label__stack code{font-family:var(--font-outlier);font-size:.6875rem;color:var(--color-muted)}.label__actions{display:flex;align-items:center;justify-content:flex-start;margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:var(--rule-hair) solid var(--night-27-c02h258)}.label__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-sm);border-radius:6px;background:var(--night-11_5-c02h258);border:var(--rule-hair) solid var(--night-27-c02h258);color:var(--color-ink);font-family:var(--font-outlier);font-size:var(--text-xs);line-height:1.2;text-decoration:none;white-space:nowrap;pointer-events:auto;cursor:pointer;transition:background var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.label__btn:hover{background:var(--night-18_5-c022h258);border-color:var(--dose-accent);color:var(--dose-accent)}.discipline-tag{grid-area:level;align-self:center;font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-accent);white-space:nowrap}.led{width:6px;height:6px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 2px var(--amber-82-a12-c095h68),0 0 8px var(--amber-82-a7-c095h68)}.mix{padding-top:var(--section-gap-l)}.disciplines-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));-moz-column-gap:var(--gap-columns);column-gap:var(--gap-columns);row-gap:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule);padding-top:var(--space-xl)}.discipline-card{padding:var(--space-xl);border:var(--rule-hair) solid var(--dusk-glass-border);border-radius:var(--radius-card);background:var(--dusk-glass);-webkit-backdrop-filter:blur(var(--dusk-glass-blur)) saturate(1.35);backdrop-filter:blur(var(--dusk-glass-blur)) saturate(1.35);box-shadow:var(--dusk-glass-hi);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-lg);color:var(--color-ink);transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.discipline-card:hover{border-color:var(--color-accent);box-shadow:var(--dusk-glass-hover-hi);transform:translateY(-2px)}.discipline-card__body h3{font:500 var(--text-md)/1.2 var(--font-display);color:var(--color-ink)}.discipline-card__body p{font:400 var(--text-sm)/1.5 var(--font-body);color:var(--color-muted);margin-top:var(--space-xs)}.discipline-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-top:var(--space-sm);border-top:var(--rule-hair) solid var(--night-27-c02h258)}.far{padding-top:var(--section-gap-l)}.split-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gap-columns);column-gap:var(--gap-columns);align-items:end;margin-bottom:var(--space-2xl)}.split-head h2{grid-column:1 / 7}.split-head .lead{grid-column:8 / -1}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:var(--gap-columns);column-gap:var(--gap-columns);row-gap:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule);padding-top:var(--space-xl)}.project-card{padding:var(--space-xl);border:var(--rule-hair) solid var(--dusk-glass-border);border-radius:var(--radius-card);background:var(--dusk-glass);-webkit-backdrop-filter:blur(var(--dusk-glass-blur)) saturate(1.35);backdrop-filter:blur(var(--dusk-glass-blur)) saturate(1.35);box-shadow:var(--dusk-glass-hi);display:grid;gap:var(--space-md);transition:border-color var(--dur-short) var(--ease-out),filter var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.project-card:hover{border-color:var(--color-accent);box-shadow:var(--dusk-glass-hover-hi);filter:brightness(1.06);transform:translateY(-2px)}.project-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.project-card__meta{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-accent)}.project-card__badge{font-family:var(--font-outlier);font-size:.6875rem;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--night-9-c016h258);color:var(--color-ink-2);border:var(--rule-hair) solid var(--night-27-c02h258)}.project-card h3{font-size:var(--text-title);color:var(--color-ink)}.project-card p{color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.project-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-top:var(--space-xs);border-top:var(--rule-hair) solid var(--night-27-c02h258)}.tag-chip{display:inline-flex;align-items:center;font-family:var(--font-outlier);font-size:.6875rem;color:var(--color-ink-2);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--night-11_5-c02h258);border:var(--rule-hair) solid var(--night-27-c02h258);white-space:nowrap}.project-card__actions{display:flex;align-items:center;gap:var(--space-md);padding-top:var(--space-xs)}.project-card__link{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-accent);transition:color var(--dur-short) var(--ease-out)}.project-card__link:hover{color:var(--color-accent)}.fade{padding-top:var(--section-gap-l)}.night-chart{margin:0}.night-chart__plot{position:relative;height:clamp(200px,22vw,320px);border-bottom:var(--rule-hair) solid var(--color-rule)}.night-chart__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.night-chart__line{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.night-chart__line--rain{stroke:var(--color-ink)}.night-chart__line--wind{stroke:var(--night-72-c02h255)}.night-chart__line--train{stroke:var(--color-accent);filter:drop-shadow(0 0 4px var(--amber-82-a45-c11h68))}.night-chart__mark{position:absolute;top:0;bottom:0;left:calc(var(--x) * 100%);width:1px;background:var(--color-rule);z-index:2}.night-chart__stages{display:grid;grid-template-columns:58fr 22fr 20fr;margin:var(--space-lg) 0 0;padding:0;list-style:none}.night-chart__stages li{display:grid;gap:var(--space-xs);padding-right:var(--space-lg)}.night-chart__stages li+li{padding-left:var(--space-md)}.night-chart__when{font:500 var(--text-md)/1.3 var(--font-body);color:var(--color-ink)}.night-chart__levels{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-lg);font-size:var(--text-sm)}.night-chart__levels span{display:inline-flex;align-items:center;gap:var(--space-xs)}.night-chart__levels b{font-weight:500;color:var(--color-ink-2);font-variant-numeric:tabular-nums}.night-chart__stages li:first-child .night-chart__levels span:before{content:"";width:14px;height:2px;border-radius:1px;background:var(--color-ink)}.night-chart__stages li:first-child .night-chart__levels span:nth-child(2):before{background:var(--night-72-c02h255)}.night-chart__stages li:first-child .night-chart__levels span:nth-child(3):before{background:var(--color-accent)}.close{position:relative;margin-top:var(--section-gap-l);padding-block:var(--section-gap-s) var(--section-gap-l);background:radial-gradient(110% 70% at 50% 100%,var(--night-21-a85-c04h248),transparent 70%),linear-gradient(to bottom,var(--color-paper),var(--color-sky-low))}.close__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gap-columns);column-gap:var(--gap-columns);align-items:center}.close__text{grid-column:1 / span 7}.close__text .lead{margin-top:var(--space-lg);max-width:48ch;color:var(--color-ink-2)}.close .contact-stage{grid-column:8 / -1;justify-self:end;width:100%;max-width:420px;position:relative;display:flex;flex-direction:column;align-items:center}.contact-stage__halo{position:absolute;top:6%;left:50%;transform:translate(-50%);width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,var(--amber-82-a12-c095h68) 0%,transparent 70%);filter:blur(28px);pointer-events:none;z-index:0}.contact-stage__figure{position:relative;z-index:1;width:100%;max-width:360px;aspect-ratio:1 / 1.15;margin:0;padding-top:var(--space-xs);box-sizing:border-box;display:flex;align-items:flex-end;justify-content:center;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%)}.contact-stage__photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;filter:contrast(1.04)}.contact-card{position:relative;z-index:2;margin-top:-36px;width:100%;box-sizing:border-box;display:grid;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:var(--rule-hair) solid var(--dusk-glass-border);border-radius:var(--radius-card);background:var(--dusk-glass);-webkit-backdrop-filter:blur(var(--dusk-glass-blur)) saturate(1.35);backdrop-filter:blur(var(--dusk-glass-blur)) saturate(1.35);box-shadow:var(--dusk-glass-hi);color:var(--color-ink)}.contact-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-image:var(--grain, none);background-size:160px 160px;opacity:.35;mix-blend-mode:soft-light;pointer-events:none}.contact-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);border-bottom:var(--rule-hair) solid var(--night-27-c02h258);padding-bottom:var(--space-xs)}.contact-card__name{font:500 1.1875rem/1.2 var(--font-display);letter-spacing:var(--tracking-display);color:var(--color-ink)}.contact-card__sub{font:400 var(--text-xs)/1.2 var(--font-body);color:var(--color-muted);margin-top:var(--space-3xs)}.contact-card__status{display:inline-flex;align-items:center;gap:var(--space-xs);font:500 var(--text-xs)/1 var(--font-body);color:var(--color-accent);font-variant-numeric:tabular-nums;white-space:nowrap}.contact-card__list{display:grid;gap:var(--space-xs)}.contact-card__item{display:grid;gap:var(--space-3xs);padding:var(--space-xs);border-radius:8px;background:var(--night-11_5-c02h258);border:var(--rule-hair) solid var(--night-27-c02h258);color:var(--color-ink)}.contact-card__label{font:500 var(--text-xs)/1.2 var(--font-body);color:var(--color-muted)}.contact-card__val{font:400 var(--text-sm)/1.3 var(--font-body);color:var(--color-ink);word-break:break-all}.contact-card__val--accent{color:var(--color-accent);font-family:var(--font-outlier)}.footer{padding-block:var(--space-2xl) var(--space-xl);background:linear-gradient(to bottom,var(--color-band),var(--night-8_5-c016h258));border-top:var(--rule-hair) solid var(--night-27-c02h258)}.footer__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gap-columns);column-gap:var(--gap-columns);row-gap:var(--space-xl);align-items:center}.footer__brand{grid-column:1 / span 5;display:grid;gap:var(--space-3xs)}.footer__name{font:500 var(--text-md)/1.2 var(--font-display);color:var(--color-ink)}.footer__tagline{font:400 var(--text-xs)/1.3 var(--font-body);color:var(--color-muted)}.footer__links{grid-column:6 / -1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-lg)}.footer__links a{font-size:var(--text-sm);font-weight:500;color:var(--color-ink-2);text-decoration:none;transition:color var(--dur-short) var(--ease-out)}.footer__links a:hover{color:var(--color-accent)}.footer__legal{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-2);font-size:var(--text-xs);color:var(--night-64-c02h255)}.footer__backtop{color:var(--color-muted);text-decoration:none;transition:color var(--dur-short) var(--ease-out)}.footer__backtop:hover{color:var(--color-accent)}@media(max-width:60rem){.nav__links{display:none}.hero{height:auto;min-height:100svh;max-height:none;align-items:center;padding-top:calc(var(--nav-height) + var(--space-lg));padding-bottom:calc(var(--land) + var(--space-lg))}.hero__grid{grid-template-columns:minmax(0,1fr);row-gap:var(--space-xl)}.hero__content{max-width:none}.hero__visual{--W: 56px;--lw: 240px;min-height:480px;margin-top:var(--space-xl)}.close__grid,.footer__grid{grid-template-columns:minmax(0,1fr);row-gap:var(--space-xl)}.close__text,.close .contact-stage,.footer__brand,.footer__links,.footer__legal{grid-column:1}.close .contact-stage{justify-self:center}.disciplines-grid{grid-template-columns:1fr}.split-head{grid-template-columns:minmax(0,1fr);row-gap:var(--space-md)}.split-head h2,.split-head .lead{grid-column:1}.footer__links{justify-content:flex-start}.projects-grid{grid-template-columns:1fr}}@media(max-width:40rem){:root{--nav-height: 64px;--land: 64px;--gutter: 20px}.hero{height:auto;min-height:100svh;padding-top:calc(var(--nav-height) + var(--space-sm));padding-bottom:calc(var(--land) + var(--space-sm));align-items:center}.hero h1{font-size:2.625rem}.hero .lead{margin-top:var(--space-sm);font-size:1.0625rem}.hero .actions{margin-top:var(--space-md)}.hero .btn--quiet{display:none}.hero__visual{--W: 38px;--lw: 210px;min-height:440px;margin-top:var(--space-2xl)}.nav .btn--small{min-height:36px}.night-chart__stages{grid-template-columns:minmax(0,1fr);row-gap:var(--space-lg)}.night-chart__stages li+li{padding-left:0}.night-chart__mark{display:none}}@media(prefers-reduced-motion:reduce){*:not(.keep-motion),*:not(.keep-motion):before,*:not(.keep-motion):after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
