@import "https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}:root{--paper:#f5f5f2;--paper-2:#edede9;--paper-3:#e4e4e0;--ink:#1a1a1a;--ink-2:#4a4a4a;--ink-3:#8a8a8a;--a1:#ff5a1f;--a2:#ffb800;--a3:#e11d48;--ascii-pink:#ec4899;--on-a2:#1a1a1a;--on-a3:#fff;--forest:#0d2b52;--f-display:"Space Grotesk", sans-serif;--f-body:"Inter", sans-serif;--f-hand:"Caveat", cursive;--f-mono:"JetBrains Mono", monospace;--sec-gap:80px}html[data-field-mode=night]{--paper:#0f0e0c;--paper-2:#1a1917;--paper-3:#242320;--ink:#e2dbd0;--ink-2:#9c958a;--ink-3:#6a6358;--a1:#ff6b35;--a2:#ffb800;--a3:#f43f5e;--ascii-pink:#f472b6;--on-a2:#1a1a1a;--on-a3:#fff;--forest:#93c5fd}html[data-field-mode=night] .unit.fv{color:var(--ink);background:#2e2a1d}html[data-field-mode=night] .unit.edu-green{color:var(--ink);background:#1c2916}html[data-field-mode=night] .unit.edu-blue{color:var(--ink);background:#19222e}html[data-field-mode=night] .unit.edu-red{color:var(--ink);background:#2b1e16}html,body{transition:background-color .26s,color .26s}body:before{content:"";z-index:998;pointer-events:none;background:var(--fme,var(--paper));clip-path:circle(0 at var(--fmx,50%) var(--fmy,50%));opacity:0;position:fixed;inset:0}@keyframes fieldModeEclipse{0%{opacity:1;clip-path:circle(0 at var(--fmx) var(--fmy))}42%{opacity:1;clip-path:circle(150vmax at var(--fmx) var(--fmy))}78%{opacity:.22;clip-path:circle(150vmax at var(--fmx) var(--fmy))}to{opacity:0;clip-path:circle(150vmax at var(--fmx) var(--fmy))}}html.field-mode-anim body:before{animation:.96s cubic-bezier(.22,1,.36,1) forwards fieldModeEclipse}.field-mode-btn{z-index:29;border:1.5px solid var(--ink);background:var(--paper-2);width:34px;height:34px;color:var(--ink);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:transform .22s cubic-bezier(.34,1.4,.64,1),box-shadow .18s,background .18s;animation:.6s .5s forwards bgAudioFadeIn;display:flex;position:fixed;top:120px;right:20px}.field-mode-btn:hover{box-shadow:0 4px 14px var(--ink);transform:scale(1.12)}@supports (color:color-mix(in lab, red, red)){.field-mode-btn:hover{box-shadow:0 4px 14px color-mix(in oklab, var(--ink) 30%, transparent)}}.field-mode-btn:hover{background:var(--paper-3)}.field-mode-btn:active{transform:scale(.95)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--f-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.55}#home{background:linear-gradient(to right, var(--ink) 1px, transparent 1px) 0 0 / 26px 26px, linear-gradient(to bottom, var(--ink) 1px, transparent 1px) 0 0 / 26px 26px, var(--paper)}@supports (color:color-mix(in lab, red, red)){#home{background:linear-gradient(to right, color-mix(in oklab, var(--ink) 5%, transparent) 1px, transparent 1px) 0 0 / 26px 26px, linear-gradient(to bottom, color-mix(in oklab, var(--ink) 5%, transparent) 1px, transparent 1px) 0 0 / 26px 26px, var(--paper)}}#home{margin:-48px -40px 24px;padding:48px 40px 40px}#about{margin-top:24px;padding-top:112px;padding-bottom:120px}a{color:inherit;cursor:pointer;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4{margin:0;line-height:1.05}section[id]{scroll-margin-top:88px}section[id]:not(#home){margin-top:var(--sec-gap)}.kicker{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-size:11px}.chip{border:1.5px solid var(--ink);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);background:0 0;border-radius:2px;align-items:center;gap:6px;padding:8px 22px;font-size:14px;transition:transform .32s cubic-bezier(.34,1.56,.64,1),opacity .15s;display:inline-flex;transform:scale(.88)}.chip:hover{opacity:1;transform:scale(1)}.chip.fill{background:var(--a1);color:#fff;border-color:var(--a1)}.chip.fill2{background:var(--a2);color:var(--on-a2,#1a1a1a);border-color:var(--a2)}.chip.fill3{background:var(--a3);color:var(--on-a3,#fff);border-color:var(--a3)}.chip.fill-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ph{background:repeating-linear-gradient(135deg, var(--ink) 0 6px, transparent 6px 14px);position:relative}@supports (color:color-mix(in lab, red, red)){.ph{background:repeating-linear-gradient(135deg, color-mix(in oklab, var(--ink) 6%, transparent) 0 6px, transparent 6px 14px)}}.ph{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.ph{border:1px solid color-mix(in oklab, var(--ink) 22%, transparent)}}.ph{text-align:center;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);place-items:center;padding:12px;font-size:10.5px;display:grid;overflow:hidden}.ph:after{content:"[ image ]";letter-spacing:.14em;color:var(--ink);font-size:9px;position:absolute;top:8px;left:10px}@supports (color:color-mix(in lab, red, red)){.ph:after{color:color-mix(in oklab, var(--ink) 35%, transparent)}}.wavy{-webkit-text-decoration:underline wavy;text-decoration:underline wavy;-webkit-text-decoration-color:var(--a1);-webkit-text-decoration-color:var(--a1);-webkit-text-decoration-color:var(--a1);text-decoration-color:var(--a1);text-underline-offset:6px;text-decoration-thickness:2px}.hl{background:linear-gradient(180deg, transparent 55%, var(--a2) 55% 92%, transparent 92%)}@supports (color:color-mix(in lab, red, red)){.hl{background:linear-gradient(180deg, transparent 55%, color-mix(in oklab, var(--a2) 75%, transparent) 55% 92%, transparent 92%)}}.hl{padding:0 4px}.tape{background:var(--a2);display:inline-block}@supports (color:color-mix(in lab, red, red)){.tape{background:color-mix(in oklab, var(--a2) 75%, transparent)}}.tape{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;padding:4px 14px;font-size:10.5px;transform:rotate(-1.2deg)}.note{font-family:var(--f-hand);color:var(--a1);font-size:22px;line-height:1.15}.btn{border:1.5px solid var(--ink);font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--paper);background:0 0;align-items:center;gap:8px;padding:10px 18px;font-size:12px;transition:all .15s;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn.primary{background:var(--a1);color:#fff;border-color:var(--a1)}.btn.primary:hover{background:#1a1a1a;border-color:#1a1a1a}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}.site-nav{--paper:#f8f5ec;--paper-2:#efebdc;--paper-3:#e6e1cc;--ink:#0f0f12;--ink-2:#4a4a55;--ink-3:#8a8a92;--a1:#dc2626;--a2:#0f172a;--a3:#facc15;z-index:30;background:var(--ink);color:var(--paper);justify-content:space-between;align-items:center;gap:24px;padding:14px 24px;display:flex;position:sticky;top:0}.site-nav .brand{font-family:var(--f-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.site-nav .brand .mark{background:var(--a1);width:28px;height:28px;font-family:var(--f-display);color:#fff;border:2px solid var(--paper);flex-shrink:0;place-items:center;font-size:18px;font-weight:700;display:grid}.site-nav .brand small{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--paper);font-size:9.5px}@supports (color:color-mix(in lab, red, red)){.site-nav .brand small{color:color-mix(in oklab, var(--paper) 65%, transparent)}}.site-nav .brand small{margin-left:8px;font-weight:400}.site-nav .tabs{background:var(--paper);border:2px solid var(--paper);justify-content:flex-end;gap:0;margin-left:auto;padding:2px;display:flex}.site-nav .tabs a{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;padding:8px 14px;font-size:11px;transition:background .15s,color .15s;position:relative}.site-nav .tabs a:hover{color:#fff;background:var(--a1)}.site-nav .tabs a.active{background:var(--ink);color:var(--paper)}.site-nav .tabs a.active:hover{background:var(--a1);color:#fff}.section-head{align-items:baseline;gap:18px;margin-bottom:36px;display:flex}.section-num{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--a1);font-size:clamp(20px,2.7vw,32px)}.section-title{font-family:var(--f-display);letter-spacing:-.02em;font-size:56px;font-weight:700}.section-sub{font-family:var(--f-hand);color:var(--ink-2);font-size:26px}.polaroid{border:1px solid var(--ink);background:#fff;padding:10px 10px 36px}@supports (color:color-mix(in lab, red, red)){.polaroid{border:1px solid color-mix(in oklab, var(--ink) 20%, transparent)}}.polaroid{box-shadow:0 4px 18px var(--ink)}@supports (color:color-mix(in lab, red, red)){.polaroid{box-shadow:0 4px 18px color-mix(in oklab, var(--ink) 14%, transparent)}}.polaroid .ph{aspect-ratio:4/3}.polaroid .cap{font-family:var(--f-hand);text-align:center;color:var(--ink-2);margin-top:6px;font-size:18px}.polaroid.tilt-l{transform:rotate(-1.8deg)}.polaroid.tilt-r{transform:rotate(1.8deg)}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;min-height:65svh;padding:clamp(24px,4vh,48px) 0 clamp(16px,3vh,32px);transition:gap .6s cubic-bezier(.4,0,.2,1);display:flex}.hero--split{text-align:left;flex-direction:row;justify-content:center;align-items:center;gap:clamp(32px,6vw,80px)}.hero-portrait-wrap{opacity:0;flex-shrink:0;max-height:0;margin-bottom:0;transition:max-height .7s cubic-bezier(.4,0,.2,1),opacity .6s 80ms,margin-bottom .7s cubic-bezier(.4,0,.2,1);overflow:hidden}.hero-portrait-wrap--in{opacity:1;max-height:500px;margin-bottom:clamp(28px,5vh,56px)}.hero--split .hero-portrait-wrap,.hero--split .hero-portrait-wrap--in{margin-bottom:0}.hero .hero-main{min-width:0;max-width:640px;transition:max-width .55s cubic-bezier(.4,0,.2,1)}.hero--split .hero-main{max-width:480px}@media (max-width:600px){.hero--split{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0}.hero--split .hero-portrait-wrap,.hero--split .hero-portrait-wrap--in{margin-bottom:clamp(24px,5vh,48px)}}.hero .tape-row{justify-content:center;align-items:center;gap:10px;margin-bottom:28px;display:flex}.hero h1{font-family:var(--f-display);letter-spacing:-.03em;color:var(--forest);margin:0;font-size:clamp(35px,4.5vw,69px);font-weight:700;line-height:.94}.hero h1 .lava{color:var(--a1);font-style:italic}.hero h1 .name-green{color:var(--forest)}.hero-role{font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:0;margin:18px 0 4px;font-size:clamp(20px,2.4vw,28px);font-weight:600;display:inline-flex}.hero-role .char{opacity:0;white-space:pre;transition:opacity .18s,transform .22s cubic-bezier(.16,1,.3,1);display:inline-block;transform:translateY(-22px)}.hero-role--in .char{opacity:1;transform:none}.is-reduced-motion .hero-role .char{transition:none!important}.hero-role-sub{font-family:var(--f-mono);letter-spacing:.04em;color:var(--ink-2);margin:0;font-size:13px}.hero-chips{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:clamp(32px,4vh,56px);display:flex}.hero-chips--divider{margin:clamp(48px,7vh,80px) 0}.scrub{opacity:0;will-change:opacity, transform}.hero-portrait{border:1.5px solid var(--ink);background:var(--paper-2);box-shadow:6px 6px 0 var(--ink);aspect-ratio:4/3;border-radius:6px;flex-shrink:0;width:clamp(320px,50vw,595px);margin:0;transition:width .55s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.hero--split .hero-portrait{width:clamp(315px,45vw,525px)}.hero-portrait img{object-fit:cover;width:100%;height:100%;display:block}.current-strip{grid-template-columns:repeat(3,1fr);gap:0;width:100%;margin:clamp(5px,.5vh,8px) auto 0;display:grid}.current-strip>*{text-align:center;color:inherit;flex-direction:column;justify-content:center;align-items:center;padding:14px 16px;transition:background .18s,color .18s;display:flex}.current-strip>a:hover{background:var(--ink);color:var(--paper)}.current-strip>a:hover .label{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.current-strip>a:hover .label{color:color-mix(in oklab, var(--paper) 70%, transparent)}}.current-strip>a:hover .value em{color:var(--a2)}.current-strip .label{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;font-size:13px}.current-strip .value{font-family:var(--f-display);font-size:19.5px;font-weight:600;line-height:1.3}.current-strip .value em{color:var(--a1);font-style:normal}.current-strip .value--light{font-weight:400}.strip-seeking{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:10px;font-size:11px}.current-strip>a:hover .strip-seeking{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.current-strip>a:hover .strip-seeking{color:color-mix(in oklab, var(--paper) 60%, transparent)}}.hero-strip-btn{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--ink);background:var(--a1);color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:4px;padding:6px 12px;font-size:13px;display:inline-block}.current-strip>a:hover .hero-strip-btn{background:var(--paper);color:var(--ink);box-shadow:3px 3px 0 var(--paper)}.bento{isolation:isolate;grid-template-columns:1.5fr 1fr 1fr .8fr;grid-auto-rows:minmax(180px,auto);gap:18px;display:grid}.card{border:1.5px solid var(--ink);background:0 0;padding:24px;position:relative}.card .clabel{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px;font-size:10.5px}.card.dark{background:var(--ink);color:var(--paper)}.card.dark .clabel{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.card.dark .clabel{color:color-mix(in oklab, var(--paper) 70%, transparent)}}.card.accent{background:var(--a1);color:#fff;border-color:var(--a1)}.card.accent .clabel{color:#fffc}.card.amber{background:var(--a2);color:#1a1a1a;border-color:var(--a2)}.card.rose{background:var(--a3);color:#fff;border-color:var(--a3)}.card-bio{grid-row:span 2}.card-bio h2{font-family:var(--f-display);letter-spacing:-.02em;margin:4px 0 18px;font-size:44px;font-weight:700;line-height:1.05}.card-bio p{color:var(--ink-2);font-size:15.5px;line-height:1.6}.card-bio p+p{margin-top:12px}.card-bio .signature{font-family:var(--f-hand);color:var(--a1);margin-top:18px;font-size:30px}.card-bio .bio-tagline{font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);margin:4px 0 18px;font-size:22px;font-weight:700;line-height:1.1}.stat-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:12px;display:grid}.stat-grid .n{font-family:var(--f-display);font-size:40px;font-weight:700;line-height:1}.stat-grid .l{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:4px;font-size:10.5px}.now-text{font-family:var(--f-display);margin:8px 0 0;font-size:19px;font-weight:600;line-height:1.35}.hobby-list{font-family:var(--f-hand);margin:8px 0 0;padding:0;font-size:22px;line-height:1.7;list-style:none}.now-card{grid-column:2/4}.about-clabel{letter-spacing:.08em!important;font-size:15.5px!important}.about-stacks{grid-column:2/-1;grid-template-columns:.6fr 1fr 1fr;gap:18px;display:grid}.about-stacks .card{height:100%}.stack-text{font-family:var(--f-mono);margin:8px 0 0;font-size:13px;line-height:1.9}.stack-text--lg{font-size:15px}.stack-dot{color:var(--a1);vertical-align:middle;margin-left:5px;font-size:.85em}.strata{border:1.5px solid var(--ink);overflow:visible}.srow{border-bottom:1.5px solid var(--ink);grid-template-columns:108px 1fr;transition:transform .36s cubic-bezier(.34,1.4,.64,1);display:grid}.srow:last-child{border-bottom:none}.strata .year{border-right:2px solid var(--ink);text-align:center;font-family:var(--f-mono);letter-spacing:.02em;color:var(--ink-2);flex-direction:column;justify-content:center;padding:16px 14px;font-size:16px;line-height:1.45;display:flex}.strata .unit{color:var(--ink);padding:20px 28px;transition:padding .36s cubic-bezier(.34,1.4,.64,1),transform .22s cubic-bezier(.34,1.4,.64,1),filter .18s;position:relative}.unit-meta{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:10px;font-size:10.5px}.unit h3{font-family:var(--f-display);letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.1;transition:font-size .3s}.unit p{opacity:.92;max-width:none;margin:6px 0 0;font-size:13.5px;line-height:1.5;transition:font-size .3s}.unit.a1{background:var(--a1);color:#fff}.unit.a2{background:var(--a2);color:#1a1a1a}.unit.a3{background:var(--a3);color:#fff}.unit.b1{background:var(--paper-2)}.unit.b2{background:var(--paper-3)}.strata .unit[id]{scroll-margin-top:100px}.unit.fv{color:var(--ink);background:#cabfa1}.unit.edu-green{color:var(--ink);background:#a9b58d}.unit.edu-blue{color:var(--ink);background:#97a6b6}.unit.edu-red{color:var(--ink);background:#c3a589}.strata .unit:after{content:"";pointer-events:none;border:3px solid #0000;position:absolute;inset:7px}.unit.edu-green:after{border-color:#138a4e}.unit.edu-blue:after{border-color:#1f5fd0}.unit.edu-red:after{border-color:var(--a1)}.unit.fv:after{border-color:#1f5fd0 #d9a521 #d9a521 #1f5fd0}.legend{font-family:var(--f-mono);letter-spacing:.08em;color:var(--ink-2);flex-wrap:wrap;gap:22px;margin-top:24px;font-size:11px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border:1px solid var(--ink);width:12px;height:12px;display:inline-block}.card--full{grid-column:1/-1}.unit-thin{padding:14px 28px}.unit-thin h3{font-size:18px}.strip-sub{font-family:var(--f-display);letter-spacing:0;font-size:15px;font-weight:400}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero-main{animation:.55s both fadeUp}.hero-pin-track{height:calc(100vh + 1100px);position:relative}.hero-pin-stage{height:calc(100vh - 104px);position:sticky;top:104px;overflow:hidden}.hero-pin-stage .current-strip>*{opacity:0;transition:background .18s,color .18s,transform .65s cubic-bezier(.34,1.4,.64,1),opacity .4s;transform:translateY(100vh)}.hero-pin-stage .current-strip>.strip-card--in{opacity:1;transform:none}.hero-pin-stage .hero-chips{opacity:0;transition:opacity .5s}.hero-pin-stage .hero-chips.chips--in{opacity:1}@media (max-width:860px){.hero-pin-track{height:auto}.hero-pin-stage{height:auto;position:static;overflow:visible}.hero-pin-stage .current-strip>*,.hero-pin-stage .hero-chips{opacity:1!important;transition:background .18s,color .18s!important;transform:none!important}}.seq>*{opacity:0}.seq.is-in>*{animation-name:seqUp;animation-duration:.5s;animation-timing-function:ease;animation-fill-mode:both}.seq-fade.is-in>*{animation-name:seqFade}.seq.is-in>:first-child{animation-delay:0s}.seq.is-in>:nth-child(2){animation-delay:.16s}.seq.is-in>:nth-child(3){animation-delay:.32s}.seq.is-in>:nth-child(4){animation-delay:.48s}.seq.is-in>:nth-child(5){animation-delay:.64s}@keyframes seqUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes seqFade{0%{opacity:0}to{opacity:1}}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.card{transition:transform .22s cubic-bezier(.34,1.4,.64,1),box-shadow .22s,z-index}.card:not(.card-bio):not(.card--full):hover{box-shadow:4px 8px 0 var(--ink);transform:scale(1.03)translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.card:not(.card-bio):not(.card--full):hover{box-shadow:4px 8px 0 color-mix(in oklab, var(--ink) 18%, transparent)}}.card:not(.card-bio):not(.card--full):hover{z-index:2}.card-spotlight{transition:transform .42s cubic-bezier(.34,1.4,.64,1),box-shadow .35s,filter .35s,z-index}.card.card-spotlight:not(.card-bio):not(.card--full):hover{box-shadow:4px 10px 0 var(--ink);transform:scale(1.04)translateY(-5px)}@supports (color:color-mix(in lab, red, red)){.card.card-spotlight:not(.card-bio):not(.card--full):hover{box-shadow:4px 10px 0 color-mix(in oklab, var(--ink) 22%, transparent)}}.card.card-spotlight:not(.card-bio):not(.card--full):hover{z-index:4}.card.card-spotlight.now-card:hover{box-shadow:3px 6px 0 var(--ink);transform:scale(1.02)translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.card.card-spotlight.now-card:hover{box-shadow:3px 6px 0 color-mix(in oklab, var(--ink) 18%, transparent)}}.card.card-spotlight.now-card:hover{z-index:4}.card.card-spotlight.card-bio:hover{box-shadow:10px 22px 0 var(--ink);transform:scale(1.14)translateY(-12px)}@supports (color:color-mix(in lab, red, red)){.card.card-spotlight.card-bio:hover{box-shadow:10px 22px 0 color-mix(in oklab, var(--ink) 32%, transparent)}}.card.card-spotlight.card-bio:hover{z-index:20}.bento:has(.card-bio:hover)>:not(.card-bio){z-index:0}.card-spotlight .now-text{transition:font-size .35s,letter-spacing .3s}.card-spotlight:hover .now-text{letter-spacing:.005em;font-size:20px}.bento:has(.card-bio:hover)>.card:not(:hover){filter:blur(2px)brightness(.68)}.bento:has(.card-bio:hover)>.about-stacks{filter:blur(2px)brightness(.68)}.card.card-spotlight.card-bio{transform-origin:0 0}:is(.bento:has(.card-bio:hover) .now-card,.bento:has(.card-bio:hover) .more-card,.bento:has(.card-bio:hover) .about-stacks){transform:translate(56px)}.about-stacks>.card:nth-child(2){transform-origin:0 0}.about-stacks>.card:nth-child(3){transform-origin:100% 0}.about-stacks:has(.card:nth-child(2):hover) .card:nth-child(3){transform:translate(22px)}.about-stacks:has(.card:nth-child(3):hover) .card:nth-child(2){transform:translate(-22px)}.bento>.card,.bento>.about-stacks,.about-stacks>.card{transition:filter .35s,transform .42s cubic-bezier(.34,1.4,.64,1),box-shadow .35s,z-index}.strata .unit{cursor:default;transition:filter .5s,transform .4s cubic-bezier(.34,1.2,.64,1),z-index}.srow.is-current-layer .unit{filter:brightness(1.08)saturate(1.12);z-index:3;transform:scale(1.018)}.work-split{grid-template-columns:1fr 1fr;align-items:stretch;gap:32px;display:grid;position:relative}.work-detail-track{border:1.5px solid var(--ink);background:var(--paper-2);transform-origin:0;transition:border-color .46s,transform .5s cubic-bezier(.34,1.2,.64,1),box-shadow .46s;position:relative}.work-split:has(.srow.is-current-layer) .work-detail-track{transform:scale(1.022);box-shadow:0 4px 28px #0000001a}.work-split:has(.srow:first-child.is-current-layer) .work-detail-track{border-color:#d9a521}.work-split:has(.srow:nth-child(2).is-current-layer) .work-detail-track{border-color:#138a4e}.work-split:has(.srow:nth-child(3).is-current-layer) .work-detail-track{border-color:#1f5fd0}.work-split:has(.srow:nth-child(4).is-current-layer) .work-detail-track{border-color:#ff5a1f}.work-split:has(.srow:nth-child(5).is-current-layer) .work-detail-track{border-color:#e11d48}.work-detail-panel{height:calc(100vh - 140px);position:sticky;top:100px}.writing-legend{border-bottom:1.5px solid var(--ink);flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:18px;padding-bottom:12px;display:flex}.writing-legend .filter-inline{font-family:var(--f-mono);letter-spacing:.08em;text-transform:lowercase;flex-wrap:wrap;gap:4px;font-size:11px;display:flex}.writing-legend .filter-inline a{border:1px solid var(--ink);padding:5px 10px}@supports (color:color-mix(in lab, red, red)){.writing-legend .filter-inline a{border:1px solid color-mix(in oklab, var(--ink) 25%, transparent)}}.writing-legend .filter-inline a{color:var(--ink-2);border-radius:6px;transition:all .15s}.writing-legend .filter-inline a:hover{border-color:var(--ink);color:var(--ink)}.writing-legend .filter-inline a.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.writing-list{flex-direction:column;display:flex}.post{border-top:1px solid var(--ink);padding:14px 0}@supports (color:color-mix(in lab, red, red)){.post{border-top:1px solid color-mix(in oklab, var(--ink) 18%, transparent)}}.post{grid-template-columns:96px 1fr auto;align-items:baseline;gap:18px;display:grid}.post:last-child{border-bottom:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.post:last-child{border-bottom:1px solid color-mix(in oklab, var(--ink) 18%, transparent)}}.post .date{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:10.5px}.post h3{font-family:var(--f-display);letter-spacing:-.01em;font-size:18px;font-weight:600;line-height:1.2}.post h3:hover{color:var(--a1)}.post .excerpt{color:var(--ink-2);margin-top:4px;font-size:13px;line-height:1.45}.post .read{font-family:var(--f-mono);color:var(--ink-2);letter-spacing:.08em;font-size:10px;line-height:1.3}.theme-bento{--paper:#f8f5ec;--paper-2:#efebdc;--paper-3:#e6e1cc;--ink:#0f0f12;--ink-2:#4a4a55;--ink-3:#8a8a92;--a1:#dc2626;--a2:#0f172a;--a3:#facc15;--ascii-pink:#ec4899;--on-a2:#fff;--on-a3:#0f0f12;border:2px solid var(--ink);background:0 0;padding:28px 24px 0}.theme-bento .tile{border:2px solid var(--ink);background:0 0;padding:24px;position:relative;overflow:hidden}.theme-bento .tile.dark{background:var(--ink);color:var(--paper)}.theme-bento .tile.red{background:var(--a1);color:#fff}.theme-bento .tile.yellow{background:var(--a3);color:var(--ink)}.theme-bento .tile.cream{background:var(--paper-2)}.theme-bento .tile.cream2{background:var(--paper-3)}.theme-bento .tile .clabel{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px;font-size:10.5px}.theme-bento .tile.dark .clabel{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.theme-bento .tile.dark .clabel{color:color-mix(in oklab, var(--paper) 65%, transparent)}}.theme-bento .tile.red .clabel{color:#ffffffd9}.theme-bento .tile.yellow .clabel{color:#000000a6}.theme-bento .section-tag{background:var(--ink);color:var(--paper);font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;font-size:11px;display:inline-flex}.theme-bento .section-tag.red{background:var(--a1)}.theme-bento .section-tag.yellow{background:var(--a3);color:var(--ink)}.floating-gallery{width:100%;transition:background .9s;position:relative;overflow:hidden}.floating-gallery__canvas{pointer-events:none;z-index:0;position:absolute;inset:0}.floating-gallery__field-canvas{pointer-events:none;z-index:5;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70%,#000 40%,#0000 75%);mask-image:radial-gradient(80% 70%,#000 40%,#0000 75%)}.floating-gallery__panel{border:1.5px solid var(--ink);z-index:2;will-change:transform;width:250px;height:175px;box-shadow:3px 6px 0 var(--ink);position:absolute;top:0;left:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.floating-gallery__panel{box-shadow:3px 6px 0 color-mix(in oklab, var(--ink) 14%, transparent)}}.floating-gallery__panel{cursor:pointer;transition:box-shadow .3s,filter .2s,border-color .9s}.floating-gallery__panel:hover{box-shadow:6px 12px 0 var(--ink)}@supports (color:color-mix(in lab, red, red)){.floating-gallery__panel:hover{box-shadow:6px 12px 0 color-mix(in oklab, var(--ink) 28%, transparent)}}.floating-gallery__panel:hover{filter:brightness(1.06);z-index:10}.fg-lightbox{z-index:2000;cursor:pointer;background:#050505e0;flex-direction:column;justify-content:center;align-items:center;animation:.22s fg-fade-in;display:flex;position:fixed;inset:0}@keyframes fg-fade-in{0%{opacity:0}to{opacity:1}}.fg-lightbox__inner{cursor:default;background:var(--ink);width:min(90vw,1080px);height:min(80vh,760px);position:relative}.fg-lightbox__close{color:var(--paper);letter-spacing:.08em;font-size:22px;font-family:var(--f-mono);cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px 8px;transition:opacity .15s;position:absolute;top:-44px;right:0}.fg-lightbox__close:hover{opacity:1}.fg-lightbox__caption{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#fff9;margin-top:14px;font-size:11px}.floating-gallery__color{align-items:flex-end;width:100%;height:100%;padding:8px;display:flex}.floating-gallery__caption{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9;font-size:10px}.gallery-bento{grid-template-columns:repeat(6,1fr);grid-auto-rows:200px;gap:14px;display:grid}.gallery-bento figure{border:2px solid var(--ink);background:0 0;flex-direction:column;margin:0;display:flex;position:relative}.gallery-bento figure .ph{aspect-ratio:auto;background-color:#0000;border:none;flex:1}.gallery-bento figure.red .ph{background-color:var(--a1)}.gallery-bento figure.dark .ph{background-color:var(--ink)}.gallery-bento figure.yellow .ph{background-color:var(--a3)}.gallery-bento figcaption{border-top:2px solid var(--ink);font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;justify-content:space-between;align-items:baseline;padding:10px 14px;font-size:10px;display:flex}.gallery-bento .g-hero{grid-area:span 2/span 3}.gallery-bento .g-tall{grid-row:span 2}.gallery-bento .g-wide{grid-column:span 2}.contact-bento{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(52px,auto);gap:14px;padding-bottom:56px;display:grid}.theme-bento .tile.cta{background:0 0;border:none;grid-column:span 2;justify-content:center;padding:6px 0 2px;display:flex}.theme-bento .tile.cta>div{display:inline-block}.theme-bento .tile.cta h2{background:var(--ink);color:var(--paper);font-family:var(--f-display);letter-spacing:-.03em;margin:0;padding:12px 24px;font-size:clamp(42px,5.2vw,76px);font-weight:700;line-height:1.04;display:inline-block}.theme-bento .tile.cta h2 em{color:var(--a1);font-style:normal}.theme-bento .tile.cta h2 .yellow{color:var(--a3)}.theme-bento .tile.link{cursor:pointer;flex-direction:row;align-items:baseline;gap:12px;padding:14px 18px;transition:background .18s,transform .38s cubic-bezier(.34,1.4,.64,1),box-shadow .28s;display:flex}.contact-link-btn:hover{background:var(--a3);box-shadow:4px 10px 0 var(--ink);transform:translateY(-5px)scale(1.02)}@supports (color:color-mix(in lab, red, red)){.contact-link-btn:hover{box-shadow:4px 10px 0 color-mix(in oklab, var(--ink) 20%, transparent)}}.theme-bento .tile.link .l{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);flex-shrink:0;font-size:11.5px}.theme-bento .tile.link .v{font-family:var(--f-display);letter-spacing:-.01em;font-size:15px;font-weight:600}.theme-bento .tile.link .arrow{font-family:var(--f-mono);color:var(--ink-3);margin-left:auto;font-size:14px}.contact-form-bento{border:2px solid var(--ink);background:0 0;grid-column:span 2;grid-template-columns:1fr 1fr;gap:16px 24px;padding:32px;display:grid}.contact-form-bento h3{font-family:var(--f-display);letter-spacing:-.02em;grid-column:span 2;margin:0 0 8px;font-size:28px;font-weight:700}.contact-form-bento label{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;font-size:10.5px;display:block}.contact-form-bento .full{grid-column:span 2}.contact-form-bento input,.contact-form-bento textarea{border:2px solid var(--ink);width:100%;font:inherit;background:0 0;padding:12px 14px;font-size:14px}.contact-form-bento textarea{resize:vertical;min-height:100px}.contact-form-bento button{background:var(--a1);color:#fff;border:2px solid var(--ink);font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;grid-column:span 2;justify-self:start;padding:14px 28px;font-size:11.5px}.contact-form-bento button:hover{background:var(--a3);color:var(--ink)}.post-article{max-width:720px;margin:0 auto;padding:24px 0 80px}.post-article__head{border-bottom:1.5px solid var(--ink);margin-bottom:36px;padding-bottom:28px}.post-article__meta{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:18px;font-size:11px;display:flex}.post-article__back{border-bottom:1.5px solid var(--ink);color:var(--ink);padding-bottom:2px;transition:color .15s}.post-article__back:hover,.post-article__date{color:var(--a1)}.post-article__read{margin-left:auto}.post-article__title{font-family:var(--f-display);letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(36px,5vw,56px);font-weight:700;line-height:1.05}.post-article__excerpt{font-family:var(--f-hand);color:var(--ink-2);font-size:24px;line-height:1.3}.post-article__foot{border-top:1.5px solid var(--ink);margin-top:56px;padding-top:28px}.prose{font-family:var(--f-body);color:var(--ink);font-size:16.5px;line-height:1.7}.prose h2{font-family:var(--f-display);letter-spacing:-.01em;margin:40px 0 14px;font-size:28px;font-weight:700;line-height:1.15}.prose h3{font-family:var(--f-display);letter-spacing:-.01em;margin:32px 0 10px;font-size:22px;font-weight:600}.prose p{color:var(--ink-2);margin:0 0 18px}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose a{color:var(--a1);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px}.prose ul,.prose ol{color:var(--ink-2);margin:0 0 18px;padding-left:24px}.prose li{margin-bottom:6px}.prose blockquote{border-left:3px solid var(--a1);font-family:var(--f-hand);color:var(--ink);background:0 0;margin:24px 0;padding:14px 20px;font-size:22px;line-height:1.4}.prose blockquote p{color:var(--ink);margin:0}.prose code{font-family:var(--f-mono);background:var(--ink);font-size:14px}@supports (color:color-mix(in lab, red, red)){.prose code{background:color-mix(in oklab, var(--ink) 8%, transparent)}}.prose code{border:1px solid var(--ink);padding:2px 6px}@supports (color:color-mix(in lab, red, red)){.prose code{border:1px solid color-mix(in oklab, var(--ink) 18%, transparent)}}.prose pre{font-family:var(--f-mono);border:1.5px solid var(--ink);background:0 0;margin:0 0 20px;padding:18px 20px;font-size:13.5px;line-height:1.55;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose hr{border:none;border-top:1.5px solid var(--ink);margin:36px 0}.site-footer{background:#0a0a09;flex-direction:column;justify-content:center;min-height:420px;padding:72px clamp(32px,6vw,80px) 40px;display:flex;position:relative;overflow:hidden}.site-footer__hairline{background:#ffffff1a;height:1px;position:absolute;top:0;left:0;right:0}.site-footer__thanks{flex:1;align-items:center;display:flex}.footer-line{white-space:nowrap;font-size:0;line-height:0}.footer-slot{vertical-align:bottom;height:1.22em;display:inline-block;overflow:hidden}.footer-gap{width:clamp(16px,2.8vw,42px);display:inline-block}.footer-ch{font-family:var(--f-display);letter-spacing:-.025em;color:#ede9e2;will-change:transform;font-size:clamp(48px,9.5vw,138px);font-weight:700;line-height:1.22em;display:block;transform:translateY(115%)}.footer-ch--gold{color:#ffb800}@keyframes footerSlideUp{0%{transform:translateY(115%)}to{transform:translateY(0)}}.footer-playing .footer-ch{animation:footerSlideUp .72s cubic-bezier(.16, 1, .3, 1) var(--fd,0s) both}.site-footer__bottom{font-family:var(--f-mono);letter-spacing:.1em;color:#ffffff47;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:40px;padding-top:20px;font-size:11px;display:flex}.site-footer__bottom p{margin:0}.site-footer__links{gap:18px;display:flex}.site-footer__links a{color:#ffffff47;text-decoration:none;transition:color .15s}.site-footer__links a:hover{color:#ffffffb3}.visually-hidden{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1100px){.contact-bento{grid-template-columns:1fr}.bento{grid-template-columns:1.5fr 1fr 1fr}.more-card{grid-area:auto}.now-card,.about-stacks{grid-column:2/4}.srow{grid-template-columns:84px 1fr}.gallery-bento{grid-template-columns:repeat(3,1fr)}.theme-bento .tile.cta,.contact-form-bento{grid-column:auto}.site-footer{min-height:320px}}@media (max-width:860px){.site-nav{flex-wrap:wrap;gap:12px}.site-nav .tabs{justify-content:flex-start;margin-left:0;overflow-x:auto}main{padding:32px 20px 0!important}#home{margin:-32px -20px 32px;padding:32px 20px}.current-strip{grid-template-columns:1fr 1fr}.current-strip>:nth-child(2){border-right:none}.bento{grid-template-columns:1fr}.now-card,.about-stacks,.card-bio,.more-card{grid-area:auto/1/auto/-1}.post{grid-template-columns:1fr;gap:6px}.gallery-bento{grid-template-columns:repeat(2,1fr)}.gallery-bento .g-hero{grid-column:span 2}.contact-bento,.contact-form-bento{grid-template-columns:1fr}.contact-form-bento h3,.contact-form-bento .full,.contact-form-bento button{grid-column:auto}.site-footer__bottom{flex-direction:column;gap:8px}}@media (max-width:900px){.hero-portrait{width:clamp(200px,55vw,320px)}}@media (max-width:640px){.hero h1{font-size:clamp(54px,18vw,84px)}.current-strip{grid-template-columns:1fr}.current-strip>*{border-right:none;border-bottom:1px dashed var(--ink)}@supports (color:color-mix(in lab, red, red)){.current-strip>*{border-bottom:1px dashed color-mix(in oklab, var(--ink) 30%, transparent)}}.current-strip>:last-child{border-bottom:none}.srow{grid-template-columns:1fr}.strata .year{border-right:none;border-bottom:1.5px solid var(--ink);text-align:left;flex-direction:row;justify-content:flex-start;gap:6px;padding:8px 28px}.about-stacks,.gallery-bento{grid-template-columns:1fr}.gallery-bento .g-hero,.gallery-bento .g-tall,.gallery-bento .g-wide{grid-area:auto}}.stage-wrap{padding:32px 0 64px;position:relative;overflow:hidden}.stage{height:clamp(260px,36vw,480px);position:relative}.stage__slide{transform-origin:50%;cursor:pointer;width:52%;height:100%;transition:transform .55s cubic-bezier(.4,0,.2,1),opacity .45s,z-index;position:absolute;top:0;left:50%}.stage__slide--active{cursor:default}.stage__img{border:1.5px solid var(--ink);background:var(--paper-3);width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000024}.stage__slide--active .stage__img{box-shadow:0 16px 56px #00000038}.stage__placeholder{color:#ffffffb3;font-family:var(--f-mono);letter-spacing:.18em;text-transform:uppercase;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.stage__caption{text-align:center;font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:14px;font-size:11px}.stage__arrow{background:var(--ink);color:var(--paper);cursor:pointer;z-index:10;opacity:.7;border:none;padding:10px 16px;font-size:28px;line-height:1;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.stage__arrow:hover{opacity:1}.stage__arrow--prev{left:0}.stage__arrow--next{right:0}.stage__dots{z-index:10;gap:8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.stage__dot{border:1.5px solid var(--ink-2);cursor:pointer;background:0 0;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,border-color .2s}.stage__dot--active{background:var(--ink);border-color:var(--ink)}.carousel{aspect-ratio:16/7;border:1.5px solid var(--ink);background:var(--paper-3);width:100%;position:relative;overflow:hidden}.carousel__frame{transition:opacity .28s;position:absolute;inset:0}.carousel__frame--fade{opacity:0}.carousel__placeholder{place-items:center;display:grid;position:absolute;inset:0}.carousel__ph-tag{font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:#ffffffbf;font-size:12px}.carousel__caption{color:#fff;font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(#0000,#0000008c);padding:12px 20px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.carousel__arrow{color:#fff;cursor:pointer;z-index:2;background:#00000059;border:none;padding:8px 14px;font-size:28px;line-height:1;transition:background .15s;position:absolute;top:50%;transform:translateY(-50%)}.carousel__arrow:hover{background:#0009}.carousel__arrow--prev{left:12px}.carousel__arrow--next{right:12px}.carousel__dots{z-index:2;gap:7px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.carousel__dot{cursor:pointer;background:0 0;border:1.5px solid #ffffffb3;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s}.carousel__dot--active{background:#fff}.email-copy-tile{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}.email-copy-tile .v{transition:color .2s}.email-copy-tile .arrow{transition:opacity .2s}.writing-teaser{border:2px solid var(--ink);background:radial-gradient(circle at 12% 18%, var(--a2) 0%, transparent 42%), radial-gradient(circle at 88% 82%, var(--a1) 0%, transparent 50%), var(--paper-2);padding:56px 32px 64px;position:relative}@supports (color:color-mix(in lab, red, red)){.writing-teaser{background:radial-gradient(circle at 12% 18%, color-mix(in oklab, var(--a2) 18%, transparent) 0%, transparent 42%), radial-gradient(circle at 88% 82%, color-mix(in oklab, var(--a1) 14%, transparent) 0%, transparent 50%), var(--paper-2)}}.writing-teaser{box-shadow:8px 8px 0 var(--ink);overflow:hidden}.writing-teaser:before{content:"";border:1px dashed var(--ink);position:absolute;inset:8px}@supports (color:color-mix(in lab, red, red)){.writing-teaser:before{border:1px dashed color-mix(in oklab, var(--ink) 35%, transparent)}}.writing-teaser:before{pointer-events:none}.writing-teaser__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:20px;display:flex;position:relative}.writing-teaser__head .section-num{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:12px}.writing-teaser__title{font-family:var(--f-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 24px;font-size:clamp(36px,5.2vw,64px);font-weight:700;line-height:1.05;position:relative}.writing-teaser__lead{max-width:62ch;color:var(--ink-2);margin:0 0 32px;font-size:18px;line-height:1.6;position:relative}.writing-teaser__cta{flex-wrap:wrap;gap:12px;display:flex;position:relative}@media (max-width:720px){.writing-teaser{box-shadow:5px 5px 0 var(--ink);padding:36px 20px 44px}.writing-teaser__title{font-size:clamp(30px,8vw,44px)}.writing-teaser__lead{font-size:16px}}.gallery-trigger-wrap{justify-content:center;padding:8px 0 4px;display:flex}.gallery-trigger{background:var(--paper-2);border:1.5px solid var(--ink);font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);cursor:pointer;box-shadow:none;border-radius:2px;align-items:center;gap:10px;padding:8px 22px;font-size:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s,box-shadow .2s;display:inline-flex;transform:scale(.88)}.gallery-trigger:hover{background:var(--paper-3);box-shadow:3px 3px 0 var(--ink);transform:scale(1)}@supports (color:color-mix(in lab, red, red)){.gallery-trigger:hover{box-shadow:3px 3px 0 color-mix(in oklab, var(--ink) 20%, transparent)}}.gallery-trigger--open{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:scale(1)}.gallery-trigger--open:hover{background:var(--ink);box-shadow:3px 3px 0 var(--ink);transform:scale(1.04)}@supports (color:color-mix(in lab, red, red)){.gallery-trigger--open:hover{box-shadow:3px 3px 0 color-mix(in oklab, var(--ink) 30%, transparent)}}.gallery-trigger-icon{font-size:14px;transition:transform .2s}.gallery-trigger:hover .gallery-trigger-icon{transform:translateY(2px)}.gallery-trigger--open .gallery-trigger-icon{transform:none}.gallery-drawer{opacity:0;max-height:0;margin-top:0;transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .35s,margin-top .35s;overflow:hidden}.gallery-drawer--open{opacity:1;max-height:1200px;margin-top:24px}.gallery-drawer .gallery-bento{min-height:340px}.gallery-drawer .gallery-bento .g-hero{min-height:240px}.gallery-drawer .ph{justify-content:center;align-items:center;min-height:160px;display:flex}.more-card{background:var(--paper-2);width:fit-content;color:var(--ink);text-align:center;flex-direction:column;grid-area:1/4;justify-content:flex-start;place-self:start end;align-items:center;padding:20px 22px;display:flex}.more-title{font-family:var(--f-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 16px;font-size:clamp(22px,3vw,38px);font-weight:700}.more-links{flex-direction:column;align-items:center;gap:8px;display:flex}.more-card .hero-strip-btn{box-shadow:3px 3px 0 var(--ink);padding:5px 10px;font-size:11px;transition:transform .22s cubic-bezier(.34,1.4,.64,1),background .18s,box-shadow .18s}.more-card .hero-strip-btn:hover{background:var(--paper-3);box-shadow:4px 4px 0 var(--ink);transform:scale(1.1)translateY(-2px)}.more-card:hover{box-shadow:3px 8px 0 var(--ink);transform:scale(1.02)translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.more-card:hover{box-shadow:3px 8px 0 color-mix(in oklab, var(--ink) 18%, transparent)}}.more-card:hover{z-index:4}.stack-links{flex-direction:column;gap:4px;margin-top:4px;display:flex}.stack-link{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.8;padding:2px 0;font-size:12px;text-decoration:none;transition:opacity .15s}.stack-link:hover{opacity:1}.unit.unit-origin{border-left:3px solid var(--a3)}.more-card{transition:transform .42s cubic-bezier(.34,1.4,.64,1),box-shadow .35s,filter .35s,z-index}.resume-panel{border:1.5px solid var(--ink);border-radius:6px;max-width:860px;overflow:hidden}.resume-panel__header{border-bottom:1.5px solid var(--ink);background:var(--paper-2);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding:40px 48px;display:flex}.resume-panel__title{font-family:var(--f-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 8px;font-size:clamp(32px,5vw,56px);font-weight:700}.resume-panel__seeking{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--a1);margin:0;font-size:13px}.resume-panel__download{align-self:center}.resume-panel__body{flex-direction:column;align-items:flex-start;gap:24px;padding:40px 48px;display:flex}.resume-panel__wip{font-family:var(--f-body);color:var(--ink-2);margin:0;font-size:16px}.wip{border:1px dashed var(--ink);text-align:center;background:var(--paper);border-radius:6px;margin-top:8px;padding:56px 24px}.wip-tag{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px;font-size:11px}.wip-text{font-family:var(--f-hand,var(--f-display));color:var(--ink);margin:0;font-size:28px}.ig-name-section{z-index:499;background:var(--paper);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes igGreenFlash{0%{box-shadow:inset 0 0 #22c55e00}28%{box-shadow:inset 0 0 0 5px #22c55ed9}65%{box-shadow:inset 0 0 0 3px #22c55e73}to{box-shadow:inset 0 0 #22c55e00}}.ig-name-section--flash{animation:.56s forwards igGreenFlash}.ig-name-section--out{opacity:0;pointer-events:none;transition:opacity .9s cubic-bezier(.4,0,.2,1)}.ig-cursor{pointer-events:none;z-index:502;background:var(--ink);border-radius:50%;width:18px;height:18px;position:fixed;top:-100px;left:-100px;transform:translate(-50%,-50%)}.ig-gate{z-index:500;cursor:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.ig-gate-bg{background:var(--paper);pointer-events:none;position:absolute;inset:0}.ig-gate--exit{animation:.58s forwards igGateFade}@keyframes igGateFade{0%{opacity:1}to{opacity:0}}.ig-canvas{pointer-events:none;z-index:1;position:absolute;inset:0}.ig-piece{-webkit-user-select:none;user-select:none;top:-9999px;left:-9999px}.ig-piece-bg{background:#ff5a1f;position:absolute;inset:0}.ig-pbg-ent{clip-path:polygon(0 0,190px 0,190px 35px,250px 35px,250px 95px,190px 95px,190px 130px,0 130px)}.ig-pbg-er{clip-path:polygon(0 0,160px 0,160px 130px,0 130px,0 95px,60px 95px,60px 35px,0 35px)}.ig-ptw{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ig-ptw-ent{padding-right:60px}.ig-ptw-er{padding-left:60px}.ig-ptext{font-family:var(--f-display);letter-spacing:-.03em;color:#0000;-webkit-text-stroke:3px #1a1a1a8c;font-size:78px;font-weight:700;line-height:1;transition:color .28s,-webkit-text-stroke .28s}.ig-ptext--on{color:#0d2b52;-webkit-text-stroke:0px transparent}.ig-ptext--slide-right{animation:.42s cubic-bezier(.4,0,1,1) forwards igSlideRight}.ig-ptext--slide-left{animation:.42s cubic-bezier(.4,0,1,1) forwards igSlideLeft}@keyframes igSlideRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(58px)}}@keyframes igSlideLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-58px)}}.ig-enter-word{z-index:3;pointer-events:none;font-family:var(--f-display);letter-spacing:-.03em;color:#0d2b52;white-space:nowrap;opacity:0;font-size:78px;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.ig-enter-word--show{animation:.38s cubic-bezier(.16,1,.3,1) forwards igEnterFlash}@keyframes igEnterFlash{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}65%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.ig-piece--exit{animation:.52s cubic-bezier(.55,0,1,.45) forwards igPieceExit}@keyframes igPieceExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.22)}}.ig-name{text-align:center;flex-direction:column;align-items:center;gap:0;display:flex}.ig-line{white-space:nowrap;font-size:0;line-height:.94}@media (max-width:640px){.ig-line{white-space:normal}}.ig-line-2{align-items:baseline;gap:clamp(14px,2vw,28px);display:flex}@keyframes igCharRise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes igWordAbove{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes igWordBelow{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.ig-ch,.ig-wd{font-family:var(--f-display);letter-spacing:-.03em;opacity:0;font-size:clamp(36px,9vw,128px);font-weight:700;line-height:.94;display:inline-block}@media (min-width:641px){.ig-ch,.ig-wd{font-size:clamp(35px,4.5vw,69px)}}.ig-play .ig-ch{animation:.5s cubic-bezier(.22,.61,.36,1) both igCharRise}.ig-play .ig-wd--above{animation:.42s cubic-bezier(.34,1.56,.64,1) both igWordAbove}.ig-play .ig-wd--below{animation:.42s cubic-bezier(.34,1.56,.64,1) both igWordBelow}.ig-ch,.ig-wd--above,.ig-wd--below{color:#0d2b52}:root{--motion-x:50vw;--motion-y:50vh;--pointer-speed:0;--scroll-velocity:0}.motion-ready #home{background:radial-gradient(circle at var(--motion-x) var(--motion-y), var(--a1) 0 90px, transparent 260px), linear-gradient(to right, var(--ink) 1px, transparent 1px) 0 0 / 26px 26px, linear-gradient(to bottom, var(--ink) 1px, transparent 1px) 0 0 / 26px 26px, var(--paper)}@supports (color:color-mix(in lab, red, red)){.motion-ready #home{background:radial-gradient(circle at var(--motion-x) var(--motion-y), color-mix(in oklab, var(--a1) calc(8% * var(--pointer-speed)), transparent) 0 90px, transparent 260px), linear-gradient(to right, color-mix(in oklab, var(--ink) 5%, transparent) 1px, transparent 1px) 0 0 / 26px 26px, linear-gradient(to bottom, color-mix(in oklab, var(--ink) 5%, transparent) 1px, transparent 1px) 0 0 / 26px 26px, var(--paper)}}.hero-title__line{opacity:0;clip-path:inset(0 0 100%);display:inline-block;transform:translateY(18px)}.hero--landed .hero-title__line{animation:.72s cubic-bezier(.16,1,.3,1) forwards heroLineSettle}.hero--landed .hero-title__line--two{animation-delay:.11s}.hero--landed .hero-portrait img{animation:1.1s cubic-bezier(.16,1,.3,1) both portraitEditorialSettle}@keyframes heroLineSettle{to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes portraitEditorialSettle{0%{filter:saturate(.88)contrast(.96);transform:scale(1.08)}to{filter:saturate()contrast();transform:scale(1)}}.section-head{z-index:20;background:var(--paper);position:sticky;top:18px;overflow:hidden}.section-head .section-num{transition:transform .72s cubic-bezier(.16,1,.3,1);display:inline-block;transform:translateY(100%)}.section-head.is-visible .section-num{transform:translateY(0)}.reveal{clip-path:inset(0 0 18%)}.reveal.is-visible{clip-path:inset(0);transition:opacity .62s,transform .72s cubic-bezier(.16,1,.3,1),clip-path .72s cubic-bezier(.16,1,.3,1)}.bento .card{isolation:isolate;overflow:hidden}.contact-bento .tile{isolation:isolate;overflow:visible}.bento .card:before,.contact-bento .tile:before{content:"";opacity:.2;transform-origin:0;pointer-events:none;z-index:1;border-top:3px solid;transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .3s;position:absolute;inset:0;transform:scaleX(0)}.bento .card.is-visible:before,.contact-bento .tile.is-visible:before,.bento .card:hover:before,.contact-bento .tile:hover:before{opacity:.34;transform:scaleX(1)}.bento .card:not(.card-bio):not(.card--full):not(.card-spotlight):hover{transform:scale(1.03)translateY(-4px)}.card-bio .bio-tagline,.now-text,.stack-text,.more-title{text-wrap:balance}.carousel{aspect-ratio:auto;background:0 0;border:0;max-width:min(980px,100%);margin-inline:auto;padding:36px clamp(0px,3vw,34px) 52px;position:relative;overflow:visible}.carousel__meta{width:max-content;font-family:var(--f-mono);letter-spacing:.14em;color:var(--ink-2);align-items:center;gap:12px;margin:0 0 14px auto;font-size:11px;display:flex}.carousel__meta i{background:var(--ink);width:52px;height:1px}@supports (color:color-mix(in lab, red, red)){.carousel__meta i{background:color-mix(in oklab, var(--ink) 35%, transparent)}}.carousel__frame{border:1.5px solid var(--ink);min-height:clamp(390px,58vw,620px);box-shadow:10px 12px 0 var(--ink);cursor:grab;touch-action:pan-y;transform:perspective(1000px) rotateX(calc(var(--scroll-velocity) * -1deg)) translateY(calc(var(--scroll-velocity) * -8px));border-radius:0;position:relative;inset:auto;overflow:hidden}.carousel__frame:active{cursor:grabbing}.carousel__frame:after{content:"";border:1px solid var(--paper);position:absolute;inset:14px}@supports (color:color-mix(in lab, red, red)){.carousel__frame:after{border:1px solid color-mix(in oklab, var(--paper) 70%, transparent)}}.carousel__frame:after{pointer-events:none;mix-blend-mode:screen}.carousel__placeholder{flex-direction:column;justify-content:space-between;align-items:flex-start;padding:clamp(22px,4vw,46px);display:flex}.carousel__placeholder:before{content:"";background:radial-gradient(circle at 72% 28%,#ffffff3d,#0000 0 24%,#0000 48%),linear-gradient(135deg,#ffffff2e,#0000 42%);position:absolute;inset:0}.carousel__ph-tag,.carousel__ph-copy,.carousel__ph-place,.carousel__ph-desc{z-index:1;position:relative}.carousel__ph-tag,.carousel__ph-desc{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.12em}.carousel__ph-tag{border:1px solid;padding:6px 9px;font-size:12px}.carousel__ph-copy{gap:clamp(16px,2.2vw,28px);max-width:min(720px,84%);display:grid}.carousel__ph-place{max-width:13ch;font-family:var(--f-display);letter-spacing:0;text-wrap:balance;font-size:clamp(64px,10vw,132px);line-height:.84}.carousel__ph-desc{color:currentColor;max-width:28ch;font-size:clamp(15px,2vw,24px);line-height:1.15}@supports (color:color-mix(in lab, red, red)){.carousel__ph-desc{color:color-mix(in oklab, currentColor 86%, var(--paper))}}.carousel__ph-desc{text-wrap:balance}.carousel__caption{background:linear-gradient(#0000,#0000002e 28%,#000000c2);justify-content:space-between;align-items:end;gap:20px;min-height:116px;padding:clamp(20px,3vw,34px);display:flex}.carousel__caption span{font-family:var(--f-display);letter-spacing:0;text-wrap:balance;max-width:24ch;font-size:clamp(34px,5.5vw,72px);line-height:.94}.carousel__caption small{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.7;white-space:nowrap;font-size:10px}@media (max-width:640px){.carousel{padding-bottom:42px}.carousel__frame{min-height:430px}.carousel__placeholder{padding:24px}.carousel__ph-place{font-size:clamp(48px,17vw,78px)}.carousel__ph-desc{font-size:14px}.carousel__caption{flex-direction:column;align-items:start;min-height:150px}.carousel__caption span{font-size:clamp(32px,11vw,48px)}}.strata .srow{transition:transform .5s cubic-bezier(.16,1,.3,1),filter .35s;position:relative}.strata .srow:before{content:"";background:var(--ink);z-index:2;pointer-events:none;width:0;transition:width .46s cubic-bezier(.16,1,.3,1);position:absolute;inset:0 auto 0 0}.strata .srow.is-current-layer{filter:saturate(1.06);transform:translate(4px)}.strata .srow.is-current-layer:before{width:8px}.strata .srow.is-current-layer .year{color:var(--ink);background:var(--paper-3)}@supports (color:color-mix(in lab, red, red)){.strata .srow.is-current-layer .year{background:color-mix(in oklab, var(--paper-3) 72%, transparent)}}.strata .unit:after{transition:inset .46s cubic-bezier(.16,1,.3,1),opacity .3s}.strata .srow.is-current-layer .unit:after{opacity:1;inset:5px}.is-reduced-motion *,.is-reduced-motion :before,.is-reduced-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.bg-audio-btn{z-index:29;color:#fff;cursor:pointer;opacity:0;background:#e11d48;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .15s,box-shadow .15s,opacity .4s;animation:.6s .3s forwards bgAudioFadeIn;display:flex;position:fixed;top:76px;right:20px;box-shadow:0 2px 8px #00000040}.bg-audio-btn:hover{transform:scale(1.12);box-shadow:0 4px 14px #0000004d}.bg-audio-btn:active{transform:scale(.95)}@keyframes bgAudioFadeIn{to{opacity:1}}body.motion-ready,body.motion-ready *{cursor:none!important}.site-cursor{pointer-events:none;z-index:9999;background:var(--ink);width:16px;height:16px;transform:translate(calc(var(--motion-x,-200px) - 8px), calc(var(--motion-y,-200px) - 8px));will-change:transform;opacity:0;border-radius:50%;transition:background .5s,opacity .3s;position:fixed;top:0;left:0}body[data-cursor-active] .site-cursor{opacity:1}body:has(.ig-gate) .site-cursor{opacity:0!important}body[data-active-section=about] .site-cursor{background:#1d4ed8}body[data-active-section=gallery] .site-cursor{background:var(--a2)}.about-gap{pointer-events:none}.card-modal{z-index:2000;cursor:default;background:0 0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.card-modal__scene{perspective:1400px;cursor:default;filter:drop-shadow(0 16px 48px #00000061);position:relative}.card-modal__inner{height:500px;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.34,1,.64,1),width .28s;position:relative}.card-modal__inner.is-flipped{transform:rotateY(180deg)}.card-modal__face{backface-visibility:hidden;border:2px solid var(--ink);background:var(--paper);box-shadow:6px 10px 0 var(--ink);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.card-modal__face{box-shadow:6px 10px 0 color-mix(in oklab, var(--ink) 28%, transparent)}}.card-modal__face--back{background:var(--paper-2);justify-content:center;align-items:center;transform:rotateY(180deg)}.card-modal__header{background:var(--a3);font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;flex-shrink:0;padding:9px 18px;font-size:10px}.card-modal__image{background:var(--ink);flex:1;min-height:0;position:relative}.card-modal__info{border-top:1.5px solid var(--ink);flex-shrink:0;min-height:70px;padding:16px 20px 12px}.card-modal__caption-text{font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 4px;font-size:15px;font-weight:700}.card-modal__desc-text{color:var(--ink-2);margin:0;font-size:12px;line-height:1.4}.card-modal__flip-btn{background:var(--ink);color:var(--paper);font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;flex-shrink:0;width:100%;padding:12px 20px;font-size:10px;transition:background .2s}.card-modal__flip-btn:hover{background:var(--a3)}.card-modal__back-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex}.card-modal__back-content p{font-family:var(--f-display);color:var(--ink-2);font-size:16px;line-height:1.5}@media (max-width:1100px){.about-stacks{grid-template-columns:1fr 1fr}.about-gap{display:none}}@media (max-width:860px){.about-gap{display:none}}.card-bio{margin-right:18px}.about-stacks>.card:nth-child(3){margin-left:18px}body:has(.site-footer:hover) .site-cursor{background:#fff}body:has(#work .srow.is-current-layer) .site-cursor{opacity:0!important}#about{transition:filter 2s}body:has(#work .srow:first-child.is-current-layer) #about{filter:blur(1.8px)brightness(.92);-webkit-mask-image:linear-gradient(#000 45%,#0000 95%);mask-image:linear-gradient(#000 45%,#0000 95%)}#work .section-head,#contact .section-head{justify-content:flex-end}.section-pill{background:var(--a1);pointer-events:none;z-index:50;opacity:0;will-change:left, top, width, height, border-radius;border-radius:1px;height:2.5px;position:fixed}@keyframes pillFlash{0%,to{opacity:1}50%{opacity:.08}}@keyframes pillFadeOut{to{opacity:0}}.section-pill--flash{animation:.38s 2 pillFlash,.32s .78s forwards pillFadeOut}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
