:root{--lightningcss-light: ;--lightningcss-dark:initial;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-display:clamp(2.05rem, 4.4vw + .7rem, 4.6rem);--text-section:clamp(1.6rem, 2vw + .95rem, 2.75rem);--text-title:clamp(1.05rem, .45vw + .95rem, 1.3rem);--text-lead:clamp(1.0625rem, .4vw + .98rem, 1.3rem);--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-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--dur-reveal:.7s;--container:1240px;--gutter:48px;--gap-columns:32px;--section-gap-s:96px;--section-gap:128px;--section-gap-l:160px;--rail-h:64px;--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-hot:#ff5b86;--color-orange:#ff944a;--color-sun:#fedd3c;--color-lime:#b4f24e;--color-cyan:#44e7ef;--color-curtain:#fada41;--color-curtain-ink:#080811;--color-curtain-ink-2:#252435;--pleat-shade:#280d041a;--pleat-light:#ffffff29;--color-stage:#040408;--color-stage-2:#0b0b13;--color-stage-3:#161620;--color-stage-ink:#f3f2ec;--color-stage-ink-2:#d3d1c8;--color-stage-muted:#a3a3af;--color-stage-rule:#20202b;--color-stage-rule-2:#41414e;--color-shadow:#000001bf;--color-error:#ff7e76;--color-success:#66da85;--actor-hood:#29283f;--actor-hood-front:#33324c;--actor-hood-dark:#141425;--actor-hood-light:#555473;--actor-pants:#171d26;--actor-pants-dark:#080f17;--actor-skin:#cba17d;--actor-skin-dark:#9a7050;--actor-shoe:#edebe4;--actor-shoe-dark:#a9aab4;--actor-void:#010102;--prop-case:#11101a;--prop-case-edge:#4b4b5b;--prop-metal:#919199;--prop-laptop:#bdbdc4;--prop-laptop-dark:#686870;--font-display:"Unbounded", "Arial Black", ui-sans-serif, system-ui, sans-serif;--font-body:"Onest", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-outlier:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--display-weight:600;--tracking-display:-.025em;--radius-card:18px;--radius-field:12px;--radius-pill:999px;--rule-hair:1px;--shadow-card:0 28px 48px -28px var(--color-shadow)}@supports (color:lab(0% 0 0)){:root{--color-hot:lab(62.4813% 74.7887 14.058);--color-orange:lab(72.273% 44.2156 67.5678);--color-sun:lab(89.0628% .290006 77.1158);--color-lime:lab(89.1832% -37.8688 68.7982);--color-cyan:lab(83.8599% -40.7321 -16.7445);--color-curtain:lab(87.8912% .151604 74.3113);--color-curtain-ink:lab(2.38061% 1.16785 -3.99346);--color-curtain-ink-2:lab(15.0121% 3.55068 -10.6081);--pleat-shade:lab(6.86607% 13.9792 8.96134/.1);--pleat-light:lab(100% 0 0/.16);--color-stage:lab(1.16793% .402376 -1.42128);--color-stage-2:lab(3.27369% 1.05153 -3.73642);--color-stage-3:lab(7.58692% 2.26813 -7.08331);--color-stage-ink:lab(95.4098% -.248462 3.04271);--color-stage-ink-2:lab(83.8336% -.354201 4.57684);--color-stage-muted:lab(67.3804% 1.54582 -5.81441);--color-stage-rule:lab(12.8058% 2.21286 -7.12968);--color-stage-rule-2:lab(27.8748% 2.31503 -7.89499);--color-shadow:lab(.0445862% .175662 -.480586/.75);--color-error:lab(68.1723% 53.3057 30.6271);--color-success:lab(78.8297% -48.1495 31.5686);--actor-hood:lab(17.2097% 5.00338 -14.0599);--actor-hood-front:lab(21.7972% 5.61102 -15.8226);--actor-hood-dark:lab(6.85784% 4.45471 -12.1157);--actor-hood-light:lab(36.849% 5.88767 -17.6905);--actor-pants:lab(10.6139% -1.14119 -7.12959);--actor-pants-dark:lab(4.00825% -.571162 -5.48219);--actor-skin:lab(69.6705% 12.472 25.0165);--actor-skin-dark:lab(51.0305% 14.1717 24.5208);--actor-shoe:lab(93.1019% -.304282 3.80774);--actor-shoe-dark:lab(69.7096% 1.44222 -5.45516);--actor-void:lab(.297575% .145979 -.49918);--prop-case:lab(5.11417% 1.80368 -6.3144);--prop-case-edge:lab(32.4861% 2.64063 -8.96692);--prop-metal:lab(60.4561% 1.14784 -4.36773);--prop-laptop:lab(76.7143% .942946 -3.6481);--prop-laptop-dark:lab(44.2151% 1.16184 -4.35938)}}:root,.on-stage{--color-paper:var(--color-stage);--color-paper-2:var(--color-stage-2);--color-paper-3:var(--color-stage-3);--color-ink:var(--color-stage-ink);--color-ink-2:var(--color-stage-ink-2);--color-muted:var(--color-stage-muted);--color-rule:var(--color-stage-rule);--color-rule-2:var(--color-stage-rule-2);--color-accent:var(--color-lime);--color-accent-ink:var(--color-curtain-ink);--color-focus:var(--color-lime);--btn-bg:var(--color-lime);--btn-bg-hover:var(--color-sun);--btn-fg:var(--color-curtain-ink);--btn-inv-bg:var(--color-stage-ink);--btn-inv-fg:var(--color-stage)}.on-curtain{--color-paper:var(--color-curtain);--color-paper-2:var(--color-sun);--color-paper-3:var(--color-sun);--color-ink:var(--color-curtain-ink);--color-ink-2:var(--color-curtain-ink-2);--color-muted:var(--color-curtain-ink-2);--color-rule:var(--color-curtain-ink);--color-rule-2:var(--color-curtain-ink);--color-accent:var(--color-curtain-ink);--color-accent-ink:var(--color-stage-ink);--color-focus:var(--color-curtain-ink);--btn-bg:var(--color-curtain-ink);--btn-bg-hover:var(--color-stage-3);--btn-fg:var(--color-stage-ink);--btn-inv-bg:var(--color-curtain-ink);--btn-inv-fg:var(--color-stage-ink)}@media (max-width:60rem){:root{--gutter:24px;--section-gap-s:72px;--section-gap:96px;--section-gap-l:112px}}@media (max-width:40rem){:root{--gutter:18px;--section-gap-s:56px;--section-gap:76px;--section-gap-l:92px;--gap-columns:16px;--rail-h:58px}}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:color-mix(in oklab, var(--color-accent) 22%, transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}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);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}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);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg, var(--color-paper-2,var(--color-paper)), var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (max-width:60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (max-width:40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]:has(>img){isolation:isolate;background:var(--color-ink-2);outline:1px solid color-mix(in oklab, var(--color-ink) 8%, transparent);outline-offset:-1px}[data-slot]>img{z-index:0;filter:grayscale()contrast(1.08);mix-blend-mode:multiply}[data-slot]:has(>img):before{content:"";z-index:1;background:var(--color-paper);mix-blend-mode:lighten;pointer-events:none;position:absolute;inset:0}html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--rail-h) + var(--space-md))}html.intro-lock{overflow-y:hidden}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{line-height:1.6}h1{font-size:var(--text-display);max-width:none;line-height:1.02}h2{font-size:var(--text-section);max-width:22ch;line-height:1.1}h3{font-size:var(--text-title);letter-spacing:-.015em;line-height:1.25}ul,ol,dl,dd{margin:0;padding:0}ul,ol{list-style:none}.lead{color:var(--color-ink-2)}.skip-link{left:var(--space-md);top:var(--space-md);z-index:var(--z-tooltip);padding:var(--space-xs) var(--space-md);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-pill);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.btn{border-radius:var(--radius-pill);min-height:50px;font-weight:600;font-size:var(--text-md);cursor:pointer;transition:transform var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);border:1.5px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 24px;line-height:1;text-decoration:none;display:inline-flex}.btn__icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform var(--dur-short) var(--ease-out);flex:none}.btn--primary{background:var(--btn-bg);color:var(--btn-fg)}.btn--primary:hover{background:var(--btn-bg-hover);box-shadow:0 14px 26px -14px var(--color-shadow);transform:translateY(-3px)}.btn--secondary{border-color:var(--color-rule-2);color:var(--color-ink);background:0 0}.btn--secondary:hover{background:var(--btn-inv-bg);color:var(--btn-inv-fg);border-color:var(--btn-inv-bg);transform:translateY(-3px)}.btn:hover .btn__icon{transform:translate(3px,-3px)}.btn:hover .btn__icon--down{transform:translateY(3px)}.btn:active{box-shadow:none;transition-duration:var(--dur-micro);transform:translateY(0)scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.tags{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tags li{border:1px solid var(--color-rule-2);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-ink-2);transition:transform var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);padding:6px 13px}.tags li:hover{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink);transform:translateY(-2px)}.link{text-decoration:underline;-webkit-text-decoration-color:var(--color-rule-2);text-decoration-color:var(--color-rule-2);text-underline-offset:.3em;transition:text-decoration-color var(--dur-short) var(--ease-out);align-items:center;gap:6px;font-weight:600;text-decoration-thickness:2px;display:inline-flex}.link svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform var(--dur-short) var(--ease-out)}.link:hover{-webkit-text-decoration-color:var(--signal,var(--color-accent));text-decoration-color:var(--signal,var(--color-accent))}.link:hover svg{transform:translate(3px,-3px)}.rail{z-index:var(--z-sticky-nav);height:var(--rail-h);background:var(--color-paper);border-bottom:var(--rule-hair) solid var(--color-rule);position:fixed;inset:0 0 auto}.rail__inner{justify-content:space-between;align-items:center;gap:var(--space-lg);height:100%;transition:opacity var(--dur-long) var(--ease-out);display:flex}.intro-lock .rail__inner{opacity:0;pointer-events:none}.rail__mark{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-sm);letter-spacing:-.02em;white-space:nowrap;transition:color var(--dur-short) var(--ease-out);text-decoration:none}.rail__mark:hover{color:var(--color-accent)}.rail__nav{gap:clamp(16px,2.2vw,32px);display:flex}.rail__nav a{color:var(--color-ink-2);font-size:var(--text-sm);transition:color var(--dur-short) var(--ease-out);padding:8px 0;font-weight:500;text-decoration:none;position:relative}.rail__nav a:after{content:"";background:var(--color-accent);transform-origin:100%;height:2px;transition:transform var(--dur-short) var(--ease-out);position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.rail__nav a:hover,.rail__nav a[aria-current=true]{color:var(--color-ink)}.rail__nav a:hover:after,.rail__nav a[aria-current=true]:after{transform-origin:0;transform:scaleX(1)}.rail__tools{align-items:center;gap:var(--space-sm);display:flex}.lang{border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-pill);padding:3px;display:flex}.lang button{border-radius:var(--radius-pill);min-width:42px;color:var(--color-muted);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);background:0 0;border:0;padding:6px 10px;font-weight:600;line-height:1.2}.lang button:hover{color:var(--color-ink);background:var(--color-paper-3)}.lang button:active{background:var(--color-rule-2)}.lang button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.rail__menu{border:var(--rule-hair) solid var(--color-rule-2);cursor:pointer;width:44px;height:44px;transition:background-color var(--dur-short) var(--ease-out);background:0 0;border-radius:50%;display:none;position:relative}.rail__menu:hover{background:var(--color-paper-3)}.rail__menu span{background:var(--color-ink);height:2px;transition:transform var(--dur-short) var(--ease-out);border-radius:2px;margin-top:-1px;position:absolute;top:50%;left:13px;right:13px}.rail__menu span:first-child{transform:translateY(-4px)}.rail__menu span:last-child{transform:translateY(4px)}.rail.is-open .rail__menu span:first-child{transform:rotate(45deg)}.rail.is-open .rail__menu span:last-child{transform:rotate(-45deg)}@media (max-width:56rem){.rail__menu{display:block}.rail__nav{padding:var(--space-xs) var(--gutter) var(--space-lg);background:var(--color-paper-2);border-bottom:var(--rule-hair) solid var(--color-rule);opacity:0;visibility:hidden;transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out), visibility 0s linear var(--dur-short);flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;transform:translateY(-10px)}.rail.is-open .rail__nav{opacity:1;visibility:visible;transition-delay:0s;transform:none}.rail__nav a{font-size:var(--text-md);border-bottom:var(--rule-hair) solid var(--color-rule);padding:14px 0}.rail__nav a:after{display:none}}.on-curtain{color:var(--color-ink)}.curtain{z-index:0;background:var(--color-curtain);will-change:transform;position:absolute;inset:0;overflow:hidden}.intro .hero>.curtain{transform:translateY(-101%)}.curtain__field{position:absolute;inset:0}.blob{aspect-ratio:1;background:radial-gradient(closest-side, var(--c) 0%, color-mix(in oklab, var(--c) 60%, transparent) 46%, transparent 100%);will-change:transform;width:64vmax;animation:var(--drift) var(--t) ease-in-out infinite alternate;border-radius:50%;display:block;position:absolute}.blob--hot{--c:var(--color-hot);--drift:drift-a;--t:13s;top:-34%;left:-16%}.blob--cyan{--c:var(--color-cyan);--drift:drift-b;--t:17s;top:-30%;right:-20%}.blob--lime{--c:var(--color-lime);--drift:drift-c;--t:15s;bottom:-56%;left:18%}.blob--orange{--c:var(--color-orange);--drift:drift-d;--t:19s;bottom:-46%;right:-6%}@keyframes drift-a{0%{transform:translate(0,0)scale(1)}to{transform:translate(20vw,16vh)scale(1.3)}}@keyframes drift-b{0%{transform:translate(0,0)scale(1.1)}to{transform:translate(-24vw,22vh)scale(.85)}}@keyframes drift-c{0%{transform:translate(-8vw)scale(.9)}to{transform:translate(16vw,-20vh)scale(1.25)}}@keyframes drift-d{0%{transform:translate(0,0)scale(1)}to{transform:translate(-26vw,-14vh)scale(1.2)}}.curtain__pleats{background:repeating-linear-gradient(90deg, transparent 0 34px, var(--pleat-shade) 58px, transparent 84px, var(--pleat-light) 104px, transparent 128px);transform-origin:top;animation:6.5s ease-in-out infinite alternate sway;position:absolute;inset:0 -40px}@keyframes sway{0%{transform:skew(-.7deg)translate(-6px)}to{transform:skew(.7deg)translate(8px)}}.curtain__hem{background:var(--color-curtain-ink);height:14px;position:absolute;bottom:-2px;left:0;right:0}.is-idle .blob,.is-idle .curtain__pleats{animation-play-state:paused}.hero{isolation:isolate;min-height:100svh;padding-top:var(--rail-h);background:var(--color-stage);align-items:center;display:grid;position:relative;overflow:clip}.hero__inner{z-index:2;padding-block:var(--space-2xl) clamp(120px, 20vh, 200px);position:relative}.hero__prompt{margin-bottom:var(--space-lg);background:var(--color-ink);color:var(--color-stage-ink);font-family:var(--font-outlier);font-size:var(--text-sm);overflow-wrap:anywhere;border-radius:9px;max-width:100%;padding:7px 13px;font-weight:500;line-height:1.3;display:inline-block}.hero h1{max-width:13ch}.hero .lead{margin-top:var(--space-lg);max-width:34ch;font-weight:500}.hero__actions{gap:var(--space-sm);margin-top:var(--space-xl);transition:opacity var(--dur-long) var(--ease-out), transform var(--dur-long) var(--ease-out);flex-wrap:wrap;display:flex}.stage{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}html:not(.js) .stage{display:none}.intro .hero [data-type]:not(.is-typing,.is-typed){visibility:hidden}.intro .hero__actions{opacity:0;pointer-events:none;transform:translateY(14px)}.ch{opacity:0}.ch.on{opacity:1}.ch.caret{position:relative}.ch.caret:after{content:"";background:currentColor;width:.5em;position:absolute;top:.12em;bottom:.12em;left:calc(100% + .06em)}.js .hero .lead:not(.is-typing):after{content:"";vertical-align:-.14em;background:currentColor;width:.55em;height:1em;margin-left:5px;animation:1.05s step-end infinite blink;display:inline-block}.intro .hero .lead:not(.is-typed):after{display:none}@keyframes blink{50%{opacity:0}}.skip{left:var(--gutter);bottom:var(--space-lg);z-index:5;border:var(--rule-hair) solid var(--color-stage-rule-2);border-radius:var(--radius-pill);background:var(--color-stage);color:var(--color-stage-ink-2);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);padding:9px 16px;font-weight:500;position:absolute}.skip:hover{background:var(--color-stage-ink);color:var(--color-stage);transform:translateY(-2px)}.skip:active{transform:scale(.97)}.skip:focus-visible{outline-color:var(--color-lime)}.rig .hood{fill:var(--actor-hood)}.rig .hood-hem{fill:var(--actor-hood-dark)}.rig .hood-edge{fill:none;stroke:var(--actor-hood-light);stroke-width:1.6px;stroke-linecap:round}.rig .void{fill:var(--actor-void)}.rig .string{fill:none;stroke:var(--color-stage-ink-2);stroke-width:1.4px;stroke-linecap:round}.rig .glint{fill:none;stroke:var(--color-lime);stroke-width:2px;stroke-linecap:round}.rig .limb{fill:none;stroke-linecap:round}.rig .arm-f{stroke:var(--actor-hood-front)}.rig .arm-b{stroke:var(--actor-hood-dark)}.rig .leg-f{stroke:var(--actor-pants)}.rig .leg-b{stroke:var(--actor-pants-dark)}.rig .skin{fill:var(--actor-skin)}.rig .skin-b{fill:var(--actor-skin-dark)}.rig .shoe{fill:var(--actor-shoe)}.rig .shoe-b{fill:var(--actor-shoe-dark)}.rig .sole{fill:var(--color-hot)}.prop-rail,.prop-ledge{fill:var(--color-stage-3)}.prop-ledge-top{fill:var(--prop-metal)}.prop-cord{fill:none;stroke:var(--color-stage-ink-2);stroke-width:2px;stroke-linecap:round}.prop-handle{fill:var(--color-stage);stroke:var(--color-stage-ink-2);stroke-width:2.5px}.prop-case{fill:var(--prop-case);stroke:var(--prop-case-edge);stroke-width:1.5px}.prop-case-band{fill:var(--color-hot)}.prop-case-metal{fill:var(--prop-metal)}.prop-laptop{fill:var(--prop-laptop)}.prop-laptop-dark{fill:var(--prop-laptop-dark)}.prop-screen{fill:none;stroke:var(--color-lime);stroke-width:2.4px;stroke-linecap:round}.prop-glow{fill:var(--color-lime)}.prop-shadow{fill:var(--color-curtain-ink)}.prop-dust{fill:var(--color-stage-ink-2)}.spot-in{stop-color:var(--color-stage-ink);stop-opacity:.17}.spot-out{stop-color:var(--color-stage-ink);stop-opacity:0}.section{padding-block:var(--section-gap);position:relative}.section+.section{padding-top:0}.section__head{justify-content:space-between;align-items:end;gap:var(--space-md) var(--space-xl);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}.section__note{color:var(--color-muted);font-size:var(--text-sm)}.section h2:before{content:"";width:64px;height:7px;margin-bottom:var(--space-lg);background:var(--signal);transform-origin:0;transition:transform var(--dur-reveal) var(--ease-out) .12s;display:block}.js [data-reveal]:not(.in) h2:before{transform:scaleX(0)}.js [data-reveal]{opacity:0;transition:opacity var(--dur-reveal) var(--ease-out) calc(var(--i,0) * 90ms), transform var(--dur-reveal) var(--ease-out) calc(var(--i,0) * 90ms);transform:translateY(30px)}.js [data-reveal].in{opacity:1;transform:none}.about__grid{gap:var(--space-2xl) clamp(32px, 6vw, 96px);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;display:grid}.about__lead .lead{margin-top:var(--space-lg);max-width:46ch}.facts__row{gap:var(--space-md);padding:var(--space-md) 0;border-top:var(--rule-hair) solid var(--color-rule);transition:background-color var(--dur-short) var(--ease-out);grid-template-columns:8.5rem minmax(0,1fr);display:grid;position:relative}.facts__row:last-child{border-bottom:var(--rule-hair) solid var(--color-rule)}.facts__row:hover{background:var(--color-paper-2)}.facts dt{color:var(--color-muted);font-size:var(--text-sm);transition:color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);padding-top:2px}.facts dd{transition:transform var(--dur-short) var(--ease-out);font-weight:500}.facts__row:hover dt{color:var(--signal);transform:translate(10px)}.facts__row:hover dd{transform:translate(6px)}.hobbies{gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;display:flex}.hobby{align-items:center;gap:var(--space-xs);cursor:default;display:inline-flex}.hobby svg{flex:none;width:22px;height:22px}.hobby--chess svg{fill:var(--color-ink)}.hobby--ball svg{fill:none;stroke:var(--color-ink);stroke-width:1.5px;stroke-linejoin:round;transition:transform .8s var(--ease-out)}.hobby--chess:hover svg{animation:knight .76s var(--ease-in-out)}.hobby--ball:hover svg{transform:rotate(360deg)}@keyframes knight{30%{transform:translateY(-9px)}62%{transform:translate(8px,-9px)}to{transform:none}}.does{gap:var(--space-xl) var(--gap-columns);margin-top:var(--space-3xl);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.does li{padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-2);position:relative}.does li:before{content:"";background:var(--signal);transform-origin:0;height:3px;transition:transform var(--dur-long) var(--ease-out);position:absolute;top:-2px;left:0;right:0;transform:scaleX(0)}.does li:hover:before{transform:scaleX(1)}.does h3{transition:transform var(--dur-short) var(--ease-out)}.does li:hover h3{transform:translate(6px)}.does p{margin-top:var(--space-xs);color:var(--color-muted)}.skills__grid{gap:var(--gap-columns);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.skills__side{gap:var(--gap-columns);display:grid}.skillset{background:var(--color-paper-2);border-radius:var(--radius-card);padding:clamp(20px,2.4vw,32px)}.skillset h3{margin-bottom:var(--space-md)}.skillset--plain h3{margin-bottom:var(--space-lg)}.skill{gap:9px var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;padding:11px 0;display:grid}.skill__name{transition:transform var(--dur-short) var(--ease-out);font-weight:500}.skill__num{color:var(--color-muted);font-size:var(--text-sm);transition:color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);font-weight:600}.skill__bar{background:var(--color-rule);height:6px;transition:transform var(--dur-short) var(--ease-out);border-radius:3px;grid-column:1/-1;overflow:hidden}.skill__bar i{background:var(--signal);height:100%;transform:scaleX(var(--v));transform-origin:0;transition:transform 1.3s var(--ease-out) calc(var(--n,0) * 80ms + .15s);border-radius:3px;display:block}.js .skillset:not(.in) .skill__bar i{transform:scaleX(0)}.skill:nth-child(2){--n:1}.skill:nth-child(3){--n:2}.skill:nth-child(4){--n:3}.skill:nth-child(5){--n:4}.skill:nth-child(6){--n:5}.skill:hover .skill__name{transform:translate(6px)}.skill:hover .skill__num{color:var(--signal);transform:scale(1.12)}.skill:hover .skill__bar{transform:scaleY(1.8)}.tongues{margin-top:var(--space-2xl)}.tongues h3{margin-bottom:var(--space-lg)}.tongues dl{gap:var(--gap-columns);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tongues dl>div{padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-2)}.tongues dt{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-title);letter-spacing:-.015em}.tongues dd{margin-top:var(--space-2xs);color:var(--color-muted)}.role{color:var(--signal);font-size:var(--text-sm);font-weight:600}.case{background:var(--color-paper-2);border-radius:var(--radius-card);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid;overflow:hidden}.case__art{background:var(--signal);place-items:center;min-height:300px;padding:clamp(24px,4vw,56px);display:grid}.case__body{gap:var(--space-lg);justify-items:start;padding:clamp(24px,3.4vw,48px);display:grid}.case__head{align-items:baseline;gap:var(--space-2xs) var(--space-md);flex-wrap:wrap;display:flex}.case__head h3{font-size:var(--text-section);line-height:1.1}.case__text{color:var(--color-ink-2);max-width:60ch}.case__meta{width:100%;display:grid}.case__meta>div{gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);grid-template-columns:8.5rem minmax(0,1fr);padding:14px 0;display:grid}.case__meta dt{color:var(--color-muted);font-size:var(--text-sm);padding-top:2px}.motif{width:100%;max-width:360px;height:auto;overflow:visible}.motif__grid{fill:none;stroke:var(--color-curtain-ink);stroke-width:1px;opacity:.22}.motif__bar{fill:var(--color-curtain-ink);transform-box:fill-box;transform-origin:bottom;transform:scaleY(var(--h));transition:transform .9s var(--ease-out) calc(var(--d) * 80ms + .2s)}.motif__bar--alt{fill:var(--color-hot)}.motif__line{fill:none;stroke:var(--color-stage-ink);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.2s var(--ease-in-out) .7s}.js .case:not(.in) .motif__bar{transform:scaleY(0)}.js .case:not(.in) .motif__line{stroke-dashoffset:1px}.case:hover .motif__bar{animation:bar-dip .9s var(--ease-out) calc(var(--d) * 70ms)}@keyframes bar-dip{35%{transform:scaleY(calc(var(--h) * .55))}}.projects__pair{gap:var(--gap-columns);margin-top:var(--gap-columns);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.card{gap:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-card);transition:transform var(--dur-long) var(--ease-out), box-shadow var(--dur-long) var(--ease-out);flex-direction:column;padding-bottom:clamp(22px,2.6vw,32px);display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-card);transform:translateY(-8px)}.card>:not(.card__art){margin-inline:clamp(22px,2.6vw,32px)}.card__art{padding:var(--space-lg);background:var(--signal);place-items:center;display:grid}.card__head{align-items:baseline;gap:var(--space-2xs) var(--space-md);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.card__head h3{font-size:var(--text-xl)}.card>p{color:var(--color-ink-2)}.card>.card__aside{color:var(--color-muted);font-size:var(--text-sm)}.card__foot{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-md);padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);flex-wrap:wrap;margin-top:auto;display:flex}.state,.card__nolink{font-size:var(--text-sm);color:var(--color-muted)}.state{color:var(--color-ink-2);font-weight:500}.motif--quiz circle{fill:none;stroke:var(--color-curtain-ink);stroke-width:3px}.motif--quiz rect{fill:var(--color-curtain-ink);opacity:.24;transform-box:fill-box;transform-origin:0;transition:transform .7s var(--ease-out) calc(var(--d) * .14s + .25s)}.motif__tick{fill:none;stroke:var(--color-curtain-ink);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .5s var(--ease-out) calc(var(--d) * .14s + .5s)}.js .card:not(.in) .motif__tick{stroke-dashoffset:1px}.js .card:not(.in) .motif--quiz rect{transform:scaleX(0)}.card:hover .motif__tick{animation:tick .6s var(--ease-out) calc(var(--d) * .15s) both}@keyframes tick{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.motif__path{fill:none;stroke:var(--color-curtain-ink);stroke-width:2.5px;stroke-dasharray:3 9;stroke-linecap:round;opacity:.55}.motif__hub{fill:var(--color-curtain-ink);transform-box:fill-box;transform-origin:50%;transition:transform var(--dur-long) var(--ease-spring)}.motif__shop{fill:var(--color-orange);stroke:var(--color-curtain-ink);stroke-width:3px;transform-box:fill-box;transform-origin:50%;transition:transform var(--dur-long) var(--ease-spring)}.motif__dot{fill:var(--color-stage-ink);stroke:var(--color-curtain-ink);stroke-width:2.5px}.card:hover .motif__hub{transform:rotate(45deg)scale(.92)}.card:hover .motif__shop{transform:scale(1.22)}.edu__grid{gap:var(--space-3xl) clamp(32px, 6vw, 96px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.timeline{position:relative}.timeline:before{content:"";background:var(--signal);transform-origin:top;width:2px;transition:transform 1.4s var(--ease-out) .2s;position:absolute;top:8px;bottom:0;left:5px}.js .timeline:not(.in):before{transform:scaleY(0)}.timeline li{padding:0 0 var(--space-xl) 40px;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";border:2px solid var(--signal);background:var(--color-paper);width:12px;height:12px;transition:transform var(--dur-short) var(--ease-spring), background-color var(--dur-short) var(--ease-out);border-radius:50%;position:absolute;top:5px;left:0}.timeline li:hover:before{background:var(--signal);transform:scale(1.55)}.timeline__when{margin-bottom:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;display:block}.timeline h3{transition:transform var(--dur-short) var(--ease-out)}.timeline li:hover h3{transform:translate(8px)}.timeline p{margin-top:var(--space-2xs);color:var(--color-ink-2)}.cert{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg) 0;border-top:var(--rule-hair) solid var(--color-rule);isolation:isolate;text-decoration:none;display:flex;position:relative}.certs li:last-child .cert{border-bottom:var(--rule-hair) solid var(--color-rule)}.cert:before{content:"";z-index:-1;background:var(--color-paper-2);transform-origin:0;transition:transform var(--dur-long) var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}a.cert:hover:before{transform:scaleX(1)}.cert__body{gap:var(--space-2xs);transition:transform var(--dur-long) var(--ease-out);display:grid}.cert__name{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-title);letter-spacing:-.015em;line-height:1.25}.cert__meta{color:var(--color-muted);font-size:var(--text-sm)}.cert__go{color:var(--color-ink-2);font-size:var(--text-sm);transition:transform var(--dur-long) var(--ease-out), color var(--dur-short) var(--ease-out);flex:none;align-items:center;gap:6px;font-weight:600;display:inline-flex}.cert__go svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform var(--dur-short) var(--ease-out)}a.cert:hover .cert__body{transform:translate(14px)}a.cert:hover .cert__go{color:var(--signal);transform:translate(-14px)}a.cert:hover .cert__go svg{transform:translate(3px,-3px)}a.cert:active:before{background:var(--color-paper-3)}.contact{isolation:isolate;padding-block:var(--section-gap);position:relative;overflow:clip}.contact__grid{z-index:1;gap:var(--space-2xl) clamp(32px, 6vw, 96px);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start;display:grid;position:relative}.contact__lead{justify-items:start;gap:var(--space-lg);display:grid}.contact h2{max-width:14ch;font-size:var(--text-display);line-height:1.04}.contact .lead{font-weight:500}.channels{gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.channel{isolation:isolate;border:2px solid var(--color-ink);width:58px;height:58px;color:var(--color-ink);transition:transform var(--dur-short) var(--ease-spring), color var(--dur-short) var(--ease-out);border-radius:50%;place-items:center;text-decoration:none;display:grid;position:relative}.channel:before{content:"";z-index:-1;background:var(--color-ink);transition:transform var(--dur-short) var(--ease-out);border-radius:50%;position:absolute;inset:-1px;transform:scale(0)}.channel svg{fill:currentColor;width:23px;height:23px;transition:transform var(--dur-short) var(--ease-spring)}.channel:hover,.channel:focus-visible{color:var(--color-stage-ink);transform:translateY(-5px)}.channel:hover:before,.channel:focus-visible:before{transform:scale(1)}.channel:hover svg{transform:scale(1.14)rotate(-8deg)}.channel:active{transform:translateY(-1px)scale(.95)}.channel__tip{background:var(--color-ink);color:var(--color-stage-ink);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);border-radius:7px;padding:4px 9px;font-weight:500;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-5px)}.channel:hover .channel__tip,.channel:focus-visible .channel__tip{opacity:1;transform:translate(-50%)}.direct{gap:var(--space-sm);margin-top:var(--space-md);display:grid}.direct>div{gap:var(--space-md);grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;display:grid}.direct dt{font-size:var(--text-sm);font-weight:500}.direct dd{font-weight:600}.direct a{text-underline-offset:.25em;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in oklab, var(--color-ink) 35%, transparent);text-decoration-color:color-mix(in oklab, var(--color-ink) 35%, transparent);transition:text-decoration-color var(--dur-short) var(--ease-out)}.direct a:hover{-webkit-text-decoration-color:var(--color-ink);text-decoration-color:var(--color-ink)}.copy{align-items:center;gap:var(--space-xs) var(--space-sm);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;padding:0;font-weight:600;display:inline-flex}.copy__text{overflow-wrap:anywhere}.copy__state{border:1.5px solid var(--color-ink);border-radius:var(--radius-pill);font-size:var(--text-xs);transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-spring);padding:3px 10px}.copy:hover .copy__state{background:var(--color-ink);color:var(--color-stage-ink);transform:translateY(-2px)}.copy:active .copy__state{transform:scale(.94)}.copy.is-done .copy__state{background:var(--color-ink);color:var(--color-lime)}.form{gap:var(--space-lg);background:var(--color-paper);color:var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:clamp(22px,3vw,40px);display:grid}.form h3{font-size:var(--text-xl)}.field{gap:var(--space-xs);display:grid}.field label{font-size:var(--text-sm);color:var(--color-ink-2);font-weight:500}.field input,.field textarea{border:1.5px solid var(--color-rule-2);border-radius:var(--radius-field);background:var(--color-paper-2);width:100%;color:var(--color-ink);transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out);padding:13px 15px;line-height:1.5}.field textarea{resize:vertical;min-height:132px}.field input:hover,.field textarea:hover{border-color:var(--color-muted)}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--color-accent);background:var(--color-paper-3);outline-offset:0}.field [aria-invalid=true]{border-color:var(--color-error)}.field__err{color:var(--color-error);font-size:var(--text-sm)}.form .btn{justify-self:start}.form__hint{color:var(--color-muted);font-size:var(--text-sm)}.colophon{padding-block:var(--space-3xl) var(--space-xl);border-top:var(--rule-hair) solid var(--color-rule)}.colophon__inner{gap:var(--space-md) var(--space-xl);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.colophon__mark{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-section);letter-spacing:var(--tracking-display);overflow-wrap:break-word;grid-column:1/-1;min-width:0;line-height:1.1}.colophon__line{color:var(--color-muted)}.colophon__nav{gap:var(--space-xs) var(--space-lg);padding-block:var(--space-lg);border-block:var(--rule-hair) solid var(--color-rule);margin-top:var(--space-lg);flex-wrap:wrap;grid-column:1/-1;display:flex}.colophon a{color:var(--color-ink-2);font-size:var(--text-sm);text-underline-offset:.3em;transition:color var(--dur-short) var(--ease-out), text-decoration-color var(--dur-short) var(--ease-out);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.colophon a:hover{color:var(--color-ink);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.colophon__copy{color:var(--color-muted);font-size:var(--text-sm)}.colophon__top{justify-self:end}@media (max-width:64rem){.about__grid,.edu__grid,.contact__grid{grid-template-columns:minmax(0,1fr)}.does{margin-top:var(--space-2xl);grid-template-columns:repeat(2,minmax(0,1fr))}.skills__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills__side{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.case{grid-template-columns:minmax(0,1fr)}.case__art{min-height:0}.edu__grid{gap:var(--space-2xl)}}@media (max-width:40rem){.hero{align-items:start}.hero__inner{padding-block:var(--space-xl) 210px}.hero__actions .btn{flex:auto}.skip{bottom:var(--space-md)}.does,.skills__grid,.skills__side,.tongues dl,.projects__pair{grid-template-columns:minmax(0,1fr)}.facts__row,.case__meta>div{gap:var(--space-2xs);grid-template-columns:minmax(0,1fr)}.section__head{margin-bottom:var(--space-xl)}.cert{align-items:flex-start;gap:var(--space-xs);flex-direction:column}a.cert:hover .cert__go{transform:translate(14px)}.colophon__inner{grid-template-columns:minmax(0,1fr)}.colophon__top{justify-self:start}.form .btn{justify-self:stretch}}@media (hover:none){.card:hover{box-shadow:none;transform:none}.channel__tip{display:none}}@media (prefers-reduced-motion:reduce){.blob,.curtain__pleats{animation:none}.js [data-reveal]{opacity:1;transform:none}.js .hero .lead:after{animation:none}}@media print{.rail,.stage,.skip,.curtain{display:none}.js [data-reveal]{opacity:1;transform:none}}
