/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--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-outline-style:solid;--tw-ease:initial}}}@layer theme{:host,:root{--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;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--tracking-normal:0em;--ease-out:cubic-bezier(0,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{*,::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,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,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{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{.visible{visibility:visible}.static{position:static}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-full{height:100%}.h-px{height:1px}.w-full{width:100%}.w-px{width:1px}.shrink-0{flex-shrink:0}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded-lg,.rounded-md,.rounded-sm{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--rule)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--rule)}.bg-card{background-color:var(--canvas-raised)}.bg-muted{background-color:var(--canvas-quiet)}.bg-primary{background-color:var(--signal)}.bg-secondary{background-color:var(--canvas-quiet)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.p-1{padding:var(--spacing)}.p-6{padding:calc(var(--spacing) * 6)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-0{padding-top:0}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-\[var\(--portfolio-font-body\)\]{--tw-font-weight:var(--portfolio-font-body);font-weight:var(--portfolio-font-body)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground,.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary-foreground{color:var(--signal-ink)}.text-secondary-foreground{color:var(--foreground)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:border-primary\/35:hover{border-color:var(--signal)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/35:hover{border-color:color-mix(in oklab,var(--signal) 35%,transparent)}}.hover\:bg-accent:hover{background-color:var(--foreground)}.hover\:bg-primary\/80:hover{background-color:var(--signal)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--signal) 80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--signal)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--signal) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--canvas-quiet)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--canvas-quiet) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--background)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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\:ring-ring:focus{--tw-ring-color:var(--signal)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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-visible\:ring-ring:focus-visible{--tw-ring-color:var(--signal)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--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)}@media (min-width:64rem){.lg\:min-w-\[1120px\]{min-width:1120px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}:root{--portfolio-font-body:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--portfolio-font-highlight:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--portfolio-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;--background:#f2f0e8;--foreground:#0a0a0a;--canvas-raised:#f8f6ee;--canvas-quiet:#e8e5dc;--muted-foreground:#626158;--signal:#ff4d00;--signal-ink:#0a0a0a;--rule:#0a0a0a;--rule-muted:#0a0a0a47;--space-page:clamp(1rem,3vw,3rem);--space-section:clamp(6.5rem,10vw,10rem);--header-height:5rem;--duration-fast:.22s;--ease-out:cubic-bezier(.22,1,.36,1)}:root.dark{color-scheme:dark;--background:#0a0a0a;--foreground:#f2f0e8;--canvas-raised:#11110f;--canvas-quiet:#1a1916;--muted-foreground:#bbb8ae;--signal:#ff4d00;--signal-ink:#0a0a0a;--rule:#f2f0e8;--rule-muted:#f2f0e847}*,:after,:before{box-sizing:border-box;border-color:var(--rule)}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1.5rem)}body{background:var(--background);min-width:320px;min-height:100dvh;color:var(--foreground);font-family:var(--portfolio-font-body);text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}body:before{z-index:100;pointer-events:none;content:"";opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}svg{stroke-width:1.8px}::selection{background:var(--signal);color:var(--signal-ink)}:focus-visible{outline:3px solid var(--signal)!important;outline-offset:3px!important;box-shadow:none!important}.font-highlight{font-family:var(--portfolio-font-highlight)}.mono-label{font-family:var(--portfolio-font-mono);letter-spacing:.065em;text-transform:uppercase;font-size:.76rem;font-weight:500;line-height:1.45}.site-frame{width:100%;max-width:1600px;padding-inline:var(--space-page);margin-inline:auto}.portfolio-shell{background:var(--background);min-height:100dvh}.skip-link{z-index:120;border:2px solid var(--foreground);background:var(--signal);color:var(--signal-ink);font-family:var(--portfolio-font-mono);text-transform:uppercase;padding:.75rem 1rem;font-size:.75rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:50;height:var(--header-height);border-bottom:2px solid var(--rule);background:var(--background);position:sticky;top:0}.header-grid{grid-template-columns:3fr 6fr 3fr;align-items:stretch;height:100%;padding-inline:0;display:grid}.brand-lockup,.header-tools{padding-inline:var(--space-page)}.brand-lockup{border-right:1px solid var(--rule);align-items:center;gap:1rem;display:flex}.brand-code{font-family:var(--portfolio-font-mono);color:var(--signal);font-size:.84rem}.brand-name{letter-spacing:-.02em;font-size:.95rem;font-weight:600}.primary-nav{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.primary-nav a{border-right:1px solid var(--rule);min-width:0;font-family:var(--portfolio-font-mono);letter-spacing:.035em;text-transform:uppercase;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;gap:.45rem;font-size:.75rem;display:flex;position:relative}.primary-nav a span{color:var(--muted-foreground);font-size:.65rem}.primary-nav a:after{background:var(--signal);content:"";transform-origin:0;height:4px;transition:transform var(--duration-fast) var(--ease-out);position:absolute;bottom:-2px;left:-1px;right:-1px;transform:scaleX(0)}.primary-nav a:hover,.primary-nav a[aria-current=true]{background:var(--foreground);color:var(--background)}.primary-nav a:hover span,.primary-nav a[aria-current=true] span{color:var(--signal)}.primary-nav a:hover:after,.primary-nav a[aria-current=true]:after{transform:scaleX(1)}.header-tools{justify-content:flex-end;gap:1rem}.availability,.header-tools{align-items:center;display:flex}.availability{font-family:var(--portfolio-font-mono);letter-spacing:.06em;gap:.5rem;font-size:.69rem}.availability i,.contact-index i,.project-status i,.status-live i{background:var(--signal);flex:none;width:.45rem;height:.45rem;display:inline-block}.theme-control button{border:1px solid var(--rule)!important;width:2.5rem!important;height:2.5rem!important;color:var(--foreground)!important;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)!important;background:0 0!important;border-radius:0!important}.theme-control button:hover{background:var(--foreground)!important;color:var(--background)!important}.hero-section{border-bottom:2px solid var(--rule)}.hero-status{border-bottom:1px solid var(--rule);grid-template-columns:3fr 6fr 3fr;align-items:center;min-height:3rem;display:grid}.hero-status span:nth-child(2){text-align:center}.hero-status span:last-child{justify-self:end}.status-live{align-items:center;gap:.5rem;display:inline-flex}.hero-composition{min-height:clamp(42rem,calc(82dvh - var(--header-height)),54rem);border-bottom:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.hero-title{letter-spacing:-.075em;text-transform:uppercase;flex-direction:column;grid-column:1/span 9;justify-content:center;align-self:stretch;padding-block:clamp(3rem,6vw,6rem);font-size:clamp(4.2rem,9vw,9.5rem);font-weight:700;line-height:.78;display:flex}.hero-title>span{white-space:nowrap;display:block}.hero-name-row{align-items:flex-end;display:flex!important}.hero-name-row em{color:var(--signal);font-style:normal}.hero-name-row b{letter-spacing:.09em;margin:0 0 .8em 1.25rem;font-size:clamp(.7rem,.85vw,.86rem);font-weight:500;line-height:1.2}.hero-name-row b,.registration{font-family:var(--portfolio-font-mono)}.registration{color:var(--signal);letter-spacing:0;margin-left:.08em;font-size:.12em;position:relative;top:-.45em}.hero-brief{border-left:1px solid var(--rule);flex-direction:column;grid-column:10/-1;justify-content:flex-end;align-self:stretch;padding:clamp(2rem,4vw,4rem) 0 clamp(3rem,6vw,6rem) clamp(1.5rem,3vw,3rem);display:flex}.hero-summary{letter-spacing:-.025em;text-wrap:pretty;max-width:31rem;margin:1.5rem 0 2.5rem;font-size:clamp(1.15rem,1.55vw,1.5rem);line-height:1.3}.spec-list{border-top:1px solid var(--rule);margin:0}.spec-list div{border-bottom:1px solid var(--rule-muted);grid-template-columns:6.4rem 1fr;gap:.85rem;padding-block:.78rem;display:grid}.project-specs dt,.spec-list dt{font-family:var(--portfolio-font-mono);letter-spacing:.07em;color:var(--muted-foreground);font-size:.69rem}.project-specs dd,.spec-list dd{font-family:var(--portfolio-font-mono);margin:0;font-size:.76rem;line-height:1.5}.education-note{color:var(--muted-foreground);font-family:var(--portfolio-font-mono);text-transform:uppercase;margin:1rem 0 0;font-size:.7rem;line-height:1.55}.hero-actions{grid-template-columns:1fr auto;gap:0;margin-top:2rem;display:grid}.mechanical-link{border:2px solid var(--rule);min-height:3.65rem;font-family:var(--portfolio-font-mono);text-transform:uppercase;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.74rem;display:flex}.mechanical-link+.mechanical-link{border-left:0}.mechanical-link svg{width:1rem}.mechanical-link-primary{background:var(--foreground);color:var(--background)}.mechanical-link:hover{box-shadow:4px 4px 0 var(--signal);transform:translate(-3px,-3px)}.mechanical-link-primary:hover{background:var(--signal);color:var(--signal-ink)}.delivery-map{border-top:0}.delivery-header{border-bottom:1px solid var(--rule);grid-template-columns:9fr 3fr;align-items:center;min-height:8rem;display:grid}.delivery-header h2{letter-spacing:-.055em;margin:.8rem 0 0;font-size:clamp(2rem,4vw,4.8rem);font-weight:600;line-height:.9}.delivery-header>p{border-left:1px solid var(--rule);font-family:var(--portfolio-font-mono);text-transform:uppercase;align-self:stretch;align-items:center;margin:0;padding-left:clamp(1.5rem,3vw,3rem);font-size:.74rem;line-height:1.6;display:flex}.delivery-steps{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.delivery-step{border-right:1px solid var(--rule);min-height:10rem;padding:1rem;position:relative}.delivery-step:last-child{border-right:0}.delivery-step:after{z-index:1;background:var(--signal);content:"";width:.6rem;height:.6rem;position:absolute;top:1rem;right:-.31rem}.delivery-step:last-child:after{display:none}.delivery-step>span{font-family:var(--portfolio-font-mono);color:var(--signal);font-size:.7rem}.delivery-step h3{margin:2.5rem 0 .45rem;font-size:clamp(1rem,1.15vw,1.2rem);line-height:1.15}.delivery-step p{color:var(--muted-foreground);font-family:var(--portfolio-font-mono);text-transform:uppercase;margin:0;font-size:.68rem;line-height:1.5}.delivery-output{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;display:flex}.delivery-output b{color:var(--signal);letter-spacing:.4em}.page-section{padding-block:var(--space-section);border-bottom:2px solid var(--rule)}.section-heading{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;padding-bottom:clamp(3rem,6vw,6rem);display:grid}.section-heading-index{color:var(--muted-foreground);flex-direction:column;grid-column:1/span 2;align-self:start;gap:.35rem;display:flex}.section-heading-index span:first-child{color:var(--signal)}.section-heading h2{letter-spacing:-.065em;text-wrap:balance;grid-column:3/span 7;max-width:11ch;margin:0;font-size:clamp(3.5rem,7.4vw,8.5rem);font-weight:600;line-height:.83}.section-heading>p{letter-spacing:-.02em;text-wrap:pretty;grid-column:10/-1;max-width:34rem;margin:0;font-size:clamp(1.1rem,1.4vw,1.35rem);line-height:1.5}.project-groups{border-top:2px solid var(--rule)}.project-group+.project-group{margin-top:clamp(5rem,9vw,9rem)}.project-group-header{border-bottom:1px solid var(--rule);grid-template-columns:3fr 9fr;padding-block:1rem;display:grid}.project-group-header>p{color:var(--signal)}.project-group-header>div{justify-content:space-between;align-items:baseline;gap:2rem;display:flex}.project-group-header h3{margin:0;font-size:1.12rem;font-weight:600}.project-group-header>div p{max-width:40rem;color:var(--muted-foreground);margin:0;font-size:.94rem}.project-records{border-left:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.project-record{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--background);min-height:29rem;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);flex-direction:column;padding:clamp(1rem,2.2vw,2rem);display:flex;position:relative;overflow:hidden}.project-group:first-child .project-record-1{grid-column:span 7;min-height:34rem}.project-group:first-child .project-record-2{grid-column:span 5;min-height:34rem}.project-group:first-child .project-record-3{grid-column:span 5}.project-group:first-child .project-record-4{grid-column:span 7}.project-group:last-child .project-record{grid-column:span 6}.project-record[href]:hover{z-index:2;background:var(--foreground);color:var(--background);box-shadow:8px 8px 0 var(--signal);transform:translate(-4px,-4px)}.project-record[href]:hover .project-description,.project-record[href]:hover .project-specs dt,.project-record[href]:hover .project-title-block p{color:var(--background)}@supports (color:color-mix(in lab,red,red)){.project-record[href]:hover .project-description,.project-record[href]:hover .project-specs dt,.project-record[href]:hover .project-title-block p{color:color-mix(in srgb,var(--background) 68%,transparent)}}.project-index{justify-content:space-between;align-items:center;gap:1rem;display:flex}.project-index>span:first-child{color:var(--signal)}.project-status{align-items:center;gap:.45rem;display:inline-flex}.project-title-block{margin-top:clamp(3rem,7vw,7rem)}.project-title-block p{color:var(--muted-foreground);font-family:var(--portfolio-font-mono);letter-spacing:.07em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem}.project-title-block h4{letter-spacing:-.065em;overflow-wrap:anywhere;max-width:11ch;margin:0;font-size:clamp(2.4rem,5.1vw,6.5rem);font-weight:600;line-height:.86}.project-group:first-child .project-record-2 h4,.project-group:first-child .project-record-3 h4,.project-group:last-child .project-record h4{font-size:clamp(2.2rem,3.8vw,4.7rem)}.project-description{max-width:46ch;color:var(--muted-foreground);margin:1.5rem 0 2.5rem;font-size:1.04rem;line-height:1.6}.project-specs{border-top:1px solid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:auto 0 0;padding-top:1rem;display:grid}.project-specs div{min-width:0}.project-specs dd{overflow-wrap:anywhere;margin-top:.35rem}.project-action{font-family:var(--portfolio-font-mono);text-transform:uppercase;border-top:1px solid;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:.9rem;font-size:.73rem;display:flex}.project-action svg{width:1rem;color:var(--signal);transition:transform var(--duration-fast) linear}.project-record[href]:hover .project-action svg{transform:translate(3px,-3px)}.work-footnote{border:2px solid var(--rule);border-top:0;grid-template-columns:3fr 6fr 3fr;align-items:end;gap:1.5rem;padding:clamp(1.5rem,3vw,3rem);display:grid}.work-footnote>span{color:var(--signal);align-self:start}.work-footnote h3{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,4.6rem);font-weight:600;line-height:.9}.work-footnote p{max-width:51ch;color:var(--muted-foreground);margin:1.25rem 0 0;font-size:1.04rem;line-height:1.6}.work-footnote>a{border-bottom:2px solid var(--rule);font-family:var(--portfolio-font-mono);text-transform:uppercase;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),padding var(--duration-fast) var(--ease-out);justify-content:space-between;align-items:center;padding-block:.85rem;font-size:.74rem;display:flex}.work-footnote>a:hover{background:var(--foreground);color:var(--background);padding-inline:.75rem}.work-footnote svg{width:1rem}.expertise-section{padding-bottom:0}.capability-grid{border-top:2px solid var(--rule)}.capability{border-bottom:1px solid var(--rule);min-height:17rem;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);grid-template-columns:2fr 7fr 3fr;display:grid}.capability:hover{background:var(--foreground);color:var(--background)}.capability-index{border-right:1px solid var(--rule);color:var(--signal);font-family:var(--portfolio-font-mono);letter-spacing:-.08em;align-self:stretch;align-items:center;font-size:clamp(3rem,5vw,6rem);display:flex}.capability>div{padding:clamp(1.5rem,3vw,3rem)}.capability h3{letter-spacing:-.045em;max-width:18ch;margin:2rem 0 .8rem;font-size:clamp(1.8rem,3.1vw,3.8rem);font-weight:600;line-height:.95}.capability>div>p:last-child{max-width:52ch;color:var(--muted-foreground);margin:0;font-size:1.04rem;line-height:1.6}.capability:hover>div>p:last-child{color:var(--background)}@supports (color:color-mix(in lab,red,red)){.capability:hover>div>p:last-child{color:color-mix(in srgb,var(--background) 72%,transparent)}}.capability ul{border-left:1px solid var(--rule);flex-direction:column;justify-content:center;margin:0;padding:1.5rem;list-style:none;display:flex}.capability li{font-family:var(--portfolio-font-mono);text-transform:uppercase;border-top:1px solid;padding-block:.72rem;font-size:.74rem}.capability li:before{color:var(--signal);content:"+";margin-right:.75rem}.record-tabs{border-top:2px solid var(--rule)}.record-tab-list{grid-template-columns:repeat(2,minmax(0,1fr));background:0 0!important;border-radius:0!important;gap:0!important;width:100%!important;height:auto!important;padding:0!important;display:grid!important}.record-tab-list button{min-height:4rem;font-family:var(--portfolio-font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;border:0!important;border-right:1px solid var(--rule)!important;border-bottom:1px solid var(--rule)!important;color:var(--foreground)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important}.record-tab-list button:last-child{border-right:0!important}.record-tab-list button[data-state=active]{background:var(--foreground)!important;color:var(--background)!important}.record-tab-list button[data-state=active]:before{color:var(--signal);content:"■";margin-right:.75rem}.record-tab-content{outline:none;margin-top:0!important}.record-context{border-bottom:1px solid var(--rule);grid-template-columns:3fr 9fr;align-items:start;gap:1.5rem;padding-block:1.25rem 2rem;display:grid}.record-context span{color:var(--signal)}.record-context p{max-width:62ch;color:var(--muted-foreground);margin:0;font-size:1rem;line-height:1.6}.certificate-scroll{margin-inline:0;padding-inline:0;overflow:visible}.certificate-track{border-left:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.certificate-card{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--background);width:auto;min-height:22rem;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);flex-direction:column;padding:1.5rem;display:flex}.certificate-card:hover{background:var(--foreground);color:var(--background)}.certificate-card>.mono-label{color:var(--signal)}.certificate-logo{background:#fff;border:1px solid #0a0a0a;justify-content:center;align-items:center;width:9rem;height:4rem;margin-top:2.75rem;padding:.75rem;display:flex}.certificate-logo img{object-fit:contain;max-width:100%;max-height:2.5rem}.certificate-card>div:nth-child(3){margin-top:auto}.certificate-card h3{letter-spacing:-.035em;max-width:17ch;margin:0;font-size:1.7rem;font-weight:600;line-height:1.05}.certificate-card p{color:var(--muted-foreground);font-family:var(--portfolio-font-mono);text-transform:uppercase;margin:.75rem 0 0;font-size:.72rem;line-height:1.5}.certificate-card:hover p{color:var(--background)}@supports (color:color-mix(in lab,red,red)){.certificate-card:hover p{color:color-mix(in srgb,var(--background) 70%,transparent)}}.certificate-action{font-family:var(--portfolio-font-mono);text-transform:uppercase;border-top:1px solid;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:.75rem;font-size:.72rem;display:flex}.certificate-action svg{width:1rem;color:var(--signal)}.experience-scroll{overflow-x:auto}.experience-track{grid-template-columns:repeat(5,minmax(13rem,1fr));padding-top:3rem;display:grid;position:relative}.timeline-rail{height:2px;position:absolute;top:4.45rem;left:0;right:0;background:var(--rule)!important;background-image:none!important}.experience-item{border-right:1px solid var(--rule);outline-offset:-3px;min-height:22rem;padding:4rem 1.25rem 1.5rem;position:relative}.experience-item:last-child{border-right:0}.experience-marker{z-index:2;border:2px solid var(--rule);background:var(--background);width:3rem;height:3rem;color:var(--signal);font-family:var(--portfolio-font-mono);justify-content:center;align-items:center;font-size:.7rem;display:flex;position:absolute;top:0;left:1.25rem}.experience-item:focus .experience-marker,.experience-item:hover .experience-marker{background:var(--signal);color:var(--signal-ink)}.experience-period{color:var(--muted-foreground)}.experience-item h3{letter-spacing:-.035em;margin:1.5rem 0 .6rem;font-size:1.55rem;font-weight:600;line-height:1.05}.experience-org{min-height:3.5rem;color:var(--muted-foreground);margin:0;font-size:.9rem;line-height:1.45}.experience-detail{border-top:1px solid var(--rule);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);margin:1.5rem 0 0;padding-top:1rem;font-size:.92rem;line-height:1.55;transform:none;opacity:1!important}.experience-item:focus .experience-detail,.experience-item:hover .experience-detail{transform:translateY(0)}.contact-section{color:#f2f0e8;background:#0a0a0a;border-bottom:2px solid #0a0a0a}.contact-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;min-height:80dvh;display:grid}.contact-index{border-right:1px solid #f2f0e8;grid-column:1/span 3;padding-block:clamp(3rem,6vw,6rem)}.contact-index .mono-label{color:var(--signal)}.contact-index>p:last-child{max-width:18rem;font-family:var(--portfolio-font-mono);text-transform:uppercase;align-items:center;gap:.6rem;margin-top:3rem;font-size:.73rem;line-height:1.55;display:flex}.contact-main{flex-direction:column;grid-column:4/span 6;justify-content:center;padding:clamp(3rem,7vw,7rem);display:flex}.contact-main h2{letter-spacing:-.07em;max-width:9ch;margin:0;font-size:clamp(4rem,8vw,9rem);font-weight:600;line-height:.82}.contact-main p{color:#bbb8ae;max-width:51ch;margin:2rem 0 0;font-size:1.12rem;line-height:1.65}.contact-links{border-left:1px solid #f2f0e8;flex-direction:column;grid-column:10/-1;justify-content:flex-end;display:flex}.contact-links a{min-height:5rem;font-family:var(--portfolio-font-mono);text-transform:uppercase;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);border-top:1px solid #f2f0e8;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:1rem;padding:1rem;font-size:.78rem;display:grid}.contact-links a span{color:var(--signal)}.contact-links a svg{width:1rem}.contact-links a:hover{background:var(--signal)}.contact-links a:hover,.contact-links a:hover span{color:var(--signal-ink)}.site-footer{border-bottom:.5rem solid var(--signal)}.footer-grid{min-height:5rem;font-family:var(--portfolio-font-mono);text-transform:uppercase;grid-template-columns:4fr 5fr 3fr;align-items:center;font-size:.7rem;display:grid}.footer-grid p{margin:0}.footer-grid p:nth-child(2){text-align:center}.footer-grid a{border-bottom:1px solid;justify-self:end}@media (max-width:1100px){:root{--header-height:7.5rem}.header-grid{grid-template-rows:4rem 3.5rem;grid-template-columns:1fr auto}.brand-lockup{border-right:1px solid var(--rule)}.header-tools{padding-inline:1rem}.primary-nav{border-top:1px solid var(--rule);grid-area:2/1/auto/-1}.hero-composition{min-height:auto}.hero-title{grid-column:1/span 8}.hero-brief{grid-column:9/-1}.section-heading h2{grid-column:3/span 6}.section-heading>p{grid-column:9/-1}.project-group:first-child .project-record-1,.project-group:first-child .project-record-4{grid-column:span 7}.project-group:first-child .project-record-2,.project-group:first-child .project-record-3{grid-column:span 5}.contact-main{padding-inline:3rem}.certificate-track{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){:root{--space-page:1rem;--space-section:6rem;--header-height:7rem}.site-header{height:var(--header-height)}.header-grid{grid-template-rows:3.5rem 3.5rem}.brand-lockup{padding-inline:1rem}.availability,.brand-name{display:none}.header-tools{border-left:0;padding-right:1rem}.theme-control button{width:2.25rem!important;height:2.25rem!important}.primary-nav a{gap:.2rem;padding-inline:.2rem;font-size:.67rem}.primary-nav a span{display:none}.hero-status{grid-template-columns:1fr 1fr;min-height:2.75rem}.hero-status span:nth-child(2){display:none}.hero-composition{display:block}.hero-title{letter-spacing:-.065em;min-height:23rem;padding-block:3.25rem;font-size:clamp(3.3rem,16vw,7rem);line-height:.82}.hero-name-row{display:block!important}.hero-name-row b{margin:1rem 0 0 .2rem;display:block}.hero-brief{border-top:1px solid var(--rule);border-left:0;padding:2rem 0 3rem}.hero-summary{margin-bottom:2rem}.hero-actions{grid-template-columns:1fr}.mechanical-link+.mechanical-link{border-top:0;border-left:2px solid var(--rule)}.delivery-header{padding-block:2rem;display:block}.delivery-header>p{border-top:1px solid var(--rule);border-left:0;margin-top:2rem;padding:1rem 0 0}.delivery-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-step{border-bottom:1px solid var(--rule);min-height:9rem}.delivery-step:nth-child(2n){border-right:0}.delivery-step:nth-child(2n):after{display:none}.delivery-step h3{margin-top:2rem}.delivery-output{flex-direction:column;align-items:flex-start;padding-block:1rem}.delivery-output b{transform-origin:0;transform:rotate(90deg)}.section-heading{display:block}.section-heading-index{margin-bottom:2rem}.section-heading h2{max-width:10ch;font-size:clamp(3.4rem,16vw,6rem)}.section-heading>p{max-width:32rem;margin-top:2rem}.project-group-header{display:block}.project-group-header>div{margin-top:1rem;display:block}.project-group-header>div p{margin-top:.5rem}.project-records{display:block}.project-record{min-height:30rem!important}.project-title-block{margin-top:4rem}.project-group:first-child .project-record-2 h4,.project-group:first-child .project-record-3 h4,.project-group:last-child .project-record h4,.project-title-block h4{font-size:clamp(2.6rem,13vw,4.6rem)}.project-specs{grid-template-columns:1fr 1fr}.project-specs div:nth-child(2){grid-area:2/1/auto/-1}.work-footnote{display:block}.work-footnote>div{margin-block:2.5rem}.capability{min-height:0;padding-bottom:2rem;display:block}.capability-index{border-right:0;border-bottom:1px solid var(--rule);min-height:5rem}.capability>div{padding-inline:0}.capability ul{border-left:0;padding:0}.record-tab-list button{min-height:3.75rem;font-size:.68rem}.record-context{padding-block:1.25rem 1.75rem;display:block}.record-context p{margin-top:.75rem}.certificate-track{grid-template-columns:1fr}.certificate-card{width:auto;min-height:20rem}.experience-scroll{overflow-x:visible}.experience-track{padding-top:0;display:block;min-width:0!important}.timeline-rail{width:2px;height:auto;inset:0 auto 0 1.5rem}.experience-item{border-right:0;border-bottom:1px solid var(--rule);min-height:0;padding:2rem 1rem 2rem 5rem}.experience-marker{top:1.5rem;left:0}.experience-detail{transform:none;opacity:1!important}.contact-grid{min-height:auto;display:block}.contact-index{border-bottom:1px solid #f2f0e8;border-right:0;padding-block:2rem}.contact-index>p:last-child{margin-top:1.5rem}.contact-main{padding:5rem 0}.contact-main h2{font-size:clamp(4rem,18vw,7rem)}.contact-links{border-left:0;border-right:1px solid #f2f0e8}.footer-grid{grid-template-columns:1fr auto;gap:1rem;min-height:7rem}.footer-grid p:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}