/*! tailwindcss v4.1.7 | 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,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration: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;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--radius-md:.375rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;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;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}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-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{.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.z-0{z-index:0}.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}}.mx-auto{margin-inline:auto}.-mt-px{margin-top:-1px}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-2{margin-right:calc(var(--spacing)*2)}.-ml-px{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-12{margin-left:calc(var(--spacing)*12)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-16{height:calc(var(--spacing)*16)}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-auto{width:auto}.max-w-6xl{max-width:var(--container-6xl)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.cursor-default{cursor:default}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow,.shadow-sm{--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)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.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,visibility,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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-500:hover{color:var(--color-gray-500)}}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-start{justify-content:flex-start}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:pt-0{padding-top:calc(var(--spacing)*0)}}@media (min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media (hover:hover){.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}:root{--ink:#071923;--ink-soft:#102d39;--paper:#f4f3ee;--paper-deep:#e9e8e1;--white:#fffef9;--teal:#20d2c1;--teal-dark:#087d76;--lime:#d8f56b;--line:#07192324;--muted:#52636a;--font-sans:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--shadow:0 24px 80px #00000021}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,summary{font:inherit}::selection{background:var(--lime);color:var(--ink)}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.skip-link{z-index:100;background:var(--lime);color:var(--ink);border-radius:8px;padding:10px 14px;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;color:var(--white);border-bottom:1px solid #0000;transition:background .18s,border-color .18s,-webkit-backdrop-filter .18s,backdrop-filter .18s;position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#071923e0;border-color:#ffffff14}.header-inner{justify-content:space-between;align-items:center;gap:28px;min-height:80px;display:flex}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{width:42px;height:42px;color:var(--teal);font-family:var(--font-mono);background:#ffffff0d;border:1px solid #ffffff47;border-radius:50%;place-items:center;font-size:13px;font-weight:500;display:grid}.brand-copy{gap:2px;display:grid}.brand-copy strong{letter-spacing:-.01em;font-size:14px}.brand-copy span{color:#ffffff94;font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:9px}.desktop-nav{align-items:center;gap:30px;margin-left:auto;display:flex}.desktop-nav a{color:#ffffffb3;font-size:13px;font-weight:600;position:relative}.desktop-nav a:after{content:"";transform-origin:0;background:var(--teal);height:2px;transition:transform .16s;position:absolute;inset:auto 0 -8px;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--white)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.header-cta{background:var(--teal);color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:11px 15px;font-size:13px;font-weight:700;display:inline-flex}.header-cta span,.project-body a span,.hero-links span{transition:transform .16s}.header-cta:hover span,.project-body a:hover span,.hero-links a:hover span{transform:translate(2px,-2px)}.menu-button,.mobile-nav{display:none}.hero{background:var(--ink);min-height:810px;color:var(--white);align-items:center;padding:142px 0 84px;display:grid;position:relative;overflow:hidden}.hero-grid,.contact-grid{opacity:.17;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:56px 56px;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.hero-orb{filter:blur(4px);border-radius:50%;position:absolute}.hero-orb-one{background:#20d2c126;width:430px;height:430px;top:-210px;right:8%}.hero-orb-two{background:#d8f56b17;width:300px;height:300px;bottom:20px;left:-180px}.hero-layout{z-index:2;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:center;gap:clamp(58px,8vw,118px);display:grid;position:relative}.eyebrow,.kicker{color:var(--teal-dark);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 23px;font-size:11px;font-weight:500}.eyebrow{color:var(--teal);align-items:center;gap:10px;display:flex}.eyebrow span{background:currentColor;width:28px;height:1px}.hero h1{letter-spacing:-.065em;max-width:720px;margin:0;font-size:clamp(3.3rem,6.5vw,6.45rem);font-weight:600;line-height:.94}.hero h1 em{color:var(--teal);font-style:normal}.hero-intro{color:#ffffffb3;max-width:650px;margin:32px 0 0;font-size:clamp(17px,1.8vw,20px);line-height:1.62}.hero-actions,.contact-actions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:0 21px;font-size:14px;font-weight:700;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:var(--ink)}.button-secondary{color:var(--white);border-color:#ffffff38}.button-secondary:hover{background:#ffffff0d;border-color:#ffffff73}.hero-links{flex-wrap:wrap;gap:25px;margin-top:32px;display:flex}.hero-links a{color:#ffffff94;font-family:var(--font-mono);align-items:center;gap:5px;font-size:11px;display:inline-flex}.hero-links a:hover{color:var(--teal)}.portrait-wrap{justify-self:end;width:min(100%,435px);position:relative}.portrait-card{aspect-ratio:.83;background:var(--ink-soft);box-shadow:var(--shadow);border:1px solid #ffffff24;border-radius:40px 40px 120px;position:relative;overflow:hidden}.portrait-card:before{z-index:3;content:"";pointer-events:none;border:1px solid #ffffff2e;border-radius:29px 29px 106px;position:absolute;top:14px;right:14px;bottom:14px;left:14px}.portrait-card img{object-fit:cover;object-position:58% center;filter:saturate(.88)contrast(1.04)brightness(1.06);width:100%;height:100%}.portrait-shade{background:linear-gradient(#0000 52%,#071923f0);position:absolute;top:0;right:0;bottom:0;left:0}.portrait-label{z-index:4;gap:7px;display:grid;position:absolute;inset:auto 34px 34px}.portrait-label span{color:var(--teal);font-family:var(--font-mono);text-transform:uppercase;font-size:10px}.portrait-label strong{max-width:290px;font-size:21px;line-height:1.2}.availability-card{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0e2b36e8;border:1px solid #ffffff1f;border-radius:18px;align-items:flex-start;gap:12px;width:260px;padding:17px;display:flex;position:absolute;bottom:91px;right:-34px;box-shadow:0 20px 45px #00000040}.status-dot{background:var(--lime);border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px;box-shadow:0 0 0 6px #d8f56b1f}.availability-card div{gap:4px;display:grid}.availability-card strong{font-size:12px}.availability-card span:last-child{color:#fff9;font-size:10px;line-height:1.4}.signal-strip{border-bottom:1px solid var(--line);background:var(--lime)}.signal-grid{grid-template-columns:repeat(4,1fr);display:grid}.signal-grid>div{border-left:1px solid #07192326;align-items:baseline;gap:12px;min-height:122px;padding:34px 24px;display:flex}.signal-grid>div:last-child{border-right:1px solid #07192326}.signal-grid strong{letter-spacing:-.05em;font-size:clamp(25px,3vw,40px)}.signal-grid span{color:#071923ad;max-width:110px;font-size:12px;line-height:1.25}.section{padding:120px 0}.section-heading{grid-template-columns:minmax(0,1.6fr) minmax(270px,.65fr);align-items:end;gap:50px;margin-bottom:54px;display:grid}.section-heading h2,.experience-intro h2,.about-copy h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.5rem,5.2vw,5rem);font-weight:600;line-height:.98}.section-heading>p,.experience-intro>p:not(.kicker){color:var(--muted);margin:0;font-size:16px;line-height:1.65}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.project-card{border:1px solid var(--line);background:var(--white);border-radius:28px;flex-direction:column;min-height:600px;transition:transform .22s,box-shadow .22s;display:flex;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 30px 70px #0719231a}.project-featured{background:var(--ink);color:var(--white)}.project-topline{justify-content:space-between;align-items:center;padding:24px 27px;display:flex}.project-number,.project-type,.skill-index{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.project-number{color:var(--teal-dark)}.project-featured .project-number{color:var(--teal)}.project-type{color:var(--muted)}.project-featured .project-type{color:#ffffff8c}.project-visual{border-radius:20px;min-height:270px;margin:0 17px;position:relative;overflow:hidden}.schematics-visual{background-color:#0c2632;background-image:linear-gradient(#20d2c117 1px,#0000 1px),linear-gradient(90deg,#20d2c117 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.model-node{z-index:2;background:#071923e6;border:1px solid #20d2c18c;border-radius:10px;width:112px;padding:12px;position:absolute;box-shadow:0 12px 30px #00000038}.model-node span,.model-node small{display:block}.model-node span{color:var(--white);font-size:13px;font-weight:700}.model-node small{color:var(--teal);font-family:var(--font-mono);text-transform:uppercase;margin-top:3px;font-size:8px}.model-a{top:42px;left:42px}.model-b{top:106px;left:50%;transform:translate(-50%)}.model-c{bottom:40px;right:42px}.model-line{z-index:1;transform-origin:0;background:var(--teal);width:160px;height:1px;position:absolute}.line-a{top:92px;left:145px;transform:rotate(21deg)}.line-b{top:157px;left:56%;transform:rotate(23deg)}.chess-visual{background:linear-gradient(135deg,#dff7ed,#b6e8e2);place-items:center;display:grid}.chess-board{border:9px solid var(--ink);border-radius:12px;grid-template-columns:repeat(4,1fr);width:164px;height:164px;display:grid;position:relative;overflow:hidden;transform:rotate(-7deg);box-shadow:0 26px 50px #07192338}.chess-board span:nth-child(odd){background:#effbf7}.chess-board span:nth-child(2n),.chess-board span:nth-child(8n+5),.chess-board span:nth-child(8n+7){background:#0f7771}.chess-board span:nth-child(8n+6),.chess-board span:nth-child(8n+8){background:#effbf7}.chess-board b{color:var(--ink);text-shadow:0 5px 8px #ffffff73;font-size:49px;line-height:1;position:absolute;inset:41px auto auto 81px}.agent-pulse{border:1px solid #07192338;border-radius:50%;position:absolute}.pulse-one{width:215px;height:215px}.pulse-two{width:265px;height:265px}.project-body{flex-direction:column;flex:1;align-items:flex-start;padding:30px 32px 32px;display:flex}.project-body h3{letter-spacing:-.035em;margin:0;font-size:29px}.project-body p{color:var(--muted);margin:13px 0 0;font-size:15px;line-height:1.62}.project-featured .project-body p{color:#ffffffa3}.tag-row{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.tag-row span{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);border-radius:999px;padding:6px 9px;font-size:9px}.project-featured .tag-row span{color:#ffffffb3;border-color:#ffffff29}.project-body a{color:var(--teal-dark);align-items:center;gap:8px;margin-top:auto;padding-top:26px;font-size:13px;font-weight:700;display:inline-flex}.project-featured .project-body a{color:var(--teal)}.project-wide{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:center;min-height:auto;padding-bottom:30px;display:grid}.project-wide .project-topline{grid-column:1/-1}.project-wide .project-body{padding-top:18px}.system-map{justify-content:center;align-items:center;gap:8px;padding:35px;display:flex}.system-map span{border:1px solid var(--line);background:var(--paper);font-family:var(--font-mono);border-radius:8px;padding:11px 13px;font-size:9px}.system-map i{background:var(--teal-dark);width:18px;height:1px}.experience-section{background:var(--ink);color:var(--white)}.experience-layout{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(60px,10vw,150px);display:grid}.experience-intro{align-self:start;position:sticky;top:124px}.experience-intro .kicker{color:var(--teal)}.experience-intro>p:not(.kicker){color:#ffffff94;margin-top:27px}.text-link{border-bottom:1px solid var(--teal);color:var(--teal);gap:8px;margin-top:28px;padding-bottom:5px;font-size:13px;font-weight:700;display:inline-flex}.timeline{border-top:1px solid #ffffff29}.timeline-item{border-bottom:1px solid #ffffff29;grid-template-columns:110px 1fr;gap:30px;padding:39px 0;display:grid}.timeline-date{color:var(--teal);font-family:var(--font-mono);font-size:10px}.timeline-company{color:#ffffff80;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:10px}.timeline-content h3{letter-spacing:-.03em;margin:0;font-size:23px}.timeline-content>p:not(.timeline-company){color:#ffffff9e;margin:13px 0 0;font-size:14px;line-height:1.65}.timeline .tag-row span{color:#ffffff91;border-color:#ffffff26}.earlier-career{border-bottom:1px solid #ffffff29}.earlier-career summary{cursor:pointer;justify-content:space-between;align-items:center;padding:30px 40px 30px 0;font-size:15px;font-weight:700;list-style:none;display:flex;position:relative}.earlier-career summary::-webkit-details-marker{display:none}.earlier-career summary:after{content:"+";color:var(--teal);font-size:23px;font-weight:400;position:absolute;right:0}.earlier-career[open] summary:after{content:"−"}.earlier-career summary span{color:#ffffff6b;font-family:var(--font-mono);font-size:10px}.earlier-grid{gap:18px;padding:0 0 33px 140px;display:grid}.earlier-grid div{gap:4px;display:grid}.earlier-grid strong{font-size:13px}.earlier-grid span{color:#ffffff80;font-size:12px}.skills-section{background:var(--white)}.skill-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.skill-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:280px;padding:27px}.skill-index{color:var(--teal-dark)}.skill-card h3{letter-spacing:-.03em;margin:76px 0 14px;font-size:21px}.skill-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.technology-row{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:25px;display:flex}.technology-row span{background:var(--paper);color:var(--muted);font-family:var(--font-mono);border-radius:999px;padding:9px 12px;font-size:9px}.about-section{background:var(--paper)}.about-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(60px,10vw,145px);display:grid}.about-portrait{position:relative}.about-portrait img{aspect-ratio:.92;object-fit:cover;object-position:57% center;filter:saturate(.7)contrast(1.05)brightness(1.08);border-radius:30px 30px 140px;width:100%}.photo-caption{background:var(--lime);color:var(--ink);font-family:var(--font-mono);border-radius:999px;padding:12px 15px;font-size:9px;position:absolute;bottom:32px;right:-20px;transform:rotate(-4deg)}.about-copy h2{max-width:720px}.about-copy>p:not(.kicker){max-width:670px;color:var(--muted);margin:20px 0 0;font-size:15px;line-height:1.75}.about-copy .about-lead{color:var(--ink)!important;font-size:21px!important;line-height:1.5!important}.about-copy blockquote{border-left:3px solid var(--teal);letter-spacing:-.02em;margin:35px 0 0;padding-left:22px;font-size:19px;font-weight:600}.contact-section{background:var(--teal);padding:120px 0;position:relative;overflow:hidden}.contact-grid{opacity:.2;background-image:linear-gradient(#07192340 1px,#0000 1px),linear-gradient(90deg,#07192340 1px,#0000 1px);-webkit-mask-image:none;mask-image:none}.contact-inner{z-index:2;position:relative}.contact-inner .kicker{color:#0719239e}.contact-inner h2{letter-spacing:-.06em;max-width:970px;margin:0;font-size:clamp(2.75rem,6vw,6rem);font-weight:600;line-height:.98}.button-light{background:var(--ink);color:var(--white)}.button-ghost{color:var(--ink);border-color:#07192359}.site-footer{background:var(--ink);color:#ffffff8f;padding:32px 0}.footer-inner{font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:24px;font-size:9px;display:flex}.footer-inner p{margin:0}.footer-inner p span{color:var(--teal);margin:0 7px}.footer-inner div{gap:18px;display:flex}.footer-inner a:hover{color:var(--teal)}.reveal{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(24px)}.reveal-late{transition-delay:.12s}.reveal.is-visible{opacity:1;transform:translateY(0)}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}@media (max-width:980px){.desktop-nav,.header-cta{display:none}.menu-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:50%;place-content:center;gap:7px;width:44px;height:44px;display:grid}.menu-button span:not(.sr-only){background:currentColor;width:18px;height:1px;transition:transform .18s}.menu-button[aria-expanded=true] span:nth-child(2){transform:translateY(4px)rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-4px)rotate(-45deg)}.mobile-nav{z-index:49;color:var(--white);opacity:0;pointer-events:none;background:#071923fa;border-top:1px solid #ffffff14;padding:24px;transition:transform .22s,opacity .22s;display:grid;position:fixed;inset:80px 0 auto;transform:translateY(-130%)}.mobile-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav a{border-bottom:1px solid #ffffff1a;padding:15px 0;font-size:16px;font-weight:600}.hero-layout,.experience-layout,.about-layout{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{max-width:760px}.portrait-wrap{justify-self:start;width:min(78%,490px)}.experience-intro{position:static}.skill-grid{grid-template-columns:repeat(2,1fr)}.project-wide{grid-template-columns:1fr}.project-wide .project-topline{grid-column:auto}}@media (max-width:720px){.shell{width:min(100% - 30px,1180px)}.brand-copy span{display:none}.hero{padding-top:124px}.hero h1{font-size:clamp(3rem,14vw,4.9rem)}.hero-layout{gap:62px}.hero-intro{font-size:16px}.portrait-wrap{width:calc(100% - 18px)}.portrait-card{border-radius:28px 28px 90px}.availability-card{width:min(250px,82%);bottom:58px;right:-12px}.signal-grid{grid-template-columns:repeat(2,1fr)}.signal-grid>div:nth-child(3){border-top:1px solid #07192326}.signal-grid>div:nth-child(4){border-top:1px solid #07192326;border-right:1px solid #07192326}.section{padding:88px 0}.section-heading{grid-template-columns:1fr;gap:24px}.section-heading h2,.experience-intro h2,.about-copy h2{font-size:clamp(2.5rem,12vw,4.4rem)}.project-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.project-card{min-height:570px}.project-wide{min-height:auto}.system-map{flex-wrap:wrap;padding:25px}.timeline-item{grid-template-columns:1fr;gap:13px}.earlier-grid{padding-left:0}.skill-grid{grid-template-columns:1fr}.skill-card{min-height:230px}.skill-card h3{margin-top:48px}.about-layout{gap:65px}.photo-caption{right:8px}.contact-section{padding:90px 0}.contact-inner h2{font-size:clamp(2.65rem,12.8vw,4.5rem)}.footer-inner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
