@font-face{font-family:"DIN 2014 Demi";src:url(/fonts/din-2014-demibold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:block}@font-face{font-family:"DIN 2014 Light";src:url(/fonts/din-2014-light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"DIN 2014 Regular";src:url(/fonts/din-2014-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:block}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--navy-950:#011432;--navy-900:#031b3a;--navy-800:#05294e;--ink-rgb:217, 238, 246;--cyan-100:rgb(var(--ink-rgb));--cyan-300:#6fbdd5;--cyan-500:#2aa8c9;--steel-100:var(--cyan-100);--z-overlay-form:22;--z-overlay-top:30;--steel-300:#9db8c8;--steel-600:#466579;--danger-400:#ff6c7a;--action-amber:#ffc340db;--action-amber-hover:#ffe39a;--action-outline:#ffc1409e;--action-hover-background:#2a1b0d42;--action-glow:drop-shadow(0 0 4px #ffc14080) drop-shadow(0 0 12px #ffc1403d);--contact-action-yellow:var(--action-amber);--contact-action-yellow-hover:var(--action-amber-hover);--overlay-label:rgba(var(--ink-rgb), .66);--panel:#031a31bd;--line:#6fbdd56b;--hairline:rgba(var(--ink-rgb), .32);--contact-panel-blueprint-background:radial-gradient(120% 90% at 50% 40%, #062446f7 0%, #031936f7 58%, #02122af7 100%);--font-sans:"DIN 2014 Regular", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"DIN 2014 Regular", "SFMono-Regular", "Roboto Mono", "Cascadia Code", Consolas, monospace;--font-code:ui-monospace, "SF Mono", SFMono-Regular, Menlo, "Cascadia Mono", Consolas, "Roboto Mono", "Liberation Mono", monospace;--font-demi:"DIN 2014 Demi", "DIN 2014 Regular", ui-sans-serif, system-ui, sans-serif;--font-light:"DIN 2014 Light", "DIN 2014 Regular", ui-sans-serif, system-ui, sans-serif;color:var(--steel-100);background:var(--navy-950);font-family:var(--font-sans);font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}:root{--viewport-under-status:0px;--viewport-hidden-bottom:0px;--page-height:100vh}@supports (height:100lvh){:root{--viewport-hidden-bottom:calc(100lvh - 100svh);--page-height:calc(var(--viewport-under-status) + 100svh + var(--viewport-hidden-bottom))}}.viewport-bar-fade{z-index:2;height:calc(var(--viewport-hidden-bottom) + var(--bar-fade));background:linear-gradient(to bottom, #03183800, #031838a6 var(--bar-fade), #031838 calc(var(--bar-fade) + 40px));pointer-events:none;display:none;position:absolute;bottom:0;left:0;right:0}@supports (-webkit-touch-callout:none) and (height:100lvh){@media (width<=560px){:root{--viewport-under-status:72px;--viewport-hidden-bottom:calc(100lvh - 100svh + 72px);--bar-fade:56px}.viewport-bar-fade{display:block}.portfolio-hero.hero-booting{visibility:hidden}.portfolio-hero.hero-booting>.contact-overlay:not([hidden]),.portfolio-hero.hero-booting>.contact-overlay__mobile-close{visibility:visible}.portfolio-hero.contact-overlay-active .viewport-bar-fade{z-index:9}}}html,body,#app{width:100%;height:100%;min-height:var(--page-height);background:var(--navy-950);overscroll-behavior:none;touch-action:manipulation;margin:0;overflow:hidden}html,body{background:#031838}button{font:inherit}.portfolio-hero{--sheet-page-padding:calc(8px + var(--viewport-under-status)) 8px calc(8px + var(--viewport-hidden-bottom));--edge-gutter:clamp(21px, 5.2vw, 47px);--edge-top-gutter:clamp(21px, 5.2vw, 47px);--edge-bottom-gutter:calc(clamp(21px, 5.2vw, 47px) + var(--viewport-hidden-bottom));--identity-copy-lift-y:clamp(-236px, calc(217px - 49svh), -136px);--identity-name-x-nudge:-4px;--readout-top:var(--edge-top-gutter);--readout-width:min(372px, calc(100vw - var(--edge-gutter) - var(--edge-gutter)));width:100%;height:var(--page-height);isolation:isolate;background:repeating-linear-gradient(0deg, rgba(var(--ink-rgb), .064) 0 1px, transparent 1px 8px), repeating-linear-gradient(90deg, rgba(var(--ink-rgb), .06) 0 1px, transparent 1px 8px), repeating-linear-gradient(0deg, #6fbdd51c 0 1px, transparent 1px 40px), repeating-linear-gradient(90deg, #6fbdd51a 0 1px, transparent 1px 40px), linear-gradient(145deg, #011432 0%, #031b3a 48%, #011432 100%);background-size:auto;min-height:620px;position:relative;overflow:hidden}.viewport-hidden-probe,.viewport-hidden-top-probe{width:0;height:var(--viewport-hidden-bottom);visibility:hidden;pointer-events:none;position:absolute;bottom:0;left:0}.viewport-hidden-top-probe{height:var(--viewport-under-status);top:0;bottom:auto}.portfolio-hero:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg, rgba(var(--ink-rgb), .09), transparent 18%, transparent 82%, rgba(var(--ink-rgb), .07)), repeating-linear-gradient(0deg, transparent 0 23px, #ffffff08 24px);mix-blend-mode:screen;opacity:.48;position:absolute;inset:0}.portfolio-hero:after{content:"";z-index:6;pointer-events:none;border:1px solid rgba(var(--ink-rgb), .58);background:linear-gradient(rgba(var(--ink-rgb), .54), rgba(var(--ink-rgb), .54)) left 16px top 0 / 1px 34px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .54), rgba(var(--ink-rgb), .54)) left 0 top 16px / 34px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .54), rgba(var(--ink-rgb), .54)) right 16px top 0 / 1px 34px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .54), rgba(var(--ink-rgb), .54)) right 0 top 16px / 34px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .54), rgba(var(--ink-rgb), .54)) left 16px bottom 0 / 1px 34px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .54), rgba(var(--ink-rgb), .54)) left 0 bottom 16px / 34px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .54), rgba(var(--ink-rgb), .54)) right 16px bottom 0 / 1px 34px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .54), rgba(var(--ink-rgb), .54)) right 0 bottom 16px / 34px 1px no-repeat;opacity:.82;position:absolute;inset:18px}.portfolio-hero.hero-booting .machined-nav-layer,.portfolio-hero.hero-booting .workpiece-dimension-label-layer,.portfolio-hero.hero-booting .detail-callout,.portfolio-hero.hero-booting .joint-label-layer,.portfolio-hero.hero-booting .readout strong,.portfolio-hero.hero-booting .gcode-panel,.portfolio-hero.hero-booting .cutter-detail__tool,.portfolio-hero.hero-booting .cutter-detail__spin,.portfolio-hero.hero-booting .cutter-detail__tool-axis,.portfolio-hero.hero-booting .cutter-detail__dimension,.portfolio-hero.hero-booting .cutter-detail__chips{visibility:hidden}.machine-canvas{z-index:1;cursor:crosshair;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.workpiece-dimension-label-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.workpiece-dimension-label{color:rgba(var(--ink-rgb), .98);font:400 14px/1 var(--font-mono);letter-spacing:0;text-align:center;white-space:nowrap;opacity:.98;text-shadow:0 0 5px #031a31f2,0 0 10px #6fbdd557;transform-origin:50%;-webkit-user-select:none;user-select:none;display:block;position:absolute}.machined-nav-layer{z-index:5;pointer-events:none;position:absolute;inset:0}.machined-nav-link{box-sizing:border-box;color:#0000;height:30px;font:600 11px/1 var(--font-demi);letter-spacing:0;text-transform:uppercase;pointer-events:auto;opacity:.88;background:0 0;border:0;border-radius:2px;place-items:center;padding:0;text-decoration:none;transition:opacity .14s,background .14s;display:grid;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.portfolio-hero.nav-startup-active .machined-nav-link{opacity:0;background:0 0}.portfolio-hero.nav-startup-active .machined-nav-link.machined-nav-startup-visible,.portfolio-hero.nav-startup-active .machined-nav-link:focus-visible{opacity:.9}.machined-nav-link:hover,.machined-nav-link:focus-visible{opacity:1;outline:none}@media (forced-colors:active){.machined-nav-link:focus-visible{outline-offset:3px;outline:2px solid canvastext}}.machined-nav-callout{pointer-events:none;opacity:0;flex-direction:column;align-items:center;transition:opacity .12s;display:flex;position:absolute;transform:translate(-50%)}.machined-nav-callout__leader{flex:none;width:8px;height:18px;display:block;overflow:visible}.machined-nav-callout__line{fill:none;stroke:var(--sheet-text);stroke-width:1px;vector-effect:non-scaling-stroke}.machined-nav-callout__arrow{fill:var(--sheet-text)}.machined-nav-callout__note{color:var(--sheet-text);font:500 10.5px/1 var(--font-demi);letter-spacing:.08em;white-space:nowrap;margin-top:3px}@media (hover:hover){.machined-nav-link:hover+.machined-nav-callout{opacity:1}}.machined-nav-link:focus-visible+.machined-nav-callout{opacity:1}.portfolio-hero.nav-startup-active .machined-nav-link:not(.machined-nav-startup-visible):not(:focus-visible)+.machined-nav-callout{opacity:0}.machined-nav-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.machined-nav-link[data-machined-nav=work]{min-width:74px}.machined-nav-link[data-machined-nav=resume]{min-width:104px}.machined-nav-link[data-machined-nav=contact]{min-width:118px}.portfolio-nav-anchor{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.left-identity{left:var(--edge-gutter);bottom:var(--edge-bottom-gutter);z-index:3;width:min(430px, calc(100vw - var(--edge-gutter) - var(--edge-gutter)));isolation:isolate;pointer-events:none;position:absolute}.portfolio-hero.debug-active .debug-overlay{bottom:calc(var(--edge-bottom-gutter) + 252px)}@media (width>=900px) and (height<=760px){.portfolio-hero.debug-active .debug-overlay{bottom:calc(var(--edge-bottom-gutter) + 342px)}}.identity-name{width:max-content;transform:translate(var(--identity-name-x-nudge), var(--identity-copy-lift-y));color:rgba(var(--ink-rgb), .58);font-family:var(--font-demi);letter-spacing:0;text-transform:uppercase;background-image:repeating-linear-gradient(135deg, rgba(var(--ink-rgb), .78) 0 1px, rgba(var(--ink-rgb), .36) 1px 3px, transparent 3px 6px);-webkit-text-fill-color:rgba(var(--ink-rgb), .48);-webkit-text-stroke:1px rgba(var(--ink-rgb), .9);text-shadow:0 0 8px rgba(var(--ink-rgb), .08), 0 0 16px #6fbdd512;-webkit-background-clip:text;background-clip:text;grid-template-rows:repeat(2,min-content);justify-items:stretch;margin:0;font-size:clamp(42px,5vw,72px);font-weight:600;line-height:.92;display:inline-grid}.identity-name-line{width:100%;display:block}.identity-name-line-justified{justify-content:space-between;align-items:baseline;display:flex}.identity-name-line-justified>span{display:block}.identity-name-space{width:.28em}.identity-role{transform:translateY(var(--identity-copy-lift-y));color:var(--cyan-300);font:600 clamp(17px, 2vw, 27px)/1.15 var(--font-demi);letter-spacing:0;text-transform:uppercase;text-shadow:0 0 14px #6fbdd542;margin:18px 0 0}.tag-strip{border:1px solid rgba(var(--ink-rgb), .42);max-width:100%;min-height:42px;color:var(--cyan-100);font:400 16px/1.35 var(--font-sans);overflow-wrap:anywhere;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb), .08);background:#031a3166;border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:16px;padding:0 18px;display:inline-flex;position:relative}.tag-separator{background:var(--cyan-100);width:4px;height:4px;box-shadow:0 0 0 .5px rgba(var(--ink-rgb), .42), 0 0 6px rgba(var(--ink-rgb), .38);border-radius:999px;flex:none}.hud-root{z-index:4;pointer-events:none;position:absolute;inset:0}.readout-stack{left:var(--edge-gutter);top:var(--readout-top);width:var(--readout-width);grid-template-columns:repeat(2,minmax(116px,1fr));gap:12px;display:grid;position:absolute}.readout{border:1px solid rgba(var(--ink-rgb), .48);background:#031a3194;border-radius:0;min-height:54px;padding:10px 11px;position:relative;box-shadow:inset 0 0 0 1px #6fbdd51a,0 0 18px #031a312e}.readout>span{color:#d9e8efad;font:300 10px/1 var(--font-light);text-transform:uppercase;display:block}.readout strong{color:#f0fbff;font:600 15px/1 var(--font-demi);white-space:nowrap;margin-top:8px;display:block}.gcode-panel{top:var(--edge-top-gutter);right:var(--edge-gutter);z-index:4;width:min(386px, calc(100vw - var(--edge-gutter) - var(--edge-gutter)));border:1px solid rgba(var(--ink-rgb), .52);pointer-events:none;--gcode-lines:8;background:#031a3194;border-radius:5px;flex-direction:column;max-height:min(264px,35vh);display:flex;position:absolute;overflow:visible;box-shadow:inset 0 0 0 1px #6fbdd51a,0 0 24px #031a312e}.panel-header{border-bottom:1px solid rgba(var(--ink-rgb), .44);min-height:44px;color:var(--steel-100);font:600 12px/1 var(--font-demi);text-transform:uppercase;justify-content:space-between;align-items:center;gap:14px;padding:0 15px;display:flex}.panel-header span:last-child{color:var(--cyan-300)}.gcode-list{min-height:0;font:400 12px/1.62 var(--font-code);color:#d9e8efd1;flex-direction:column;flex:0 auto;justify-content:flex-end;max-height:209px;margin:0;padding:10px 0 11px;list-style:none;display:flex;overflow:hidden}.gcode-list li{white-space:pre;text-overflow:ellipsis;border-left:3px solid #0000;flex:none;min-height:23px;padding:2px 15px;overflow:hidden}.gcode-list li.active{color:#f0fbff;border-left-color:var(--cyan-300);text-shadow:0 0 14px #6fbdd552;background:#2aa8c926}.joint-angle-grid{left:var(--edge-gutter);top:calc(var(--readout-top) + 132px);z-index:5;width:var(--readout-width);pointer-events:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:absolute}.joint-label-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.joint-label{border:1px solid rgba(var(--ink-rgb), .58);min-width:74px;color:var(--cyan-100);font:600 10px/1.2 var(--font-demi);background:#031a31b3;border-radius:2px;padding:4px 7px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 18px #2aa8c91f}.joint-angle-grid .joint-label{text-align:center;white-space:nowrap;justify-content:center;align-items:center;min-width:0;min-height:24px;padding:4px 6px;display:flex;position:relative;transform:none}.title-block{right:var(--edge-gutter);bottom:var(--edge-bottom-gutter);z-index:4;font:400 12px/1 var(--font-mono);text-transform:uppercase;pointer-events:none;background:#031a3194;border:1px solid #d9e8ef80;grid-template-columns:auto auto;display:grid;position:absolute}.title-block:before{content:"";border:1px solid rgba(var(--ink-rgb), .46);background:linear-gradient(var(--cyan-100), var(--cyan-100)) center / 1px 68px no-repeat, linear-gradient(90deg, var(--cyan-100), var(--cyan-100)) center / 68px 1px no-repeat, radial-gradient(circle, transparent 0 12px, rgba(var(--ink-rgb), .52) 12px 13px, transparent 13px 100%);opacity:.68;border-radius:999px;width:56px;height:56px;position:absolute;bottom:8px;left:-76px;box-shadow:0 0 18px #6fbdd52e}.title-block span{color:#d9e8efc7;border-bottom:1px solid #d9e8ef6b;border-right:1px solid #d9e8ef6b;min-width:102px;padding:12px 14px}.title-block strong{min-width:126px;color:var(--steel-100);font-family:var(--font-demi);border-bottom:1px solid #d9e8ef6b;padding:12px 14px;font-weight:600}.debug-overlay{left:var(--edge-gutter);bottom:var(--edge-bottom-gutter);z-index:7;width:min(700px, calc(100vw - var(--edge-gutter) - var(--edge-gutter)));border:1px solid rgba(var(--ink-rgb), .44);color:var(--cyan-100);font-family:var(--font-mono);pointer-events:none;background:#031a31bd;border-radius:4px;grid-template-columns:42px 62px 74px 72px 58px 124px 54px minmax(0,1fr);align-items:center;gap:8px;padding:9px 8px 9px 11px;display:grid;position:absolute}.readout-corner{border-right:1px solid var(--cyan-100);border-bottom:1px solid var(--cyan-100);pointer-events:none;opacity:.6;transform-origin:0 0;width:5px;height:5px;position:absolute}.readout-corner-tl{top:-2px;left:-2px;transform:scale(1)}.readout-corner-tr{top:-2px;left:calc(100% + 2px);transform:scaleX(-1)}.readout-corner-br{top:calc(100% + 2px);left:calc(100% + 2px);transform:scale(-1)}.readout-corner-bl{top:calc(100% + 2px);left:-2px;transform:scaleY(-1)}.debug-overlay[hidden]{display:none}.debug-metric{border-right:1px solid rgba(var(--ink-rgb), .22);gap:4px;min-width:0;padding-right:8px;display:grid;overflow:hidden}.debug-metric:last-child{border-right:0}.debug-metric-wide{min-width:0}.debug-metric-phase{min-width:124px}.debug-metric span{color:#d9e8ef9e;font:300 8px/1 var(--font-light);text-transform:uppercase}.debug-metric strong{color:var(--cyan-100);font:600 11px/1 var(--font-demi);letter-spacing:0;text-overflow:clip;white-space:nowrap;overflow:hidden}.contact-overlay{--reveal-top:45%;--reveal-right:45%;--reveal-bottom:45%;--reveal-left:45%;--reveal-end-top:0px;--reveal-end-right:0px;--reveal-end-bottom:0px;--reveal-end-left:0px;z-index:8;-webkit-backdrop-filter:blur(.8px)saturate(84%)brightness(92%);backdrop-filter:blur(.8px)saturate(84%)brightness(92%);pointer-events:auto;background:#0009189e;place-items:center;padding:clamp(44px,7svh,72px) clamp(44px,12vw,210px);display:grid;position:absolute;inset:0;overflow:auto}.contact-overlay[hidden]{visibility:hidden;content-visibility:hidden;pointer-events:none}.contact-overlay[hidden].overlay-prewarm{visibility:visible;content-visibility:visible;opacity:.001}.portfolio-hero:not(.contact-overlay-active) .contact-overlay__mobile-close{display:none}.contact-overlay.contact-overlay-closing{pointer-events:none}.contact-overlay__panel-stage:after{content:"";z-index:6;border:1px solid rgba(var(--ink-rgb), .72);opacity:0;pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.contact-overlay.contact-overlay-opening{animation:.3s ease-out both overlay-veil-in}.contact-overlay.contact-overlay-closing{animation:.24s ease-in .16s both overlay-veil-out}.contact-overlay.contact-overlay-opening .contact-overlay__panel-stage{animation:.44s cubic-bezier(.25,.85,.3,1) both overlay-sheet-unfold}.contact-overlay.contact-overlay-closing .contact-overlay__panel-stage{animation:.32s cubic-bezier(.55,0,.8,.3) 70ms both overlay-sheet-fold}.contact-overlay.contact-overlay-opening .contact-overlay__panel-stage:after{animation:.44s cubic-bezier(.25,.85,.3,1) both overlay-sheet-unfold-edge,.44s linear both overlay-sheet-edge-amber-to-ink}.contact-overlay.contact-overlay-closing .contact-overlay__panel-stage:after{animation:.32s cubic-bezier(.55,0,.8,.3) 70ms both overlay-sheet-fold-edge,.32s linear 70ms both overlay-sheet-edge-ink-to-amber}.contact-overlay.contact-overlay-opening :is(.contact-overlay__title-row,.work-overlay__header,.resume-overlay__header,.contact-overlay__close){animation:.32s cubic-bezier(.2,.7,.3,1) .22s both overlay-sheet-content-in}.contact-overlay.contact-overlay-opening :is(.work-overlay__project-stage,.resume-overlay__grid){animation:.32s cubic-bezier(.2,.7,.3,1) .29s both overlay-sheet-content-in}.contact-overlay.contact-overlay-opening .contact-overlay__form{animation:.32s ease-out .29s both overlay-sheet-content-fade-in}.contact-overlay.contact-overlay-opening .work-overlay__project-nav{animation:.32s cubic-bezier(.2,.7,.3,1) .35s both overlay-sheet-content-in}.contact-overlay.contact-overlay-closing :is(.contact-overlay__title-row,.contact-overlay__form,.contact-overlay__close,.work-overlay__sheet,.resume-overlay__sheet){animation:.12s ease-in both overlay-sheet-content-out}.contact-overlay__mobile-close:has(+.contact-overlay.contact-overlay-opening){animation:.24s ease-out .3s both overlay-sheet-content-fade-in}.contact-overlay__mobile-close:has(+.contact-overlay.contact-overlay-closing){animation:.12s ease-in both overlay-sheet-content-out}}@keyframes overlay-veil-in{0%{-webkit-backdrop-filter:blur()saturate()brightness();backdrop-filter:blur()saturate()brightness();background-color:#00091800}}@keyframes overlay-veil-out{to{-webkit-backdrop-filter:blur()saturate()brightness();backdrop-filter:blur()saturate()brightness();background-color:#00091800}}@keyframes overlay-sheet-unfold{0%{clip-path:inset(var(--reveal-top) var(--reveal-right) var(--reveal-bottom) var(--reveal-left))}to{clip-path:inset(var(--reveal-end-top) var(--reveal-end-right) var(--reveal-end-bottom) var(--reveal-end-left))}}@keyframes overlay-sheet-fold{0%{clip-path:inset(var(--reveal-end-top) var(--reveal-end-right) var(--reveal-end-bottom) var(--reveal-end-left))}to{clip-path:inset(var(--reveal-top) var(--reveal-right) var(--reveal-bottom) var(--reveal-left))}}@keyframes overlay-sheet-unfold-edge{0%{inset:var(--reveal-top) var(--reveal-right) var(--reveal-bottom) var(--reveal-left);opacity:1}70%{opacity:1}to{inset:var(--reveal-end-top) var(--reveal-end-right) var(--reveal-end-bottom) var(--reveal-end-left);opacity:0}}@keyframes overlay-sheet-fold-edge{0%{inset:var(--reveal-end-top) var(--reveal-end-right) var(--reveal-end-bottom) var(--reveal-end-left);opacity:0}15%{opacity:1}to{inset:var(--reveal-top) var(--reveal-right) var(--reveal-bottom) var(--reveal-left);opacity:1}}@keyframes overlay-sheet-edge-amber-to-ink{0%,30%{border-color:var(--action-amber)}to{border-color:rgba(var(--ink-rgb), .72)}}@keyframes overlay-sheet-edge-ink-to-amber{0%,55%{border-color:rgba(var(--ink-rgb), .72)}to{border-color:var(--action-amber)}}@keyframes overlay-sheet-content-in{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}@keyframes overlay-sheet-content-fade-in{0%{opacity:0}}@keyframes overlay-sheet-content-out{to{opacity:0}}.contact-overlay__panel{z-index:1;background:var(--contact-panel-blueprint-background);width:100%;height:100%;min-height:0;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb), .08);clip-path:polygon(24px 4px,calc(100% - 32px) 4px,calc(100% - 4px) 32px,calc(100% - 4px) calc(100% - 27px),calc(100% - 22px) calc(100% - 4px),22px calc(100% - 4px),4px calc(100% - 31px),4px 32px);border:2px solid #0000;padding:clamp(24px,3svh,34px) clamp(30px,3.4vw,48px) clamp(16px,1.9svh,22px);position:relative}.contact-overlay__panel-stage{z-index:1;width:min(1200px,100vw - clamp(120px,14vw,240px));height:min(794px,100svh - clamp(56px,9svh,118px));min-height:588px;display:block;position:relative}.contact-overlay__panel-outline{z-index:2;width:100%;height:100%;color:rgba(var(--ink-rgb), .72);pointer-events:none;position:absolute;inset:0;overflow:visible}.contact-overlay__panel-outline path{fill:none;stroke:currentColor;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-miterlimit:10;stroke-width:2px;shape-rendering:geometricprecision;vector-effect:non-scaling-stroke}.contact-overlay__panel-outline .contact-overlay__panel-outline-outer{stroke-width:2.15px}.contact-overlay__panel-outline .contact-overlay__panel-outline-inner{opacity:.44;stroke-width:.8px}.contact-overlay__panel:before{content:"";z-index:0;pointer-events:none;border:1px solid rgba(var(--ink-rgb), .6);background:linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left 0 top -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left -4px top 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right 0 top -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right -4px top 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left 0 bottom -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left -4px bottom 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right 0 bottom -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right -4px bottom 0 / 14px 1px no-repeat;opacity:.46;position:absolute;inset:28px}.contact-overlay__corner-datum{z-index:2;border:1px solid rgba(var(--ink-rgb), .48);width:22px;height:22px;color:rgba(var(--ink-rgb), .48);pointer-events:none;opacity:.46;border-radius:999px;position:absolute}.contact-overlay__corner-datum:before,.contact-overlay__corner-datum:after{content:"";pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-overlay__corner-datum:before{background:linear-gradient(currentColor,currentColor) 50%/1px 100% no-repeat,linear-gradient(90deg,currentColor,currentColor) 50%/100% 1px no-repeat;width:26px;height:26px}.contact-overlay__corner-datum:after{opacity:.42;background:currentColor;border:1px solid;width:8px;height:8px;transform:translate(-50%,-50%)rotate(45deg)}.contact-overlay__corner-datum--top-left{top:18px;left:18px}.contact-overlay__corner-datum--top-right{top:18px;right:18px}.contact-overlay__corner-datum--bottom-left{bottom:18px;left:18px}.contact-overlay__corner-datum--bottom-right{bottom:18px;right:18px}.contact-overlay__side-rail{z-index:1;pointer-events:none;opacity:.6;width:14px;height:clamp(350px,55%,440px);position:absolute;top:21.5%}.contact-overlay__side-rail:before,.contact-overlay__side-rail:after{content:"";pointer-events:none;position:absolute}.contact-overlay__side-rail:before{background:linear-gradient(rgba(var(--ink-rgb), .72), rgba(var(--ink-rgb), .72)) center / 1px calc(100% - 24px) no-repeat, linear-gradient(45deg, transparent 0 46%, rgba(var(--ink-rgb), .72) 47% 53%, transparent 54%) top center / 14px 14px no-repeat, linear-gradient(-45deg, transparent 0 46%, rgba(var(--ink-rgb), .72) 47% 53%, transparent 54%) bottom center / 14px 14px no-repeat;inset:0}.contact-overlay__side-rail:after{background:rgba(var(--ink-rgb), .4);width:1px;top:12px;bottom:12px}.contact-overlay__side-rail--left{clip-path:polygon(0 0,12px 12px,12px calc(100% - 12px),0 100%);left:-1px}.contact-overlay__side-rail--left:after{left:12px}.contact-overlay__side-rail--right{clip-path:polygon(100% 0,calc(100% - 12px) 12px,calc(100% - 12px) calc(100% - 12px),100% 100%);right:-1px}.contact-overlay__side-rail--right:after{right:12px}.contact-overlay__close{z-index:3;border:1px solid var(--action-outline);width:44px;height:44px;color:var(--action-amber);box-shadow:none;border-radius:0;place-items:center;text-decoration:none;transition:color .14s,border-color .14s,background-color .14s;display:grid;position:absolute;top:clamp(30px,3.35svh,42px);right:clamp(42px,3.9vw,58px)}.contact-overlay__mobile-close{display:none}.contact-overlay__close span{font-size:0}.contact-overlay__close:before,.contact-overlay__close:after{content:"";width:25px;height:1.3px;box-shadow:none;background:currentColor;position:absolute}.contact-overlay__close:before{transform:rotate(45deg)}.contact-overlay__close:after{transform:rotate(-45deg)}.contact-overlay__close:hover,.contact-overlay__close:focus-visible,.contact-overlay__mobile-close:focus-visible{border-color:var(--action-amber-hover);background-color:var(--action-hover-background);color:var(--action-amber-hover);outline:1px solid var(--action-outline);outline-offset:4px}.contact-overlay__close,.contact-overlay__mobile-close,.work-overlay__video-play,[data-work-slide-prev],[data-work-slide-next]{touch-action:manipulation}.contact-overlay__title-row,.contact-overlay__form{z-index:1;position:relative}.contact-overlay:focus-within .contact-overlay__form{z-index:var(--z-overlay-form)}.contact-overlay__title-row{grid-template-columns:clamp(70px,6.8vw,92px) minmax(0,max-content);align-items:center;gap:clamp(24px,1.8vw,28px);min-height:clamp(86px,11.5svh,108px);padding:0 clamp(88px,9vw,126px) 0 clamp(10px,1vw,12px);display:grid}.contact-overlay__target{aspect-ratio:1;border:1px solid rgba(var(--ink-rgb), .28);background:linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) center / 1px 128% no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) center / 128% 1px no-repeat, radial-gradient(circle, transparent 0 6px, rgba(var(--ink-rgb), .28) 6px 7px, transparent 7px 100%);opacity:.6;border-radius:999px;width:clamp(70px,6vw,84px);display:block;position:relative}.contact-overlay__target:before,.contact-overlay__target:after{content:"";border:1px solid rgba(var(--ink-rgb), .28);border-radius:999px;width:10px;height:10px;position:absolute;inset:50%;transform:translate(-50%,-50%)}.contact-overlay__target:after{background:0 0;border-radius:999px;width:4px;height:4px}.contact-overlay h2{border:1px solid rgba(var(--ink-rgb), .26);color:#0000;width:clamp(345px,27.9vw,400px);height:clamp(79px,9.5svh,84px);font:600 clamp(52px, 5.4vw, 78px)/.88 var(--font-demi);letter-spacing:.1em;text-transform:uppercase;-webkit-text-fill-color:transparent;-webkit-text-stroke:0 transparent;text-shadow:none;background:0 0;place-items:center;margin:0;display:grid;transform:translate(-1px)}.contact-overlay__title-svg{opacity:1;width:auto;max-width:100%;height:72px;display:block;overflow:visible}.contact-overlay__title-fill{fill:rgba(var(--ink-rgb), .14);stroke:none}.contact-overlay__title-hatch-line{fill:rgba(var(--ink-rgb), .58)}.contact-overlay__title-face{fill:none;stroke:rgba(var(--ink-rgb), .92);stroke-width:1.4px;stroke-linecap:butt;stroke-linejoin:miter}.contact-overlay__title-fill path,.contact-overlay__title-hatch path,.contact-overlay__title-face path{shape-rendering:geometricprecision}.contact-overlay__form{grid-template-rows:minmax(0,1fr) auto;gap:18px;height:calc(100% - clamp(86px,11.5svh,108px));display:grid}.contact-overlay__honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-overlay__main{--contact-main-padding-block:clamp(18px, 2.4svh, 24px);border:1px solid rgba(var(--ink-rgb), .72);border-bottom-color:rgba(var(--ink-rgb), .58);min-height:0;padding-block:var(--contact-main-padding-block);background:#02132d47;grid-template-columns:minmax(0,1.42fr) minmax(340px,1fr);gap:clamp(22px,2.2vw,28px);padding-inline:clamp(12px,.85vw,14px) clamp(18px,2.4svh,24px);display:grid;position:relative}.contact-overlay__main:before,.contact-overlay__main:after{content:"";z-index:1;color:rgba(var(--ink-rgb), .88);pointer-events:none;position:absolute;inset:-5px}.contact-overlay__main:before{background:linear-gradient(currentColor,currentColor) 0 0/22px 1px no-repeat,linear-gradient(currentColor,currentColor) 0 0/1px 22px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/22px 1px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/1px 22px no-repeat}.contact-overlay__main:after{background:linear-gradient(currentColor,currentColor) 0 100%/22px 1px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/1px 22px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/22px 1px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/1px 22px no-repeat}.contact-overlay__primary,.contact-overlay__optional{min-height:0;display:grid}.contact-overlay__primary{grid-template-rows:auto auto auto minmax(0,1fr);gap:clamp(22px,2.8svh,30px)}.contact-overlay__optional{box-shadow:none;border-left:0;align-content:start;gap:clamp(10px,1.55svh,16px);padding-left:clamp(20px,2vw,24px);position:relative}.contact-overlay__optional:before{content:"";left:0;top:calc(var(--contact-main-padding-block) * -1);bottom:calc(var(--contact-main-padding-block) * -1);background:repeating-linear-gradient(180deg, rgba(var(--ink-rgb), .42) 0 5px, transparent 5px 8px);pointer-events:none;width:1px;position:absolute}.contact-overlay__optional .contact-overlay__field{gap:6px;transform:translateY(-2px)}.contact-overlay__optional .contact-overlay__field input{border-color:rgba(var(--ink-rgb), .46);height:clamp(40px,4.55svh,42px)}.contact-overlay__split{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.2vw,26px);display:grid}.contact-overlay__split .contact-overlay__field{gap:14px}.contact-overlay__field{gap:8px;min-width:0;display:grid}.contact-overlay__field-label,.contact-overlay__reason legend,.contact-overlay__interest legend,.contact-overlay__optional>p,.contact-overlay__direct span{color:var(--overlay-label);font:600 13px/1.2 var(--font-demi);letter-spacing:.12em;text-transform:uppercase;margin:0}.contact-overlay__field-label{min-height:16px}.contact-overlay__direct{align-content:center;justify-self:end;gap:7px;margin:0;padding:0;list-style:none;display:grid}.contact-overlay__direct li{align-items:baseline;gap:14px;display:flex}.contact-overlay__direct span{width:74px}.contact-overlay__direct a{color:var(--action-amber);font:400 15px/1.2 var(--font-sans);letter-spacing:.02em;text-underline-offset:3px;text-decoration:none;transition:color .14s}.contact-overlay__direct a:hover,.contact-overlay__direct a:focus-visible{color:var(--action-amber-hover);text-decoration:underline}.contact-overlay__direct a:focus-visible{outline:1px solid var(--action-outline);outline-offset:4px}@media (width<=359px){.contact-overlay__direct a{overflow-wrap:anywhere}}.contact-overlay__input-frame{min-width:0;display:block;position:relative}.contact-overlay__field-icon{z-index:1;width:25px;height:25px;color:rgba(var(--ink-rgb), .82);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.contact-overlay__split .contact-overlay__field-icon{color:rgba(var(--ink-rgb), .68)}.contact-overlay__optional .contact-overlay__field-icon{color:rgba(var(--ink-rgb), .68);stroke-width:1.45px}.contact-overlay__optional>p{margin-right:calc(var(--contact-main-padding-block) * -1);grid-template-columns:auto minmax(42px,1fr);align-items:center;gap:30px;display:grid}.contact-overlay__optional>p:after{content:"";background:repeating-linear-gradient(90deg, rgba(var(--ink-rgb), .42) 0 2px, transparent 2px 5px);height:1px}.contact-overlay__field input,.contact-overlay__field textarea{border:1px solid rgba(var(--ink-rgb), .56);width:100%;min-width:0;color:var(--sheet-text);font:400 15px/1.35 var(--font-sans);box-shadow:none;background:#0110269e;border-radius:0;outline:none;transition:border-color .14s}.contact-overlay__field input{border-color:rgba(var(--ink-rgb), .56);height:clamp(42px,5.6svh,50px);padding:0 12px}.contact-overlay__input-frame input{padding-left:50px}.contact-overlay__field--link input{padding-right:8px;font-size:13px}.contact-overlay__field textarea{border-color:rgba(var(--ink-rgb), .58);resize:none;background:linear-gradient(135deg, transparent 0 45%, rgba(var(--ink-rgb), .66) 47% 53%, transparent 55%) right 9px bottom 9px / 14px 14px no-repeat, linear-gradient(135deg, transparent 0 45%, rgba(var(--ink-rgb), .44) 47% 53%, transparent 55%) right 5px bottom 5px / 20px 20px no-repeat, #0110269e;height:100%;min-height:150px;padding:12px}.contact-overlay__field input::placeholder,.contact-overlay__field textarea::placeholder{color:rgba(var(--ink-rgb), .56)}.contact-overlay__field input:focus,.contact-overlay__field textarea:focus{border-color:var(--action-amber)}.contact-overlay__reason,.contact-overlay__interest{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.contact-overlay__reason{grid-template-columns:minmax(112px,1.12fr) minmax(110px,1.06fr) minmax(112px,1.1fr) minmax(108px,1.03fr) minmax(84px,.84fr);gap:clamp(13px,1.6svh,20px) 10px;margin-top:clamp(12px,1.75svh,24px)}.contact-overlay__reason legend{grid-column:1/-1;margin-bottom:clamp(6px,.95svh,10px)}.contact-overlay__section-break{background:rgba(var(--ink-rgb), .3);height:1px;margin:clamp(8px,1.2svh,14px) 0 0;display:block;position:relative}.contact-overlay__interest{border-top:0;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);padding-top:42px;position:relative}.contact-overlay__interest:after{content:"";background:rgba(var(--ink-rgb), .3);height:1px;position:absolute;top:-6px;left:0;right:0}.contact-overlay__interest legend{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:7px;margin-left:-10px;display:flex;transform:translateY(29px)}.contact-overlay__interest small{color:rgba(var(--ink-rgb), .6);font:400 12px/1 var(--font-sans);letter-spacing:0;text-transform:none}.contact-overlay__reason label,.contact-overlay__interest label{border:1px solid rgba(var(--ink-rgb), .44);min-width:0;min-height:54px;color:rgba(var(--ink-rgb), .88);cursor:pointer;font:400 14px/1.18 var(--font-sans);box-shadow:none;background:#01102680;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px;transition:border-color .14s,background-color .14s,color .14s;display:grid}.contact-overlay__reason label{min-height:58px;font-weight:500}.contact-overlay__interest label{font:500 12px/1.18 var(--font-sans);grid-template-columns:18px 31px minmax(0,1fr)}.contact-overlay__line-nowrap{white-space:nowrap}.contact-overlay__interest-icon{width:26px;height:26px;color:rgba(var(--ink-rgb), .82);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px}.contact-overlay__interest-icon--robotics{width:31px;height:31px;color:rgba(var(--ink-rgb), .84);stroke-width:1.65px;margin-left:-2px}.contact-overlay__reason label:hover,.contact-overlay__reason label:focus-within,.contact-overlay__interest label:hover,.contact-overlay__interest label:focus-within{border-color:rgba(var(--ink-rgb), .86);color:var(--sheet-text)}.contact-overlay__reason input:focus-visible,.contact-overlay__interest input:focus-visible{outline:none}.work-overlay__media video:focus-visible{outline:1px solid var(--action-outline);outline-offset:3px}.contact-overlay__reason label:has(input:focus-visible){outline:1px solid var(--action-outline);outline-offset:3px}.contact-overlay__interest label:has(input:focus-visible){outline:1px solid var(--action-outline);outline-offset:3px}:is(.contact-overlay__reason label:has(input:checked),.contact-overlay__interest label:has(input:checked)){border-color:var(--action-amber);color:var(--sheet-text);background:#2a1b0d57;box-shadow:inset 0 0 0 1px #ffc34052}.contact-overlay__reason label:has(input:checked){grid-template-columns:17px minmax(0,1fr);gap:12px;transform:translate(.5px)}.contact-overlay__reason label:has(input:checked) input{background:radial-gradient(circle, var(--action-amber) 0 4px, transparent 5px), #02132db8;width:16px;height:16px}.contact-overlay__reason input,.contact-overlay__interest input{appearance:none;border:1px solid rgba(var(--ink-rgb), .72);background:#02132db8;width:18px;height:18px;margin:0}.contact-overlay__reason input{border-color:rgba(var(--ink-rgb), .56);background:#02132da8;border-radius:999px}.contact-overlay__interest input{border-color:rgba(var(--ink-rgb), .64);background:#02132da8;border-radius:1px;width:17px;height:17px}.contact-overlay__reason input:checked{border-color:var(--action-amber);background:radial-gradient(circle, var(--action-amber) 0 4px, transparent 5px), #02132db8}.contact-overlay__interest input:checked{border-color:var(--action-amber);background:linear-gradient(135deg, transparent 0 42%, var(--action-amber) 43% 57%, transparent 58%), linear-gradient(45deg, transparent 0 42%, var(--action-amber) 43% 57%, transparent 58%), #02132db8}.contact-overlay__message{flex-direction:column;gap:8px;min-height:0;display:flex}.contact-overlay__message textarea{flex:auto;height:auto;min-height:0}html.hero-fallback-page,html.hero-fallback-page body,html.hero-fallback-page #app{height:auto;overflow:visible}html:has(noscript .hero-fallback){height:auto;overflow:visible}html:has(noscript .hero-fallback) body{height:auto;overflow:visible}html:has(noscript .hero-fallback) #app{display:none}.hero-fallback{text-align:left;gap:clamp(48px,9vw,72px);width:min(100%,880px);margin:0 auto;padding:clamp(40px,10vh,96px) clamp(16px,5vw,32px) 72px;display:grid}.hero-fallback__intro{gap:10px;display:grid}.hero-fallback__eyebrow{color:rgba(var(--ink-rgb), .6);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem}.hero-fallback h1{font-family:var(--font-demi);text-transform:uppercase;margin:0;font-size:clamp(2.2rem,7vw,4rem);font-weight:600;line-height:.98}.hero-fallback__role{color:var(--cyan-300);letter-spacing:.3em;text-transform:uppercase;margin:0}.hero-fallback__note{max-width:56ch;color:var(--steel-300);line-height:1.7}.hero-fallback__nav{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.hero-fallback__nav a{border:1.5px solid var(--action-amber);min-height:44px;color:var(--action-amber);font:600 .78rem/1 var(--font-demi);letter-spacing:.14em;text-transform:uppercase;place-items:center;padding:0 14px;text-decoration:none;transition:color .14s,border-color .14s,background-color .14s;display:inline-grid}.hero-fallback__nav a:hover,.hero-fallback__nav a:focus-visible{border-color:var(--action-amber-hover);outline:1px solid var(--action-outline);outline-offset:4px;background-color:var(--action-hover-background);color:var(--action-amber-hover)}.hero-fallback__work{gap:clamp(44px,8vw,64px);display:grid}.hero-fallback__section-title{border-bottom:1px solid var(--hairline);color:var(--steel-300);font-family:var(--font-demi);letter-spacing:.14em;text-transform:uppercase;margin:0;padding-bottom:12px;font-size:.78rem;font-weight:600}.hero-fallback__project{gap:16px;display:grid}.hero-fallback__project-index{color:var(--steel-300);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem}.hero-fallback__project h3{font-family:var(--font-demi);text-transform:uppercase;margin:0;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:600;line-height:1}.hero-fallback__lede{max-width:60ch;color:var(--steel-100);margin:0;font-size:1.05rem;line-height:1.55}.hero-fallback__media{border:1px solid var(--line);background:var(--panel);margin:0}.hero-fallback__media img,.hero-fallback__media video{width:100%;height:auto;display:block}.hero-fallback__media--contain img{object-fit:contain;max-height:460px;padding:clamp(12px,3vw,24px)}.hero-fallback__bullets{max-width:68ch;color:var(--steel-300);gap:8px;margin:0;padding-left:1.2em;line-height:1.65;display:grid}.hero-fallback__stats{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);color:var(--steel-100);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:6px 18px;margin:0;padding:10px 0;font-size:.74rem;list-style:none;display:flex}.hero-fallback__gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start;gap:12px;display:grid}.contact-overlay__status{min-height:1.2em;color:rgba(var(--ink-rgb), .82);letter-spacing:.04em;text-align:center;justify-self:center;margin:8px 0 0;font-size:.85rem}@media (width>=861px) and (height>=501px){.contact-overlay__status{min-height:0;margin:0;position:absolute;bottom:-6px;left:0;right:0}}@media (width>=861px) and (width<=1399px) and (height>=501px),(width>=861px) and (height>=501px) and (height<=760px){.contact-overlay__status{bottom:-14px}}@media (width>=861px) and (height>=501px){:is(.contact-overlay__form:has(>.cf-turnstile)>.cf-turnstile,.contact-overlay__form:has(>.cf-turnstile)>.contact-overlay__submit){grid-area:2/1;align-self:center}.contact-overlay__form>.cf-turnstile{justify-self:start;line-height:0}.contact-overlay__form:has(>.cf-turnstile){grid-template-rows:minmax(0,1fr) auto 0}}.contact-overlay__status[data-contact-status-kind=error]{color:var(--danger-400)}.contact-overlay__submit{cursor:pointer;width:462px;min-width:0;max-width:82%;height:69px;min-height:69px;font:600 22px/1 var(--font-demi);letter-spacing:.24em;text-transform:uppercase;touch-action:manipulation;background:0 0;border:0;border-radius:0;justify-content:center;justify-self:center;align-items:center;gap:0;padding:0;display:inline-flex;position:relative;overflow:visible;transform:translate(-10px,-5px)}.contact-overlay__submit:before{content:"";clip-path:inset(2px);opacity:1;pointer-events:none;background:#01102699;position:absolute;inset:0}.contact-overlay__submit:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#ffc140a3,#ffc140a3) 0/1px calc(100% - 8px) no-repeat,linear-gradient(90deg,#ffc140a3,#ffc140a3) 100%/1px calc(100% - 8px) no-repeat,linear-gradient(90deg,#ffc140b8,#ffc1405c,#ffc140b8) top/calc(100% - 26px) 1px no-repeat,linear-gradient(90deg,#ffc140b8,#ffc1405c,#ffc140b8) bottom/calc(100% - 26px) 1px no-repeat;display:none;position:absolute;inset:5px 13px}.contact-overlay__submit-outline{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.contact-overlay__submit-outline path{fill:none;stroke:currentColor;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-miterlimit:10;stroke-width:1.6px;shape-rendering:geometricprecision;vector-effect:non-scaling-stroke}.contact-overlay__submit-outline .contact-overlay__submit-outline-outer{stroke-width:1.8px}.contact-overlay__submit-outline .contact-overlay__submit-outline-inner{opacity:0;stroke-width:0}.contact-overlay__submit-icon{z-index:2;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.25px;opacity:.88;flex:none;width:24px;height:24px;position:relative;transform:translate(-8px)}.contact-overlay__submit-text{z-index:2;display:inline-block;position:relative;transform:translateY(2px)}@media (width>=1400px) and (height>=761px){.contact-overlay{--contact-reference-scale:min(max(1, calc(100vw / 1674px), calc(100svh / 936px)), calc((100vw - 48px) / 1200px), calc((100svh - 48px) / 794px))}.contact-overlay__panel-stage{z-index:1;width:1200px;height:794px;transform:translate(-50%, -50%) scale(var(--contact-reference-scale));transform-origin:50%;display:block;position:absolute;top:min(50%,50svh);left:50%}.contact-overlay__panel{background:var(--contact-panel-blueprint-background);border-color:#0000;width:100%;height:100%;min-height:0;padding:28px 48px 18px}.contact-overlay__panel-outline{width:100%;height:100%;inset:0}.contact-overlay__panel-outline path{stroke-width:1.6px}.contact-overlay__panel-outline .contact-overlay__panel-outline-outer{stroke-width:2.15px}.contact-overlay__panel-outline .contact-overlay__panel-outline-inner{opacity:.44;stroke-width:.8px}.contact-overlay__corner-datum{opacity:.4}.contact-overlay__form{gap:6px;height:calc(100% - 108px)}.contact-overlay__optional{padding-left:28px}.contact-overlay__optional>p{font:600 14px/1.1 var(--font-demi);letter-spacing:.1em;gap:64px}.contact-overlay__primary{margin:0 -4px}.contact-overlay__main{border-color:rgba(var(--ink-rgb), .56);border-bottom-color:rgba(var(--ink-rgb), .44);background:#02132d33}.contact-overlay__main:before,.contact-overlay__main:after{color:rgba(var(--ink-rgb), .74)}.contact-overlay__main:before{background:linear-gradient(currentColor,currentColor) 0 0/16px 1px no-repeat,linear-gradient(currentColor,currentColor) 0 0/1px 16px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/16px 1px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/1px 16px no-repeat}.contact-overlay__main:after{background:linear-gradient(currentColor,currentColor) 0 100%/16px 1px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/1px 16px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/16px 1px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/1px 16px no-repeat}.contact-overlay__side-rail{opacity:.42}.contact-overlay__target{border-color:rgba(var(--ink-rgb), .24);background:linear-gradient(rgba(var(--ink-rgb), .86), rgba(var(--ink-rgb), .86)) center / 1px 170% no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .86), rgba(var(--ink-rgb), .86)) center / 170% 1px no-repeat, radial-gradient(circle, transparent 0 6px, rgba(var(--ink-rgb), .24) 6px 7px, transparent 7px 100%);opacity:.72;width:90px;transform:translate(1px,-2px)}.contact-overlay__close{width:40px;height:40px}.contact-overlay__close:before,.contact-overlay__close:after{width:27px;height:1.5px}.contact-overlay__split .contact-overlay__field input:not(:focus){border-color:rgba(var(--ink-rgb), .5)}.contact-overlay__reason{transform:translateY(-1px)}.contact-overlay__reason legend{font:600 15px/1.1 var(--font-demi);letter-spacing:.13em;margin-bottom:8px;transform:translateY(-4px)}.contact-overlay__reason label{font-size:12.5px;font-weight:600;line-height:1.14}.contact-overlay__section-break{margin-top:6px}.contact-overlay__reason label:first-of-type:has(input:checked){position:relative;overflow:visible}.contact-overlay__interest{gap:10px;transform:translateY(-2.5px)}.contact-overlay__interest legend{letter-spacing:.09em;height:15.6px;margin-left:0;font-size:14.5px;line-height:15.6px;overflow:visible;transform:translateY(30px)}.contact-overlay__interest small{color:rgba(var(--ink-rgb), .6);font-size:12px;line-height:1}.contact-overlay__interest label{font:600 12.8px/1.16 var(--font-sans);grid-template-columns:18px 31px minmax(0,1fr);gap:10px;padding:9px}.contact-overlay__interest-icon{color:rgba(var(--ink-rgb), .66);stroke-width:1.6px}.contact-overlay__interest-icon--robotics{color:rgba(var(--ink-rgb), .6);stroke-width:1.65px}.contact-overlay__submit{letter-spacing:.25em;width:462px;height:69px;min-height:69px;transform:translate(-8px,-5px)}.contact-overlay__submit-icon{opacity:.92;width:30px;height:30px;margin-left:-3px;margin-right:-3px;transform:translate(-8px,1px)}.contact-overlay__submit-text{transform:translate(16px,2px)}.contact-overlay__submit:before{inset:0}.contact-overlay__submit:after{opacity:0;display:none}.contact-overlay__submit-outline path{stroke-width:1.55px}.contact-overlay__submit-outline .contact-overlay__submit-outline-outer{stroke-width:1.8px}.contact-overlay__submit-outline .contact-overlay__submit-outline-inner{opacity:0;stroke-width:0}.contact-overlay__message .contact-overlay__field-label{letter-spacing:.11em;font-size:15.8px;line-height:1.1;transform:translateY(-5px)}.contact-overlay__message textarea{border-color:rgba(var(--ink-rgb), .5);flex:none;height:228px}.contact-overlay__title-row{min-height:103.5px}.contact-overlay__main{--contact-main-padding-block:21.6px}.contact-overlay__primary{gap:25.2px}.contact-overlay__reason{row-gap:14.4px;margin-top:15.75px}.contact-overlay__optional{gap:13.95px}.contact-overlay__field input{height:50px}.contact-overlay__optional .contact-overlay__field input{height:40.95px}}@media (width<=860px),(height<=500px){.contact-overlay{padding:clamp(28px,5svh,56px) clamp(24px,5vw,60px)}.contact-overlay__panel-stage{width:min(100%,1040px)}.contact-overlay__reason{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-overlay__optional{gap:8px}.contact-overlay__optional .contact-overlay__field input{height:36px}.contact-overlay__interest{gap:7px;padding-top:30px}.contact-overlay__interest legend{transform:translateY(21px)}.contact-overlay__interest label{min-height:46px;font:500 11.5px/1.14 var(--font-sans);grid-template-columns:18px minmax(0,1fr);padding:7px 9px}.contact-overlay__interest-icon{display:none}.contact-overlay__line-nowrap{white-space:normal}}@media (width>=861px) and (width<=1399px) and (height>=761px){.contact-overlay{--contact-reference-scale:min(max(1, calc(100vw / 1674px), calc(100svh / 936px)), calc((100vw - 48px) / 1200px), calc((100svh - 48px) / 794px));padding:24px clamp(32px,7vw,90px)}.contact-overlay__panel-stage{z-index:1;width:1200px;height:794px;transform:translate(-50%, -50%) scale(var(--contact-reference-scale));transform-origin:50%;display:block;position:absolute;top:min(50%,50svh);left:50%}.contact-overlay__panel{width:100%;height:100%;min-height:0;padding:28px 48px 18px}.contact-overlay__panel:before{inset:28px}.contact-overlay__title-row{grid-template-columns:92px minmax(0,max-content);gap:28px;min-height:108px;padding:0 126px 0 12px}.contact-overlay h2{width:400px;height:84px;font-size:78px}.contact-overlay__form{gap:0;height:calc(100% - 108px)}.contact-overlay__main{--contact-main-padding-block:24px;border-color:rgba(var(--ink-rgb), .66);border-bottom-color:rgba(var(--ink-rgb), .52);background:#02132d33;grid-template-columns:minmax(0,1.42fr) minmax(340px,1fr);gap:28px;padding-block:24px;padding-inline:14px 24px}.contact-overlay__primary{gap:30px;margin:0 -4px}.contact-overlay__split{gap:26px}.contact-overlay__split .contact-overlay__field{gap:14px}.contact-overlay__optional{gap:16px;padding-left:28px}.contact-overlay__field{gap:8px}.contact-overlay__optional .contact-overlay__field{gap:6px;transform:translateY(-2px)}.contact-overlay__field-label,.contact-overlay__reason legend,.contact-overlay__interest legend,.contact-overlay__optional>p,.contact-overlay__direct span{font-size:13px}.contact-overlay__target{width:90px;transform:translate(1px,-2px)}.contact-overlay__field input{height:50px}.contact-overlay__optional .contact-overlay__field input{height:42px}.contact-overlay__field textarea{min-height:150px}.contact-overlay__reason,.contact-overlay__interest{gap:10px}.contact-overlay__reason{transform:translateY(-1px)}.contact-overlay__reason label:first-of-type:has(input:checked){position:relative;overflow:visible}.contact-overlay__interest{gap:9px;padding-top:42px;transform:translateY(-2.5px)}.contact-overlay__interest legend{transform:translateY(29px)}.contact-overlay__reason label,.contact-overlay__interest label{gap:10px;min-height:54px;padding:9px 11px;font-size:14px}.contact-overlay__reason label{min-height:58px;font-size:12.5px;font-weight:600;line-height:1.14}.contact-overlay__interest label{font:500 12.5px/1.18 var(--font-sans);grid-template-columns:18px 31px minmax(0,1fr);gap:9px;padding:9px}.contact-overlay__reason input,.contact-overlay__interest input{width:18px;height:18px}.contact-overlay__interest input{width:17px;height:17px}.contact-overlay__interest-icon{color:rgba(var(--ink-rgb), .72);stroke-width:1.5px}.contact-overlay__interest-icon--robotics{color:rgba(var(--ink-rgb), .8);stroke-width:1.55px}.contact-overlay__message textarea{flex:none;height:222px}.contact-overlay__submit{height:66px;min-height:66px;font-size:22px;transform:translate(-10px,-5px)}}@media (width>=861px) and (height>=501px) and (height<=760px){.contact-overlay{--contact-reference-scale:min(1, calc(100vw / 1674px), calc(100svh / 936px));padding:24px clamp(32px,7vw,90px)}.contact-overlay__panel-stage{z-index:1;width:1200px;height:794px;transform:translate(-50%, -50%) scale(var(--contact-reference-scale));transform-origin:50%;display:block;position:absolute;top:min(50%,50svh);left:50%}.contact-overlay__panel{width:100%;height:100%;min-height:0;padding:28px 48px 18px}.contact-overlay__panel:before{inset:28px}.contact-overlay__title-row{grid-template-columns:92px minmax(0,max-content);gap:28px;min-height:108px;padding:0 126px 0 12px}.contact-overlay h2{width:400px;height:84px;font-size:78px}.contact-overlay__form{gap:0;height:calc(100% - 108px)}.contact-overlay__main{--contact-main-padding-block:24px;grid-template-columns:minmax(0,1.42fr) minmax(340px,1fr);gap:28px;padding-block:24px;padding-inline:14px 24px}.contact-overlay__primary{gap:30px}.contact-overlay__split{gap:26px}.contact-overlay__split .contact-overlay__field{gap:14px}.contact-overlay__optional{gap:16px;padding-left:28px}.contact-overlay__field{gap:8px}.contact-overlay__optional .contact-overlay__field{gap:6px;transform:translateY(-2px)}.contact-overlay__field-label,.contact-overlay__reason legend,.contact-overlay__interest legend,.contact-overlay__optional>p,.contact-overlay__direct span{font-size:13px}.contact-overlay__field input{height:50px}.contact-overlay__optional .contact-overlay__field input{height:42px}.contact-overlay__field textarea{min-height:150px}.contact-overlay__reason,.contact-overlay__interest{gap:10px}.contact-overlay__interest{padding-top:42px}.contact-overlay__interest legend{transform:translateY(29px)}.contact-overlay__reason label,.contact-overlay__interest label{gap:10px;min-height:54px;padding:9px 11px;font-size:14px}.contact-overlay__reason label{min-height:58px;font-size:12.5px;font-weight:600;line-height:1.14}.contact-overlay__interest label{font:500 12px/1.18 var(--font-sans);grid-template-columns:18px 31px minmax(0,1fr)}.contact-overlay__reason input,.contact-overlay__interest input{width:18px;height:18px}.contact-overlay__interest input{width:17px;height:17px}.contact-overlay__message textarea{flex:none;height:222px}.contact-overlay__submit{height:66px;min-height:66px;font-size:22px;transform:translate(-10px,-5px)}}@media (width<=860px),(height<=500px){.contact-overlay{height:var(--page-height);padding:var(--sheet-page-padding);align-items:start;position:absolute;inset:0 0 auto}.contact-overlay .contact-overlay__panel-stage{margin-bottom:calc(var(--bar-fade,0px) + var(--viewport-hidden-bottom))}.left-identity{transition:opacity .2s}.portfolio-hero.contact-overlay-active .left-identity{opacity:0}.contact-overlay__panel-stage{width:100%;height:auto;min-height:calc(100svh - 16px)}.contact-overlay__panel{height:auto;min-height:inherit;padding:12px}.contact-overlay__panel:before{inset:10px}.contact-overlay__title-row{grid-template-columns:38px minmax(0,1fr);gap:8px;min-height:56px;padding:0 42px 0 3px}.contact-overlay__direct{grid-column:1/-1;justify-self:start;margin:4px 0 6px}.contact-overlay__target{width:38px}.contact-overlay__corner-datum--top-right{display:none}.contact-overlay h2{letter-spacing:.1em;overflow-wrap:anywhere;width:min(100%,280px);height:46px;font-size:clamp(30px,8.8vw,44px)}.contact-overlay__close{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-overlay__close:focus-visible{top:calc(max(25px, env(safe-area-inset-top)) - 10px);right:calc(max(26px, env(safe-area-inset-right)) - 10px);z-index:11;clip-path:none;white-space:normal;background:#02132d;width:32px;height:32px;position:absolute;overflow:visible}.contact-overlay__close:focus-visible:before,.contact-overlay__close:focus-visible:after{width:20px}.contact-overlay__mobile-close:has(+.contact-overlay .contact-overlay__close:focus-visible){visibility:hidden}.contact-overlay__mobile-close{top:max(25px, env(safe-area-inset-top));right:max(26px, env(safe-area-inset-right));z-index:10;touch-action:manipulation;border:1px solid var(--action-outline);width:32px;height:32px;color:var(--action-amber);background:#02132d;border-radius:0;place-items:center;text-decoration:none;display:grid;position:fixed;box-shadow:0 2px 12px #010a1a8c}.contact-overlay__mobile-close span{font-size:0}.contact-overlay__mobile-close:before,.contact-overlay__mobile-close:after{content:"";background:currentColor;width:20px;height:1.3px;position:absolute}.contact-overlay__mobile-close:before{transform:rotate(45deg)}.contact-overlay__mobile-close:after{transform:rotate(-45deg)}.contact-overlay__form{gap:8px;height:auto}.contact-overlay__main{--contact-main-padding-block:8px;grid-template-columns:1fr;gap:10px;padding-block:8px;padding-inline:10px}.contact-overlay__split{grid-template-columns:1fr;gap:8px}.contact-overlay__primary{gap:10px}.contact-overlay__split .contact-overlay__field{gap:6px}.contact-overlay__field-label,.contact-overlay__reason legend,.contact-overlay__interest legend,.contact-overlay__optional>p,.contact-overlay__direct span{font-size:11.5px}.contact-overlay__field input{height:36px}.contact-overlay__input-frame input{padding-left:36px}.contact-overlay__field-icon{width:18px;height:18px;left:10px}.contact-overlay__reason{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:4px}.contact-overlay__reason legend{margin-bottom:2px}.contact-overlay__reason label{gap:6px;min-height:36px;padding:6px;font-size:11px}.contact-overlay__reason input,.contact-overlay__interest input{width:15px;height:15px}.contact-overlay__section-break{margin-top:0}.contact-overlay__field textarea{height:132px;min-height:132px;padding:9px}.contact-overlay__optional{border-left:0;border-top:1px solid rgba(var(--ink-rgb), .3);box-shadow:none;gap:7px;padding-top:10px;padding-left:0}.contact-overlay__optional:before{display:none}.contact-overlay__optional .contact-overlay__field input{height:34px}.contact-overlay__interest{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:28px}.contact-overlay__interest legend{margin-left:0;transform:translateY(20px)}.contact-overlay__interest label{grid-template-columns:15px minmax(0,1fr);gap:6px;min-height:36px;padding:6px;font-size:10.5px}.contact-overlay__interest-icon{display:none}.contact-overlay__submit{letter-spacing:.14em;width:min(465px,72vw);min-width:0;max-width:100%;height:50px;min-height:50px;font-size:13.5px;transform:none}}@media (width<=480px) and (height<=900px){.contact-overlay__panel{padding:10px}.contact-overlay__title-row{min-height:44px}.contact-overlay h2{height:42px}.contact-overlay__main{gap:10px;padding-block:8px;padding-inline:10px}.contact-overlay__primary{gap:10px}.contact-overlay__split{gap:8px}.contact-overlay__field-label,.contact-overlay__reason legend,.contact-overlay__interest legend,.contact-overlay__optional>p,.contact-overlay__direct span{font-size:11px}.contact-overlay__field input{height:40px}.contact-overlay__reason label{min-height:40px;padding:6px 8px;font-size:11.5px}.contact-overlay__field textarea{height:120px;min-height:120px}.contact-overlay__optional{gap:8px;padding-top:10px}.contact-overlay__optional .contact-overlay__field{gap:6px}.contact-overlay__optional .contact-overlay__field input{height:40px}.contact-overlay__interest{gap:6px;padding-top:28px}.contact-overlay__interest label{min-height:40px;padding:6px 8px;font-size:11px}.contact-overlay__corner-datum--bottom-left,.contact-overlay__corner-datum--bottom-right{display:none}}@media (width>=700px) and (width<=860px) and (height>=900px){.contact-overlay__panel-stage{margin-block:auto}.contact-overlay__panel{min-height:0;padding-bottom:18px}.contact-overlay__close,.contact-overlay__close:focus-visible{clip-path:none;white-space:normal;background:0 0;width:44px;height:44px;display:grid;position:absolute;top:18px;right:clamp(42px,3.9vw,58px);overflow:visible}.work-overlay .work-overlay__close{top:18px;right:clamp(42px,3.9vw,58px)}.contact-overlay__close:before,.contact-overlay__close:after{width:25px}.contact-overlay__mobile-close{display:none}.contact-overlay__corner-datum--top-right{display:block}}.portfolio-hero:not(.work-overlay-active) .work-overlay__mobile-close,.portfolio-hero.work-overlay-active .contact-overlay__mobile-close:not(.work-overlay__mobile-close),.portfolio-hero.contact-overlay-active:not(.work-overlay-active) .work-overlay__mobile-close,.portfolio-hero:not(.resume-overlay-active) .resume-overlay__mobile-close,.portfolio-hero.resume-overlay-active .contact-overlay__mobile-close:not(.resume-overlay__mobile-close),.portfolio-hero.contact-overlay-active:not(.resume-overlay-active) .resume-overlay__mobile-close{display:none}.work-overlay{padding:clamp(44px,7svh,72px) clamp(44px,12vw,210px)}.work-overlay .contact-overlay__panel-stage{width:min(1200px,100vw - clamp(120px,14vw,240px));height:min(794px,100svh - clamp(56px,9svh,118px));min-height:588px}.work-overlay__panel{background:var(--contact-panel-blueprint-background);box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb), .08);padding:0}.work-overlay__sheet{z-index:2;color:#e8eef2eb;width:100%;height:100%;font-family:var(--font-light);background:0 0;grid-template-rows:88px minmax(0,1fr) 82px;padding:28px 48px 30px;display:grid;position:relative;overflow:hidden}.work-overlay__sheet:before{content:"";z-index:0;border:1px solid rgba(var(--ink-rgb), .6);background:linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left 0 top -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left -4px top 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right 0 top -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right -4px top 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left 0 bottom -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left -4px bottom 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right 0 bottom -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right -4px bottom 0 / 14px 1px no-repeat;opacity:.48;pointer-events:none;position:absolute;inset:28px}.work-overlay__header,.work-overlay__content,.work-overlay__project-nav{z-index:1;position:relative}.work-overlay__header{grid-template-columns:92px minmax(0,max-content);align-items:center;gap:28px;min-height:88px;padding:0 76px 0 12px;display:grid}.work-overlay__target{border-color:rgba(var(--ink-rgb), .42);opacity:.72;width:90px;transform:translate(1px,4px)}.work-overlay__target:before{border-color:rgba(var(--ink-rgb), .42)}.work-overlay__target:after{border-color:rgba(var(--ink-rgb), .52)}.contact-overlay h2.work-overlay__title{border:1px solid rgba(var(--ink-rgb), .26);color:#e8eef2eb;text-transform:uppercase;background:0 0;place-items:center;width:276px;height:72px;margin:0;font-size:0;display:grid}.work-overlay__content{grid-template-columns:minmax(350px,.39fr) minmax(0,.61fr);gap:28px;min-height:0;padding:0 6px 0 10px;display:grid}@media (width>=861px) and (height>=501px){.work-overlay__content{height:100%}}.work-overlay__project-stage,.work-overlay__project{min-width:0;height:100%;min-height:0}.work-overlay__project[hidden]{display:none}.work-overlay__copy{grid-template-rows:auto auto auto minmax(0,1fr) auto;align-content:start;min-height:0;padding:4px 0 0;display:grid}.work-overlay__project-index{width:100%;color:var(--overlay-label);font:600 13px/1 var(--font-demi);letter-spacing:.16em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:22px;margin:0 0 22px;display:grid}.work-overlay__project-index span{background:rgba(var(--ink-rgb), .58);height:1px;position:relative}.work-overlay__project-index span:before,.work-overlay__project-index span:after{content:"";border-color:rgba(var(--ink-rgb), .58);border-style:solid;width:14px;height:10px;position:absolute;top:0}.work-overlay__project-index span:first-child:before{border-width:1px 0 0 1px;left:0}.work-overlay__project-index span:first-child:after{border-width:1px 0 0 1px;left:6px}.work-overlay__project-index span:last-child:before{border-width:1px 1px 0 0;right:0}.work-overlay__project-index span:last-child:after{border-width:1px 1px 0 0;right:6px}.work-overlay__project-index p{margin:0}.work-overlay__copy h3{color:#e8eef2eb;font:600 29px/1 var(--font-demi);letter-spacing:.09em;margin:0 0 14px}.work-overlay__lede{color:#e8eef2e6;max-width:405px;font:400 16px/1.42 var(--font-light);margin:0 0 16px}.work-overlay__bullet-list{color:#e8eef2e6;min-height:0;font:400 15.8px/1.36 var(--font-light);align-content:start;gap:16px;margin:0 0 16px;padding:0;list-style:none;display:grid}.work-overlay__bullet-list li{padding-left:24px;position:relative}.work-overlay__bullet-list li:before{content:"";background:rgba(var(--ink-rgb), .7);width:6px;height:6px;position:absolute;top:.5em;left:0}.work-overlay__stats{border-top:1px solid rgba(var(--ink-rgb), .4);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:16px 0 0;list-style:none;display:grid}.work-overlay__stats li{border-left:1px solid rgba(var(--ink-rgb), .2);color:#e8eef2eb;min-width:0;min-height:60px;font:600 13px/1.16 var(--font-sans);text-align:center;place-items:center;gap:7px;padding:0 8px;display:grid}.work-overlay__stats li:first-child{border-left:0}.work-overlay__stats svg{fill:none;width:28px;height:28px;stroke:rgba(var(--ink-rgb), .78);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45px}.work-overlay__media{grid-template-rows:minmax(0,1.42fr) minmax(0,.98fr);align-self:stretch;gap:12px;min-height:calc(100% + 30px);margin-top:-30px;padding-right:6px;display:grid}.work-overlay__media--main-only{grid-template-rows:minmax(0,1fr)}.work-overlay__media figure{min-width:0;min-height:0;margin:0}.work-overlay__media-main,.work-overlay__media-frame{box-sizing:border-box;border:1px solid rgba(var(--ink-rgb), .42);color:rgba(var(--ink-rgb), .9);box-shadow:none;background:#01102680;padding:6px;position:relative;overflow:hidden}.work-overlay__media-main:before,.work-overlay__media-frame:before{content:"";z-index:2;opacity:.82;pointer-events:none;background:linear-gradient(currentColor,currentColor) 0 0/30px 2px no-repeat,linear-gradient(currentColor,currentColor) 0 0/2px 30px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/30px 2px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/2px 30px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/30px 2px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/2px 30px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/30px 2px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/2px 30px no-repeat;position:absolute;inset:-1px}.work-overlay__media-main video,.work-overlay__media-main img,.work-overlay__media-frame img{object-fit:cover;width:100%;height:100%;display:block}.work-overlay__media-main--contain img,.work-overlay__media-frame--contain img{object-fit:contain;background:#02132d38}.work-overlay__video-play{appearance:none;z-index:3;cursor:pointer;opacity:.88;background:#1a110552;border:2px solid #0000;border-radius:999px;width:68px;height:68px;padding:0;transition:border-color .14s,opacity .14s,transform .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.work-overlay__video-play[hidden],.work-overlay__media-main--playing .work-overlay__video-play{display:none}.work-overlay__video-play:hover,.work-overlay__video-play:focus-visible{opacity:.97;transform:translate(-50%,-50%)scale(1.03)}.work-overlay__video-play:before{content:"";border-top:14px solid #0000;border-bottom:14px solid #0000;border-left:20px solid;width:0;height:0;position:absolute;top:20px;left:25.5px}.work-overlay__media-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:0;display:grid}.work-overlay__media-secondary--single{grid-template-columns:minmax(0,1fr)}.work-overlay__robot-render{background:0 0;place-items:center;display:grid;position:relative;overflow:visible}.work-overlay__robot-render img{object-fit:contain;filter:drop-shadow(0 18px 18px #00000038);width:100%;height:100%;display:block}.work-overlay__media-readout{border:1px solid rgba(var(--ink-rgb), .42);background:#01102680;align-content:center;gap:12px;min-width:0;min-height:0;margin:0;padding:18px;display:grid}.work-overlay__media-readout span{border-left:2px solid var(--action-amber);color:#ebf7fbe6;font:700 12px/1 var(--font-demi);letter-spacing:.18em;text-transform:uppercase;padding:5px 0 5px 12px;display:block}.work-overlay__project-nav{grid-template-columns:minmax(44px,1fr) 260px minmax(170px,.9fr) 260px minmax(44px,1fr);align-items:center;gap:16px;min-height:82px;padding:14px 0 0;display:grid}.work-overlay__project-nav-border{display:none}.work-overlay__project-nav-rail{background:rgba(var(--ink-rgb), .4);height:1px;position:relative}.work-overlay__project-nav-rail:before,.work-overlay__project-nav-rail:after{content:"";background:rgba(var(--ink-rgb), .56);width:1px;height:9px;position:absolute;top:50%;transform:translate(-50%,-50%)}.work-overlay__project-nav-rail:before{left:0}.work-overlay__project-nav-rail:after{left:100%}.work-overlay__project-nav-rail--middle{opacity:.94}.work-overlay__nav-button{z-index:1;cursor:pointer;min-width:0;height:38px;font:600 13px/1 var(--font-demi);letter-spacing:.24em;text-transform:uppercase;background:#01102699;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:13px;padding:0 23px;display:inline-flex;position:relative}.work-overlay__panel .contact-overlay__corner-datum{z-index:4}.work-overlay__nav-button:before{content:"";clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);opacity:.25;pointer-events:none;border:1px solid;position:absolute;inset:-2px}.work-overlay__nav-button span[aria-hidden=true]{width:11px;height:11px;font-size:0;line-height:0;position:relative}.work-overlay__nav-button span[aria-hidden=true]:before{content:"";border-top:2.5px solid;border-right:2.5px solid;width:8px;height:8px;position:absolute;top:50%;left:50%}.work-overlay__nav-button--next span[aria-hidden=true]:before{transform:translate(-68%,-50%)rotate(45deg)}.work-overlay__nav-button--previous span[aria-hidden=true]:before{transform:translate(-32%,-50%)rotate(-135deg)}.work-overlay__nav-button:disabled{visibility:hidden}@media (width>=861px) and (height>=501px){.work-overlay__project-nav:has(.work-overlay__nav-button--previous:disabled) .work-overlay__project-nav-rail--left{grid-column:1/4}.work-overlay__project-nav:has(.work-overlay__nav-button--previous:disabled) :is(.work-overlay__nav-button--previous,.work-overlay__project-nav-rail--middle){display:none}.work-overlay__project-nav:has(.work-overlay__nav-button--next:disabled) .work-overlay__project-nav-rail--middle{grid-column:3/6}.work-overlay__project-nav:has(.work-overlay__nav-button--next:disabled) :is(.work-overlay__nav-button--next,.work-overlay__project-nav-rail--right){display:none}}.work-overlay__close{top:35px;right:35px}@media (width>=861px) and (height>=501px){.work-overlay{padding:24px}.work-overlay .contact-overlay__panel-stage{z-index:1;width:1200px;height:794px;min-height:0;transform:translate(-50%, -50%) scale(var(--contact-reference-scale));transform-origin:50%;display:block;position:absolute;top:min(50%,50svh);left:50%}}@media (width<=860px),(height<=500px){.work-overlay{padding:clamp(28px,5svh,56px) clamp(24px,5vw,60px)}.work-overlay .contact-overlay__panel-stage{width:min(100%,1040px)}.work-overlay__sheet{grid-template-rows:auto minmax(0,1fr) auto;padding:22px 28px 26px}.work-overlay__header{grid-template-columns:70px minmax(0,1fr);gap:18px;min-height:88px;padding-right:76px}.work-overlay__content{flex-direction:column;gap:0;padding-right:0;display:flex}.work-overlay__copy,.work-overlay__media{display:contents}.work-overlay__project-index{order:1}.work-overlay__copy h3{order:2}.work-overlay__lede{order:3}.work-overlay__media .work-overlay__media-main{aspect-ratio:16/9;order:4;margin:2px 0 22px}.work-overlay__media .work-overlay__media-main--image{aspect-ratio:4/3}.work-overlay__bullet-list{order:5}.work-overlay__stats{order:6}.work-overlay__media-secondary{order:7;margin-top:22px}.work-overlay__media-secondary>figure{aspect-ratio:4/3}.work-overlay__project-nav{grid-template-columns:1fr 230px 1fr 210px 1fr}.work-overlay{padding:var(--sheet-page-padding);align-items:start}.work-overlay .contact-overlay__panel-stage{width:100%;height:auto;min-height:calc(100svh - 16px)}.work-overlay__sheet{min-height:inherit;padding:12px;overflow:auto}.work-overlay__sheet:before,.work-overlay__sheet:after{inset:10px}.work-overlay__header{grid-template-columns:38px minmax(0,1fr);gap:8px;min-height:56px;padding:0 42px 8px 3px}.work-overlay__target{width:38px}.contact-overlay h2.work-overlay__title{width:min(100%,222px);height:46px}.work-overlay__copy h3{font-size:clamp(1.45rem,7vw,2rem)}.work-overlay__bullet-list{font-size:14px}.work-overlay__stats{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:16px}.work-overlay__stats li{grid-column:span 2}.work-overlay__stats li:nth-child(3n+1){border-left:0}.work-overlay__stats li:nth-child(3n+1):nth-last-child(2){grid-column:2/span 2}.work-overlay__stats li:nth-child(3n+1):last-child{grid-column:3/span 2}.work-overlay__media-secondary{grid-template-columns:1fr}.work-overlay__project-nav{grid-template-columns:1fr 1fr;gap:10px;padding-top:14px}.work-overlay__project-nav-rail{display:none}.work-overlay__nav-button{letter-spacing:.12em;height:42px;padding:0 12px;font-size:10px}}.resume-overlay{padding:clamp(44px,7svh,72px) clamp(44px,12vw,210px)}.resume-overlay .contact-overlay__panel-stage{width:min(1090px,100vw - clamp(320px,29vw,520px));height:min(772px,100svh - clamp(78px,10.4svh,128px));min-height:560px}.resume-overlay__panel{background:var(--contact-panel-blueprint-background);box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb), .08);padding:0}.resume-overlay__sheet{z-index:2;color:#e8eef2eb;width:100%;height:100%;font-family:var(--font-light);background:0 0;grid-template-rows:108px minmax(0,1fr);padding:28px 48px 34px;display:grid;position:relative;overflow:hidden}.resume-overlay__sheet:before{content:"";z-index:0;border:1px solid rgba(var(--ink-rgb), .68);background:linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left 0 top -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left -4px top 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right 0 top -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right -4px top 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left 0 bottom -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) left -4px bottom 0 / 14px 1px no-repeat, linear-gradient(rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right 0 bottom -4px / 1px 14px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .9), rgba(var(--ink-rgb), .9)) right -4px bottom 0 / 14px 1px no-repeat;opacity:.52;pointer-events:none;position:absolute;inset:28px}.resume-overlay__header,.resume-overlay__grid{z-index:1;position:relative}.resume-overlay__header{grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:28px;min-height:108px;padding:0 64px 0 12px;display:grid}.resume-overlay__target{width:84px;transform:translate(1px,-2px)}.resume-overlay__title{border:1px solid rgba(var(--ink-rgb), .26);color:#e8eef2eb;text-transform:uppercase;background:0 0;place-items:center;width:438px;height:84px;margin:0;font-size:0;display:grid;transform:translate(-1px)}@media (width>=1161px) and (height>=501px){.contact-overlay.resume-overlay h2.resume-overlay__title{width:438px}}.resume-overlay__pdf-action{isolation:isolate;min-width:228px;min-height:80px;font:600 16px/1 var(--font-demi);text-transform:uppercase;transform-origin:0 0;background:0 0;border:1px solid #0000;grid-template-columns:38px max-content;justify-self:end;align-items:center;gap:3px 14px;padding:17px 18px 17px 22px;text-decoration:none;display:grid;position:relative;overflow:visible;transform:translate(18px)scale(1.009,1.011)}.resume-overlay__pdf-action:before{content:"";z-index:-1;pointer-events:none;background:#01102699;position:absolute;inset:0}.resume-overlay__pdf-outline{z-index:1;pointer-events:none;width:calc(100% + 2px);height:calc(100% + 2px);position:absolute;inset:-1px;overflow:visible}.resume-overlay__pdf-outline path{fill:none;stroke:currentColor;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-miterlimit:10;stroke-width:1.55px;shape-rendering:geometricprecision;vector-effect:non-scaling-stroke}.resume-overlay__pdf-outline .resume-overlay__pdf-outline-outer{stroke-width:1.8px}.resume-overlay__pdf-outline .resume-overlay__pdf-outline-inner{opacity:0;stroke-width:0}.resume-overlay__pdf-icon{z-index:2;border:1px solid;grid-row:span 2;width:30px;height:40px;position:relative;transform:translate(-1px,-1px)}.resume-overlay__pdf-icon:before,.resume-overlay__pdf-icon:after{content:"";background:currentColor;width:12px;height:1px;position:absolute;left:7px}.resume-overlay__pdf-icon:before{top:11px;box-shadow:0 7px}.resume-overlay__pdf-icon:after{transform-origin:0;width:18px;bottom:8px;transform:rotate(-42deg)}.resume-overlay__pdf-label{z-index:2;font-family:var(--font-light);letter-spacing:.2em;font-size:1.02rem;font-weight:400;position:relative}.resume-overlay__pdf-action small{z-index:2;font-family:var(--font-demi);letter-spacing:.09em;text-transform:none;font-size:.62rem;font-weight:600;position:relative}@media (width<=480px) and (height<=900px){.resume-overlay__pdf-action{background-color:#02132ddb}}@media (width>=861px) and (height>=501px){.contact-overlay .contact-overlay__close{width:40px;height:40px;top:40px;right:40px}.contact-overlay__title-row{grid-template-columns:92px minmax(0,max-content) minmax(0,1fr);padding-right:96px}}.resume-overlay .contact-overlay__corner-datum{z-index:3}.resume-overlay__grid{border:1px solid rgba(var(--ink-rgb), .48);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;min-height:0;padding:28px 18px 18px 22px;display:grid;position:relative}.resume-overlay__grid:before{content:"";z-index:2;background:linear-gradient(rgba(var(--ink-rgb), .82), rgba(var(--ink-rgb), .82)) left top / 18px 1px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .82), rgba(var(--ink-rgb), .82)) left top / 1px 18px no-repeat, linear-gradient(rgba(var(--ink-rgb), .82), rgba(var(--ink-rgb), .82)) right top / 18px 1px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .82), rgba(var(--ink-rgb), .82)) right top / 1px 18px no-repeat, linear-gradient(rgba(var(--ink-rgb), .82), rgba(var(--ink-rgb), .82)) left bottom / 18px 1px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .82), rgba(var(--ink-rgb), .82)) left bottom / 1px 18px no-repeat, linear-gradient(rgba(var(--ink-rgb), .82), rgba(var(--ink-rgb), .82)) right bottom / 18px 1px no-repeat, linear-gradient(90deg, rgba(var(--ink-rgb), .82), rgba(var(--ink-rgb), .82)) right bottom / 1px 18px no-repeat;opacity:.68;pointer-events:none;position:absolute;inset:8px}.resume-overlay__sidebar{min-width:0;padding:2px 30px 0 0;position:relative}.resume-overlay__divider{opacity:.84;pointer-events:none;width:9px;position:absolute;top:2px;bottom:8px;right:-8px}.resume-overlay__divider svg{width:100%;height:100%;display:block;overflow:visible}.resume-overlay__divider-line,.resume-overlay__divider-arrow{fill:none;stroke:rgba(var(--ink-rgb), .56);stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.resume-overlay__divider-line{stroke-width:1px}.resume-overlay__divider-arrow{stroke-width:1.08px}.resume-overlay__identity p,.resume-overlay__identity h3,.resume-overlay__identity>span,.resume-overlay__summary{margin:0}.resume-overlay__identity>p:first-child{color:#eef2f5;font-family:var(--font-demi);letter-spacing:.08em;text-transform:uppercase;transform-origin:0 0;font-size:clamp(1.45rem,2.2vw,1.95rem);font-weight:600;line-height:.94;transform:translateY(-1px)scaleY(1.02)}.resume-overlay__identity h3{color:#eef2f5;font-family:var(--font-light);letter-spacing:.15em;text-transform:uppercase;transform-origin:0 0;font-size:clamp(2.3rem,4.4vw,3.35rem);font-weight:300;line-height:.98;transform:scaleY(1.03)}.resume-overlay__identity>span{width:min(100%,392px);color:var(--overlay-label);font-family:var(--font-light);letter-spacing:.3em;text-transform:uppercase;transform-origin:0 0;grid-template-columns:max-content 1fr;align-items:center;gap:20px;margin-top:6px;margin-left:3px;font-size:1rem;line-height:1;display:inline-grid;position:relative;transform:translateY(-1px)scale(.984,1.06)}.resume-overlay__identity>span:after{content:"";background:rgba(var(--ink-rgb), .4);height:1px;display:block}.resume-overlay__identity .resume-overlay__summary{color:#e8eef2e6;max-width:46ch;margin-top:16px;margin-left:3px;font-size:1rem;font-weight:400;line-height:1.42}.resume-overlay__line{display:block}@media (width<=860px),(height<=500px){.resume-overlay__line{display:inline}}.resume-overlay__block{min-width:0}.resume-overlay__block h4,.resume-overlay__skill-group h5,.resume-overlay__proof-strip dd,.resume-overlay__entry time{color:var(--overlay-label);font-family:var(--font-demi);text-transform:uppercase;margin:0}.resume-overlay__block h4{letter-spacing:.22em;align-items:center;gap:30px;margin:0 0 10px;font-size:.78rem;font-weight:500;display:flex}.resume-overlay__block h4:after{content:"";background:rgba(var(--ink-rgb), .4);flex:auto;height:1px}.resume-overlay__block--metrics{margin-top:18px;margin-bottom:16px}.resume-overlay__block--metrics h4{gap:24px}.resume-overlay__proof-strip{grid-template-columns:110fr 100fr 100fr 135fr;margin:0;padding:0;display:grid}.resume-overlay__proof-strip div{text-align:center;min-width:0;padding:12px 2px 8px;position:relative}.resume-overlay__proof-strip div:before{content:"";background:rgba(var(--ink-rgb), .22);width:1px;position:absolute;top:13px;bottom:0;left:0}.resume-overlay__proof-strip div:first-child:before{display:none}.resume-overlay__proof-strip dt{color:#e8eef2eb;font-family:var(--font-light);font-size:1.2rem;font-weight:300;line-height:1}.resume-overlay__proof-strip dd{letter-spacing:.04em;white-space:nowrap;margin:6px 0 0;font-size:.54rem;font-weight:600;line-height:1.18}.resume-overlay__block--skills{gap:10px;display:grid}.resume-overlay__skill-group{gap:4px;display:grid}.resume-overlay__skill-group h5{letter-spacing:.12em;font-size:.7rem;font-weight:500}.resume-overlay__skill-group p{color:#e8eef2e0;margin:0;font-size:.92rem;font-weight:400;line-height:1.26}.resume-overlay__main{align-content:start;gap:clamp(8px,.68vw,9px);min-width:0;padding-right:10px;display:grid;transform:translate(-1px)}.resume-overlay__main .resume-overlay__block h4{gap:24px}.resume-overlay__entry{border-bottom:1px solid rgba(var(--ink-rgb), .16);grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:0 0 7px;display:grid}.resume-overlay__entry+.resume-overlay__entry{padding-top:3px}.resume-overlay__entry h5{color:#e8eef2f0;font-family:var(--font-light);letter-spacing:.065em;margin:0 0 4px;font-size:1.1rem;font-weight:400;line-height:1.1}.resume-overlay__entry p{color:#e8eef2e6;max-width:54ch;margin:0;font-size:.88rem;font-weight:400;line-height:1.2}.resume-overlay__entry time{letter-spacing:.12em;white-space:nowrap;align-self:start;font-size:.7rem;font-weight:500;line-height:1.5}.resume-overlay__entry--compact p+p{margin-top:1px}.resume-overlay__block--projects .resume-overlay__entry:last-child{border-bottom:0;padding-bottom:0}@media (width>=1161px) and (height>=501px) and (height<=760px){.resume-overlay .contact-overlay__panel-stage{width:1090px;height:772px}}@media (width>=1161px) and (height>=761px){.resume-overlay{--contact-reference-scale:min(max(1, calc(100vw / 1674px), calc(100svh / 936px)), calc((100vw - 48px) / 1090px), calc((100svh - 48px) / 772px))}}@media (width>=1161px) and (width<=1399px) and (height>=761px){.resume-overlay .contact-overlay__panel-stage{width:1090px;height:772px}}@media (width>=1600px) and (height>=900px){.resume-overlay .contact-overlay__panel-stage{width:min(1140px,100vw - 460px);height:782px;transform:translate(-50%, calc(-50% - 27px)) scale(var(--contact-reference-scale))}.resume-overlay__sheet{grid-template-rows:100px minmax(0,1fr)}.resume-overlay__header{min-height:100px}.resume-overlay__pdf-action{transform:translate(18px,8px)scale(.962,.965)}.resume-overlay__block--metrics{margin-top:22px;margin-bottom:20px}.resume-overlay__block--skills{gap:13px}.resume-overlay__skill-group p{line-height:1.32}.resume-overlay__main{gap:18px}.resume-overlay__block--projects{margin-top:0}}@media (width<=860px),(height<=500px){.resume-overlay{padding:clamp(28px,5svh,56px) clamp(24px,5vw,60px)}.resume-overlay .contact-overlay__panel-stage{width:min(100%,1040px)}.resume-overlay__sheet{padding:22px 28px 26px}.resume-overlay__header{grid-template-columns:70px minmax(0,1fr);gap:18px;min-height:88px;padding-right:76px}.resume-overlay__pdf-action{grid-column:2;justify-self:start;min-height:58px;transform:none}.resume-overlay__title{width:min(100%,380px)}.resume-overlay__grid{flex-direction:column;gap:24px;display:flex;overflow:auto}.resume-overlay__sidebar,.resume-overlay__main{display:contents}.resume-overlay__grid .resume-overlay__block{margin:0}.resume-overlay__block--metrics{order:1}.resume-overlay__block--experience{order:2}.resume-overlay__block--education{order:3}.resume-overlay__block--projects{order:4}.resume-overlay__block--skills{order:5}.resume-overlay__sidebar{padding-right:0}.resume-overlay__divider{display:none}.resume-overlay{padding:var(--sheet-page-padding);align-items:start}.resume-overlay .contact-overlay__panel-stage{width:100%;height:auto;min-height:calc(100svh - 16px)}.resume-overlay__sheet{min-height:inherit;grid-template-rows:auto minmax(0,1fr);padding:12px;overflow:auto}.resume-overlay__sheet:before{inset:10px}.resume-overlay__header{grid-template-columns:38px minmax(0,1fr);gap:12px 8px;min-height:56px;padding:0 42px 8px 3px}.resume-overlay__target{width:38px}.contact-overlay h2.resume-overlay__title{width:min(100%,248px);height:46px}.resume-overlay__pdf-action{grid-column:1/-1;min-width:0;min-height:52px;margin-top:4px;padding:10px 12px}.resume-overlay__grid{border-color:rgba(var(--ink-rgb), .38);padding:14px}.resume-overlay__identity h3{font-size:clamp(2rem,12vw,3rem)}.resume-overlay__identity>span{letter-spacing:.2em;width:100%;font-size:.82rem}.resume-overlay__summary,.resume-overlay__entry p{font-size:.84rem}.resume-overlay__proof-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-overlay__proof-strip div:nth-child(3):before{display:none}.resume-overlay__entry{grid-template-columns:1fr;gap:3px}.resume-overlay__entry time{justify-self:start}}@media (width>=861px) and (width<=1160px) and (height>=501px){.contact-overlay{--contact-reference-scale:min(1, calc((100vw - 48px) / 1200px), calc((100svh - 48px) / 794px));padding:24px;overflow:hidden}.contact-overlay .contact-overlay__panel-stage{width:1200px;height:794px;min-height:0;transform:translate(-50%, -50%) scale(var(--contact-reference-scale));transform-origin:50%;position:absolute;top:min(50%,50svh);left:50%}.resume-overlay{--contact-reference-scale:min(1, calc((100vw - 48px) / 1090px), calc((100svh - 48px) / 772px))}.resume-overlay .contact-overlay__panel-stage{width:1090px;height:772px}.contact-overlay h2{width:400px}.contact-overlay h2.work-overlay__title{width:276px}.contact-overlay h2.resume-overlay__title{width:438px}}@media (width<=860px){.portfolio-hero{--readout-width:min(190px, calc(48vw - 18px));min-height:680px}.left-identity{left:var(--edge-gutter);bottom:calc(30px + var(--viewport-hidden-bottom))}.identity-name{font-size:clamp(38px,7.6vw,58px)}.readout-stack{width:var(--readout-width);grid-template-columns:1fr}.joint-angle-grid{top:calc(var(--readout-top) + 276px)}.gcode-panel{max-height:214px;width:min(360px, calc(100vw - var(--edge-gutter) - var(--edge-gutter)));top:auto;bottom:188px}.title-block{right:var(--edge-gutter);bottom:var(--edge-bottom-gutter);opacity:.86;grid-template-columns:auto auto;font-size:8px}.title-block span{min-width:70px;padding:7px 8px}.title-block strong{min-width:92px;padding:7px 8px}.debug-overlay{left:var(--edge-gutter);right:var(--edge-gutter);bottom:calc(72px + var(--viewport-hidden-bottom));grid-template-columns:repeat(2,minmax(0,1fr));width:auto;max-width:none}.debug-metric,.debug-metric-phase,.debug-metric-wide{min-width:0}}@media (width>=561px) and (width<=860px) and (height>=501px){.gcode-panel{top:var(--edge-top-gutter);width:min(360px, calc(100vw - var(--edge-gutter) - var(--edge-gutter) - var(--readout-width) - 16px));bottom:auto}.joint-angle-grid{width:min(330px, calc(100vw - var(--edge-gutter) - var(--edge-gutter)))}.gcode-panel{--gcode-lines:6}}@media (width>=561px) and (height<=500px){.portfolio-hero{--edge-gutter:max(16px, env(safe-area-inset-left), env(safe-area-inset-right));--edge-top-gutter:max(12px, env(safe-area-inset-top));--edge-bottom-gutter:calc(max(12px, env(safe-area-inset-bottom)) + var(--viewport-hidden-bottom));--identity-copy-lift-y:0px;--readout-top:var(--edge-top-gutter);min-height:100svh}.portfolio-hero:after,.joint-angle-grid,.title-block,.tag-strip,.debug-overlay{display:none}.gcode-panel{top:var(--edge-top-gutter);bottom:auto}.left-identity{left:var(--edge-gutter);bottom:var(--edge-bottom-gutter)}.identity-name{-webkit-text-stroke-width:.75px;font-size:clamp(24px,8.5vh,38px)}.identity-role{margin:6px 0 0;font-size:clamp(11px,3.2vh,15px)}}@media (width<=560px){.portfolio-hero{--edge-gutter:clamp(12px, 4vw, 18px);--edge-top-gutter:calc(max(10px, env(safe-area-inset-top)) + var(--viewport-under-status));--edge-bottom-gutter:calc(max(12px, env(safe-area-inset-bottom)) + var(--viewport-hidden-bottom));--identity-copy-lift-y:0px;--readout-top:calc(64px + var(--viewport-under-status));--readout-width:min(330px, calc(100vw - var(--edge-gutter) - var(--edge-gutter)));min-height:100svh}.portfolio-hero:after{display:none}.machined-nav-link[data-machined-nav]{touch-action:manipulation;min-width:0;min-height:0;padding:0}.readout-stack,.joint-angle-grid,.debug-overlay,.title-block,.workpiece-dimension-label-layer{display:none}.gcode-panel{top:var(--edge-top-gutter);right:var(--edge-gutter);bottom:auto;left:var(--edge-gutter);width:auto;max-height:104px;display:block;overflow:hidden}.panel-header{min-height:24px;padding:0 8px;font-size:8px}.gcode-list{max-height:80px;padding:4px 0 5px;font-size:8px;line-height:1.25}.gcode-list li{min-height:11px;padding:1px 8px}.gcode-panel{--gcode-lines:4}.left-identity{left:var(--edge-gutter);bottom:calc(max(14px, env(safe-area-inset-bottom)) + var(--viewport-hidden-bottom));width:min(300px, calc(100vw - var(--edge-gutter) - var(--edge-gutter)))}.identity-name{-webkit-text-stroke-width:.65px;font-size:clamp(24px,9vw,36px)}.identity-role{font:600 clamp(11px, 3.4vw, 14px)/1.08 var(--font-demi);margin:8px 0 0}.tag-strip{display:none}}.contact-overlay__submit,.resume-overlay__pdf-action,.work-overlay__nav-button,.work-overlay__video-play{color:var(--action-amber);font-family:var(--font-demi);filter:none;box-shadow:none;text-shadow:none;font-weight:600;transition:color .14s,background-color .14s}.work-overlay__video-play{transition:color .14s,background-color .14s,opacity .14s,transform .14s}.contact-overlay__submit-outline,.contact-overlay__submit-icon,.resume-overlay__pdf-outline,.resume-overlay__pdf-icon,.resume-overlay__pdf-label,.resume-overlay__pdf-action small{color:inherit;text-shadow:none}.contact-overlay__submit-outline,.contact-overlay__submit-icon,.contact-overlay__submit-text,.resume-overlay__pdf-outline,.resume-overlay__pdf-icon,.resume-overlay__pdf-label,.resume-overlay__pdf-action small,.work-overlay__nav-button:after,.work-overlay__nav-button>span,.work-overlay__video-play:before,.work-overlay__video-play:after{filter:var(--action-glow)}.work-overlay__nav-button:after{content:"";pointer-events:none;border:1px solid;position:absolute;inset:-1px}.work-overlay__video-play:after{content:"";border-radius:inherit;pointer-events:none;border:2px solid;position:absolute;inset:-2px}.resume-overlay__pdf-label{font-family:var(--font-demi);font-weight:600}.contact-overlay__submit:not(:disabled):not([aria-disabled=true]):hover,.contact-overlay__submit:focus-visible,.resume-overlay__pdf-action:hover,.resume-overlay__pdf-action:focus-visible,.work-overlay__nav-button:hover,.work-overlay__nav-button:focus-visible,.work-overlay__video-play:hover,.work-overlay__video-play:focus-visible{color:var(--action-amber-hover);background-color:var(--action-hover-background);outline:1px solid var(--action-outline);outline-offset:3px}.contact-overlay__submit:disabled,.contact-overlay__submit[aria-disabled=true]{cursor:wait;filter:none;opacity:.6}.contact-overlay__submit:disabled>*,.contact-overlay__submit[aria-disabled=true]>*{filter:none}.contact-overlay h2,.contact-overlay h2.work-overlay__title,.contact-overlay.resume-overlay h2.resume-overlay__title{width:max-content;max-width:100%;padding:0 20px}@media (width>=861px) and (height>=501px){.contact-overlay h2.work-overlay__title{height:84px}}@media (width<=860px),(height<=500px){.contact-overlay h2,.contact-overlay h2.work-overlay__title,.contact-overlay.resume-overlay h2.resume-overlay__title{padding:0 12px}.contact-overlay__title-svg{height:40px}.contact-overlay__panel-outline,.contact-overlay__side-rail,.contact-overlay__corner-datum,.contact-overlay__target{display:none}.contact-overlay__panel{border:1px solid rgba(var(--ink-rgb), .44);clip-path:none;background:radial-gradient(120% 90% at 50% 40%,#062446 0%,#031936 58%,#02122a 100%)}.contact-overlay__title-row,.work-overlay__header,.resume-overlay__header{grid-template-columns:minmax(0,1fr);padding-top:6px;padding-left:8px}.contact-overlay__field input,.contact-overlay__field textarea,.contact-overlay__field--link input{font-size:16px}.contact-overlay__optional>p{margin-bottom:4px}.contact-overlay__form{border:1px solid rgba(var(--ink-rgb), .72);border-bottom-color:rgba(var(--ink-rgb), .58);background:#02132d47;padding:8px 10px 10px}.contact-overlay__status:empty{min-height:0;margin:0}.contact-overlay__form:before,.contact-overlay__form:after{content:"";z-index:1;color:rgba(var(--ink-rgb), .88);pointer-events:none;position:absolute;inset:-5px}.contact-overlay__form:before{background:linear-gradient(currentColor,currentColor) 0 0/22px 1px no-repeat,linear-gradient(currentColor,currentColor) 0 0/1px 22px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/22px 1px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/1px 22px no-repeat}.contact-overlay__form:after{background:linear-gradient(currentColor,currentColor) 0 100%/22px 1px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/1px 22px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/22px 1px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/1px 22px no-repeat}.contact-overlay__main{background:0 0;border:0;padding:0}.contact-overlay__main:before,.contact-overlay__main:after{display:none}}@media (width<=560px){.contact-overlay__form{display:block}.contact-overlay__submit{width:100%;max-width:100%;height:44px;min-height:44px;margin:12px 0 0;display:flex}.contact-overlay__form>.cf-turnstile{margin-top:12px}}@media (width>=561px) and (width<=860px),(width>=561px) and (height<=500px){.work-overlay__media-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.work-overlay__media-secondary--single{grid-template-columns:minmax(0,1fr)}}.portfolio-hero{--sheet-line:rgba(var(--ink-rgb), .8);--sheet-line-thin:rgba(var(--ink-rgb), .38);--sheet-text:rgba(var(--ink-rgb), .94);--sheet-text-muted:rgba(var(--ink-rgb), .6);--sheet-fill:#011432c7;--sheet-trim:10px;--sheet-margin:15px;--action-glow:none}.machined-nav-layer{z-index:3}.left-identity{z-index:5}.hud-root,.title-block{z-index:6}.sheet-frame{z-index:7}.portfolio-hero:after,.title-block:before{display:none}.sheet-frame{inset:var(--sheet-trim);border:1px solid var(--sheet-line-thin);pointer-events:none;position:absolute}.sheet-frame:after{content:"";inset:var(--sheet-margin);border:1.5px solid var(--sheet-line);position:absolute}.sheet-frame__zones{color:var(--sheet-text-muted);font:500 9px/1 var(--font-demi);letter-spacing:.06em;display:flex;position:absolute}.sheet-frame__zones--top,.sheet-frame__zones--bottom{left:var(--sheet-margin);right:var(--sheet-margin);height:var(--sheet-margin)}.sheet-frame__zones--top{top:0}.sheet-frame__zones--bottom{bottom:0}.sheet-frame__zones--left,.sheet-frame__zones--right{top:var(--sheet-margin);bottom:var(--sheet-margin);width:var(--sheet-margin);flex-direction:column}.sheet-frame__zones--left{left:0}.sheet-frame__zones--right{right:0}.sheet-frame__zones span{flex:1 1 0;place-items:center;display:grid}.sheet-frame__zones--top span+span,.sheet-frame__zones--bottom span+span{border-left:1px solid var(--sheet-line-thin)}.sheet-frame__zones--left span+span,.sheet-frame__zones--right span+span{border-top:1px solid var(--sheet-line-thin)}.identity-name{text-shadow:none}.identity-role{color:var(--sheet-text);letter-spacing:.04em;text-shadow:none}.readout{border:1px solid var(--sheet-line);background:var(--sheet-fill);box-shadow:none;padding:9px 10px 10px}.readout>span{color:var(--sheet-text-muted);font:500 9.5px/1 var(--font-demi);letter-spacing:.08em}.readout-unit{color:var(--sheet-text-muted);letter-spacing:.02em;margin-left:.08em;font-size:.68em}.readout-separator{color:var(--sheet-text-muted);margin:0 .45em}.readout-aside{float:right;letter-spacing:.06em}.readout strong[data-ref=status]{white-space:pre}.readout strong{color:var(--sheet-text);font:500 15px/1 var(--font-demi);font-variant-numeric:tabular-nums;margin-top:7px}.joint-angle-grid .joint-label{border:1px solid var(--sheet-line-thin);background:var(--sheet-fill);color:var(--sheet-text);font:500 9.5px/1.2 var(--font-demi);letter-spacing:.03em;box-shadow:none;border-radius:0}.gcode-panel{border:1px solid var(--sheet-line);background:var(--sheet-fill);box-shadow:none;border-radius:0}.panel-header{border-bottom-color:var(--sheet-line-thin);min-height:32px;color:var(--sheet-text-muted);font:500 9.5px/1 var(--font-demi);letter-spacing:.08em;padding:0 12px}.panel-header span:last-child{color:var(--sheet-text-muted);font-family:var(--font-code);letter-spacing:.02em;font-weight:400}.gcode-list{color:rgba(var(--ink-rgb), .74)}.gcode-list li.active{color:var(--sheet-text);background:rgba(var(--ink-rgb), .07);border-left-color:var(--sheet-line);text-shadow:none}.workpiece-dimension-label{font:500 13px/1 var(--font-demi);letter-spacing:.02em;text-shadow:none}.title-block{border:1.5px solid var(--sheet-line);background:var(--sheet-fill);font:500 11px/1.1 var(--font-demi);text-transform:none;grid-template-columns:162px 84px 52px 50px}.title-block__cell{border-right:1px solid var(--sheet-line-thin);border-bottom:1px solid var(--sheet-line-thin);align-content:start;gap:4px;min-width:0;padding:5px 7px 6px;display:grid}.title-block__cell span,.title-block__cell strong{border:0;min-width:0;padding:0}.title-block__cell span{color:var(--sheet-text-muted);font:500 7.5px/1 var(--font-demi);letter-spacing:.1em;text-transform:uppercase}.title-block__cell strong{color:var(--sheet-text);font:600 11px/1.1 var(--font-demi);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.title-block__cell--title strong{font-size:13px}.title-block__cell--projection{place-items:center}.title-block__cell--drawn{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) auto;align-items:end}.title-block__cell--drawn span{grid-area:1/1}.title-block__cell--drawn strong{grid-area:2/1}.title-block__signature{fill:none;width:60px;height:31px;stroke:var(--sheet-text);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;grid-area:1/2/3;margin:-3px 0 -4px 6px}.title-block__projection{width:40px;height:22px;overflow:visible}.title-block__projection-outline{fill:none;stroke:var(--sheet-text);stroke-width:1.3px}.title-block__projection-center{fill:none;stroke:var(--sheet-text-muted);stroke-width:.6px;stroke-dasharray:6 1.5 1 1.5}.title-block__cell--sheet,.title-block__cell--projection{border-right:0}.title-block__cell--drawn,.title-block__cell--date,.title-block__cell--units,.title-block__cell--projection{border-bottom:0}@media (width<=860px){.portfolio-hero{--sheet-trim:7px;--sheet-margin:13px}.title-block{transform-origin:100% 100%;transform:scale(.66)}}@media (width<=560px),(height<=500px){.sheet-frame{display:none}}@media (width>=561px) and (height>=501px){.left-identity{padding-bottom:58px}}.portfolio-hero{background:radial-gradient(130% 105% at 56% 54%,#072849 0%,#041d3e 40%,#021430 74%,#010c21 100%)}.portfolio-hero:before{display:none}.cutter-detail{--detail-size:clamp(120px, calc(49svh - 236px), 184px);left:var(--edge-gutter);bottom:var(--edge-bottom-gutter);z-index:6;pointer-events:none;width:max-content;margin:0;position:absolute}.cutter-detail__view{width:var(--detail-size);height:var(--detail-size);position:relative}.cutter-detail__svg{width:var(--detail-size);height:var(--detail-size);display:block;overflow:visible}.cutter-detail__over{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cutter-detail__spin{clip-path:circle(calc(var(--detail-size) * .495) at 50% 50%);position:absolute;inset:0}.cutter-detail__flute-window{--unit:calc(var(--detail-size) / 200);left:calc(var(--unit) * var(--flute-left,0));top:calc(var(--unit) * var(--flute-length,0) * -1);width:calc(var(--unit) * var(--flute-width,0));height:calc(var(--unit) * var(--flute-length,0));transform:translateY(calc(var(--unit) * var(--tip-y,0)));position:absolute;overflow:hidden}.cutter-detail__frame{fill:none;stroke:var(--sheet-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.cutter-detail__backdrop{fill:#031835}.cutter-detail__stock{fill:rgba(var(--ink-rgb), .05)}.cutter-detail__hatch-line{stroke:rgba(var(--ink-rgb), .26);stroke-width:.8px}.cutter-detail__surface{stroke:var(--sheet-line);stroke-width:1.4px;vector-effect:non-scaling-stroke}.cutter-detail__slot{fill:#062242;stroke:var(--sheet-line);stroke-width:1.1px;vector-effect:non-scaling-stroke}.cutter-detail__wrist,.cutter-detail__spindle{fill:rgba(var(--ink-rgb), .05);stroke:rgba(var(--ink-rgb), .55);stroke-width:1px;vector-effect:non-scaling-stroke}.cutter-detail__body{fill:#0b3157;stroke:var(--sheet-line);stroke-linejoin:round;stroke-width:1.3px;vector-effect:non-scaling-stroke}.cutter-detail__flutes{width:100%;height:100%;animation:.5s linear infinite cutter-flute-spin;display:block;overflow:visible}.cutter-detail__flute-edge,.cutter-detail__flute-heel{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.cutter-detail__flute-edge{stroke:rgba(var(--ink-rgb), .85);stroke-width:1.1px}.cutter-detail__flute-heel{stroke:rgba(var(--ink-rgb), .4);stroke-width:.8px}.cutter-detail__centerline{fill:none;stroke:rgba(var(--ink-rgb), .45);stroke-width:.8px;stroke-dasharray:12 3 2 3;vector-effect:non-scaling-stroke}.cutter-detail__chip{opacity:0}.cutter-detail__chip-curl{fill:none;stroke:rgba(var(--ink-rgb), .78);stroke-width:1px;stroke-linecap:round;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%}.cutter-detail.is-cutting .cutter-detail__chip{animation:cutter-chip-across var(--chip-duration) linear var(--chip-delay) infinite}.cutter-detail.is-cutting .cutter-detail__chip-rise{animation:cutter-chip-rise var(--chip-duration) linear var(--chip-delay) infinite}.cutter-detail.is-cutting .cutter-detail__chip-curl{animation:cutter-chip-tumble var(--chip-duration) linear var(--chip-delay) infinite}.cutter-detail__extension,.cutter-detail__dimension-line{stroke:rgba(var(--ink-rgb), .7);stroke-width:.9px;vector-effect:non-scaling-stroke}.cutter-detail__arrow{fill:rgba(var(--ink-rgb), .85)}.cutter-detail__value{fill:var(--sheet-text);font:600 9.5px var(--font-demi);letter-spacing:.04em}.cutter-detail__axis{fill:var(--sheet-text-muted)}.cutter-detail__caption{text-transform:uppercase;align-items:baseline;gap:9px;margin-top:10px;display:flex}.cutter-detail__title{color:var(--sheet-text);font:600 11px/1 var(--font-demi);letter-spacing:.1em}.cutter-detail__scale{color:var(--sheet-text-muted);font:500 9.5px/1 var(--font-demi);letter-spacing:.08em}.cutter-detail__hint{color:var(--sheet-text-muted);font:500 9.5px/1.2 var(--font-demi);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;margin:7px 0 0;display:flex}.cutter-detail__wheel{flex:none;width:10px;height:15px;position:relative}.cutter-detail__wheel svg{fill:none;width:100%;height:100%;stroke:var(--sheet-text-muted);stroke-linecap:round;stroke-width:1.4px;position:absolute;inset:0}.cutter-detail__wheel-notch{animation:1.8s ease-in-out infinite cutter-wheel-roll}@keyframes cutter-flute-spin{to{transform:translateY(calc(var(--detail-size) / 200 * var(--flute-spacing,0)))}}@keyframes cutter-chip-across{0%{opacity:0;transform:translateX(calc(var(--chip-side) * var(--chip-start)))}5%{opacity:.9}48%{transform:translateX(calc(var(--chip-side) * (var(--chip-start) + var(--chip-reach))))}56%{transform:translateX(calc(var(--chip-side) * (var(--chip-start) + var(--chip-reach) + 2px)))}70%{opacity:.75}to{opacity:0;transform:translateX(calc(var(--chip-side) * (var(--chip-start) + var(--chip-reach) + 2px)))}}@keyframes cutter-chip-rise{0%{animation-timing-function:cubic-bezier(.25,.6,.45,1);transform:translateY(0)}22%{transform:translateY(calc(-1 * var(--chip-rise)));animation-timing-function:cubic-bezier(.55,0,.75,.4)}48%{animation-timing-function:cubic-bezier(.25,.6,.45,1);transform:translateY(0)}52%{transform:translateY(calc(-1 * var(--chip-rise) / 6));animation-timing-function:cubic-bezier(.55,0,.75,.4)}56%,to{transform:translateY(0)}}@keyframes cutter-chip-tumble{0%{transform:rotate(0)}56%,to{transform:rotate(var(--chip-spin))}}@keyframes cutter-wheel-roll{0%,35%{transform:translateY(0)}60%{transform:translateY(1.875px)}85%,to{transform:translateY(0)}}.portfolio-hero.contact-overlay-active .cutter-detail__flutes,.portfolio-hero.contact-overlay-active .cutter-detail__wheel-notch,.cutter-detail.is-cutter-out .cutter-detail__flutes{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.cutter-detail__flutes,.cutter-detail.is-cutting .cutter-detail__chip,.cutter-detail.is-cutting .cutter-detail__chip-rise,.cutter-detail.is-cutting .cutter-detail__chip-curl,.cutter-detail__wheel-notch{animation:none}}.detail-callout{--detail-callout-size:60px;z-index:5;width:var(--detail-callout-size);height:var(--detail-callout-size);margin:calc(var(--detail-callout-size) / -2) 0 0 calc(var(--detail-callout-size) / -2);pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.detail-callout__ring{fill:none;width:100%;height:100%;stroke:rgba(var(--ink-rgb), .32);stroke-width:1px;position:absolute;inset:0;overflow:visible}.detail-callout__label{color:var(--sheet-text-muted);font:600 11px/1 var(--font-demi);letter-spacing:.06em;position:absolute;bottom:calc(100% - 3px);left:calc(100% - 3px)}@media (width<=860px),(height<=620px){.cutter-detail,.detail-callout{display:none}}@media (width>=861px) and (height<=680px){.title-block{transform-origin:100% 100%;transform:scale(.86)}}@media (hover:none){.cutter-detail__hint{display:none}}@media (width>=561px) and (height<=500px){.portfolio-hero{--readout-value-size:clamp(10px, 3.1svh, 12px);--readout-width:calc(var(--readout-value-size) * 13.4 + 37px);--gcode-size:clamp(8.5px, 2.6svh, 10px)}.readout-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.readout{min-height:0;padding:5px 7px 6px}.readout>span{font-size:calc(var(--readout-value-size) * .72)}.readout-unit{display:none}.readout strong{font-size:var(--readout-value-size);margin-top:4px}.gcode-panel{width:calc(var(--gcode-size) * 18 + 22px);max-height:calc(100lvh - var(--edge-top-gutter) - var(--edge-bottom-gutter))}.panel-header{min-height:calc(var(--gcode-size) * 2.5);font-size:calc(var(--gcode-size) * .9);padding:0 8px}.gcode-list{font-size:var(--gcode-size);padding:3px 0 4px;line-height:1.35}.gcode-list li{min-height:0;padding:0 8px}.gcode-panel{--gcode-lines:5}}@media (width>=561px) and (height<=500px) and (aspect-ratio>=11/5){.portfolio-hero.title-block-room .title-block{transform-origin:100% 100%;display:grid;transform:scale(.66)}}.portfolio-hero.identity-under-gcode{--identity-copy-lift-y:0px}.portfolio-hero.identity-under-gcode .left-identity{top:var(--identity-under-gcode-top);bottom:auto;right:auto;left:var(--identity-under-gcode-left);width:auto;padding-bottom:0}.portfolio-hero.identity-under-gcode .joint-angle-grid{width:min(330px, calc(var(--identity-under-gcode-left) - var(--edge-gutter) - 18px))}@media (width>=561px) and (aspect-ratio<=4/5){.portfolio-hero.hero-booting .left-identity{visibility:hidden}}@media (width>=2133px) and (height>=1200px){.portfolio-hero{--chrome-scale:1.1111}}@media (width>=2400px) and (height>=1350px){.portfolio-hero{--chrome-scale:1.25}}@media (width>=2560px) and (height>=1440px){.portfolio-hero{--chrome-scale:1.3333}}@media (width>=2880px) and (height>=1620px){.portfolio-hero{--chrome-scale:1.5}}@media (width>=3200px) and (height>=1800px){.portfolio-hero{--chrome-scale:1.6667}}@media (width>=3840px) and (height>=2160px){.portfolio-hero{--chrome-scale:2}}@media (width>=2133px) and (height>=1200px){.readout-stack{scale:var(--chrome-scale);transform-origin:0 0}.joint-angle-grid{scale:var(--chrome-scale);transform-origin:0 -132px}.gcode-panel{scale:var(--chrome-scale);transform-origin:100% 0}.left-identity,.cutter-detail{scale:var(--chrome-scale);transform-origin:0 100%}.title-block{scale:var(--chrome-scale);transform-origin:100% 100%}}
