/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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}}}@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;--spacing:.25rem;--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{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.table{display:table}.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}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);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)}}:root{--ink:#f0eee7;--muted:#aaa9a2;--dim:#737670;--line:#ffffff29;--panel:#0d1110;--accent:#a8f2c0;--accent-rgb:168, 242, 192;--background:#080a09}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;scrollbar-color:rgba(var(--accent-rgb), .58) #090b0b;scrollbar-width:thin}body{background:var(--background);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}::selection{background:var(--accent);color:#07100b}.portfolio{--accent:#a8f2c0;--accent-rgb:168, 242, 192;--atmosphere:#275b3f2e;background:linear-gradient(115deg,#090c0b 0%,#080a09 52%,#070808 100%);min-height:100vh;transition:--accent .7s,background .9s;overflow:clip}.portfolio:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 72% 48%,#0000 0 29%,#0305062e 68%,#03050685 100%),linear-gradient(90deg,#04060647,#0000 42%);position:fixed;inset:0}.portfolio[data-theme=space]{--accent:#ffbd6b;--accent-rgb:255, 189, 107;--atmosphere:#9930293d}.portfolio[data-theme=education]{--accent:#7ce8ff;--accent-rgb:124, 232, 255;--atmosphere:#195a7c40}.portfolio[data-theme=building]{--accent:#8ad8ff;--accent-rgb:138, 216, 255;--atmosphere:#163f6440}.portfolio[data-theme=impact]{--accent:#ff8e6a;--accent-rgb:255, 142, 106;--atmosphere:#832a1d42}.skip-link{z-index:100;background:var(--ink);color:#050606;padding:.8rem 1rem;transition:transform .18s;position:fixed;top:.8rem;left:.8rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.scene-canvas{pointer-events:none;z-index:0;width:100%;height:100%;transition:opacity .7s cubic-bezier(.22,1,.36,1);position:fixed;inset:0}.scene-canvas[data-webgl=pending]{opacity:0}.scene-canvas[data-webgl=ready]{opacity:1}.scene-canvas[data-webgl=fallback]{display:none}.scene-fallback{z-index:0;pointer-events:none;background:radial-gradient(circle at 78% 46%, rgba(var(--accent-rgb),.16), transparent 26rem), linear-gradient(110deg, transparent 42%, rgba(var(--accent-rgb),.035));display:none;position:fixed;inset:0;overflow:hidden}.scene-canvas[data-webgl=fallback]+.scene-fallback{display:block}.scene-fallback__orbit,.scene-fallback__core{border:1px solid rgba(var(--accent-rgb),.42);border-radius:50%;position:absolute;top:50%;left:76%;transform:translate(-50%,-50%)rotate(-12deg)}.scene-fallback__orbit{aspect-ratio:1.8;width:min(58vw,46rem)}.scene-fallback__core{aspect-ratio:1;border-color:rgba(var(--accent-rgb),.22);background:radial-gradient(circle at 32% 28%, #ffffff4d, var(--accent) 9%, rgba(var(--accent-rgb),.22) 45%, #030709f5 76%);width:min(30vw,23rem);box-shadow:0 0 8rem rgba(var(--accent-rgb),.22)}.scroll-progress{z-index:80;background:#ffffff12;height:2px;position:fixed;inset:0 0 auto}.scroll-progress span{background:var(--accent);width:100%;height:100%;box-shadow:0 0 18px rgba(var(--accent-rgb), .7);transform-origin:0;display:block}.site-header{z-index:50;pointer-events:none;grid-template-columns:1fr auto;align-items:center;display:grid;position:fixed;top:1.35rem;left:2rem;right:2rem}.site-header>*{pointer-events:auto}.wordmark{letter-spacing:-.035em;align-items:baseline;gap:.9rem;width:max-content;font-size:.92rem;font-weight:620;text-decoration:none;display:flex}.wordmark span{color:#7e817c;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.55rem;font-weight:450}.site-header nav{border-bottom:1px solid #ffffff24;gap:1.2rem;padding:0 0 .7rem;display:flex}.site-header nav a{color:#989c97;text-transform:uppercase;letter-spacing:.12em;min-height:2.25rem;font-family:var(--font-geist-mono), monospace;align-items:center;gap:.36rem;padding:0;font-size:.59rem;text-decoration:none;transition:color .24s,transform .24s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.site-header nav a span{color:#a7aaa4;opacity:1}.site-header nav a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .28s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-.76rem;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover{color:var(--ink);transform:translateY(-1px)}.site-header nav a[data-active]{color:var(--ink)}.site-header nav a[data-active]:after{transform:scaleX(1)}.portfolio[data-enhanced] [data-reveal]{opacity:0;transition-property:opacity,transform;transition-duration:.8s;transition-timing-function:cubic-bezier(.22,1,.36,1);transform:translateY(2.2rem)}.portfolio[data-enhanced] [data-reveal][data-revealed=true],[data-reveal][data-revealed=true],.portfolio[data-enhanced] [data-reveal]:focus-within{opacity:1;transform:translateY(0)}.portfolio[data-enhanced] [data-reveal]:not([data-revealed]) .portrait-orbit,.portfolio[data-enhanced] [data-reveal]:not([data-revealed]) .cell-legend span,.portfolio[data-enhanced] [data-reveal]:not([data-revealed]) .signal-bars span,.portfolio[data-enhanced] [data-reveal]:not([data-revealed]) .terrain-map i,.portfolio[data-enhanced] [data-reveal]:not([data-revealed]) .education-node span,.portfolio[data-enhanced] .health-visual:not([data-revealed]):before,.portfolio[data-enhanced] .health-visual:not([data-revealed]) .sequence-window{animation-play-state:paused}[data-scroll-copy]{opacity:var(--beat-opacity,1);transform:translate3d(0, var(--beat-translate-y,0px), 0);clip-path:inset(var(--beat-clip-top,0%) 0 var(--beat-clip-bottom,0%) 0);will-change:transform, clip-path}[data-scroll-copy]:focus-within{opacity:1!important;clip-path:none!important;transform:none!important}main{z-index:2;position:relative}.chapter{min-height:100vh;position:relative}.hero{grid-template-columns:minmax(0,1.15fr) minmax(21rem,.85fr);align-items:center;min-height:100svh;padding:8rem clamp(2rem,7vw,8.8rem) 4rem;display:grid}.hero-index{color:#777a75;font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;font-size:.62rem;position:absolute;top:8rem;right:clamp(2rem,7vw,8.8rem)}.hero-copy{max-width:57rem}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-family:var(--font-geist-mono), monospace;align-items:center;gap:.68rem;margin:0 0 1.5rem;font-size:clamp(.62rem,.7vw,.75rem);display:flex}.eyebrow span{background:currentColor;width:1.7rem;height:1px}.hero h1,.chapter-heading h2,.impact-copy h2,.contact-section h2{letter-spacing:-.075em;text-wrap:balance;margin:0;font-weight:610;line-height:.84}.hero h1{font-size:clamp(4.7rem,9.5vw,10.4rem)}.hero h1 em,.chapter-heading h2 em,.impact-copy h2 em,.contact-section h2 em{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-lede{color:#c9ccc5;letter-spacing:-.025em;text-wrap:pretty;max-width:38rem;margin:2.6rem 0 .3rem;font-size:clamp(1.05rem,1.55vw,1.42rem);line-height:1.52}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.2rem;display:flex}.button{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;min-height:3.1rem;font-family:var(--font-geist-mono), monospace;justify-content:center;align-items:center;gap:1.5rem;padding:0 1.1rem;font-size:.68rem;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .22s,border-color .22s;display:inline-flex}:is(.button:hover,.button:focus-visible){transform:translateY(-3px)}.button:active{transform:translateY(0)scale(.97)}.button-primary{background:var(--accent);border-color:var(--accent);color:#06100b}.button-ghost{background:0 0}.portrait-wrap{aspect-ratio:.81;justify-self:center;width:min(28vw,27rem);position:relative}.portrait-frame{border:1px solid rgba(var(--accent-rgb), .5);border-radius:.4rem;position:absolute;inset:8% 6%;overflow:hidden;transform:rotate(1.3deg);box-shadow:0 38px 90px #0000006b}.portrait-frame:after{content:"";background:linear-gradient(#0000 55%,#05080785);position:absolute;inset:0}.portrait-frame img{object-fit:cover;object-position:50% 50%;filter:saturate(.76)contrast(1.06);width:100%;height:100%;transform:scale(1.04)rotate(-2deg)}.portrait-orbit{border:1px solid rgba(var(--accent-rgb), .27);border-radius:50%;animation:4.6s cubic-bezier(.22,1,.36,1) both orbit-spin;position:absolute}.orbit-one{inset:1% -13%;transform:rotate(25deg)}.orbit-two{animation-duration:4.8s;animation-direction:reverse;inset:12% -22%;transform:rotate(-28deg)}.portrait-orbit:after{content:"";background:var(--accent);width:.55rem;height:.55rem;box-shadow:0 0 17px var(--accent);border-radius:50%;position:absolute;top:11%;left:17%}.portrait-note{z-index:2;border-left:1px solid var(--accent);color:#b8bbb5;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050807bd;margin:0;padding:.9rem 1.1rem;font-size:.64rem;line-height:1.55;position:absolute;bottom:7%;right:-8%}.portrait-note span{color:var(--accent);display:block}.scroll-cue{color:#7f827d;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:.7rem;margin:0;font-size:.6rem;display:flex;position:absolute;bottom:2.2rem;left:clamp(2rem,7vw,8.8rem)}.scroll-cue__line{background:linear-gradient(90deg, var(--accent), transparent);width:2.8rem;height:1px;animation:1.6s ease-in-out 2 scroll-pulse}.scroll-cue__touch{display:none}.scroll-cue kbd{border:1px solid rgba(var(--accent-rgb), .42);min-width:1.45rem;min-height:1.45rem;color:var(--accent);font:inherit;box-shadow:inset 0 -2px 0 rgba(var(--accent-rgb), .16);border-radius:.2rem;place-items:center;margin-inline:.12rem;display:inline-grid}.split-section{grid-template-columns:minmax(20rem,.82fr) minmax(25rem,1fr);gap:clamp(3rem,8vw,10rem);min-height:330vh;padding:10rem clamp(2rem,7vw,8.8rem) 8rem;display:grid}.sticky-copy{z-index:3;flex-direction:column;justify-content:center;align-self:start;min-height:100vh;display:flex;position:sticky;top:0}.chapter-heading h2,.impact-copy h2,.contact-section h2{font-size:clamp(3.7rem,6.6vw,7.6rem)}.section-intro{color:#b5b8b1;max-width:36rem;margin:2rem 0 0;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.65}.source-link{width:max-content;color:var(--accent);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;margin-top:1.7rem;font-size:.68rem;text-decoration:none}.content-rail{z-index:3;flex-direction:column;gap:0;padding:16vh 0 8vh;display:flex;position:relative}.content-rail>[data-scene-step]{flex-direction:column;justify-content:center;min-height:94vh;display:flex}.health-section{isolation:isolate;background:linear-gradient(90deg,#080a09fa 0%,#080a09c7 41%,#080a090a 72%)}.health-visual{z-index:1;pointer-events:none;margin:0;position:absolute;inset:0;overflow:hidden}.health-visual:before{content:"";border:1px solid rgba(var(--accent-rgb),.12);border-radius:50%;width:42vw;height:76vh;animation:4.8s cubic-bezier(.22,1,.36,1) both health-orbit;display:block;position:sticky;top:12vh;left:52%;transform:rotate(-11deg);box-shadow:inset 0 0 0 9vw #080a090b}.health-annotation{color:#b8bcb6;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.62rem;display:flex;position:absolute;right:clamp(2rem,5vw,5.5rem)}.health-annotation:before{content:"";background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb),.38));width:clamp(3rem,8vw,9rem);height:1px}.health-annotation span{color:var(--accent);font-variant-numeric:tabular-nums}.health-annotation-a{top:22%}.health-annotation-b{top:48%;right:clamp(5rem,12vw,13rem)}.health-annotation-c{top:74%}.sequence-window{width:62vw;color:rgba(var(--accent-rgb),.18);font-family:var(--font-geist-mono), monospace;letter-spacing:.72em;white-space:nowrap;font-size:clamp(.62rem,1vw,.82rem);animation:4.5s cubic-bezier(.22,1,.36,1) both sequence-drift;position:absolute;bottom:8vh;right:-12rem;overflow:hidden}.research-card,.orbit-card{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(110deg,#080b0af0,#080b0ab8 74%,#080b0a29);border-top:1px solid #ffffff42;border-bottom:1px solid #ffffff14;padding:clamp(1.5rem,3vw,2.6rem);position:relative;overflow:hidden;box-shadow:0 32px 80px #0000001a}.research-card:before,.orbit-card:before,.project-card:before{content:"";background:var(--accent);width:4.2rem;height:2px;position:absolute;inset:-1px auto auto 0}.featured-card{transform:translate(-4%)}.research-card h3,.orbit-card h3{letter-spacing:-.055em;max-width:30rem;margin:1.3rem 0 1rem;font-size:clamp(2rem,3vw,3.5rem);line-height:.98}.research-card>p:not(.card-kicker),.orbit-card>p{color:#b9bcb5;max-width:36rem;font-size:1rem;line-height:1.65}.card-meta{color:var(--accent);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.12em;justify-content:space-between;gap:2rem;font-size:.61rem;display:flex}.card-kicker{color:var(--accent);margin:-.45rem 0 1.5rem;font-family:Georgia,serif;font-size:1.05rem;font-style:italic}.mini-tags,.tag-list{flex-wrap:wrap;gap:.45rem;margin:1.6rem 0 0;padding:0;list-style:none;display:flex}.mini-tags li,.tag-list li{border-bottom:1px solid rgba(var(--accent-rgb),.28);color:#abb0aa;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;padding:.45rem 0;font-size:.58rem}.cell-legend{grid-template-columns:repeat(9,1fr);gap:.6rem;margin-top:2rem;display:grid}.cell-legend span{aspect-ratio:1;border:1px solid rgba(var(--accent-rgb),.2);background:radial-gradient(circle at calc(25% + (var(--i) * 4%)) 35%, #ff6fa9cc 0 9%, transparent 10%), radial-gradient(circle, rgba(var(--accent-rgb),.23), transparent 69%);width:100%;animation:2s ease-in-out 2 alternate cell-breathe;animation-delay:calc(var(--i) * 45ms);border-radius:42% 58% 53% 47%}.model-flow{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:.55rem;margin-top:2rem;font-size:.62rem;display:flex}.model-flow span,.model-flow strong{border:1px solid #ffffff26;padding:.6rem}.model-flow strong{color:#06100b;background:var(--accent)}.model-flow i{background:rgba(var(--accent-rgb),.5);flex:1;min-width:.5rem;height:1px}.space-section{background:linear-gradient(#0000 78%,#050c12eb 100%),linear-gradient(90deg,#06080de6 0%,#06080d80 48%,#0000 70%)}.space-rail{padding-top:24vh}.orbit-card{background:linear-gradient(110deg,#0c0a0df0,#0c0a0dad,#0c0a0d1a);max-width:41rem}.offset-card{transform:translate(7%)}.project-number{font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;color:var(--accent)!important;font-size:.62rem!important}.signal-bars{align-items:end;gap:3px;height:5.2rem;margin-top:1.8rem;display:flex}.signal-bars span{background:linear-gradient(180deg, var(--accent), rgba(var(--accent-rgb),.04));flex:1;max-width:.55rem;animation:1.7s ease-in-out 2 alternate signal-dance}.signal-bars span:nth-child(3n){animation-delay:-1.2s}.terrain-map{background:repeating-radial-gradient(ellipse at 66% 30%, transparent 0 16px, rgba(var(--accent-rgb),.12) 17px 18px, transparent 19px 29px), linear-gradient(150deg, #241716, #0c0d12);border:1px solid #ffffff1a;height:9rem;margin-top:1.8rem;position:relative;overflow:hidden}.terrain-map span{border:1px solid var(--accent);width:1rem;height:1rem;box-shadow:0 0 10px var(--accent);border-radius:50%;position:absolute}.terrain-map span:first-child{top:42%;left:21%}.terrain-map span:nth-child(2){top:62%;left:56%}.terrain-map span:nth-child(3){top:22%;left:73%}.terrain-map i{border:1px solid rgba(var(--accent-rgb),.4);width:30%;height:56%;animation:2.2s ease-in-out 2 alternate scan-zone;position:absolute;top:15%;left:18%;transform:rotate(12deg)}blockquote{border-left:1px solid var(--accent);margin:0;padding:0 0 0 1.4rem}blockquote p{margin:0;font-family:Georgia,serif;font-size:clamp(1.6rem,2.5vw,2.8rem);font-style:italic;line-height:1.25}blockquote cite{color:#858985;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.12em;margin-top:.9rem;font-size:.62rem;display:block}.education-section,.building-section,.skills-section,.contact-section{padding:10rem clamp(2rem,7vw,8.8rem)}.education-section{background:linear-gradient(#050c12f0,#0000 18%),linear-gradient(90deg,#05090ceb,#05090c75 51%,#0000 76%);min-height:290vh}.wide-heading{max-width:68rem}.wide-heading .section-intro{max-width:48rem}.education-path{max-width:76rem;margin:8rem auto 0;position:relative}.education-path:before{content:"";background:linear-gradient(var(--accent), rgba(var(--accent-rgb),.08));width:1px;position:absolute;top:1.7rem;bottom:1.7rem;left:16rem}.education-stop{grid-template-columns:13rem 6rem 1fr;align-content:center;min-height:76vh;display:grid}.education-year{color:var(--accent);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin:.8rem 0 0;font-size:.7rem}.education-node{place-items:start center;display:grid;position:relative}.education-node span{z-index:2;border:1px solid var(--accent);width:3.4rem;height:3.4rem;color:var(--accent);font-family:var(--font-geist-mono), monospace;box-shadow:0 0 0 0 rgba(var(--accent-rgb),.2);background:#090d0f;border-radius:50%;place-items:center;font-size:.62rem;animation:4.4s ease-out both node-pulse;display:grid;position:relative}.education-card{padding:.4rem 0 5rem 2rem}.school-label{color:var(--accent);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .8rem;font-size:.67rem}.education-card h3{letter-spacing:-.055em;max-width:48rem;margin:0;font-size:clamp(2rem,4vw,4.6rem);line-height:1}.education-card>p:last-of-type{color:#aeb2ac;max-width:45rem;font-size:1rem;line-height:1.7}.course-grid{flex-wrap:wrap;gap:.45rem;margin:1.4rem 0 0;padding:0;list-style:none;display:flex}.course-grid li{border:1px solid rgba(var(--accent-rgb),.23);color:#9da6a4;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.06em;padding:.55rem .75rem;font-size:.59rem}.compact-stop{min-height:10rem}.building-section{background:linear-gradient(90deg,#06090de0,#06090d4d 58%,#0000);grid-template-columns:minmax(20rem,.8fr) minmax(25rem,1fr);gap:clamp(3rem,8vw,10rem);min-height:430vh;padding-bottom:13rem;display:grid}.building-section>.chapter-heading{flex-direction:column;justify-content:center;align-self:start;min-height:100vh;display:flex;position:sticky;top:0}.project-grid{border-top:0;flex-direction:column;max-width:48rem;margin:0;padding:16vh 0 8vh;display:flex}.project-card{background:linear-gradient(100deg,#05090df2,#05090de6 72%,#05090dd6);border-bottom:1px solid #ffffff24;flex-direction:column;justify-content:center;min-height:92vh;padding:clamp(1.5rem,3vw,2.8rem) clamp(1.2rem,2.2vw,2.2rem);transition:transform .25s cubic-bezier(.22,1,.36,1);display:flex;position:relative;box-shadow:0 2rem 5rem #0000002e}.project-card:hover,.project-card:focus-within{z-index:2;transform:translateY(-4px)}.project-topline{color:var(--accent);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;font-size:.62rem;display:flex}.project-card h3{letter-spacing:-.055em;max-width:30rem;margin:4rem 0 1.3rem;font-size:clamp(2rem,3.2vw,3.5rem);line-height:.95}.project-card>p{color:#aeb2ad;max-width:33rem;font-size:1rem;line-height:1.65}.project-card details{border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;margin-top:2rem}.project-card summary{color:#d8dbd5;cursor:pointer;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;padding:1rem 0;font-size:.65rem;list-style:none;display:flex}.project-card summary::-webkit-details-marker{display:none}.project-card details p{color:#999e98;margin:0;padding:0 0 1rem;font-size:.92rem;line-height:1.62}.text-link{color:var(--accent);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;font-size:.63rem;text-decoration:none;display:inline-block}.impact-section{background:linear-gradient(90deg,#0b07079e,#0000 68%);grid-template-columns:1.08fr .92fr;align-items:start;gap:6vw;min-height:210vh;padding:0 clamp(2rem,7vw,8.8rem);display:grid}.impact-number,.impact-copy{align-self:start;min-height:100vh;position:sticky;top:0}.impact-number{color:var(--accent);letter-spacing:-.11em;text-shadow:0 0 100px rgba(var(--accent-rgb),.18);align-items:center;font-weight:700;line-height:.7;display:flex}.impact-copy{background:linear-gradient(100deg,#0a0607f2,#0a0607db);flex-direction:column;justify-content:center;padding-inline:clamp(1.2rem,2.4vw,2.4rem);display:flex;box-shadow:0 2rem 6rem #0003}.impact-number span{font-size:clamp(8rem,20vw,24rem)}.impact-number sup{margin:-.35em 0 0 .05em;font-family:Georgia,serif;font-size:clamp(3rem,8vw,8rem);font-weight:400}.impact-copy>p:not(.eyebrow){color:#b7bab5;max-width:36rem;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.65}.impact-copy strong{color:var(--ink)}.impact-facts{border-top:1px solid #ffffff26;grid-template-columns:repeat(3,1fr);margin-top:3rem;display:grid}.impact-facts div{border-right:1px solid #ffffff1a;padding:1.1rem 1rem 0 0}.impact-facts span{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:.75rem}.impact-facts p{color:#878b86;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.07em;font-size:.57rem;line-height:1.5}.skills-section{background:#050708b8;border-top:1px solid #ffffff1f;min-height:auto}.skills-heading h2{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,6vw,6rem)}.skills-groups{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:5rem;display:grid}.skills-groups h3{color:var(--accent);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #ffffff21;padding-bottom:1rem;font-size:.65rem}.skills-groups ul{margin:0;padding:0;list-style:none}.skills-groups li{color:#b7bab5;border-bottom:1px solid #ffffff0f;padding:.75rem 0}.contact-section{background:linear-gradient(140deg, rgba(var(--accent-rgb),.12), transparent 52%);flex-direction:column;justify-content:center;min-height:100vh;display:flex}.contact-section h2{max-width:72rem}.contact-row{flex-wrap:wrap;gap:.8rem;margin-top:3.5rem;display:flex}.contact-row a{text-transform:uppercase;letter-spacing:.09em;min-width:17rem;font-family:var(--font-geist-mono), monospace;border:1px solid #ffffff2e;justify-content:space-between;gap:4rem;padding:1.2rem;font-size:.68rem;text-decoration:none;transition:background .22s,color .22s;display:flex}:is(.contact-row a:hover,.contact-row a:focus-visible){background:var(--accent);color:#06100b}.contact-row a:active{transform:scale(.98)}.site-footer{z-index:3;color:#a3a7a2;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.11em;background:#080a09;border-top:1px solid #ffffff24;justify-content:space-between;padding:1.2rem clamp(2rem,7vw,8.8rem) 2rem;font-size:.68rem;display:flex;position:relative}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@keyframes orbit-spin{to{transform:rotate(385deg)}}@keyframes health-orbit{to{transform:rotate(349deg)}}@keyframes sequence-drift{to{transform:translate(-16rem)}}@keyframes scroll-pulse{0%,to{opacity:.3;transform:scaleX(.5)}50%{opacity:1;transform:scaleX(1)}}@keyframes cell-breathe{to{opacity:.55;transform:scale(.84)rotate(5deg)}}@keyframes signal-dance{to{opacity:.36;transform:scaleY(.35)}}@keyframes scan-zone{to{left:49%;transform:rotate(-8deg)}}@keyframes node-pulse{0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.28)}70%,to{box-shadow:0 0 0 20px rgba(var(--accent-rgb),0)}}@media (max-width:980px){html{scroll-padding-bottom:5.5rem}.site-header{grid-template-columns:1fr auto;left:1rem;right:1rem}.site-header nav{background:#080a09f0;border:1px solid #ffffff24;padding:.35rem .65rem;position:fixed;bottom:.8rem;left:50%;transform:translate(-50%)}.site-header nav a:after{bottom:-.4rem}.hero{grid-template-columns:1fr;gap:3rem;padding:8rem 1.5rem 6rem}.portrait-wrap{opacity:.86;justify-self:end;width:min(74vw,25rem)}.hero-index{display:none}.split-section{grid-template-columns:1fr;min-height:auto;padding:8rem 1.5rem}.sticky-copy{min-height:auto;position:relative}.content-rail{gap:2rem;padding:6rem 0 0}.content-rail>[data-scene-step]{min-height:auto}.featured-card,.offset-card{transform:none}.health-visual{opacity:.72}.health-annotation{display:none}.education-section,.building-section,.skills-section,.contact-section{min-height:auto;padding:8rem 1.5rem}.building-section{display:block}.building-section>.chapter-heading{min-height:auto;position:relative}.project-grid{grid-template-columns:1fr;gap:0;max-width:none;margin-top:5rem;padding:0;display:grid}.project-card{min-height:72vh}.impact-section{grid-template-columns:1fr;min-height:100vh;padding:8rem 1.5rem}.impact-number,.impact-copy{min-height:auto;position:relative}.impact-number span{font-size:clamp(8rem,38vw,18rem)}.site-footer{padding-bottom:6.5rem}}@media (max-width:680px){.site-header{top:1rem}.site-header nav{justify-content:space-between;width:calc(100% - 1rem);overflow-x:auto}.site-header nav a{flex:1;justify-content:center;padding:0 .4rem}.site-header nav a span,.wordmark span{display:none}.hero h1{font-size:clamp(4.1rem,19vw,7rem)}.hero-lede{font-size:1rem}.portrait-note{right:0}.chapter-heading h2,.impact-copy h2,.contact-section h2{font-size:clamp(3.3rem,16vw,5.6rem)}.research-card h3,.orbit-card h3{font-size:2.1rem}.cell-legend{grid-template-columns:repeat(6,1fr)}.model-flow{flex-wrap:wrap}.model-flow i{flex:0 0 1rem}.education-path{margin-top:5rem}.education-path:before{left:1.65rem}.education-stop{grid-template-columns:3.4rem 1fr;min-height:21rem}.education-year{grid-column:2;margin:0 0 .8rem 1.2rem}.education-node{grid-area:1/1/span 2}.education-card{grid-column:2;padding:0 0 4rem 1.2rem}.education-card h3{font-size:2.2rem}.project-grid{grid-template-columns:1fr;margin-top:4rem}.project-card{min-height:auto}.project-card h3{margin-top:3rem}.impact-facts,.skills-groups{grid-template-columns:1fr}.impact-facts div{border-bottom:1px solid #ffffff14;border-right:0}.skills-groups{gap:2.5rem;margin-top:3rem}.contact-row a{min-width:100%}.site-footer{flex-direction:column;gap:.7rem;padding-inline:1.5rem}.scene-canvas{opacity:.68}}@media (max-height:620px) and (orientation:landscape){.hero{min-height:46rem}.sticky-copy{min-height:auto}}@media (hover:none),(pointer:coarse){.project-card:hover,.project-card:focus-within,.button:hover{transform:none}.site-header nav a{min-height:2.75rem}}@media (hover:none) and (pointer:coarse) and (any-hover:none) and (any-pointer:coarse){.scroll-cue__keyboard{display:none}.scroll-cue__touch,html[data-keyboard-navigation=true] .scroll-cue__keyboard{display:inline}html[data-keyboard-navigation=true] .scroll-cue__touch{display:none}}@media (prefers-reduced-transparency:reduce){.research-card,.orbit-card,.portrait-note,.project-card,.impact-copy,.site-header nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0b0e0f}}@media (prefers-contrast:more){.research-card,.orbit-card,.portrait-note,.project-card,.impact-copy{background:#050708;border:1px solid}.wordmark,.site-header nav{background:#050708;border:1px solid;padding:.65rem .8rem}}@media (forced-colors:active){.scene-canvas,.scene-fallback,.portfolio:after{display:none!important}.site-header,.wordmark,.site-header nav{color:canvastext;background:canvas}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.portfolio[data-enhanced] [data-reveal]{opacity:1;transform:none}[data-scroll-copy]{opacity:1;clip-path:none;will-change:auto;transform:none}}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}
