@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.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(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}

/*! tailwindcss v4.3.3 | 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)))){*,::backdrop,:after,:before{--tw-border-style:solid}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.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}}.flex{display:flex}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}}:root{--background:#0b0d0f;--surface:#121619;--surface-hover:#181d20;--foreground:#f1f3f2;--muted:#9aa5a5;--subtle:#687373;--border:#293033;--border-strong:#3a4446;--accent:#8bd3c7;--accent-foreground:#0a2220;--selection:#285b56;--font-sans:var(--font-geist-sans),sans-serif;--font-mono:var(--font-geist-mono),monospace;--content-width:72rem;--gutter:clamp(1.25rem,4vw,3rem);--section-space:clamp(4.5rem,10vw,8rem);--radius-sm:.375rem;--radius-md:.625rem}*{box-sizing:border-box}html{background:var(--background);color-scheme:dark;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--section-space:clamp(3.75rem,7vw,6.5rem);--radius-sm:.25rem}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--background) 94%,transparent)}}.brand-mark{width:auto;height:auto;font-family:var(--font-sans);letter-spacing:.02em;border:0;border-radius:0;font-size:.8125rem;font-weight:700}.hero-inner{display:block}.hero-mark{background:linear-gradient(90deg,var(--accent),transparent);opacity:.45;width:min(34rem,60vw);height:1px;margin-top:clamp(4rem,10vw,8rem)}.content-section+.content-section{border-top-color:var(--border)}.about-layout,.education-layout,.section-intro-row{grid-template-columns:minmax(10rem,.45fr) minmax(0,1.55fr);gap:clamp(2rem,7vw,7rem)}.section-heading{gap:.6rem}.section-heading h2{font-size:clamp(1.5rem,3vw,2.25rem)}.section-heading-description{font-size:.9375rem}.section-intro-note{max-width:30rem}.focus-list{margin-top:3.5rem}.skills-grid{background:0 0;border:0;gap:0 3rem;margin-top:3.25rem;overflow:visible}.skill-category{border-top:1px solid var(--border);background:0 0;padding:1.25rem 0}.skill-category h3{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.skill-item{background:0 0;border:0;padding:0;display:inline}.skill-item+.skill-item:before{content:" · ";color:var(--subtle)}.projects-list{margin-top:3.25rem}.project-entry{border-bottom:1px solid var(--border);grid-template-columns:3rem minmax(0,1fr);gap:1rem;padding:1.75rem 0;transition:border-color .16s,padding-left .16s;display:grid}.project-entry:hover{border-color:var(--accent);padding-left:.5rem}.project-index{color:var(--accent);font-family:var(--font-mono);font-size:.6875rem}.project-entry-body{min-width:0}.project-entry h3{margin-top:.5rem;font-size:clamp(1.5rem,3vw,2.25rem)}.project-description{max-width:40rem;margin-top:.75rem}.project-tags{margin-top:1rem}.project-tags li{border:0;border-radius:0;padding:0}.project-tags li+li:before{content:" · ";color:var(--subtle);margin-right:.4rem}.project-links{padding-top:1.25rem}.experience-entry{grid-template-columns:1fr;padding:1.25rem 0}.experience-entry-main{min-width:0}.contact-shell{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:0 0;padding:3rem 0}.contact-shell h2{font-size:clamp(2.5rem,7vw,5rem)}.site-footer-inner{gap:1.25rem}.site-footer-identity h3{font-size:1.5rem}@media (max-width:720px){.hero{min-height:auto;padding-top:7.5rem}.hero h1{max-width:11ch;font-size:clamp(3.25rem,16vw,5.5rem)}.hero-mark{width:75vw;margin-top:5rem}.skills-grid{grid-template-columns:1fr;gap:0}.focus-list{grid-template-columns:repeat(2,1fr)}.about-layout,.education-layout,.section-intro-row{gap:1.75rem}}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--foreground);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}::selection{background:var(--selection);color:var(--foreground)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}.container{width:min(100% - (var(--gutter) * 2),var(--content-width));margin-inline:auto}body[data-menu-open=true]{overflow:hidden}.site-header{z-index:10;border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.site-header{border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent)}}.site-header{background:var(--background)}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--background) 84%,transparent)}}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header-inner{justify-content:space-between;align-items:center;min-height:4.5rem;display:flex}.brand{color:var(--foreground);align-items:center;gap:.75rem;font-size:.9375rem;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{color:var(--accent);place-items:center;display:grid}.site-navigation nav{align-items:center;gap:clamp(1rem,2.5vw,2rem);display:flex}.site-navigation a{color:var(--muted);font-size:.8125rem;text-decoration:none;transition:color .16s}.menu-toggle,.site-navigation a:hover{color:var(--foreground)}.menu-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:2.75rem;height:2.75rem;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;display:none}.menu-toggle span{background:currentColor;width:1rem;height:1px;transition:transform .16s;display:block}.hero{isolation:isolate;align-items:center;display:flex;position:relative;overflow:hidden}.hero-grid{z-index:-2;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.hero-grid{background-image:linear-gradient(color-mix(in srgb,var(--border) 32%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 32%,transparent) 1px,transparent 1px)}}.hero-grid{opacity:.3;background-position:50%;background-size:4rem 4rem;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.hero-glow{z-index:-1;background:var(--accent);filter:blur(100px);opacity:.055;border-radius:50%;width:32rem;height:32rem;position:absolute;top:14%;right:-12rem}.hero-inner{align-items:center}.hero-content{animation:reveal-up .6s both}.hero-kicker{text-transform:uppercase;margin:0 0 1.5rem;line-height:1.4}.hero h1{color:var(--foreground);margin:0;font-weight:650}.hero-lede{color:var(--muted);margin:2rem 0 0;line-height:1.5}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.system-visual{border:1px solid var(--border);background:var(--surface);align-content:space-between;min-height:min(34rem,58vw);position:relative}@supports (color:color-mix(in lab,red,red)){.system-visual{background:color-mix(in srgb,var(--surface) 54%,transparent)}}.system-visual{animation:reveal-up .7s .12s both}.system-visual:after,.system-visual:before{border-color:var(--accent);content:"";width:.5rem;height:.5rem;position:absolute}.system-visual:before{border-top:1px solid;border-left:1px solid;top:-1px;left:-1px}.system-visual:after{border-bottom:1px solid;border-right:1px solid;bottom:-1px;right:-1px}.system-visual-footer,.system-visual-label{color:var(--subtle);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding:1rem 1.125rem;font-size:.625rem;display:flex}.system-visual-core{aspect-ratio:1;border:1px solid var(--accent);width:min(72%,16rem);margin:auto;position:relative}@supports (color:color-mix(in lab,red,red)){.system-visual-core{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border))}}.system-visual-core{border-radius:50%}.system-visual-core:after,.system-visual-core:before{background:var(--accent);position:absolute}@supports (color:color-mix(in lab,red,red)){.system-visual-core:after,.system-visual-core:before{background:color-mix(in srgb,var(--accent) 45%,transparent)}}.system-visual-core:after,.system-visual-core:before{content:""}.system-visual-core:before{height:1px;top:50%;left:8%;right:8%}.system-visual-core:after{width:1px;top:8%;bottom:8%;left:50%}.system-core-ring{border:1px dashed var(--accent);position:absolute;inset:22%}@supports (color:color-mix(in lab,red,red)){.system-core-ring{border:1px dashed color-mix(in srgb,var(--accent) 65%,transparent)}}.system-core-ring{border-radius:50%;animation:rotate-slow 18s linear infinite}.system-core-dot{background:var(--accent);width:.75rem;height:.75rem;box-shadow:0 0 0 .45rem var(--accent);border-radius:50%;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab,red,red)){.system-core-dot{box-shadow:0 0 0 .45rem color-mix(in srgb,var(--accent) 12%,transparent)}}.system-core-dot{transform:translate(-50%,-50%)}.system-node{z-index:1;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;font-size:.625rem;position:absolute}.system-node-top{top:-1.5rem;left:50%;transform:translate(-50%)}.system-node-left{top:50%;left:-2.5rem;transform:translateY(-50%)}.system-node-right{top:50%;right:-2.5rem;transform:translateY(-50%)}.system-node-bottom{bottom:-1.5rem;left:50%;transform:translate(-50%)}.hero-scroll{right:var(--gutter);color:var(--subtle);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.625rem;text-decoration:none;position:absolute;bottom:2rem}.hero-scroll span:last-child{color:var(--accent);font-size:1rem}@keyframes reveal-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes rotate-slow{to{transform:rotate(1turn)}}.content-section{scroll-margin-top:4.5rem;position:relative}.content-section+.content-section{border-top:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.content-section+.content-section{border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent)}}.about-layout,.education-layout{grid-template-columns:minmax(12rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,9vw,9rem);display:grid}.about-copy p{color:var(--muted);margin:0;font-size:1.0625rem;line-height:1.8}.about-copy p+p{margin-top:1.25rem}.focus-list{padding:0;list-style:none}.focus-list li{color:var(--foreground);gap:1.25rem;font-size:.875rem}.focus-index{color:var(--accent);font-family:var(--font-mono);font-size:.6875rem}.section-intro-row{grid-template-columns:minmax(12rem,.75fr) minmax(0,1.25fr);align-items:end;gap:clamp(3rem,9vw,9rem);display:grid}.section-intro-note{max-width:32rem;color:var(--muted);margin:0 0 .15rem;font-size:.9375rem;line-height:1.7}.skills-grid{display:grid}.skill-category{min-width:0}.skill-category-heading{gap:.5rem}.skill-category h3{margin:0;font-weight:600}.skill-category-heading p{max-width:22rem;color:var(--subtle);margin:0;font-size:.8125rem;line-height:1.5}.skill-list{flex-wrap:wrap;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.skill-item{gap:.15rem;transition:border-color .16s,background-color .16s}.skill-item:hover{border-color:var(--border-strong);background:var(--surface-hover)}.skill-name{color:var(--foreground)}.skill-description{color:var(--subtle);font-size:.6875rem;line-height:1.3}.education-entry{justify-content:space-between;align-items:end}.education-date span,.education-degree,.education-institution{color:var(--muted);margin:0;font-size:.875rem}.education-entry h3{color:var(--foreground);letter-spacing:-.02em;margin:.45rem 0 0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;line-height:1.2}.education-institution{gap:.2rem;margin-top:1rem;display:grid}.education-date{text-align:right;flex:none;gap:.35rem;display:grid}.education-date strong{color:var(--accent);font-family:var(--font-mono);font-size:.8125rem;font-weight:500}.projects-intro{align-items:start}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(3.5rem,7vw,5.5rem)}.project-card{border:1px solid var(--border);background:var(--surface);flex-direction:column;min-width:0;transition:border-color .18s,transform .18s,background-color .18s;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-3px)}.project-card-featured{grid-column:span 2;grid-template-columns:minmax(14rem,.75fr) minmax(0,1.25fr)}.project-visual{border-bottom:1px solid var(--border);min-height:9rem;color:var(--subtle);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem;font-size:.625rem;display:flex;position:relative;overflow:hidden}.project-visual:before{border:1px solid var(--accent);width:7rem;height:7rem;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab,red,red)){.project-visual:before{border:1px solid color-mix(in srgb,var(--accent) 38%,transparent)}}.project-visual:before{content:"";border-radius:50%;transform:translate(-50%,-50%)}.project-visual:after{background:var(--accent);height:1px;position:absolute;top:50%;left:10%;right:10%}@supports (color:color-mix(in lab,red,red)){.project-visual:after{background:color-mix(in srgb,var(--accent) 35%,transparent)}}.project-visual:after{content:""}.project-visual>span{z-index:1;position:relative}.project-visual-line{border:1px solid var(--accent);opacity:.65;border-radius:50%;width:2rem;height:2rem}.project-card-featured .project-visual{border-right:1px solid var(--border);border-bottom:0;min-height:100%}.project-card-body{flex-direction:column;flex:1;min-width:0;padding:clamp(1.25rem,3vw,2rem)}.project-category{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.6875rem;line-height:1.4}.project-card h3{color:var(--foreground);letter-spacing:-.025em;margin:.75rem 0 0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;line-height:1.15}.project-description{max-width:42rem;color:var(--muted);margin:1rem 0 0;font-size:.9375rem;line-height:1.7}.project-tags{flex-wrap:wrap;gap:.4rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.project-tags li{border:1px solid var(--border);color:var(--subtle);font-family:var(--font-mono);border-radius:999px;padding:.3rem .55rem;font-size:.625rem;line-height:1.2}.project-links{flex-wrap:wrap;gap:1.25rem;margin-top:auto;padding-top:2rem;display:flex}.project-links a{color:var(--foreground);font-size:.8125rem;font-weight:600;text-decoration:none}.project-links a:hover{color:var(--accent)}.project-links a span{color:var(--accent);transition:transform .16s;display:inline-block}.project-links a:hover span{transform:translate(2px,-2px)}.achievement-list,.experience-list{border-top:1px solid var(--border);margin-top:clamp(3.5rem,7vw,5.5rem)}.experience-entry{border-bottom:1px solid var(--border);grid-template-columns:1rem minmax(0,1fr);gap:1.25rem;padding:1.5rem 0;display:grid;position:relative}.experience-marker{border:1px solid var(--accent);background:var(--background);width:.5rem;height:.5rem;box-shadow:0 0 0 .25rem var(--accent);border-radius:50%;margin-top:.4rem}@supports (color:color-mix(in lab,red,red)){.experience-marker{box-shadow:0 0 0 .25rem color-mix(in srgb,var(--accent) 9%,transparent)}}.experience-entry-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 2rem;display:flex}.experience-details span,.experience-entry-meta p,.experience-entry-meta span,.experience-technologies,.experience-type{color:var(--accent);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.6875rem}.experience-details span,.experience-entry-meta span,.experience-type{color:var(--subtle)}.experience-heading-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.5rem;display:flex}.experience-entry h3{color:var(--foreground);letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;line-height:1.2}.experience-type{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;padding:.25rem .55rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.experience-type{background:color-mix(in srgb,var(--surface) 60%,transparent)}}.experience-details{flex-wrap:wrap;margin-top:.75rem;display:flex}.experience-description,.experience-entry ul{max-width:42rem;color:var(--muted);margin:.875rem 0 0;font-size:.9375rem;line-height:1.7}.experience-entry ul{padding-left:1.1rem}.experience-entry li+li{margin-top:.35rem}.experience-technologies{color:var(--subtle);margin-top:1.25rem}.achievement-entry{border-bottom:1px solid var(--border);align-items:start;gap:1rem 1.5rem;display:grid}.achievement-index{letter-spacing:.08em}.achievement-index,.achievement-kind{color:var(--accent);font-family:var(--font-mono);font-size:.6875rem}.achievement-kind{letter-spacing:.06em;text-transform:uppercase;margin:0}.achievement-entry h3{color:var(--foreground);margin:.5rem 0 0;font-size:1.25rem;font-weight:600;line-height:1.25}.achievement-description,.achievement-organization{color:var(--muted);margin:.5rem 0 0;font-size:.875rem;line-height:1.6}.achievement-description{max-width:42rem;margin-top:.75rem}.achievement-entry a{color:var(--foreground);gap:.35rem;margin-top:1rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.achievement-entry a:hover{color:var(--accent)}.achievement-period{color:var(--subtle);font-family:var(--font-mono);font-size:.6875rem}.journey-empty{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:1rem;margin-top:clamp(3.5rem,7vw,5.5rem);display:grid}.journey-empty-index{color:var(--subtle);font-family:var(--font-mono);font-size:.75rem}.journey-empty p{color:var(--muted);margin:0;font-size:.9375rem}.section-heading{gap:.75rem;max-width:42rem;display:grid}.section-heading h2{color:var(--foreground);letter-spacing:-.02em;margin:0;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:650;line-height:1.1}.section-heading-label{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:550;line-height:1.4}.section-heading-description{max-width:38rem;color:var(--muted);margin:.25rem 0 0;font-size:1rem;line-height:1.7}.button{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.625rem 1rem;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.button-primary{background:var(--accent);color:var(--accent-foreground)}.button-primary:hover{background:#a4e0d6}.button-secondary{border-color:var(--border-strong);background:var(--surface);color:var(--foreground)}.button-secondary:hover{border-color:var(--accent);background:var(--surface-hover)}.button-ghost{color:var(--muted)}.button-ghost:hover{background:var(--surface-hover);color:var(--foreground)}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.5;pointer-events:none}.contact-section{padding-bottom:clamp(5rem,9vw,7rem)}.contact-shell{position:relative;overflow:hidden}.contact-shell:before{background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.contact-shell:before{background-image:linear-gradient(color-mix(in srgb,var(--border) 34%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 34%,transparent) 1px,transparent 1px)}}.contact-shell:before{opacity:.18;content:"";background-position:50%;background-size:3rem 3rem}.contact-kicker,.site-footer-kicker{z-index:1;color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.7rem;position:relative}.contact-shell h2{z-index:1;color:var(--foreground);margin:1rem 0 0;font-weight:650;position:relative}.contact-copy{z-index:1;color:var(--muted);margin:1.25rem 0 0;position:relative}.contact-actions{gap:.75rem}.contact-actions,.contact-links{z-index:1;flex-wrap:wrap;display:flex;position:relative}.contact-links{gap:1.25rem}.contact-links a,.site-footer-links a,.site-footer-nav a{color:var(--foreground);text-decoration:none}.contact-links a:hover,.site-footer-links a:hover,.site-footer-nav a:hover{color:var(--accent)}.site-footer{border-top:1px solid var(--border);background:var(--background)}.site-footer-inner{gap:1.5rem;padding:clamp(2rem,4vw,3rem) 0 2.5rem;display:grid}.site-footer-top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.site-footer-identity{gap:.25rem;display:grid}.site-footer-identity h3{color:var(--foreground);letter-spacing:-.04em;margin:.35rem 0 0;font-weight:600}.site-footer-identity p:last-child{color:var(--muted);margin:0}.site-footer-links{flex-wrap:wrap;gap:1rem 1.5rem;font-size:.875rem;display:flex}.site-footer-nav{color:var(--muted);font-size:.8rem}.site-footer-bottom,.site-footer-nav{border-top:1px solid var(--border);flex-wrap:wrap;gap:.75rem 1rem;display:flex}.site-footer-bottom{color:var(--subtle);justify-content:space-between;align-items:center;padding-top:1rem;font-size:.75rem}.site-footer-bottom p{margin:0}@media (max-width:480px){.button{width:100%}.contact-actions{flex-direction:column}.contact-shell{padding:1.5rem 1.25rem}.site-footer-bottom,.site-footer-top{flex-direction:column;align-items:start}}@media (max-width:720px){.contact-links,.site-footer-links,.site-footer-nav{gap:.75rem 1rem}.site-header-inner{min-height:4rem}.brand-name{display:none}.menu-toggle{display:flex}.site-navigation{z-index:-1;visibility:hidden;padding:1rem var(--gutter) 2rem;background:var(--background);position:fixed;inset:4rem 0 0}@supports (color:color-mix(in lab,red,red)){.site-navigation{background:color-mix(in srgb,var(--background) 96%,transparent)}}.site-navigation{opacity:0;transition:opacity .16s,visibility .16s}.site-navigation.is-open{visibility:visible;opacity:1}.site-navigation nav{border-top:1px solid var(--border);gap:0;display:grid}.site-navigation a{border-bottom:1px solid var(--border);padding:1rem 0;font-size:1rem}.hero{align-items:start;padding-top:8rem}.hero-inner{grid-template-columns:1fr;gap:4.5rem}.hero h1{font-size:clamp(4.25rem,21vw,7rem)}.system-visual{min-height:19rem}.hero-scroll{display:none}.content-section{scroll-margin-top:4rem}.about-layout,.education-layout,.section-intro-row{grid-template-columns:1fr;gap:2.5rem}.focus-list{grid-template-columns:repeat(2,1fr);row-gap:1.5rem}.projects-grid,.skills-grid{grid-template-columns:1fr}.project-card-featured{grid-column:auto;display:flex}.project-card-featured .project-visual{border-right:0;border-bottom:1px solid var(--border);min-height:9rem}.achievement-entry{grid-template-columns:2rem minmax(0,1fr)}.achievement-period{grid-column:2}.experience-entry{grid-template-columns:1rem minmax(0,1fr);gap:.875rem 1rem}.experience-details,.experience-entry-meta,.experience-heading-row{gap:.5rem .75rem}.education-entry{flex-direction:column;align-items:start;gap:1.5rem}.education-date{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.system-core-ring{animation:none}}.projects-section{padding-top:clamp(4.5rem,9vw,7.5rem)}.projects-list{border-top:1px solid var(--border);margin-top:clamp(2.5rem,5vw,4rem);position:relative}.project-entry{isolation:isolate;grid-template-columns:3.5rem minmax(0,1fr);min-height:14rem;padding:clamp(1.75rem,4vw,2.75rem) 0;position:relative}.project-entry:hover{padding-left:.75rem}.project-entry:focus-within{border-color:var(--accent)}.project-index{padding-top:.35rem;font-size:.75rem}.project-entry h3{max-width:24ch;font-size:clamp(1.75rem,4.5vw,3.5rem);line-height:1}.project-category{letter-spacing:.1em}.project-description{max-width:38rem;margin-top:1rem;font-size:1rem}.project-tags{max-width:38rem;margin-top:1.25rem}.project-links{z-index:1;padding-top:1.5rem;position:relative}.project-preview{z-index:-1;aspect-ratio:1.35;border:1px solid var(--accent);align-content:end;gap:.35rem;width:min(15rem,25vw);display:grid;position:absolute;top:50%;right:1rem}@supports (color:color-mix(in lab,red,red)){.project-preview{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border))}}.project-preview{background:linear-gradient(135deg,transparent 49.5%,var(--accent) 50%,transparent 50.5%),linear-gradient(45deg,transparent 49.5%,var(--border) 50%,transparent 50.5%),var(--surface);padding:1rem}@supports (color:color-mix(in lab,red,red)){.project-preview{background:linear-gradient(135deg,transparent 49.5%,color-mix(in srgb,var(--accent) 20%,transparent) 50%,transparent 50.5%),linear-gradient(45deg,transparent 49.5%,color-mix(in srgb,var(--border) 60%,transparent) 50%,transparent 50.5%),var(--surface)}}.project-preview{color:var(--muted);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;transform:translate(.75rem,-50%)}.project-entry:focus-within .project-preview,.project-entry:hover .project-preview{opacity:1;transform:translateY(-50%)}.project-preview small,.project-preview span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.625rem}.project-preview strong{color:var(--foreground);font-size:1rem;line-height:1.1}.project-preview small{color:var(--subtle)}.about-layout{grid-template-columns:minmax(9rem,.4fr) minmax(0,1.6fr)}.about-copy{max-width:35rem}.about-copy p{font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}.focus-block{grid-template-columns:minmax(9rem,.4fr) minmax(0,1.6fr);gap:clamp(2rem,7vw,7rem);margin-top:3rem;display:grid}.focus-label{color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.6875rem}.focus-list{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;display:flex}.focus-list li{border:0;padding:0;font-size:.9375rem;display:block}.skills-section .section-intro-row{align-items:start}.skills-grid{gap:0 4rem;margin-top:2.5rem}.skill-category{padding:1rem 0 1.1rem}.skill-category h3{color:var(--accent)}.skill-name{cursor:default;transition:color .15s,text-decoration-color .15s}.skill-item:hover .skill-name{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.skill-item:hover .skill-name{-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent)}}.skill-item:hover .skill-name{text-underline-offset:.2em}@media (max-width:720px){.project-entry{grid-template-columns:2rem minmax(0,1fr);min-height:0}.project-entry:hover{padding-left:0}.project-preview{display:none}.focus-block{grid-template-columns:1fr;gap:.75rem;margin-top:2.5rem}.focus-list{gap:.5rem 1rem}.skills-grid{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){.project-entry,.project-preview{transition:none}}.brand-mark{border:1px solid var(--accent);width:2rem;height:2rem;font-family:var(--font-mono);letter-spacing:-.08em;border-radius:50%;font-size:.625rem;font-weight:400}.brand-name{display:inline}.hero{min-height:100svh;padding:8rem 0 5rem}.hero-glow,.hero-grid{display:block}.hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr);gap:clamp(3rem,9vw,9rem);display:grid}.hero-content{max-width:42rem}.hero-kicker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.09em;margin-bottom:1.5rem;font-size:.75rem;font-weight:400}.hero h1{letter-spacing:-.075em;max-width:12ch;font-size:clamp(4rem,10vw,8.75rem);line-height:.9}.hero h1 span{color:var(--accent)}.hero-lede{max-width:32rem;margin-top:2rem;font-size:clamp(1.125rem,2vw,1.375rem)}.hero-actions{margin-top:2.25rem}.hero-mark{display:none}.system-visual{display:grid}.hero-scroll{display:inline-flex}.content-section{padding:var(--section-space) 0}.about-layout,.education-layout,.section-intro-row{grid-template-columns:minmax(12rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,9vw,9rem)}.focus-list{grid-template-columns:repeat(4,1fr);margin:clamp(3.5rem,8vw,6rem) 0 0;display:grid}.focus-list li{border-top:1px solid var(--border);padding:1rem 1rem 0 0;display:grid}.focus-index{display:inline}.skills-grid{border:1px solid var(--border);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(3.5rem,7vw,5.5rem);overflow:hidden}.skill-category{background:var(--background);border-top:0;padding:clamp(1.25rem,3vw,2rem)}.skill-category-heading{min-height:5.5rem;display:grid}.skill-category h3{color:var(--foreground);letter-spacing:normal;text-transform:none;font-size:1rem}.skill-category-heading p{display:block}.skill-list{gap:.5rem;margin-top:1.5rem}.skill-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:.625rem .75rem;display:grid}@supports (color:color-mix(in lab,red,red)){.skill-item{background:color-mix(in srgb,var(--surface) 48%,transparent)}}.skill-item+.skill-item:before{content:none}.skill-name{font-size:.8125rem;font-weight:550}.skill-description{display:block}.projects-list{display:none}.projects-grid{display:grid}.project-card,.project-visual{display:flex}.project-preview{display:none}.project-card-featured{display:grid}.project-card-body{display:flex}.project-entry{display:none}.experience-marker{display:block}.experience-index{display:none}.experience-entry-meta p{display:block}.education-entry{display:flex}.achievement-entry{grid-template-columns:3rem minmax(0,1fr) auto}.contact-shell{border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface)),radial-gradient(circle at top right,var(--accent),transparent 40%)}@supports (color:color-mix(in lab,red,red)){.contact-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--surface) 72%,transparent)),radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 10%,transparent),transparent 40%)}}.contact-shell:before{display:block}.site-footer-identity h3{text-transform:none;font-size:clamp(1.5rem,3vw,2.2rem)}@media (max-width:720px){.hero{min-height:auto;padding-top:8rem}.hero-inner{grid-template-columns:1fr;gap:4.5rem}.hero h1{font-size:clamp(4.25rem,21vw,7rem)}.system-visual{min-height:19rem}.hero-scroll{display:none}.about-layout,.education-layout,.section-intro-row{grid-template-columns:1fr;gap:2.5rem}.focus-list{grid-template-columns:repeat(2,1fr);row-gap:1.5rem}.skills-grid{grid-template-columns:1fr}.project-card-featured{display:flex}.project-card-featured .project-visual{border-right:0;border-bottom:1px solid var(--border);min-height:9rem}.experience-entry{grid-template-columns:1rem minmax(0,1fr)}.education-entry{flex-direction:column;align-items:start;gap:1.5rem}.education-date{text-align:left}}.achievement-list,.experience-list{margin-top:clamp(2.5rem,5vw,4rem)}.experience-entry{grid-template-columns:3.5rem minmax(0,1fr);gap:1rem;padding:clamp(1.5rem,3vw,2.25rem) 0}.experience-index{color:var(--accent);font-family:var(--font-mono);padding-top:.25rem;font-size:.75rem}.experience-entry-meta{justify-content:flex-start}.experience-entry-meta span{color:var(--accent)}.experience-heading-row{margin-top:.6rem}.experience-entry h3{font-size:clamp(1.35rem,3vw,2rem)}.experience-details{gap:.5rem 1rem;margin-top:.5rem}.experience-details span:first-child{color:var(--muted)}.experience-description{max-width:40rem;margin-top:.85rem}.education-entry,.education-layout{align-items:start}.education-entry{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:2rem;padding:1.5rem 0;display:grid}.education-degree{color:var(--foreground);letter-spacing:-.02em;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600}.education-institution{color:var(--muted);margin-top:.75rem}.education-date{gap:.25rem}.education-date strong{font-size:.75rem}.achievement-entry{grid-template-columns:3.5rem minmax(0,1fr) auto;gap:1rem;padding:1.5rem 0}.achievement-entry h3{font-size:clamp(1.15rem,2.5vw,1.5rem)}.journey-empty{grid-template-columns:3.5rem minmax(0,1fr);margin-top:clamp(2.5rem,5vw,4rem);padding:1.5rem 0}.journey-empty-index{color:var(--accent)}.contact-section{padding-top:clamp(4.5rem,8vw,6.5rem)}.contact-kicker{color:var(--accent)}.contact-shell h2{text-transform:uppercase;max-width:8ch;font-size:clamp(3rem,8vw,6.5rem)}.contact-copy{max-width:25rem;margin-top:1.5rem;font-size:1.05rem}.contact-actions{margin-top:2rem}.contact-links{gap:1.5rem;margin-top:1.5rem}.contact-links a,.site-footer-links a,.site-footer-nav a{transition:color .16s}.site-footer-inner{padding-top:2.25rem;padding-bottom:2rem}.site-footer-top{align-items:start}.site-footer-identity h3{text-transform:uppercase;margin-top:0;font-size:1.35rem}.site-footer-nav{padding-top:1rem}.site-footer-bottom{justify-content:flex-start}@media (max-width:720px){.experience-entry{grid-template-columns:2rem minmax(0,1fr);gap:.75rem}.education-entry{grid-template-columns:1fr;gap:1rem}.education-date{text-align:left}.achievement-entry{grid-template-columns:2rem minmax(0,1fr)}.achievement-period{grid-column:2}.contact-shell h2{font-size:clamp(2.75rem,14vw,5rem)}}.contact-shell{padding:clamp(2rem,5vw,4rem)}.contact-shell h2{letter-spacing:-.06em;text-transform:none;max-width:none;font-size:clamp(2.25rem,6vw,4.5rem);line-height:.97}.contact-copy{max-width:38rem;font-size:clamp(1rem,2vw,1.125rem);line-height:1.7}@media (max-width:480px){.contact-shell{padding:1.5rem 1.25rem}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}