@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@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}}}@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;--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{.start{inset-inline-start:var(--spacing)}.hidden{display:none}.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,)}}:root{--ink:#07110c;--ink-soft:#0c1a11;--paper:#dce8df;--paper-bright:#f2fff6;--muted:#829589;--line:#dce8df29;--red:#ff4054;--orange:var(--red);--green:#42e878;--scroll-progress:0;--mx:50vw;--my:50vh}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--ink);color:var(--paper);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;margin:0;overflow-x:hidden}body:before{z-index:90;background:radial-gradient(circle 140px at var(--mx) var(--my), transparent 0, #00000024 80%, #0000007a 180%), repeating-linear-gradient(0deg, #ffffff03 0 1px, transparent 1px 4px);pointer-events:none;content:"";mix-blend-mode:soft-light;position:fixed;inset:0}::selection{color:var(--ink);background:var(--orange)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.skip-link{z-index:200;color:var(--ink);background:var(--paper-bright);padding:.7rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.intro{z-index:150;background:#050b07;place-items:center;transition:opacity .7s,visibility .7s;display:grid;position:fixed;inset:0;overflow:hidden}.intro--hidden{visibility:hidden;opacity:0;pointer-events:none}.intro__grid{background-color:#0000;background-image:linear-gradient(#42e87817 1px,#0000 1px),linear-gradient(90deg,#ff40541c 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:56px 56px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:8s linear infinite intro-grid;position:absolute;inset:-25%;transform:perspective(600px)rotateX(62deg)translateY(18%);-webkit-mask-image:radial-gradient(circle,#000,#0000 68%);mask-image:radial-gradient(circle,#000,#0000 68%)}.intro__content{justify-items:center;width:min(90vw,32rem);display:grid;position:relative}.intro__content p{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.28em;text-transform:uppercase;margin:1.4rem 0 2.2rem;font-size:.67rem}.intro__content button{width:min(100%,17rem);color:var(--paper);font-family:var(--font-geist-mono), monospace;letter-spacing:.25em;cursor:pointer;background:#0b0d0ccc;border:1px solid #d7cdbb85;border-radius:999px;padding:1rem 1.3rem;font-size:.66rem;transition:color .25s,background .25s,opacity .25s}.intro__content button:disabled{opacity:.45;cursor:wait}.intro__content button:not(:disabled):hover,.intro__content button:not(:disabled):focus-visible{color:var(--ink);background:var(--orange);outline:none}.intro__progress{background:#ffffff14;height:2px;position:absolute;bottom:0;left:0;right:0}.intro__progress span{background:var(--orange);height:100%;transition:width .1s linear;display:block}.monogram{border:1px solid var(--paper);width:2.75rem;height:2.75rem;font-family:var(--font-geist-mono), monospace;letter-spacing:-.08em;border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:grid;position:relative}.monogram:before,.monogram:after{background:var(--orange);content:"";width:1px;height:.55rem;position:absolute}.monogram:before{top:-.28rem}.monogram:after{bottom:-.28rem}.monogram--large{width:4.5rem;height:4.5rem;color:var(--paper-bright);border-width:2px;font-size:1rem}.site-header{z-index:80;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:1.9rem 3.5rem;display:flex;position:fixed;top:0;left:0;right:0}.brand,.site-header nav{pointer-events:auto}.brand{align-items:center;gap:.85rem;display:flex}.brand__name{color:var(--paper);letter-spacing:.18em;font-size:.6rem;font-weight:700;line-height:1.1}.site-header nav{justify-items:end;gap:.35rem;display:grid}.site-header nav a{height:1rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:650;position:relative;overflow:hidden}.site-header nav a span{transition:transform .3s;display:block}.site-header nav a span:last-child{color:var(--green)}.site-header nav a:hover span,.site-header nav a:focus-visible span,.site-header nav a[aria-current=location] span{transform:translateY(-100%)}.utility-rail{z-index:70;gap:.6rem;display:grid;position:fixed;bottom:3.5rem;left:3.5rem}.utility-rail a{width:2rem;height:2rem;color:var(--paper);font-family:var(--font-geist-mono), monospace;border:1px solid #0000;border-radius:50%;place-items:center;font-size:.67rem;transition:border-color .2s,color .2s;display:grid}.utility-rail a:hover,.utility-rail a:focus-visible{border-color:var(--green);color:var(--green);outline:none}.scroll-rail{z-index:75;pointer-events:none;background:#ffffff0d;width:2px;height:100vh;position:fixed;top:0;right:0}.scroll-rail span{width:100%;height:calc(var(--scroll-progress) * 100%);background:var(--orange);display:block}.section-shell{width:min(100% - 3rem,1160px);margin-inline:auto}.section-label{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.34em;text-transform:uppercase;margin:0;font-size:.65rem}.hero{isolation:isolate;background:linear-gradient(90deg, transparent 0 49.95%, #d7cdbb17 50%, transparent 50.05%), linear-gradient(var(--ink), #050b07);place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero:after{z-index:-1;content:"";background:radial-gradient(circle at 50% 51%,#0000 0 15%,#07110c33 34%,#07110c 75%);position:absolute;inset:0}.hero__matrix{z-index:-2;opacity:.26;justify-content:space-around;display:flex;position:absolute;inset:0;overflow:hidden}.hero__matrix span{width:1ch;color:var(--green);font-family:var(--font-geist-mono), monospace;overflow-wrap:anywhere;writing-mode:vertical-rl;font-size:.58rem;line-height:1.8;animation:12s linear infinite matrix-fall}.hero__orbit{z-index:-1;aspect-ratio:1;border:1px solid #ff405457;border-radius:50%;width:clamp(22rem,48vw,46rem);animation:28s linear infinite orbit-turn;position:absolute}.hero__orbit>span{border:1px solid #d7cdbb29;border-radius:50%;position:absolute;inset:9%}.hero__orbit>span:nth-child(2){border-color:#42e8784d;inset:23%}.hero__orbit>span:nth-child(3){border-color:#d7cdbb38;inset:39%}.hero__orbit i{aspect-ratio:1;background:var(--orange);border-radius:50%;width:16%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 5rem #ff405470}.hero__copy{text-align:center;width:min(92vw,51rem);position:relative}.eyebrow{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.32em;text-transform:uppercase;margin:0 0 1.3rem;font-size:.68rem}.hero h1{color:var(--paper);letter-spacing:-.085em;text-transform:uppercase;margin:0;font-size:clamp(3.8rem,9vw,8.8rem);font-weight:660;line-height:.74}.hero h1 span{display:block}.hero h1 .accent{color:var(--orange)}.hero__status{font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.58rem;display:flex;position:absolute;bottom:2.4rem;left:50%;transform:translate(-50%)}.status-dot{background:var(--green);border-radius:50%;width:.42rem;height:.42rem;animation:1.8s ease-in-out infinite pulse-dot;display:inline-block;box-shadow:0 0 .8rem #42e878bf}.hero__scroll{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;margin:0;font-size:.56rem;position:absolute;bottom:2.4rem;right:2.8rem}.about{align-content:center;min-height:105svh;display:grid;position:relative;overflow:hidden}.about__statement{max-width:62rem;color:var(--paper);letter-spacing:-.065em;margin:3.5rem 0 0;font-size:clamp(2.8rem,6.8vw,7rem);font-weight:570;line-height:.94}.about__statement strong{color:var(--orange);font-weight:inherit}.signal-dot{aspect-ratio:1;border:1px solid var(--orange);border-radius:50%;width:5rem;position:absolute;bottom:12%;right:8%}.signal-dot:before,.signal-dot:after{background:var(--orange);content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.signal-dot:before{width:140%;height:1px}.signal-dot:after{width:1px;height:140%}.capabilities{padding:3rem 0 10rem}.capabilities__intro{justify-content:space-between;align-items:end;margin-bottom:3rem;display:flex}.capabilities__intro h2,.skills__heading h2,.projects__heading h2{max-width:42rem;color:var(--paper);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,4.2rem);font-weight:540;line-height:.98}.capability-list,.tool-list{border-top:1px solid var(--line)}.capability-row{border-bottom:1px solid var(--line);grid-template-columns:5rem minmax(0,1fr) minmax(19rem,.7fr);align-items:center;min-height:8.5rem;padding:1.4rem max(1.5rem,50vw - 580px);display:grid;position:relative;overflow:hidden}.capability-row:before,.tool-row:before{z-index:-1;background:var(--orange);content:"";transform-origin:bottom;transition:transform .32s;position:absolute;inset:0;transform:scaleY(0)}.tool-row:before{background:var(--green)}.capability-row:hover:before,.capability-row:focus-within:before,.tool-row:hover:before{transform:scaleY(1)}.capability-row>span,.tool-row>span,.skill-row>span{font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;font-size:.6rem}.capability-row h3{color:var(--paper);letter-spacing:-.08em;margin:0;font-size:clamp(3rem,7vw,7.5rem);font-weight:610;line-height:.76}.capability-row p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.capability-row:hover,.capability-row:hover h3,.capability-row:hover p{color:var(--ink)}.experience{background:radial-gradient(circle at 72% 35%,#ff40544d,#0000 24%),linear-gradient(125deg,#0c1a11,#050b07 70%);min-height:105svh;position:relative;overflow:hidden}.experience__backdrop{opacity:.13;align-content:center;display:grid;position:absolute;inset:0;transform:rotate(-4deg)scale(1.1)}.experience__backdrop span{color:var(--paper-bright);letter-spacing:-.1em;font-size:clamp(6rem,17vw,17rem);font-weight:680;line-height:.68}.experience__content{z-index:1;align-content:center;min-height:105svh;padding-block:8rem;display:grid;position:relative}.experience__content>h2{color:var(--paper);letter-spacing:-.075em;text-transform:uppercase;margin:3.5rem 0 6rem;font-size:clamp(3.5rem,8vw,8rem);font-weight:580;line-height:.82}.experience__content>h2 span{color:var(--orange)}.experience__timeline{border-top:1px solid #d7cdbb59;width:min(100%,49rem);margin-left:auto}.experience__timeline article{border-bottom:1px solid #d7cdbb2e;grid-template-columns:1.1fr .6fr 1fr;gap:2rem;padding:2rem 0;display:grid}.experience__timeline p,.experience__timeline h3{margin:0}.experience__timeline div p,.experience__timeline time{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.58rem}.experience__timeline h3{letter-spacing:-.02em;margin-top:.4rem;font-size:1.05rem}.experience__timeline article>p{color:var(--paper);font-size:.83rem;line-height:1.65}.skills{grid-template-columns:.8fr 1.2fr;gap:7rem;padding-block:12rem;display:grid}.skills__heading{align-self:start;position:sticky;top:9rem}.skills__heading h2{margin-top:2rem}.skill-list{border-top:1px solid var(--line)}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:2.5rem .55fr 1.4fr .8fr;align-items:center;gap:1.2rem;min-height:8.5rem;display:grid}.skill-row p,.skill-row h3{margin:0}.skill-row>p:first-of-type{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.65rem}.skill-row h3{color:var(--paper);letter-spacing:-.04em;font-size:clamp(1.15rem,2.4vw,2rem);font-weight:520}.skill-row>p:last-child{color:var(--muted);font-size:.74rem;line-height:1.5}.tools{padding-bottom:10rem}.tools__heading{padding-block:5rem 8rem}.tools__heading h2{letter-spacing:-.08em;margin:2rem 0 0;font-size:clamp(3.5rem,9vw,9rem);font-weight:610;line-height:.82}.tools__heading h2 span{color:var(--green)}.tool-row{border-bottom:1px solid var(--line);grid-template-columns:5rem minmax(16rem,.9fr) 1fr;align-items:center;gap:2rem;min-height:8rem;padding-inline:max(1.5rem,50vw - 580px);display:grid;position:relative;overflow:hidden}.tool-row h3,.tool-row p{margin:0}.tool-row h3{letter-spacing:-.065em;font-size:clamp(2rem,5vw,5.5rem);font-weight:590;line-height:.9}.tool-row p{color:var(--muted);font-size:.8rem}.tool-row:hover,.tool-row:hover p{color:var(--ink)}.signal-reel{isolation:isolate;background:#050b07;place-items:center;min-height:92svh;display:grid;position:relative;overflow:hidden}.signal-reel__mesh{z-index:-2;align-content:space-evenly;display:grid;position:absolute;inset:0;transform:skewY(-7deg)scale(1.15)}.signal-reel__mesh:before{content:"";background:linear-gradient(90deg,#0000 49.8%,#ff405466 50%,#0000 50.2%),repeating-linear-gradient(90deg,#0000 0 42px,#d7cdbb0f 42px 43px);position:absolute;inset:0}.signal-reel__mesh span{color:#d7cdbb33;font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:clamp(1.2rem,3vw,3.4rem)}.signal-reel--playing .signal-reel__mesh span{animation:9s linear infinite signal-scan}.signal-reel__target{z-index:-1;aspect-ratio:1;border:1px solid #ff40548c;border-radius:50%;width:min(67vw,47rem);position:absolute}.signal-reel__target:before,.signal-reel__target:after,.signal-reel__target i{content:"";border:1px solid #d7cdbb1f;border-radius:50%;position:absolute}.signal-reel__target:before{inset:15%}.signal-reel__target:after{inset:34%}.signal-reel__target i:first-child{border-color:var(--orange);background:var(--orange);inset:49%}.signal-reel__target i:nth-child(2){border-color:var(--green);background:var(--green);width:.6rem;height:.6rem;top:50%;right:-.3rem}.signal-reel__target i:nth-child(3){border-color:var(--orange);background:var(--orange);width:.4rem;height:.4rem;top:8%;left:27%}.signal-reel--playing .signal-reel__target{animation:24s linear infinite orbit-turn}.signal-reel__content{text-align:center}.signal-reel__content h2{letter-spacing:-.09em;margin:2rem 0;font-size:clamp(4rem,11vw,11rem);font-weight:620;line-height:.72}.signal-reel__content h2 span{color:var(--orange)}.signal-reel__content button{border:1px solid var(--paper);color:var(--paper);font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;cursor:pointer;background:#0b0d0ca6;border-radius:999px;padding:1rem 1.4rem;font-size:.6rem}.signal-reel__content button:hover,.signal-reel__content button:focus-visible{border-color:var(--orange);color:var(--ink);background:var(--orange);outline:none}.projects{padding-block:12rem}.projects__heading{justify-content:space-between;align-items:end;margin-bottom:6rem;display:flex}.project-list{border-top:1px solid var(--line)}.project-card{border-bottom:1px solid var(--line);padding:3.5rem 0}.project-card__meta{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;justify-content:space-between;margin-bottom:3rem;font-size:.65rem;display:flex}.project-card blockquote{max-width:52rem;color:var(--paper);letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,6vw,6rem);font-weight:540;line-height:.94}.project-card:hover blockquote{color:var(--orange)}.project-card__footer{justify-content:space-between;align-items:end;margin-top:3.5rem;display:flex}.project-card__footer h3,.project-card__footer p{margin:0}.project-card__footer h3{letter-spacing:.04em;margin-bottom:.45rem;font-size:.95rem}.project-card__footer p{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;font-size:.55rem}.project-card__footer button{border:1px solid var(--line);color:var(--paper);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;cursor:pointer;background:0 0;padding:.85rem 1.1rem;font-size:.58rem}.project-card__footer button:hover,.project-card__footer button:focus-visible{border-color:var(--orange);color:var(--orange);outline:none}.manifesto{text-align:center;background:radial-gradient(circle,#ff405440,#0000 29%),#06100a;align-content:center;justify-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.manifesto__grid{background-color:#0000;background-image:linear-gradient(#d7cdbb0f 1px,#0000 1px),linear-gradient(90deg,#d7cdbb0f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:5vw 5vw;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:45s linear infinite orbit-turn;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 5%,#0000 67%);mask-image:radial-gradient(circle,#000 5%,#0000 67%)}.manifesto>p{position:relative}.manifesto>p:last-child{color:var(--paper);letter-spacing:-.1em;margin:3rem 0 0;font-size:clamp(5rem,17vw,17rem);font-weight:650;line-height:.63}.manifesto>p:last-child span{color:var(--orange)}.contact{grid-template-columns:1.1fr .9fr;align-content:center;gap:8rem;min-height:100svh;padding-block:10rem;display:grid}.contact__intro h2{color:var(--paper);letter-spacing:-.08em;margin:3rem 0 0;font-size:clamp(4rem,8vw,8rem);font-weight:610;line-height:.78}.contact__intro h2 span{color:var(--orange)}.contact__links{border-top:1px solid var(--line);align-self:center}.contact__links a{border-bottom:1px solid var(--line);color:var(--paper);grid-template-columns:5rem 1fr auto;align-items:center;gap:1rem;padding:1.5rem 0;font-size:.92rem;display:grid;position:relative}.contact__links a:before{z-index:-1;background:var(--green);content:"";transform-origin:100%;transition:transform .3s;position:absolute;inset:0;transform:scaleX(0)}.contact__links a:hover:before,.contact__links a:focus-visible:before{transform-origin:0;transform:scaleX(1)}.contact__links a:hover,.contact__links a:focus-visible{color:var(--ink);outline:none}.contact__links a span{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;font-size:.55rem}.contact__links a:hover span{color:var(--ink)}.contact__links a i{font-style:normal}.contact__availability{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;grid-column:2;align-items:flex-start;gap:.7rem;font-size:.62rem;line-height:1.7;display:flex}footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;justify-content:space-between;padding:2rem 3.5rem;font-size:.56rem;display:flex}footer p{margin:0}footer a:hover,footer a:focus-visible{color:var(--green);outline:none}.sound-toggle{z-index:70;color:var(--muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;cursor:pointer;background:#0b0d0cc2;border:1px solid #d7cdbb33;align-items:center;gap:.55rem;padding:.65rem .85rem;font-size:.52rem;display:flex;position:fixed;bottom:2.2rem;right:2.8rem}.sound-toggle:hover,.sound-toggle:focus-visible,.sound-toggle[aria-pressed=true]{border-color:var(--orange);color:var(--paper);outline:none}.project-modal{z-index:120;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050706db;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.project-modal__panel{background:linear-gradient(#d7cdbb09 1px, transparent 1px), linear-gradient(90deg, #d7cdbb09 1px, transparent 1px), var(--ink-soft);background-size:40px 40px;border:1px solid #d7cdbb4d;width:min(100%,67rem);max-height:calc(100svh - 2rem);padding:clamp(2rem,5vw,5rem);position:relative;overflow-y:auto}.project-modal__close{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;cursor:pointer;background:0 0;border:0;padding:.6rem;font-size:.58rem;position:absolute;top:1.5rem;right:1.5rem}.project-modal__close:hover,.project-modal__close:focus-visible{color:var(--orange);outline:none}.project-modal__panel h2{color:var(--paper);letter-spacing:-.085em;margin:2rem 0 1.5rem;font-size:clamp(3rem,8vw,8rem);font-weight:620;line-height:.8}.project-modal__summary{max-width:46rem;color:var(--paper);font-size:1.15rem;line-height:1.6}.project-modal__metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:3rem 0;display:grid}.project-modal__metrics div{border-right:1px solid var(--line);gap:.4rem;padding:1.8rem;display:grid}.project-modal__metrics div:last-child{border-right:0}.project-modal__metrics strong{color:var(--green);letter-spacing:-.06em;font-size:clamp(2rem,5vw,4rem);font-weight:580}.project-modal__metrics span{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.56rem}.project-modal__panel ul{max-width:50rem;color:var(--muted);gap:.8rem;margin:0;padding-left:1.2rem;font-size:.88rem;line-height:1.6;display:grid}.project-modal__panel li::marker{color:var(--orange)}.project-modal__cta{border:1px solid var(--orange);color:var(--orange);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;margin-top:3rem;padding:1rem 1.3rem;font-size:.62rem;display:inline-block}.project-modal__cta:hover,.project-modal__cta:focus-visible{color:var(--ink);background:var(--orange);outline:none}@keyframes intro-grid{to{transform:perspective(600px)rotateX(62deg)translateY(28%)}}@keyframes matrix-fall{0%{transform:translateY(-50%)}to{transform:translateY(50%)}}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes pulse-dot{50%{opacity:.35}}@keyframes signal-scan{0%{transform:translate(-12%)}to{transform:translate(12%)}}@media (max-width:900px){.site-header{padding:1.2rem}.brand__name,.utility-rail{display:none}.hero__status{white-space:nowrap;bottom:1.4rem}.hero__scroll{bottom:1.3rem;right:1rem}.capabilities__intro,.projects__heading{align-items:start;gap:1.5rem;display:grid}.capability-row{grid-template-columns:2.5rem 1fr;align-items:start;min-height:0;padding-block:2.2rem}.capability-row p{grid-column:2;max-width:33rem;margin-top:1.2rem}.experience__timeline article{grid-template-columns:1fr auto}.experience__timeline article>p{grid-column:1/-1}.skills{grid-template-columns:1fr;gap:4rem}.skills__heading{position:static}.skill-row{grid-template-columns:2.5rem .6fr 1.4fr}.skill-row>p:last-child{display:none}.tool-row{grid-template-columns:2.5rem 1fr;padding-block:1.8rem}.tool-row p{grid-column:2}.contact{grid-template-columns:1fr;gap:5rem}.contact__availability{grid-column:1}}@media (max-width:600px){.section-shell{width:min(100% - 2.2rem,1160px)}.site-header nav{gap:.25rem}.site-header nav a{font-size:.62rem}.hero{min-height:100svh}.hero__copy{width:calc(100vw - 2rem)}.hero h1{font-size:clamp(3.35rem,18vw,5.4rem);line-height:.78}.eyebrow{padding-inline:4rem;font-size:.55rem;line-height:1.6}.hero__orbit{width:102vw}.hero__status{font-size:.5rem;left:1.1rem;transform:none}.hero__scroll{display:none}.about{min-height:92svh}.about__statement{margin-top:2.6rem;font-size:clamp(2.8rem,14vw,4.6rem)}.signal-dot{width:3.6rem;bottom:8%;right:12%}.capabilities{padding-bottom:7rem}.capability-row{padding-inline:1.1rem}.capability-row h3{font-size:clamp(3rem,17vw,5rem)}.experience,.experience__content{min-height:auto}.experience__content{padding-block:7rem}.experience__content>h2{margin-bottom:4rem;font-size:clamp(3.2rem,17vw,5rem)}.experience__timeline article{grid-template-columns:1fr;gap:1rem}.experience__timeline article>p{grid-column:1}.skills{padding-block:8rem}.skill-row{grid-template-columns:2rem 1fr;padding-block:1.5rem}.skill-row>p:first-of-type,.skill-row h3{grid-column:2}.tools{padding-bottom:7rem}.tools__heading{padding-block:3rem 5rem}.tools__heading h2{font-size:clamp(3.2rem,18vw,5.5rem)}.tool-row{padding-inline:1.1rem}.tool-row h3{font-size:clamp(2.1rem,12vw,4rem)}.signal-reel{min-height:82svh}.signal-reel__target{width:120vw}.signal-reel__content h2{font-size:clamp(4rem,22vw,6.5rem)}.projects{padding-block:8rem}.projects__heading{margin-bottom:4rem}.project-card{padding-block:2.6rem}.project-card blockquote{font-size:clamp(2.4rem,12vw,4rem)}.project-card__footer{gap:2rem;display:grid}.project-card__footer button{width:100%}.manifesto{min-height:85svh}.manifesto>p:last-child{font-size:24vw;line-height:.67}.contact{min-height:auto;padding-block:8rem}.contact__intro h2{font-size:clamp(3.8rem,18vw,5.6rem)}.contact__links a{grid-template-columns:4rem 1fr auto;font-size:.74rem}footer{gap:1rem;padding:2rem 1.1rem 6rem;display:grid}.sound-toggle{bottom:1rem;right:1rem}.project-modal__panel{padding:4.5rem 1.3rem 2rem}.project-modal__metrics{grid-template-columns:1fr}.project-modal__metrics div{border-right:0;border-bottom:1px solid var(--line)}.project-modal__metrics div:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@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}
