.cv-shell{min-height:100svh;background:var(--void);color:var(--text);--normal-void:#f4f5ef;--normal-surface:#e9ede5;--normal-surface-high:#e1e7dd;--normal-ink:#f7f8f2;--normal-text:#202b23;--normal-muted:#526153;--normal-signal:#3f603d;--normal-signal-soft:#e3eadf;--normal-line:#b9c4b4;--normal-diagram-base:#edf1e9;--normal-diagram-surface:#f6f7f1;--normal-diagram-line:#839687;--normal-cyan:#286971;--normal-magenta:#8a477b;--normal-magenta-line:#9b648b;--normal-preview-scrim:#f4f5efed;--normal-preview-glow:#dce6d4;--normal-dialog-surface:#f4f5ef;--normal-dialog-viewport:#e9ede5;--normal-dialog-backdrop:#26372ac2;--void:color-mix(in srgb,var(--normal-void),#0d171b var(--cyber-power,0%));--surface:color-mix(in srgb,var(--normal-surface),#18272c var(--cyber-power,0%));--surface-high:color-mix(in srgb,var(--normal-surface-high),#21353a var(--cyber-power,0%));--ink:color-mix(in srgb,var(--normal-ink),#112025 var(--cyber-power,0%));--text:color-mix(in srgb,var(--normal-text),#f3f2e8 var(--cyber-power,0%));--muted:color-mix(in srgb,var(--normal-muted),#b7c8c9 var(--cyber-power,0%));--signal:color-mix(in srgb,var(--normal-signal),#f3bd68 var(--cyber-power,0%));--signal-soft:color-mix(in srgb,var(--normal-signal-soft),#3b3022 var(--cyber-power,0%));--line:color-mix(in srgb,var(--normal-line),#435b60 var(--cyber-power,0%));--diagram-base:color-mix(in srgb,var(--normal-diagram-base),#0b171d var(--cyber-power,0%));--diagram-surface:color-mix(in srgb,var(--normal-diagram-surface),#12242b var(--cyber-power,0%));--diagram-line:color-mix(in srgb,var(--normal-diagram-line),#547176 var(--cyber-power,0%));--cyan:color-mix(in srgb,var(--normal-cyan),#7acbd0 var(--cyber-power,0%));--magenta:color-mix(in srgb,var(--normal-magenta),#d6a575 var(--cyber-power,0%));--magenta-line:color-mix(in srgb,var(--normal-magenta-line),#ad8158 var(--cyber-power,0%));--preview-scrim:color-mix(in srgb,var(--normal-preview-scrim),#0d171bed var(--cyber-power,0%));--preview-glow:color-mix(in srgb,var(--normal-preview-glow),#304d52 var(--cyber-power,0%));--dialog-surface:color-mix(in srgb,var(--normal-dialog-surface),#0d171b var(--cyber-power,0%));--dialog-viewport:color-mix(in srgb,var(--normal-dialog-viewport),#091115 var(--cyber-power,0%));--dialog-backdrop:color-mix(in srgb,var(--normal-dialog-backdrop),#050a0de8 var(--cyber-power,0%))}@media (prefers-color-scheme:dark){.cv-shell{--normal-void:#151918;--normal-surface:#1c211f;--normal-surface-high:#222925;--normal-ink:#172018;--normal-text:#f0f1ea;--normal-muted:#b5beb5;--normal-signal:#c2d1b4;--normal-signal-soft:#29332c;--normal-line:#424c44;--normal-diagram-base:#0a1318;--normal-diagram-surface:#10191c;--normal-diagram-line:#39494a;--normal-cyan:#69dce1;--normal-magenta:#ca75b8;--normal-magenta-line:#9c5e90;--normal-preview-scrim:#151918ed;--normal-preview-glow:#293a31;--normal-dialog-surface:#101412;--normal-dialog-viewport:#0b0e0d;--normal-dialog-backdrop:#050807e8}}.cv-shell[data-cv=gamified]{color-scheme:dark}.cv-shell[data-cv-preview=gamified]{--cyan-rgb:122 203 208;--magenta-rgb:214 165 117}.cv-shell .hero{padding-block:clamp(18px,3svh,32px) 40px}.hero-topline{justify-content:space-between;gap:8px 24px}.cv-alternative,.hero-topline{display:flex;flex-wrap:wrap;align-items:baseline}.cv-alternative{gap:4px 10px;font-size:13px}.cv-alternative>span{color:var(--muted)}.cv-switch-link{color:var(--signal);text-decoration:underline;text-underline-offset:4px}.cv-switch-link:hover{color:var(--text)}.wordmark-copy small{max-width:230px;font-size:11px;line-height:1.25}.cv-alternative,.hero-copy,.hero-portrait,.hero-status{position:relative;z-index:2}.hero-copy .hero-title{position:relative}.hero .hero-grid{padding-top:clamp(24px,4svh,40px);gap:24px clamp(32px,5vw,72px);align-items:start}.hero .hero-title{font-size:clamp(60px,7.3vw,106px)}.hero .hero-portrait{width:100%;max-width:min(430px,54svh);margin:0 auto;align-self:start}.hero .hero-deck{margin-top:22px;font-size:clamp(21px,2vw,28px)}.hero .hero-actions{gap:12px;margin-top:26px}.hero-actions .button{gap:16px;padding-inline:18px;border:1px solid transparent}.hero-actions .button-secondary{border-color:var(--line);transition:border-color .16s ease,background .16s ease}.hero-actions .button-secondary:hover{border-color:var(--signal);background:var(--signal-soft)}.hero-actions .text-link{gap:8px;margin-left:4px}.hero-actions svg{width:18px;height:18px;flex:none}.hero-title-copy{opacity:1;visibility:visible;transition:opacity .18s ease,visibility 0s}.hero-title-copy[aria-hidden=true]{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s .18s;pointer-events:none}.hero-title-copy[data-title-copy=gamified]{font-size:clamp(44px,4.8vw,68px);letter-spacing:-.05em}.mecha-hero-fx{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.cv-shell[data-cv-preview=gamified] .project-card{border-bottom-color:var(--signal)}@media (max-width:1060px){.desktop-nav{gap:16px}}@media (max-width:640px){.cv-shell .hero{padding-block:12px 24px}.hero-topline{gap:4px}.hero-status{padding-top:0;font-size:12px}.cv-alternative{gap:4px 8px;font-size:12px}.hero .hero-grid{grid-template-areas:"portrait" "copy";gap:16px;padding-top:12px}.hero .hero-portrait{max-width:224px}.hero .hero-portrait figcaption{margin-top:4px;font-size:11px;line-height:1.4;text-align:center}.hero .hero-portrait figcaption .local-hours{margin-top:2px;gap:0}.hero .local-hours>[role=img]{display:none}.hero .hero-title,.hero-title-copy[data-title-copy=gamified]{font-size:clamp(30px,8.7vw,42px);line-height:1.06;letter-spacing:-.045em}.hero-title-copy>span{display:inline}.hero .hero-deck{margin:10px 0 8px;font-size:16px;line-height:1.4}.hero .hero-experience{font-size:13px;line-height:1.45}.hero .hero-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}.hero-actions .button{min-height:44px;padding-block:8px}.hero-actions .text-link{justify-self:start;margin-left:0}.wordmark-copy small{max-width:170px}}@media (max-width:640px) and (max-height:740px){.cv-shell .hero{padding-block:8px 16px}.hero .hero-grid{gap:8px;padding-top:8px}.hero .hero-portrait{max-width:208px}.hero .hero-title,.hero-title-copy[data-title-copy=gamified]{font-size:30px}.hero .hero-deck{font-size:15px;line-height:1.35;margin-top:8px}.hero .hero-experience{line-height:1.35}.hero .hero-actions{grid-template-columns:1fr 1fr;gap:6px 8px;margin-top:12px}.hero-actions .button{gap:6px;padding-inline:8px;font-size:13px;white-space:nowrap}.hero-actions .text-link{grid-column:1/-1}}@media (max-width:640px) and (max-height:620px){.hero-inner{display:flex;flex-direction:column}.hero-topline{display:contents}.hero-topline .cv-alternative{order:0}.hero .hero-grid{order:1}.hero-topline .hero-status{order:2;margin-top:12px}.hero-copy{display:flex;flex-direction:column}.hero .hero-title{order:0}.hero .hero-deck{order:1}.hero .hero-actions{order:2;margin-top:4px}.hero .hero-experience{order:3;margin-top:12px}}@media (min-width:641px) and (max-height:480px){.cv-shell .hero{padding-block:4px 24px}.hero .hero-grid{padding-top:4px;column-gap:24px}.hero .hero-portrait{max-width:216px}.hero-copy{display:flex;flex-direction:column}.hero .hero-title{order:0;font-size:clamp(42px,6vw,60px)}.hero-title-copy[data-title-copy=gamified]{font-size:clamp(32px,4.8vw,42px)}.hero .hero-actions{order:1;margin-top:12px}.hero .hero-deck{order:2;margin-top:16px;font-size:18px}.hero .hero-experience{order:3;font-size:14px}}@media (max-width:480px){.wordmark-copy small{display:none}}@media (pointer:coarse){.cv-switch-link{min-height:44px;display:inline-flex;align-items:center}}@media (prefers-reduced-motion:reduce){.mecha-hero-fx{display:none}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist-sans:"Geist","Geist Fallback"}

/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.\[no-new-privileges\:true\]{no-new-privileges:true}}:root{color-scheme:light;--void:#f4f5ef;--surface:#e9ede5;--surface-high:#e1e7dd;--ink:#f7f8f2;--text:#202b23;--muted:#526153;--signal:#3f603d;--signal-soft:#e3eadf;--line:#b9c4b4;--menu-shadow:#2135261f;--preview-scrim:#f4f5efed;--preview-glow:#dce6d4;--dialog-surface:#f4f5ef;--dialog-viewport:#e9ede5;--dialog-backdrop:#26372ac2;--diagram-base:#edf1e9;--diagram-surface:#f6f7f1;--diagram-line:#839687;--cyan:#286971;--cyan-rgb:40 105 113;--magenta:#8a477b;--magenta-rgb:138 71 123;--magenta-line:#9b648b;--header-height:68px}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--void:#151918;--surface:#1c211f;--surface-high:#222925;--ink:#172018;--text:#f0f1ea;--muted:#b5beb5;--signal:#c2d1b4;--signal-soft:#29332c;--line:#424c44;--menu-shadow:#0006;--preview-scrim:#151918ed;--preview-glow:#293a31;--dialog-surface:#101412;--dialog-viewport:#0b0e0d;--dialog-backdrop:#050807e8;--diagram-base:#0a1318;--diagram-surface:#10191c;--diagram-line:#39494a;--cyan:#69dce1;--cyan-rgb:105 220 225;--magenta:#ca75b8;--magenta-rgb:202 117 184;--magenta-line:#9c5e90}}*{box-sizing:border-box}html{scroll-behavior:auto}body,html{background:var(--void)}body{color:var(--text);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.65}a{text-decoration:none}a,button{color:inherit}button{font:inherit}h1,h2,h3,p{margin-top:0}img{max-width:100%}::selection{background:var(--signal);color:var(--ink)}:where(a,button,summary,[role=tabpanel]):focus-visible{outline:2px solid var(--signal);outline-offset:5px}#main-content,section[id]{scroll-margin-top:calc(var(--header-height) + 20px)}.shell{width:min(var(--shell-max,1120px),calc(100% - 96px));margin-inline:auto}.site-header{z-index:40;height:var(--header-height);background:var(--void);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 96px);height:100%;display:flex}.wordmark{align-items:center;gap:14px;min-height:44px;display:inline-flex}.wordmark-mark{border:1px solid var(--signal);width:42px;height:42px;color:var(--signal);letter-spacing:-.04em;flex:none;place-items:center;font-size:14px;font-weight:650;display:grid}.wordmark-copy{flex-direction:column;gap:1px;line-height:1.5;display:flex}.wordmark-copy strong{font-size:15px;font-weight:550}.wordmark-copy small{color:var(--muted);font-size:13px}.desktop-nav{align-items:center;gap:26px;font-size:14px;display:flex}.desktop-nav a{align-items:center;min-height:44px;display:inline-flex}.desktop-nav a:not(.nav-contact){color:var(--muted)}.desktop-nav a:hover{color:var(--text)}.nav-contact{border:1px solid var(--line);padding:0 18px}.nav-contact:hover{border-color:var(--signal)}.mobile-menu{display:none}.hero{isolation:isolate;padding:36px 0 86px;position:relative}.hero-inner{--shell-max:1280px}.hero-status{color:var(--muted);align-items:center;gap:13px;font-size:13px;display:flex}.availability-hours{white-space:nowrap}.status-light{background:var(--signal);border-radius:50%;flex:none;width:7px;height:7px}.hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-areas:"copy portrait";align-items:start;gap:28px clamp(48px,7vw,108px);padding-top:64px;display:grid}.hero-copy{grid-area:copy}.system-label{color:var(--signal);letter-spacing:.02em;margin:0 0 22px;font-size:13px;font-weight:500}h1{letter-spacing:-.065em;margin:0;font-size:clamp(78px,9.2vw,132px);font-weight:520;line-height:.98}h1 span{display:block}.hero-deck{letter-spacing:-.025em;max-width:540px;margin:30px 0 14px;font-size:clamp(23px,2.35vw,32px);line-height:1.4}.hero-experience{color:var(--muted);margin:0;font-size:17px}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:34px;display:flex}.button{justify-content:space-between;align-items:center;gap:40px;min-height:50px;padding:10px 20px;font-size:15px;font-weight:550;display:inline-flex}.button-primary{background:var(--signal);color:var(--ink);transition:background .16s}.button-primary:hover{background:var(--text)}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:16px;min-height:44px;font-size:14px;display:inline-flex}.text-link:hover{border-color:var(--signal)}.hero-portrait{grid-area:portrait;align-self:center;min-width:0;margin:0}.hero-portrait figcaption{color:var(--muted);margin-top:16px;font-size:13px}.experience,.record,.work{padding:104px 0}.record,.work{border-top:1px solid var(--line)}.experience-header,.record-heading,.section-heading{grid-template-columns:1.15fr .85fr;column-gap:96px;margin-bottom:48px;display:grid}.experience-header>div,.record-heading>div,.section-heading>div{grid-column:1/-1}.capabilities-heading h2,.experience-header h2,.record-heading h2,.section-heading h2{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(38px,4.5vw,60px);font-weight:500;line-height:1.12}.capabilities-heading>p:last-child,.section-heading>p:last-child{color:var(--muted);margin:4px 0 0;font-size:17px}.experience-header h2,.record-heading h2{grid-column:1/-1;max-width:800px}.capabilities{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:clamp(32px,5vw,64px)}.capabilities-layout{min-width:0}.capabilities-heading{max-width:780px}.capabilities-heading h2{margin:0}.capabilities-heading>p:last-child{max-width:720px;margin-top:14px}.capability-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;margin-top:36px;display:grid}.capability-dashboard article{border-top:1px solid var(--line);flex-direction:column;align-items:start;min-width:0;padding:24px 0 28px;display:flex}.capability-dashboard h3{letter-spacing:-.025em;margin-bottom:14px;font-size:25px;font-weight:500;line-height:1.3}.capability-dashboard p{color:var(--muted);margin-bottom:18px;font-size:17px}.capability-dashboard .capability-stage{color:var(--signal);margin-bottom:12px;font-size:13px;line-height:1.6}.capability-dashboard article>.text-link{margin-top:auto}.capability-method{border-top:1px solid var(--line);margin-top:24px;padding-top:28px}.capability-method h3{letter-spacing:-.025em;margin:0 0 20px;font-size:21px;font-weight:500}.capability-method p{color:var(--muted);margin:0;font-size:15px;line-height:1.7}.timeline{border-top:1px solid var(--line)}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.5fr) minmax(0,.8fr) minmax(0,1.3fr);gap:36px;padding:36px 0;display:grid}.timeline-period{color:var(--muted);padding-top:4px;font-size:13px}.timeline-title h3{letter-spacing:-.025em;margin-bottom:10px;font-size:26px;font-weight:500;line-height:1.3}.timeline-summary,.timeline-title p{color:var(--muted);margin:0;font-size:16px}.earlier-experience{max-width:720px;color:var(--muted);margin:28px 0 0;font-size:16px}.record-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;display:grid}.record-grid article{padding-top:28px}.record-grid article>p{color:var(--signal);margin-bottom:20px;font-size:13px}.record-grid h3{letter-spacing:-.025em;margin-bottom:14px;font-size:23px;font-weight:500;line-height:1.4}.record-grid span{color:var(--muted);font-size:16px}.business-disclosure{border:1px solid var(--line);margin-top:48px}.business-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;font-size:16px;list-style:none;display:flex}.business-disclosure>summary::-webkit-details-marker{display:none}.business-disclosure>summary>span:last-child{color:var(--muted);align-items:center;gap:20px;font-size:13px;display:flex}.business-disclosure summary i{color:var(--signal);font-size:24px;font-style:normal;transition:transform .15s;display:inline-block}.business-disclosure[open] summary i{transform:rotate(45deg)}.business-details{border-top:1px solid var(--line);background:var(--surface);padding:28px}.business-details>p{max-width:780px;color:var(--muted);margin-bottom:28px;font-size:16px}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;margin:0;display:grid}.credential-grid>div{border-top:1px solid var(--line);padding:22px 0}.credential-grid dt{color:var(--signal);margin-bottom:14px;font-size:13px}.credential-grid dd{overflow-wrap:anywhere;margin:0 0 7px;font-size:18px}.credential-grid small{color:var(--muted);font-size:13px}.verification-contact{border-bottom:1px solid var(--signal);min-height:44px;color:var(--signal);align-items:center;margin-top:20px;padding:10px 0;font-size:15px;display:inline-flex}.contact-section{border-top:1px solid var(--line);background:var(--surface);padding:clamp(32px,5vw,64px) clamp(32px,5vw,64px) 0}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px 100px;padding-bottom:clamp(32px,5vw,64px);display:grid}.contact-label{color:var(--muted);grid-column:1/-1;align-items:center;gap:13px;font-size:13px;display:flex}.contact-grid h2{letter-spacing:-.06em;text-wrap:balance;max-width:600px;margin:0 0 32px;font-size:clamp(50px,6.6vw,88px);font-weight:500;line-height:1.04}.contact-intro>p:not(.system-label){max-width:530px;color:var(--muted);font-size:18px}.contact-details{align-self:center;min-width:0}.contact-direct{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;margin-bottom:32px;display:flex}.contact-direct>div{gap:12px;min-width:0;display:grid}.contact-direct span{color:var(--signal);font-size:13px}.contact-direct a{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(20px,2vw,26px);font-weight:500}.copy-email{border:1px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;background:0 0;padding:8px 12px;font-size:13px}.copy-email:hover{color:var(--text);border-color:var(--signal)}.contact-link{border-bottom:1px solid var(--line);grid-template-columns:28px 84px minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 0;display:grid}.contact-link-primary{background:var(--signal);color:var(--ink);border:0;margin-bottom:12px;padding:18px}.contact-link-primary:hover{background:var(--text)}.contact-kind{color:var(--muted);font-size:13px}.contact-link-primary .contact-kind{color:var(--ink)}.contact-icon{place-items:center;display:grid}.contact-icon svg{width:18px;height:18px}.contact-link strong{overflow-wrap:anywhere;font-size:15px;font-weight:500}.contact-link i{font-style:normal}.contact-link:not(.contact-link-primary):hover{color:var(--signal)}footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;padding:24px 0;font-size:13px;display:flex}footer p{margin:0}.footer-links{gap:24px;display:flex}.footer-links a{align-items:center;gap:8px;min-height:44px;display:inline-flex}.footer-links a:hover{color:var(--text)}.footer-links svg{width:14px;height:14px}.privacy-tools{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 28px;padding-block:12px 28px;font-size:13px;display:flex}.privacy-tools a,.privacy-tools button{align-items:center;min-height:44px;display:inline-flex}.privacy-tools button{cursor:pointer;background:0 0;border:0;padding:0}.privacy-tools a:hover,.privacy-tools button:hover{color:var(--text)}.privacy-page a{text-underline-offset:3px;text-decoration:underline}.privacy-page{max-width:840px;margin:20px 0 48px}.privacy-page section{margin-top:32px}.privacy-page h2{letter-spacing:-.025em;margin-bottom:12px;font-size:23px;font-weight:500}.privacy-page p{color:var(--muted)}.reveal{animation:fade-in .36s ease-out both}.page-transition{animation:fade-in .24s ease-out}.project-card:target,section[id]:target{animation:fade-in .28s ease-out}.delay-1{animation-delay:60ms}.delay-2{animation-delay:.12s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}@media (max-width:1100px){.shell{width:calc(100% - 64px)}.desktop-nav{gap:18px;font-size:13px}.hero-grid{gap:28px 44px}h1{font-size:clamp(76px,9.5vw,104px)}.section-heading{column-gap:48px}.timeline article{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:16px 40px}.timeline-period,.timeline-title{grid-column:1}.timeline-summary{grid-area:1/2/span 2}.contact-grid{column-gap:56px}.contact-link{grid-template-columns:24px minmax(0,1fr) auto;gap:4px 12px}.contact-icon{grid-row:1/span 2}.contact-kind,.contact-link strong{grid-column:2}.contact-link i{grid-area:1/3/span 2}}@media (max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu>button{border:1px solid var(--line);background:var(--surface);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-width:88px;min-height:44px;padding:0 14px;font-size:14px;display:inline-flex}.mobile-menu>button i{color:var(--signal);font-size:21px;font-style:normal}.mobile-menu nav{z-index:20;width:min(286px,100vw - 40px);max-height:calc(100svh - var(--header-height) - 20px);border:1px solid var(--line);background:var(--surface);box-shadow:0 16px 40px var(--menu-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto}.mobile-menu nav a{border-bottom:1px solid var(--line);align-items:center;min-height:52px;padding:12px 18px;font-size:16px;display:flex}.mobile-menu nav a:last-child{background:var(--signal);color:var(--ink);border:0}.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:28px}h1{font-size:clamp(68px,9.5vw,86px)}.hero-deck{font-size:24px}.hero-portrait{align-self:start;margin-top:44px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading .system-label{margin-bottom:0}.section-heading>p:last-child{max-width:630px}.capability-dashboard{grid-template-columns:1fr;margin-top:28px}.capability-dashboard article{padding-block:24px}.record-grid{gap:28px}.record-grid h3{font-size:21px}.contact-grid{column-gap:40px}}@media (max-width:640px){:root{--header-height:60px}.shell{width:calc(100% - 40px)}.site-header-inner{gap:16px;width:calc(100% - 32px)}.wordmark{gap:10px}.wordmark-copy strong{font-size:13px}.wordmark-copy small{font-size:12px}.wordmark-mark{width:36px;height:36px;font-size:13px}.mobile-menu>button{min-width:76px;padding-inline:10px}.hero{padding:28px 0 64px}.hero-status{align-items:start}.hero-status .status-light{margin-top:7px}.hero-grid{grid-template-columns:1fr;grid-template-areas:"copy""portrait";gap:26px;padding-top:48px}h1{font-size:clamp(62px,16.5vw,100px)}.hero-deck{max-width:440px;margin-top:26px;font-size:25px}.hero-experience{font-size:16px}.hero-actions{gap:20px}.hero-portrait{width:100%;max-width:430px;margin:16px auto 0}.experience,.record,.work{padding:64px 0}.capabilities{padding:32px 20px}.experience-header,.record-heading,.section-heading{margin-bottom:32px}.capabilities-heading h2,.experience-header h2,.record-heading h2,.section-heading h2{font-size:38px}.capabilities-heading>p:last-child,.section-heading>p:last-child{font-size:16px}.capability-dashboard h3{font-size:25px}.capability-dashboard p{font-size:16px}.timeline article{grid-template-columns:1fr;gap:16px;padding-block:28px}.timeline-period,.timeline-summary,.timeline-title{grid-area:auto/1}.record-grid{grid-template-columns:1fr;gap:0}.record-grid article{border-bottom:1px solid var(--line);padding:28px 0}.record-grid article>p{margin-bottom:14px}.record-grid h3{font-size:23px}.business-disclosure{margin-top:32px}.business-disclosure>summary{flex-direction:column;align-items:start;gap:8px;padding:18px 20px}.business-disclosure>summary>span:last-child{justify-content:space-between;width:100%}.business-details{padding:20px}.credential-grid{grid-template-columns:1fr;gap:0}.contact-section{padding:32px 20px 0}.contact-grid{grid-template-columns:1fr;gap:40px;padding-bottom:32px}.contact-label{align-items:start}.contact-label .status-light{margin-top:7px}.contact-grid h2{max-width:430px;font-size:58px}.contact-intro>p:not(.system-label){font-size:17px}.contact-direct{margin-bottom:24px}.contact-direct a{font-size:24px}.contact-link{grid-template-columns:24px 84px minmax(0,1fr) auto;gap:12px}.contact-icon,.contact-kind,.contact-link i,.contact-link strong{grid-area:auto}.contact-link-primary{grid-template-columns:24px minmax(0,1fr) auto}.contact-link-primary .contact-kind{display:none}footer{flex-direction:column;align-items:start;gap:8px;font-size:12px}}@media (max-width:360px){.shell{width:calc(100% - 32px)}.wordmark-copy strong{max-width:108px}.hero-actions{gap:14px}.button{gap:24px;padding-inline:16px}.text-link{gap:8px;font-size:13px}.contact-grid h2{font-size:50px}.contact-direct a{font-size:23px}.contact-link{grid-template-columns:20px 72px minmax(0,1fr) auto;gap:8px}.contact-link-primary{grid-template-columns:20px minmax(0,1fr) auto;padding-inline:14px}}.skip-link{z-index:100;background:var(--signal);color:var(--ink);padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.hero-title{font-size:clamp(54px,6.7vw,92px)}.hero-deck{font-size:clamp(21px,2.15vw,28px)}.footer-links{flex-wrap:wrap}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:28px;display:grid}.project-card{--gallery-text:#f4f5ef;--gallery-muted:#c5cec8;--gallery-shade:#101a1d;aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface-high);width:100%;min-width:0;min-height:360px;color:var(--gallery-text);scroll-margin-top:calc(var(--header-height) + 20px);grid-template:minmax(0,1fr)/minmax(0,1fr);display:grid;position:relative;overflow:hidden}.evidence-table-wrap:focus-visible,.project-card:focus-visible,.project-card:focus-within{outline:2px solid var(--signal);outline-offset:5px}.card-media{background:var(--surface-high);grid-area:1/1;justify-content:center;align-items:center;gap:12px;min-width:0;min-height:0;display:flex;overflow:hidden}.card-media img{object-fit:contain;object-position:center;width:100%;min-width:0;height:100%;min-height:0;display:block}.card-media-pair{padding:18px 24px 24px}.card-media-pair img{width:calc(50% - 6px)}.card-scrim{z-index:1;pointer-events:none;background:linear-gradient(#0000 35%,#101a1d8c 65%,#101a1df5);grid-area:1/1}.card-scrim:after{content:"";background:var(--gallery-shade);opacity:0;transition:opacity .24s;position:absolute;inset:0}.card-frame{z-index:2;width:44px;height:20px;color:var(--gallery-muted);opacity:.6;pointer-events:none;position:absolute}.card-frame-top{border-top:1px solid;border-left:1px solid;top:10px;left:10px}.card-frame-bottom{border-bottom:1px solid;border-right:1px solid;bottom:10px;right:10px}.card-body{z-index:2;grid-area:1/1;align-self:end;min-width:0;padding:28px}.card-category{color:var(--gallery-muted);margin:0 0 8px;font-size:12px}.card-heading h3{letter-spacing:-.035em;margin:0;font-size:clamp(28px,2.8vw,38px);font-weight:500;line-height:1.15}.card-title-link{color:var(--gallery-text);justify-content:space-between;align-items:center;gap:20px;display:flex}.card-title-link:after{content:"";position:absolute;inset:0}.card-title-link>span{font-size:24px;font-weight:400}.card-title-link:focus-visible{outline:none}.card-details{opacity:0;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.2,.75,.25,1),opacity .2s,visibility 0s .28s;display:grid}.card-details-inner{min-height:0;overflow:hidden}.card-status{color:var(--gallery-muted);margin:16px 0 10px;font-size:12px;line-height:1.5}.card-summary{color:var(--gallery-text);margin:0 0 10px;font-size:16px;line-height:1.5}.card-contribution{color:var(--gallery-muted);margin:0;font-size:14px;line-height:1.5}.card-actions{flex-wrap:wrap;gap:8px;padding-top:18px;display:flex}.card-actions .project-link{z-index:1;min-height:44px;color:var(--gallery-text);border-color:#71827b;gap:6px;padding:6px 9px;font-size:12px;position:relative}.card-actions .project-icon{color:var(--gallery-muted);flex-basis:18px;width:18px;height:18px}.card-actions .project-link:hover{border-color:var(--gallery-text);background:#ffffff12}.project-card:is(:hover,:focus-within,:target) .card-details{opacity:1;visibility:visible;grid-template-rows:1fr;transition-delay:0s}.project-card:is(:hover,:focus-within,:target) .card-scrim:after{opacity:.94}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.case-preview-open>img,.case-thumbnail img{transition:scale .24s ease-out}.case-preview-open:hover>img,.case-thumbnail:hover img{scale:1.035}}@media (min-width:901px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.card-media img{transition:scale .24s ease-out}.project-card:hover .card-media img{scale:1.035}}@media (hover:none),(max-width:900px),(pointer:coarse){.capabilities:target,.project-card:target,.work:target{animation:none}.card-details,.card-scrim:after{transition:none}}.project-link{border:1px solid var(--line);min-height:44px;color:var(--text);align-items:center;gap:9px;padding:8px 12px;font-size:14px;line-height:1.4;display:inline-flex}.project-link:hover{border-color:var(--signal);background:var(--signal-soft)}.project-icon{color:var(--signal);flex:0 0 22px}@media (hover:none),(max-width:640px),(pointer:coarse){.project-card{aspect-ratio:auto;min-height:0;color:var(--text);background:var(--surface);flex-direction:column;display:flex}.card-media{aspect-ratio:4/3;border-bottom:1px solid var(--line);flex:none}.card-body{align-self:stretch;padding:24px}.card-category,.card-contribution,.card-status{color:var(--muted)}.card-summary,.card-title-link{color:var(--text)}.card-frame,.card-scrim{display:none}.card-details{opacity:1;visibility:visible;grid-template-rows:1fr}.card-actions .project-link{border-color:var(--line);color:var(--text)}.card-actions .project-icon{color:var(--signal)}.card-actions .project-link:hover{border-color:var(--signal);background:var(--signal-soft)}}.project-stack{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-stack li{border:1px solid var(--line);color:var(--muted);padding:4px 9px;font-size:12px}.case-footer,.case-study{width:min(1280px,100% - 64px)}.case-back{min-height:44px;color:var(--signal);white-space:nowrap;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;display:inline-flex}.case-back:hover{color:var(--text)}.case-study{padding-block:12px 40px}.case-heading{max-width:1040px;margin-bottom:28px}.case-heading .system-label{margin-bottom:10px;font-size:12px}.case-title{letter-spacing:-.055em;overflow-wrap:anywhere;margin:0;font-size:clamp(42px,5vw,68px);line-height:1.06}.case-title-long{text-wrap:balance;max-width:1000px;font-size:clamp(44px,6.8vw,84px)}.case-kind{color:var(--signal);margin:22px 0 0;font-size:clamp(20px,2.3vw,29px);line-height:1.4}.case-deck{margin:22px 0 0;font-size:20px}.case-deck,.case-origin{max-width:840px;color:var(--muted);line-height:1.6}.case-origin{margin:18px 0 0;font-size:15px}.case-actions,.case-bottom-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.case-bottom-actions{margin-top:28px}.case-intro{grid-template:"heading media""details media""story media"1fr/minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:14px 32px;margin-bottom:28px;display:grid}.case-intro[data-media-layout=portrait]{grid-template-columns:minmax(0,1fr) minmax(0,404px)}.case-intro-heading{grid-area:heading;margin:0}.case-intro-details{grid-area:details;min-width:0}.case-intro-details .case-deck{margin-top:0;font-size:19px}.case-media{grid-area:media;min-width:0}.case-preview{margin:0}.case-preview-open{aspect-ratio:16/10;border:1px solid var(--line);background:var(--surface-high);cursor:pointer;width:100%;max-height:420px;padding:0;display:block;position:relative;overflow:hidden}.case-preview-open>img{object-fit:cover;width:100%;height:100%;display:block}.case-preview-open:hover{border-color:var(--signal)}.case-preview-hint{border:1px solid var(--line);background:var(--preview-scrim);color:var(--text);align-items:center;gap:6px;padding:6px 9px;font-size:12px;display:inline-flex;position:absolute;top:10px;right:10px}.case-media-note,.case-preview figcaption{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5}.case-preview figcaption strong{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:500;display:block}.case-media[data-layout=portrait]{grid-template-columns:minmax(0,1fr) 96px;align-items:start;gap:12px;display:grid}.case-media[data-layout=portrait] .case-preview{justify-self:center;width:min(100%,296px)}.case-media[data-layout=portrait] .case-preview-open{aspect-ratio:9/17;background:radial-gradient(ellipse at center,var(--preview-glow),var(--surface) 75%);max-height:none;padding:10px}.case-media[data-layout=portrait] .case-preview-open>img{object-fit:contain;object-position:center}.case-media[data-layout=portrait] .case-preview-hint{padding:5px;top:auto;bottom:8px;right:8px}.case-media[data-layout=portrait] .case-preview-hint>span{display:none}.case-media[data-layout=portrait] .case-thumbnails{grid-template-columns:1fr;margin-top:0}.case-media[data-layout=portrait] .case-thumbnail{text-align:center;flex-direction:column;gap:6px;padding:8px 5px}.case-media[data-layout=portrait] .case-thumbnail img{object-fit:contain;object-position:center;width:100%;height:74px}.case-media[data-layout=portrait] .case-media-note{grid-column:1/-1;margin-top:0}.case-media[data-project=machelm] .case-preview-open>img{object-position:center 45%}.case-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.case-thumbnail{border:1px solid var(--line);min-width:0;min-height:56px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:5px;font-size:11px;line-height:1.35;display:flex}.case-thumbnail[aria-pressed=true]{border-color:var(--signal);background:var(--signal-soft);color:var(--text)}.case-thumbnail img{object-fit:cover;object-position:center bottom;flex-shrink:0;width:36px;height:48px}.case-media[data-project=interlock] .case-preview-open{aspect-ratio:auto;max-height:none}.case-media[data-project=interlock] .case-preview-open>img{object-fit:contain;height:auto;scale:none}.case-media[data-project=interlock] .case-preview-hint{margin:6px;position:static}.case-media[data-project=interlock] .case-thumbnail{text-align:center;flex-direction:column}.case-media[data-project=interlock] .case-thumbnail img{object-fit:contain;object-position:center;width:100%;height:auto;scale:none}.case-media[data-project=flipper] .case-preview-open{padding-bottom:46px}.case-media[data-project=flipper] .case-preview-open>img,.case-media[data-project=flipper] .case-thumbnail img{object-fit:contain;object-position:center;scale:none}.case-media[data-project=flipper] .case-preview-hint{top:auto;bottom:5px;right:5px}.image-dialog{border:1px solid var(--line);background:var(--dialog-surface);width:min(1320px,100vw - 32px);max-width:none;height:calc(100svh - 32px);max-height:none;color:var(--text);margin:auto;padding:0;overflow:hidden}.image-dialog[open]{animation:fade-in .2s ease-out}.image-dialog::backdrop{background:var(--dialog-backdrop)}.image-dialog-panel{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.image-dialog-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:8px 12px;display:flex}.image-dialog-title{align-items:center;gap:14px;margin:0;font-size:15px;display:flex}.image-dialog-title span{color:var(--muted);font-size:13px}.image-dialog-tools{gap:8px;display:flex}.image-dialog button{border:1px solid var(--line);width:44px;height:44px;color:var(--signal);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.image-dialog button:hover{background:var(--signal-soft);border-color:var(--signal)}.image-dialog-viewport{--image-gutter:12px;min-height:0;padding:var(--image-gutter);overscroll-behavior:contain;background:var(--dialog-viewport);position:relative;overflow:auto}.image-dialog-viewport:focus-visible{outline:2px solid var(--signal);outline-offset:-3px}.image-dialog-viewport img{inset:var(--image-gutter);width:calc(100% - 2 * var(--image-gutter));height:calc(100% - 2 * var(--image-gutter));object-fit:contain;display:block;position:absolute}.image-dialog-viewport.is-zoomed img{width:auto;max-width:none;height:auto;max-height:none;margin-inline:auto;position:static}.image-dialog-footer{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px;display:flex}.image-dialog-footer p{max-height:100px;color:var(--muted);flex:1;margin:0;font-size:13px;line-height:1.5;overflow:auto}.image-dialog-footer strong{color:var(--text);font-weight:500;display:block}.case-story{grid-area:story;max-width:840px;margin-top:14px}.case-story section+section{margin-top:28px}.case-story .system-label{margin-bottom:16px}.case-evidence h2,.case-prose h2,.case-story h2{letter-spacing:-.025em;margin:0 0 18px;font-size:30px;font-weight:500;line-height:1.25}.case-evidence p,.case-story p:not(.system-label){color:var(--muted);margin:0 0 18px;font-size:17px;line-height:1.75}.case-evidence{background:var(--surface);border:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;margin-top:32px;padding:24px;display:grid}.case-evidence .project-stack{margin-top:24px}.case-evidence p:last-child{margin-bottom:0}.case-footer{margin-top:20px}.evaluation-facts{border:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 64px;display:grid}.evaluation-facts>div{padding:28px}.evaluation-facts>div+div{border-left:1px solid var(--line)}.evaluation-facts dt{color:var(--muted);font-size:14px}.evaluation-facts dd{color:var(--signal);letter-spacing:-.04em;margin:12px 0;font-size:44px;font-weight:500;line-height:1.2}.evaluation-facts p{color:var(--muted);letter-spacing:normal;margin:12px 0 0;font-size:14px;font-weight:400;line-height:1.65}.case-prose{max-width:850px;margin-inline:auto}.case-prose section+section{margin-top:32px}.case-prose p{color:var(--muted);font-size:18px;line-height:1.8}.case-prose p+p{margin-top:18px}.case-prose .system-label{color:var(--signal);font-size:13px}.case-callout{border-left:3px solid var(--signal);background:var(--surface);margin:28px 0;padding:24px 28px}.case-callout strong{font-size:18px;font-weight:500}.case-callout p{margin:12px 0 0;font-size:17px}.evidence-table-wrap{margin:28px 0;overflow-x:auto}.evidence-table{border-collapse:collapse;width:100%;font-size:15px}.evidence-table td,.evidence-table th{border:1px solid var(--line);text-align:left;vertical-align:top;padding:18px 20px}.evidence-table th{font-weight:500}.evidence-table-figures{min-width:520px}.evidence-table thead{background:var(--signal-soft);color:var(--signal)}.evidence-table td{color:var(--muted)}.case-source-note{border-top:1px solid var(--line);padding-top:32px}.case-source-note p{font-size:16px}.notes-page a{text-underline-offset:3px;text-decoration:underline}.notes-list{margin:0;padding:0;list-style:none}.notes-list li{border-top:1px solid var(--line);padding:28px 0}.notes-list li:last-child{border-bottom:1px solid var(--line)}.note-preview{max-width:480px;margin-bottom:24px;display:block}.note-preview img{border:1px solid var(--line);width:100%;height:auto;display:block}.notes-list h2{letter-spacing:-.03em;margin:8px 0 10px;font-size:26px;font-weight:500;line-height:1.25}.notes-list h2 a{color:var(--text);text-decoration:none}.notes-list h2 a:hover{text-decoration:underline}.notes-list p{margin:0}.notes-list .system-label{font-size:13px}.notes-feed{margin-top:32px}.note-body h2{letter-spacing:-.03em;margin:48px 0 14px;font-size:30px;font-weight:500;line-height:1.2}.note-body h3{letter-spacing:-.02em;margin:36px 0 10px;font-size:22px;font-weight:500;line-height:1.3}.note-body ol,.note-body ul{color:var(--muted);padding-left:1.4em;font-size:18px;line-height:1.8}.note-body ul{list-style:outside}.note-body ol{list-style:decimal}.note-body li+li{margin-top:6px}.note-body strong{color:var(--text);font-weight:500}.note-body blockquote{border-left:3px solid var(--signal);margin:28px 0;padding:2px 0 2px 22px}.note-body p:has(>img)+blockquote{background:var(--surface);margin-top:14px;padding:14px 20px}.note-body p:has(>img)+blockquote em{color:#1d1f1c;background:#ffe36e;border-radius:4px;padding:1px 5px;font-style:normal}.note-body hr{border:0;border-top:1px solid var(--line);margin:44px 0}.note-body img{max-width:100%;height:auto}.note-body code{color:var(--text);padding:.12em .36em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.note-body code,.note-body pre{border:1px solid var(--line);background:var(--surface)}.note-body pre{margin:28px 0;padding:20px 22px;line-height:1.65;overflow-x:auto}.note-body pre code{background:0 0;border:0;padding:0;font-size:14px}.note-body table{border-collapse:collapse;width:100%;margin:28px 0;font-size:15px}.note-body td,.note-body th{border:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}.note-body td{color:var(--muted)}@media (max-width:900px){.project-grid{grid-template-columns:1fr}.card-body{padding:24px}.case-intro{gap:14px 24px}.case-intro[data-media-layout=portrait]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.case-media[data-layout=portrait]{grid-template-columns:minmax(0,1fr)}.case-media[data-layout=portrait] .case-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.case-media[data-layout=portrait] .case-thumbnail img{height:48px}.case-thumbnail{text-align:center;flex-direction:column;gap:4px}.case-thumbnail img{width:100%;height:40px}.case-evidence{grid-template-columns:1fr;gap:28px}.evaluation-facts>div{padding:22px}.evaluation-facts dd{font-size:36px}}@media (max-width:640px){.hero-title{font-size:clamp(43px,11.5vw,70px)}.hero-deck{margin-top:24px;font-size:23px}.hero-portrait{max-width:260px}.project-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:24px}.case-footer,.case-study{width:calc(100% - 32px)}.case-study{padding-block:8px 32px}.case-heading{margin-bottom:22px}.case-intro,.case-intro[data-media-layout=portrait]{grid-template:"heading""media""details""story"/1fr;gap:16px;margin-bottom:24px}.case-intro-heading{margin-bottom:0}.case-title{font-size:clamp(42px,12vw,64px)}.case-title-long{font-size:clamp(40px,11vw,58px)}.case-deck{font-size:18px}.case-preview-open{aspect-ratio:3/2;max-height:280px}.case-preview-hint{padding:4px;top:5px;right:5px}.case-preview-hint>span{display:none}.case-preview-hint svg{width:18px;height:18px}.case-media[data-layout=portrait] .case-preview{width:min(232px,25.4svh)}.case-media[data-layout=portrait] .case-preview-open{padding:6px}.image-dialog{width:calc(100vw - 16px);height:calc(100svh - 16px)}.image-dialog-viewport{--image-gutter:8px}.image-dialog-footer,.image-dialog-toolbar{padding:8px}.case-evidence h2,.case-prose h2,.case-story h2{font-size:27px}.case-evidence{margin-top:28px;padding:20px}.evaluation-facts{grid-template-columns:1fr;margin-bottom:40px}.evaluation-facts>div{padding:24px}.evaluation-facts>div+div{border-left:0;border-top:1px solid var(--line)}.evaluation-facts dd{font-size:42px}.case-prose p{font-size:17px}.case-callout{padding:22px}.evidence-table td,.evidence-table th{padding:14px 12px}.evidence-table{font-size:14px}}@media (max-width:360px){.wordmark-copy small{max-width:140px;font-size:11px}.card-body,.case-evidence{padding:20px}}.fit{padding:0 0 72px}.terms dt{color:var(--signal);font-size:13px}.terms a{color:var(--text);border-bottom:1px solid var(--signal)}.hero-portrait figcaption .local-hours{gap:6px;margin-top:10px;display:grid}.visitor-day-bar{margin:14px 0 12px}.capability-loop{margin:4px 0 18px}.case-loop{margin:4px 0 26px}.case-highlights{border:1px solid var(--line);background:var(--surface);max-width:1040px;margin:0 0 28px;padding:20px 24px}.case-highlights h2{margin-bottom:14px}.case-highlights ul{gap:10px;margin:0;padding-left:20px;font-size:17px;line-height:1.6;display:grid}.case-highlights li::marker{color:var(--signal)}.case-intro .case-highlights{margin:24px 0 0;padding:18px 20px}.case-intro .case-highlights ul{font-size:16px}.case-after{max-width:840px;margin-top:32px}.case-after .system-label{margin-bottom:16px}.case-after h2{letter-spacing:-.025em;margin:0 0 18px;font-size:30px;font-weight:500;line-height:1.25}.case-after p:not(.system-label){color:var(--muted);margin:0 0 18px;font-size:17px;line-height:1.75}.contact-intro>.terms{border-top:1px solid var(--line);max-width:560px;margin:30px 0 0}.terms>div{border-bottom:1px solid var(--line);grid-template-columns:104px minmax(0,1fr);gap:18px;padding:14px 0;display:grid}.terms dt{padding-top:2px}.terms dd{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.visitor-hours p{margin:0}.visitor-hours p+p{margin-top:8px}.visitor-hours-local{color:var(--text)}.zone-picker{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:inline-flex}.zone-picker select{border:1px solid var(--line);background:var(--void);min-height:36px;color:var(--text);font:inherit;padding:4px 10px}.zone-picker select:focus-visible{outline:2px solid var(--signal);outline-offset:3px}@media (max-width:640px){.fit{padding-bottom:48px}.case-highlights{margin-bottom:24px;padding:18px}.case-highlights ul{font-size:16px}.case-after{margin-top:28px}.case-after h2{font-size:27px}.terms>div{grid-template-columns:1fr;gap:4px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}