html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--color-paper: oklch(25.5% .008 155);--color-surface: oklch(29% .009 155);--color-raised: oklch(32% .009 155);--color-ink: oklch(94% .018 85);--color-muted: oklch(73% .012 90);--color-faint: oklch(66% .01 90);--color-accent: oklch(77% .102 59);--color-accent-ink: oklch(24% .018 59);--color-rule: oklch(43% .009 100);--color-rule-soft: oklch(35% .009 100);--color-focus: oklch(89% .1 80);--color-green: oklch(76% .079 145);--color-panel: oklch(96% .014 83);--color-panel-ink: oklch(27% .016 145);--color-panel-muted: oklch(46% .015 100);--color-panel-rule: oklch(83% .018 80);--color-panel-surface: oklch(91% .02 83);--color-panel-green: oklch(39% .048 153);--color-panel-focus: oklch(40% .1 50);--color-backdrop: oklch(14% .008 150 / .3);--color-shadow: oklch(13% .009 155 / .28);--color-label: oklch(25% .009 155 / .94);--color-transparent: oklch(25% .009 155 / 0);--color-busy: oklch(43% .1 35);--color-story-sky: oklch(81% .035 95);--color-story-back: oklch(54% .05 142);--color-story-front: oklch(39% .05 145);--color-story-moon: oklch(84% .1 80);--color-ocean-sky: oklch(80% .035 225);--color-ocean-back: oklch(57% .06 230);--color-ocean-front: oklch(40% .06 225);--color-stars-sky: oklch(36% .03 260);--color-stars-back: oklch(46% .04 260);--color-stars-front: oklch(29% .035 260);--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "Courier New", monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-display: clamp(2.8rem, 4.65vw, 5.7rem);--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 2.5rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--page-gutter: clamp(1.25rem, 3.4vw, 4rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .14s;--dur-normal: .28s;--dur-scene: .7s;--rule-hair: 1px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px}:root{--color-paper: oklch(96% .008 90);--color-surface: oklch(94% .012 90);--color-ink: oklch(25% .02 270);--color-muted: oklch(47% .014 270);--color-faint: oklch(53% .012 270);--color-accent: oklch(50% .19 270);--color-accent-ink: oklch(98% .008 90);--color-rule: oklch(77% .015 270);--color-rule-soft: oklch(87% .012 90);--color-focus: oklch(50% .19 270);--color-panel: oklch(98% .007 90);--color-panel-ink: oklch(25% .02 270);--color-panel-muted: oklch(47% .014 270);--color-panel-rule: oklch(85% .014 270);--color-panel-surface: oklch(94% .012 90);--color-panel-green: oklch(45% .17 270);--color-panel-focus: oklch(45% .17 270);--color-journey-chrome: oklch(96% .008 90 / .95);--color-journey-ghost: oklch(25% .02 270 / .035);--color-journey-clear: oklch(96% .008 90 / 0);--color-journey-backdrop: oklch(25% .02 270 / .24);--scene-paper: #f1f0e9;--scene-white: #f9f8ef;--scene-blue: #465fc9;--scene-lightBlue: #bdcae3;--scene-ink: #283140;--scene-silver: #b7bdc4;--scene-orange: #cb825c;--scene-green: #7c9f91}:root{--color-paper:#f7f8fa;--color-surface:#eef1f6;--color-ink:#202631;--color-muted:#5e6673;--color-faint:#697382;--color-accent:#315bd6;--color-accent-ink:#ffffff;--color-rule:#d3d8e1;--color-rule-soft:#e2e6ed;--color-focus:#315bd6;--color-panel:#ffffff;--color-panel-ink:#202631;--color-panel-muted:#5e6673;--color-panel-rule:#d3d8e1;--color-panel-surface:#eef1f6;--color-panel-green:#315bd6;--color-panel-focus:#315bd6;--color-card:#ffffff;--color-spotlight:#eaf0ff;--color-spotlight-ink:#243d81;--color-tour:#ede7dd;--color-tour-ink:#492c32;--color-tour-rule:#cdbfc0;--color-tour-active:#762737;--color-venture:#e6eee8;--color-venture-ink:#345b42;--color-success:#31704a;--color-image-shadow:#18202c18}:root{--color-buddy:#5178f5;--color-buddy-dark:#2343a0;--color-buddy-light:#dce7ff;--color-playful-yellow:#f4cf76;--color-playful-rose:#b86476;--color-soft-shadow:#2343a019;--ease-spring:cubic-bezier(.2,.85,.25,1.2)}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;white-space:nowrap}a{color:inherit;text-decoration:none;white-space:nowrap}button:disabled{opacity:.42;cursor:not-allowed}button:active:not(:disabled),a:active{opacity:.75}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}button[aria-busy=true]{cursor:wait;opacity:.7}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;font-style:normal;overflow-wrap:anywhere;min-width:0}svg{flex-shrink:0;vertical-align:middle}::selection{background:var(--color-accent);color:var(--color-accent-ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:clip;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:var(--space-sm);top:var(--space-sm);z-index:100;background:var(--color-ink);color:var(--color-paper);padding:var(--space-sm);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app{max-width:2200px;margin:0 auto}.site-header{height:94px;margin-inline:var(--page-gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:var(--rule-hair) solid var(--color-rule-soft);gap:var(--space-sm)}.brand{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) 0;text-align:left}.monogram{font:500 2.1rem/1 var(--font-display);letter-spacing:-.12em;padding-right:var(--space-2xs)}.monogram>span{color:var(--color-accent);display:inline-block;padding-inline:var(--space-3xs);font-weight:400}.brand-name{font-family:var(--font-display);font-size:var(--text-base);line-height:1.6}.brand-name>span{display:block;color:var(--color-muted);font:8px/1.5 var(--font-mono);letter-spacing:.08em}.header-right{display:flex;align-items:center;gap:var(--space-2xl)}.location{display:none;font-size:var(--text-sm);color:var(--color-muted);align-items:center;gap:var(--space-xs)}.status-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--color-green);flex-shrink:0}.contact-button{border:1px solid var(--color-rule);display:flex;align-items:center;gap:var(--space-md);min-height:42px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm)}.contact-button:hover{background:var(--color-raised)}.main-stage{position:relative;min-height:790px}.introduction{position:relative;z-index:2;padding:var(--space-2xl) var(--page-gutter) 0;pointer-events:none}.introduction button{pointer-events:auto}.intro-kicker{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-muted)}.tiny-line{width:22px;height:1px;background:var(--color-accent)}h1{font-size:var(--text-display);line-height:1.08;letter-spacing:-.065em;margin-top:var(--space-md)}h1>span{color:var(--color-accent)}.intro-copy{color:var(--color-muted);line-height:1.8;font-size:var(--text-base);margin-top:var(--space-md)}.intro-actions{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md)}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-md);background:var(--color-accent);color:var(--color-accent-ink);padding:var(--space-sm) var(--space-md);min-height:46px;font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-sm)}.primary-button:hover{opacity:.86}.text-link{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);padding:var(--space-xs) 0;min-height:44px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.intro-proof{display:none;align-items:center;gap:var(--space-sm);margin-top:var(--space-2xl);font-size:var(--text-sm);color:var(--color-faint);line-height:1.6}.proof-diamond{font-size:2.4rem;line-height:1;color:var(--color-muted)}.scene-host{position:absolute;top:310px;left:0;right:0;height:395px;opacity:0;transition:opacity var(--dur-scene) var(--ease-out);isolation:isolate}.scene-host.ready{opacity:1}.scene-host canvas{display:block;touch-action:pan-y;outline:none}.scene-label{position:absolute;top:0;left:0;z-index:2;display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs);min-height:44px;visibility:hidden;filter:drop-shadow(0 4px 12px var(--color-shadow));white-space:nowrap}.label-number{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font:10px var(--font-mono);color:var(--color-accent);background:var(--color-label);border:1px solid var(--color-rule)}.label-name{display:none;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);background:var(--color-label);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);color:var(--color-ink)}.label-name>span{color:var(--color-accent)}.scene-label.hovered .label-number,.scene-label:focus-visible .label-number{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.stage-topline{position:absolute;top:335px;left:var(--page-gutter);right:var(--page-gutter);z-index:1;display:none;justify-content:space-between;font-size:var(--text-xs);color:var(--color-faint);pointer-events:none}.stage-topline>span:first-child{display:flex;align-items:center;gap:var(--space-2xs)}.stage-edition{display:none;font:var(--text-xs) var(--font-mono)}.scene-instructions{position:absolute;top:690px;left:var(--page-gutter);display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-xs);line-height:1.8;pointer-events:none}.scene-instructions p>span{color:var(--color-faint)}.instruction-mark{font:1.5rem var(--font-display);color:var(--color-accent)}.scene-controls{position:absolute;top:746px;left:var(--page-gutter);right:var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);z-index:3}.view-switch{display:flex;border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-3xs);gap:var(--space-3xs);background:var(--color-paper)}.view-switch button{min-height:36px;padding:var(--space-2xs) var(--space-xs);display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted);border-radius:2px}.view-switch button[aria-pressed=true]{background:var(--color-raised);color:var(--color-ink)}.view-switch button:hover:not(:disabled){color:var(--color-ink)}.environment-controls{display:flex;align-items:center;gap:var(--space-3xs)}.icon-button{width:40px;height:44px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--color-muted)}.icon-button:hover{background:var(--color-raised);color:var(--color-ink)}.motion-control{display:none}.scene-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-muted)}.loading-cube{height:20px;width:20px;border:1px solid var(--color-accent);transform:rotate(30deg)}.work-dock{margin:var(--space-md) var(--page-gutter) 0;border-top:1px solid var(--color-rule);padding-top:var(--space-md)}.dock-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-xs);margin-bottom:var(--space-md)}.dock-hint{display:none;align-items:center;gap:var(--space-xs);color:var(--color-faint)}.dock-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.dock-project{position:relative;display:flex;gap:var(--space-xs);align-items:center;text-align:left;padding:var(--space-sm) 0;border-top:1px solid var(--color-rule-soft);min-width:0}.dock-icon{color:var(--color-muted);display:grid;place-items:center;width:32px;flex-shrink:0}.dock-title{font:500 var(--text-base) var(--font-display);display:block}.dock-title small{display:block;font:10px var(--font-body);color:var(--color-faint);margin-top:var(--space-2xs)}.dock-number{display:none;font:10px var(--font-mono);color:var(--color-faint);position:absolute;right:var(--space-sm);top:var(--space-md)}.dock-arrow{display:none;color:var(--color-accent);position:absolute;right:var(--space-sm);bottom:var(--space-sm)}.dock-project.highlighted .dock-title,.dock-project.highlighted .dock-icon{color:var(--color-accent)}.dock-project.highlighted .dock-arrow{display:block}.site-footer{margin:var(--space-lg) var(--page-gutter) 0;border-top:1px solid var(--color-rule-soft);padding:var(--space-md) 0;display:flex;flex-direction:column;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-faint)}.site-footer>div{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.site-footer a{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:36px;color:var(--color-muted)}.site-footer a:hover{color:var(--color-ink)}.copyright{display:none;margin-left:var(--space-md)}.project-index{position:relative;margin:var(--space-2xl) var(--page-gutter) var(--space-sm);z-index:2;outline-offset:8px}.index-project{display:flex;align-items:center;gap:var(--space-sm);width:100%;text-align:left;padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule);min-width:0}.index-number{font:var(--text-xs) var(--font-mono);color:var(--color-faint)}.index-icon{color:var(--color-accent);display:none}.index-text{flex:1;min-width:0}.index-text strong{display:block;font:500 1.35rem var(--font-display)}.index-text>span{display:block;font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-2xs);white-space:normal;line-height:1.6}.index-category{display:none;font-size:var(--text-xs);color:var(--color-muted)}.index-project>svg{color:var(--color-muted)}.index-project:hover strong{color:var(--color-accent)}.index-mode .main-stage{padding-bottom:110px;min-height:unset}.index-mode .stage-topline{display:none}.index-mode .scene-controls{top:auto;bottom:0}.index-mode .scene-instructions{display:none}.fallback-note{color:var(--color-muted);line-height:1.6;padding-bottom:var(--space-sm)}.detail-dialog{position:fixed;inset:var(--space-2xs);margin:auto;width:calc(100% - 16px);height:calc(100dvh - 16px);max-width:580px;max-height:none;border:0;border-radius:var(--radius-md);padding:0;background:var(--color-panel);color:var(--color-panel-ink);box-shadow:0 24px 100px var(--color-shadow);overflow:clip}.detail-dialog::backdrop{background:var(--color-backdrop)}.detail-dialog[open]{display:flex;flex-direction:column;animation:dialog-enter var(--dur-normal) var(--ease-out)}@keyframes dialog-enter{0%{opacity:0}to{opacity:1}}.dialog-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--color-panel-rule);flex-shrink:0}.back-button{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-panel-muted);min-height:44px;padding:0}.back-button:hover{color:var(--color-panel-ink)}.back-arrow{transform:rotate(180deg)}.detail-dialog .icon-button{color:var(--color-panel-muted)}.detail-dialog .icon-button:hover{color:var(--color-panel-ink);background:var(--color-panel-surface)}.detail-dialog :is(button,a,[tabindex]):focus-visible{outline-color:var(--color-panel-focus)}.dialog-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin;scrollbar-color:var(--color-panel-rule) var(--color-panel);min-height:0}.project-content,.about-content,.contact-content{padding:var(--space-lg) var(--space-md) var(--space-md)}.project-identity{display:flex;align-items:center;gap:var(--space-sm);font:500 var(--text-lg) var(--font-display);margin-bottom:var(--space-lg)}.project-symbol{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--color-panel-rule);border-radius:var(--radius-md);color:var(--color-panel-green)}.project-identity small{display:block;font:var(--text-xs) var(--font-body);color:var(--color-panel-muted);margin-top:var(--space-3xs)}.detail-dialog h2{font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.055em;line-height:1.13;max-width:16ch;outline:none}.detail-dialog h2[tabindex="-1"]:focus-visible{outline:none}.project-description{font-size:var(--text-base);line-height:1.85;color:var(--color-panel-muted);margin-top:var(--space-md)}.project-meta{margin:var(--space-lg) 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);font-size:var(--text-xs);line-height:1.7}.project-meta dt{color:var(--color-panel-muted);margin-bottom:var(--space-3xs)}.project-meta dd{margin:0;font-weight:500}.experiment{margin:var(--space-lg) 0;background:var(--color-panel-surface);color:var(--color-panel-ink);border-radius:var(--radius-md);padding:var(--space-sm);border:1px solid var(--color-panel-rule)}.experiment h3{font:500 var(--text-sm) var(--font-body);display:flex;align-items:center;gap:var(--space-2xs);margin-bottom:var(--space-md)}.step-buttons{display:flex;gap:var(--space-3xs);border-bottom:1px solid var(--color-panel-rule);padding-bottom:var(--space-xs)}.step-buttons button{flex:1;min-height:38px;padding:var(--space-2xs) var(--space-3xs);font-size:var(--text-xs);border-radius:var(--radius-sm);color:var(--color-panel-muted);display:flex;align-items:center;justify-content:center;gap:var(--space-2xs)}.step-buttons button[aria-pressed=true]{background:var(--color-panel-green);color:var(--color-panel)}.step-buttons button:hover:not([aria-pressed=true]){background:var(--color-panel);color:var(--color-panel-ink)}.step-buttons button>span{opacity:.7;font-family:var(--font-mono);font-size:10px}.pipeline-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg) var(--space-2xs);gap:var(--space-2xs);min-height:165px}.pipeline-display>svg{color:var(--color-panel-green);margin-bottom:var(--space-2xs)}.pipeline-display>span{font-size:var(--text-xs);color:var(--color-panel-muted)}.pipeline-display>strong{font:500 1.5rem var(--font-display);letter-spacing:-.03em}.pipeline-copy{font-size:var(--text-sm);line-height:1.7;min-height:64px}.demo-note{font-size:10px;line-height:1.6;color:var(--color-panel-muted);margin-top:var(--space-sm)}.result{padding:var(--space-md) 0;display:flex;align-items:center;gap:var(--space-sm);border-block:1px solid var(--color-panel-rule);margin-block:var(--space-lg)}.result>svg{color:var(--color-panel-green)}.result strong{font:500 1.45rem var(--font-display);letter-spacing:-.04em}.result p{font-size:var(--text-xs);line-height:1.7;color:var(--color-panel-muted);margin-top:var(--space-3xs)}.build-details h3,.experience-list h3{font-size:var(--text-lg);margin-bottom:var(--space-md)}.build-details>div{margin-bottom:var(--space-md)}.build-details h4{font:500 var(--text-base) var(--font-body);margin-bottom:var(--space-2xs)}.build-details p{font-size:var(--text-sm);line-height:1.8;color:var(--color-panel-muted)}.project-image{margin:var(--space-lg) 0}.project-image img{width:100%;height:auto;display:block;border:1px solid var(--color-panel-rule);border-radius:var(--radius-sm)}.project-image figcaption{margin-top:var(--space-2xs);font-size:var(--text-xs);color:var(--color-panel-muted)}.tech-stack{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-block:var(--space-lg)}.tech-stack>span{border:1px solid var(--color-panel-rule);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-panel-muted)}.project-links{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.detail-dialog .primary-button{background:var(--color-panel-green);color:var(--color-panel)}.next-project{border-top:1px solid var(--color-panel-rule);margin-top:var(--space-lg);padding:var(--space-md) 0;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left}.next-project>span{font-size:var(--text-xs);color:var(--color-panel-muted)}.next-project strong{font:500 var(--text-xl) var(--font-display);display:block;margin-top:var(--space-2xs);color:var(--color-panel-ink)}.next-project:hover strong{color:var(--color-panel-green)}.route-map{width:100%;height:auto;display:block}.route-map text{font:10px var(--font-mono);fill:var(--color-panel-muted)}.map-road{fill:none;stroke:var(--color-panel-rule);stroke-width:9}.map-park{fill:var(--color-green);opacity:.4}.map-route{stroke:var(--color-panel-green);stroke-width:4;stroke-linejoin:round;fill:none}.map-start{fill:var(--color-panel-green);stroke:var(--color-panel);stroke-width:3}.map-station rect{fill:var(--color-panel-green)}.map-station path{stroke:var(--color-panel);stroke-width:2;fill:none}.map-station.busy rect{fill:var(--color-busy)}.demo-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-xs);line-height:1.6}.small-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:40px;border:1px solid var(--color-panel-rule);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-xs)}.small-button:hover{background:var(--color-panel);color:var(--color-panel-ink)}.story-scene{border-radius:var(--radius-sm);overflow:clip;margin-bottom:var(--space-xs)}.story-scene svg{display:block;width:100%;height:130px;background:var(--color-story-sky)}.story-scene.ocean{--color-story-sky:var(--color-ocean-sky);--color-story-back:var(--color-ocean-back);--color-story-front:var(--color-ocean-front)}.story-scene.stars{--color-story-sky:var(--color-stars-sky);--color-story-back:var(--color-stars-back);--color-story-front:var(--color-stars-front)}.touch-hint{display:none}@media(pointer:coarse){.pointer-hint{display:none}.touch-hint{display:inline}}.story-moon{fill:var(--color-story-moon)}.story-back{fill:var(--color-story-back)}.story-front{fill:var(--color-story-front)}.story-path{fill:var(--color-story-moon);opacity:.65}.story-scene p{font-size:var(--text-sm);line-height:1.8;padding:var(--space-sm) 0;min-height:98px}.about-monogram{font:500 4rem var(--font-display);letter-spacing:-.12em;margin-bottom:var(--space-lg)}.about-monogram>span{color:var(--color-panel-green);padding-inline:var(--space-2xs);font-weight:400}.overline{font-size:var(--text-xs);color:var(--color-panel-muted);margin-bottom:var(--space-xs)}.about-content>p:not(.overline){line-height:1.85;color:var(--color-panel-muted);margin-top:var(--space-md)}.journey{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs);font-size:var(--text-xs);padding:var(--space-lg) 0;color:var(--color-panel-green)}.experience-list>div,.experience-list>button{display:flex;align-items:center;text-align:left;gap:var(--space-sm);padding:var(--space-md) 0;border-top:1px solid var(--color-panel-rule);width:100%;white-space:normal}.experience-list>button:hover strong{color:var(--color-panel-green)}.experience-list>div>span,.experience-list>button>span{width:82px;flex-shrink:0;font:10px var(--font-mono);color:var(--color-panel-muted)}.experience-list strong{font:500 var(--text-sm) var(--font-body);flex:1;line-height:1.5}.experience-list small{font-size:var(--text-xs);font-weight:400;color:var(--color-panel-muted);display:block;margin-top:var(--space-3xs)}.about-proof{border-block:1px solid var(--color-panel-rule);padding-block:var(--space-md);margin-bottom:var(--space-lg)}.about-footer{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-panel-rule)}.about-footer>p{font:500 var(--text-2xl)/1.15 var(--font-display);letter-spacing:-.04em;margin-bottom:var(--space-sm)}.contact-drawing{color:var(--color-panel-green);display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg) 0 var(--space-2xl)}.contact-drawing>span{font-size:var(--text-sm);line-height:1.7;color:var(--color-panel-muted)}.email-link{font:500 clamp(1.1rem,4vw,1.6rem) var(--font-display);letter-spacing:-.03em;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-panel-rule);margin-top:var(--space-sm)}.email-link:hover{color:var(--color-panel-green)}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.contact-socials{display:flex;align-items:center;gap:var(--space-lg);margin-top:var(--space-2xl);font-size:var(--text-sm)}.contact-socials>a{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:44px}.contact-location{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-panel-muted);margin-top:var(--space-3xl)}@media(min-width:40rem){.location{display:flex}.main-stage{min-height:950px}.introduction{padding-top:var(--space-3xl)}.brand-name>span{font-size:var(--text-xs);letter-spacing:.1em}.intro-actions{margin-top:var(--space-lg);gap:var(--space-lg)}.intro-copy{font-size:var(--text-md)}.scene-host{top:320px;height:550px}.label-name{display:flex}.stage-topline{top:370px}.stage-edition{display:block}.scene-instructions{top:835px}.scene-controls{top:895px;left:auto}.motion-control{display:grid}.dock-hint{display:flex}.dock-projects{grid-template-columns:repeat(3,minmax(0,1fr))}.dock-number{display:block}.site-footer{flex-direction:row;justify-content:space-between;align-items:center}.detail-dialog{inset:var(--space-sm);height:calc(100dvh - 32px);margin-inline-end:var(--space-sm)}.personal-dialog{margin:auto;height:fit-content;max-height:calc(100dvh - 64px)}.project-content,.about-content,.contact-content{padding:var(--space-lg) var(--space-lg)}.dialog-topbar{padding-inline:var(--space-lg)}.experiment{padding:var(--space-md)}.project-index{margin-top:var(--space-3xl)}.index-icon,.index-category{display:block}.index-project{gap:var(--space-md);padding-block:var(--space-lg)}}@media(min-width:64rem){.site-header{height:102px}.main-stage{height:calc(100svh - 286px);min-height:560px;max-height:900px}.introduction{position:absolute;top:16%;left:0;padding-top:0;width:43%;z-index:2}.intro-kicker{font-size:var(--text-sm)}.intro-copy{font-size:var(--text-base);line-height:1.85}.intro-actions{flex-direction:column;align-items:flex-start;gap:var(--space-2xs);margin-top:var(--space-lg)}.intro-proof{display:flex;margin-top:var(--space-xl)}.scene-host{left:27%;width:73%;height:100%;top:0;right:auto}.stage-topline{display:flex;left:46%;top:var(--space-lg);right:var(--page-gutter)}.scene-instructions{left:46%;top:auto;bottom:var(--space-md)}.scene-controls{top:auto;bottom:var(--space-md);left:auto;right:var(--page-gutter)}.is-focused .scene-host{left:-8%;width:76%}.is-focused .introduction,.is-focused .stage-topline,.is-focused .scene-instructions{opacity:0;pointer-events:none}.work-dock{margin-top:0;padding-top:var(--space-md)}.dock-projects{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.dock-project{border-top:0;border-right:1px solid var(--color-rule-soft);padding:var(--space-xs) var(--space-sm);min-height:72px}.dock-project:first-child{padding-left:0}.dock-project:last-child{border-right:0}.dock-title{font-size:var(--text-md)}.dock-title small{font-size:10px}.dock-number{display:none}.dock-icon{width:32px;height:40px}.site-footer{padding-block:var(--space-md);margin-top:var(--space-md)}.index-mode .main-stage{height:calc(100svh - 286px);min-height:580px;padding-bottom:0}.project-index{position:absolute;left:45%;right:var(--page-gutter);top:var(--space-2xl);margin:0}.index-project{padding-block:var(--space-md);gap:var(--space-sm)}.index-category{display:none}.index-mode .scene-controls{bottom:var(--space-md)}.index-mode .stage-topline{display:none}.index-mode .scene-instructions{display:flex;bottom:var(--space-md)}.detail-dialog{width:520px;max-width:45vw}.personal-dialog{width:560px;max-width:560px}}@media(min-width:80rem){.intro-actions{flex-direction:row;align-items:center;gap:var(--space-lg)}.intro-proof{margin-top:var(--space-2xl)}.dock-icon{width:40px}.dock-number{display:block}.dock-project{gap:var(--space-sm);padding-inline:var(--space-md)}.copyright{display:inline}.detail-dialog{width:570px}.intro-copy{font-size:var(--text-md)}}@media(min-width:100rem){.scene-host{left:29%;width:71%}.introduction{top:20%}.intro-proof{margin-top:var(--space-3xl)}.dock-project{min-height:90px}}@media(max-width:359px){.brand-name{font-size:var(--text-xs)}.brand-name>span{font-size:8px}.contact-button{padding:var(--space-2xs);gap:var(--space-2xs)}.intro-actions{gap:var(--space-xs)}.primary-button{padding:var(--space-xs);gap:var(--space-xs)}.dock-project{gap:var(--space-2xs)}.dock-icon{width:24px}.dock-title{font-size:var(--text-sm)}.dock-title small{font-size:8px}.scene-controls{gap:var(--space-2xs)}.view-switch button{padding-inline:var(--space-2xs)}.environment-controls{gap:0}.icon-button{width:36px}.contact-socials{gap:var(--space-sm)}.step-buttons button{font-size:10px;gap:var(--space-3xs)}.demo-controls{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scene-host,.skip-link{transition:none}}.immersive{position:relative;width:100%;height:100dvh;min-height:580px;max-width:none;isolation:isolate;overflow:clip}.immersive .main-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;padding:0}.immersive .scene-host,.immersive.is-focused .scene-host{position:absolute;inset:0;width:100%;height:100%;z-index:0}.immersive .scene-host canvas{touch-action:none}.immersive .scene-host canvas:focus-visible{outline:2px solid var(--color-focus);outline-offset:-3px}.immersive:before,.immersive:after{content:"";position:absolute;inset-inline:0;pointer-events:none;z-index:1}.immersive:before{top:0;height:220px;background:linear-gradient(var(--color-paper),var(--color-transparent));opacity:.85}.immersive:after{bottom:0;height:225px;background:linear-gradient(var(--color-transparent),var(--color-paper));opacity:.9}.immersive .site-header{position:absolute;top:0;left:var(--page-gutter);right:var(--page-gutter);margin:0;height:82px;z-index:5;border-bottom:1px solid var(--color-rule)}.immersive .header-right{gap:var(--space-lg)}.immersive .brand{gap:var(--space-xs)}.immersive .contact-button{background:var(--color-label);color:var(--color-ink);border-color:var(--color-rule);min-height:44px}.immersive .introduction{position:absolute;top:100px;left:var(--page-gutter);width:250px;padding:0;z-index:3;pointer-events:none}.immersive .intro-kicker,.immersive .intro-copy,.immersive .intro-proof{display:none}.immersive h1{font-size:1.8rem;line-height:1.08;letter-spacing:-.05em;margin:0;text-shadow:0 2px 24px var(--color-shadow)}.immersive .intro-actions{margin-top:var(--space-2xs);gap:var(--space-sm);flex-direction:row}.immersive .intro-actions .primary-button{display:none}.immersive .intro-actions .text-link{font-size:var(--text-xs);min-height:36px}.immersive .stage-topline{display:none}.immersive .scene-controls{position:absolute;inset:auto var(--page-gutter) 130px auto;z-index:4;display:flex;gap:var(--space-xs)}.immersive .environment-controls{background:var(--color-label);border:1px solid var(--color-rule);border-radius:var(--radius-sm)}.immersive .view-switch{background:var(--color-label);color:var(--color-ink)}.immersive .scene-instructions{position:absolute;inset:auto auto 126px var(--page-gutter);z-index:3;color:var(--color-ink);background:var(--color-label);border-radius:var(--radius-sm);padding:var(--space-xs);font-size:var(--text-xs);line-height:1.7;max-width:370px}.immersive .scene-instructions p>span{color:var(--color-ink);opacity:.8}.immersive .work-dock{position:absolute;z-index:5;left:var(--page-gutter);right:var(--page-gutter);bottom:var(--space-md);margin:0;padding:0;border:0}.immersive .dock-heading{font-size:10px;margin-bottom:var(--space-xs);color:var(--color-ink)}.immersive .dock-projects{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--color-label);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-md);gap:0;padding:var(--space-2xs)}.immersive .dock-project{min-height:58px;padding:var(--space-2xs);border-top:0;border-right:1px solid var(--color-rule);gap:var(--space-2xs);justify-content:center;text-align:center}.immersive .dock-project:last-child{border-right:0}.immersive .dock-title{font-size:10px}.immersive .dock-icon,.immersive .dock-title small,.immersive .dock-number,.immersive .dock-arrow,.immersive .site-footer{display:none}.immersive .label-name{display:flex;font-size:var(--text-xs);background:var(--color-label);border-color:var(--color-muted)}.immersive .scene-label{gap:var(--space-3xs)}.immersive .label-number{height:22px;width:22px;font-size:9px;border-color:var(--color-muted)}.immersive .label-name>span{display:none}.immersive .walk-controls{position:absolute;right:var(--page-gutter);top:92px;z-index:4;display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:var(--space-3xs)}.walk-controls button{display:grid;place-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-label);color:var(--color-ink)}.walk-controls button:hover{background:var(--color-raised)}.walk-forward{grid-column:2;grid-row:1}.walk-forward svg{transform:rotate(-90deg)}.walk-back{grid-column:2;grid-row:2}.walk-back svg{transform:rotate(90deg)}.walk-left{grid-column:1;grid-row:2}.walk-left svg{transform:rotate(180deg)}.walk-right{grid-column:3;grid-row:2}.immersive.is-focused .walk-controls,.immersive.is-focused .scene-controls{visibility:hidden}.immersive .detail-dialog::backdrop{background:var(--color-transparent)}.immersive .personal-dialog::backdrop{background:var(--color-backdrop)}.immersive.index-mode:before,.immersive.index-mode:after{display:none}.immersive.index-mode .main-stage{height:100%;min-height:0;padding:0}.immersive.index-mode .introduction{display:none}.immersive.index-mode .project-index{position:absolute;top:110px;left:var(--page-gutter);right:var(--page-gutter);bottom:190px;overflow-y:auto;margin:0;overscroll-behavior:contain}.immersive.index-mode .index-project{padding:var(--space-sm) 0;gap:var(--space-sm)}.immersive.index-mode .index-text strong{font-size:var(--text-lg)}.immersive.index-mode .scene-instructions{display:none}.immersive .scene-loading{background:var(--color-paper);color:var(--color-muted);z-index:1}@media(max-width:639px){.immersive .introduction{top:100px;width:180px}.immersive h1{font-size:1.5rem}.immersive .scene-controls{left:var(--page-gutter);right:var(--page-gutter);bottom:128px;justify-content:space-between}.immersive .scene-instructions{bottom:186px;font-size:10px;max-width:290px}.immersive .dock-hint{display:none}.immersive .walk-controls{top:auto;bottom:248px;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px)}.immersive .scene-label .label-number{display:none}.immersive .label-name{font-size:10px;padding:var(--space-2xs)}.immersive .contact-button{font-size:var(--text-xs);gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs)}.immersive .location{display:none}.immersive .brand-name>span{font-size:8px;letter-spacing:.06em}}@media(min-width:40rem){.immersive .dock-project{justify-content:flex-start;text-align:left;padding:var(--space-xs) var(--space-sm);gap:var(--space-xs)}.immersive .dock-title{font-size:var(--text-sm)}.immersive .dock-icon{display:grid;width:24px;height:32px}.immersive .dock-hint{display:flex}.immersive .walk-controls{top:100px}.immersive.index-mode .project-index{max-width:900px;margin-inline:auto}}@media(min-width:64rem){.immersive .site-header{height:90px}.immersive .introduction{top:118px}.immersive .work-dock{left:50%;right:auto;transform:translate(-50%);width:min(1080px,calc(100% - 80px));bottom:var(--space-md)}.immersive .dock-project{min-height:64px}.immersive .dock-title{font-size:var(--text-base)}.immersive .dock-title small{display:block;font-size:10px}.immersive .label-name>span{display:inline}.immersive .scene-instructions,.immersive .scene-controls{bottom:140px}.immersive .walk-controls{top:auto;bottom:214px;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,36px)}.immersive.index-mode .project-index{top:125px;bottom:210px}.immersive.index-mode .index-project{padding:var(--space-md) 0}.immersive.index-mode .index-category{display:block}}@media(prefers-reduced-motion:reduce){.immersive *{transition:none!important;animation:none!important}}.header-count{font-family:var(--font-mono);font-size:11px;color:var(--color-accent)}.collection-shortcut{display:flex;align-items:center;gap:8px;color:var(--color-ink);font-size:11px;min-height:32px}.look-toggle{padding:8px;font-size:10px;white-space:nowrap;color:var(--color-ink)}.look-toggle[aria-pressed=true]{color:var(--color-accent)}.immersive .library-dialog{width:min(1100px,calc(100% - 40px));max-width:1100px;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);margin:auto}.library-content{padding:32px 40px 48px}.library-content h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.055em;line-height:1.1;margin:12px 0 24px;max-width:none}.archive-tabs{display:flex;gap:6px;border-bottom:1px solid var(--color-panel-rule);padding-bottom:14px;overflow-x:auto;margin-bottom:26px}.archive-tabs button{white-space:nowrap;font-size:12px;padding:10px 12px;color:var(--color-panel-muted);border-radius:4px}.archive-tabs button[aria-current]{background:var(--color-panel-ink);color:var(--color-panel)}.library-search label{display:block;font-size:12px;margin-bottom:10px}.library-search input{font:inherit;background:var(--color-panel);color:var(--color-panel-ink);width:100%;border:1px solid var(--color-panel-rule);border-radius:4px;padding:15px 16px;outline-color:var(--color-panel-focus)}.category-filters{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.category-filters button,.people-selector button{border:1px solid var(--color-panel-rule);border-radius:4px;font-size:12px;padding:9px 12px;color:var(--color-panel-muted)}.category-filters button[aria-pressed=true],.people-selector button[aria-pressed=true]{background:var(--color-panel-green);border-color:var(--color-panel-green);color:var(--color-panel)}.collection-count{font-size:12px;color:var(--color-panel-muted);margin:20px 0}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}.collection-project{text-align:left;min-width:0;border-bottom:1px solid var(--color-panel-rule);padding-bottom:16px;align-self:stretch}.collection-project:hover h3{color:var(--color-panel-green);text-decoration:underline;text-underline-offset:4px}.collection-project img,.project-placeholder{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;border-radius:4px;background:var(--color-panel-surface)}.project-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--color-panel-green)}.project-placeholder span{font:10px var(--font-mono);padding:0 12px;text-align:center}.collection-project-copy{padding:14px 0 0}.collection-project-copy small{display:flex;justify-content:space-between;color:var(--color-panel-muted);font-size:10px;letter-spacing:.04em}.collection-project-copy h3{font:500 20px var(--font-display);margin:8px 0}.collection-project-copy p{font-size:12px;line-height:1.6;color:var(--color-panel-muted);margin:0 0 12px}.room-tag{font:10px var(--font-mono);color:var(--color-panel-green)}.collection-empty{text-align:center;padding:60px 0}.collection-empty h3{margin-bottom:20px}.career-timeline{border-left:1px solid var(--color-panel-rule);margin-left:6px;padding-left:32px}.career-timeline article{position:relative;padding-bottom:40px}.career-timeline article:before{content:"";position:absolute;left:-38px;top:3px;width:11px;height:11px;border-radius:50%;background:var(--color-panel-green)}.career-timeline h3{font:500 24px var(--font-display);margin:8px 0}.career-timeline h4{font:400 17px var(--font-display);margin:8px 0}.career-timeline ul{padding-left:18px;margin:16px 0;max-width:68ch}.career-timeline li{font-size:14px;line-height:1.8;color:var(--color-panel-muted);margin-bottom:8px}.career-highlight{font-size:12px;color:var(--color-panel-green)}.archive-row{display:grid;grid-template-columns:1fr 1.5fr;gap:26px;padding:28px 0;border-bottom:1px solid var(--color-panel-rule)}.archive-row h3{font:500 24px var(--font-display);margin:0}.archive-row p,.archive-intro{font-size:15px;line-height:1.8;color:var(--color-panel-muted);margin:0}.archive-subheading{margin:30px 0 10px;font:500 24px var(--font-display)}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:28px 0}.research-grid article{padding:24px 0;border-top:1px solid var(--color-panel-rule)}.paper-number{font:12px var(--font-mono);color:var(--color-panel-green)}.research-grid h3{font:500 24px/1.3 var(--font-display);margin:20px 0}.research-grid p{font-size:14px;line-height:1.8;color:var(--color-panel-muted)}.research-meta{font-family:var(--font-mono);font-size:12px!important}.library-content .text-link{color:var(--color-panel-green);font-size:13px;margin-top:18px}.recommendation-reader{max-width:760px;margin:0 auto}.quote-mark{font:100px/1 var(--font-display);height:70px;color:var(--color-panel-green)}.recommendation-reader blockquote{margin:0;font:400 clamp(18px,2vw,24px)/1.65 var(--font-display);min-height:220px}.quote-byline{display:flex;gap:16px;align-items:center;margin-top:32px}.person-initials{background:var(--color-panel-green);color:var(--color-panel);border-radius:50%;width:52px;height:52px;display:grid;place-items:center;flex-shrink:0;font:16px var(--font-mono)}.quote-byline p{font-size:13px;line-height:1.6;color:var(--color-panel-muted);margin:6px 0}.quote-byline small{font:10px var(--font-mono);text-transform:uppercase;color:var(--color-panel-muted)}.quote-controls{display:flex;align-items:center;gap:20px;margin:28px 0;font:12px var(--font-mono)}.quote-controls button{min-width:44px;min-height:44px;color:var(--color-panel-ink)}.people-selector{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.immersive.index-mode .project-index{max-width:1100px;background:var(--color-panel);color:var(--color-panel-ink);border-radius:8px}.immersive.index-mode .library-content .overline{color:var(--color-panel-green)}@media(max-width:1000px){.immersive .scene-instructions{max-width:270px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.immersive .location{display:none}}@media(max-width:639px){.immersive .site-header{left:16px;right:16px}.immersive .header-right{gap:8px}.immersive .brand-name{font-size:12px}.immersive .brand-name>span{font-size:6px}.immersive .contact-button{padding:8px;font-size:11px}.immersive .contact-button svg{display:none}.immersive .library-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);inset:6px}.library-content{padding:24px 18px 36px}.collection-grid{gap:20px 14px}.collection-project-copy h3{font-size:17px}.collection-project-copy p{font-size:11px}.collection-project-copy small{font-size:9px}.archive-tabs{gap:2px;margin-bottom:20px}.archive-tabs button{font-size:11px;padding:10px}.category-filters button{min-height:36px}.archive-row,.research-grid{grid-template-columns:1fr;gap:16px}.archive-row h3{font-size:22px}.archive-row{padding:24px 0}.quote-byline{align-items:flex-start}.recommendation-reader blockquote{min-height:0}.career-timeline{padding-left:20px}.career-timeline article:before{left:-26px}.immersive .scene-controls{gap:4px}.look-toggle{font-size:9px;padding:4px}.immersive .environment-controls{gap:0}.immersive .environment-controls .icon-button{width:30px;min-width:30px}.immersive .dock-heading>span{display:none}.collection-shortcut,.immersive .dock-title{font-size:10px}.immersive .work-dock{bottom:16px}}@media(max-width:360px){.collection-grid{grid-template-columns:1fr}.immersive .brand-name>span{display:none}.immersive .scene-controls .view-switch button{padding:8px}.immersive .scene-controls .view-switch span{font-size:10px}}.collection-project{white-space:normal;overflow-wrap:anywhere}.archive-tabs{max-width:100%;min-width:0}.library-content{min-width:0}html{scrollbar-gutter:stable;scroll-behavior:auto}html.dialog-open{overflow-y:hidden}.scroll-portfolio{width:100%;position:relative;isolation:isolate}.journey-header{position:fixed;left:0;right:0;top:0;height:100px;padding:0 clamp(22px,4vw,76px);display:flex;justify-content:space-between;align-items:center;gap:24px;z-index:20;background:linear-gradient(var(--color-paper) 65%,var(--color-journey-clear))}.journey-brand{display:flex;align-items:center;font:500 36px var(--font-display);letter-spacing:-.08em;min-height:48px;gap:0}.journey-brand>span:first-child{color:var(--color-accent)}.journey-brand-name{font:500 14px var(--font-display);letter-spacing:-.015em;text-align:left;margin-left:22px}.journey-brand-name small{display:block;font:9px var(--font-mono);letter-spacing:.1em;color:var(--color-muted);margin-top:6px}.journey-header nav{display:flex;gap:28px;align-items:center;font-size:12px}.journey-header nav button,.journey-header nav a{display:flex;align-items:center;gap:8px;min-height:44px}.journey-header nav button:hover,.journey-header nav a:hover{color:var(--color-accent)}.count-badge{font:10px var(--font-mono);color:var(--color-muted);border:1px solid var(--color-rule);padding:3px 5px;border-radius:3px}.journey-header .contact-nav{border-bottom:1px solid var(--color-ink);min-height:34px}.journey-visual{position:fixed;inset:0;z-index:-1;pointer-events:none}.journey-canvas{position:absolute;inset:0}.journey-canvas canvas{width:100%;height:100%;display:block}.journey-loading{position:absolute;right:22%;top:50%;font:11px var(--font-mono);color:var(--color-muted)}.chapters{position:relative;z-index:2;pointer-events:none}.chapter{height:125svh;position:relative;padding-top:24svh;padding-left:clamp(24px,6.5vw,120px)}.chapter-copy{width:45%;max-width:660px;position:sticky;top:24svh;padding-bottom:18svh;pointer-events:none}.chapter-copy button,.chapter-copy a{pointer-events:auto}.chapter-eyebrow{font:10px/1.5 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;display:flex;align-items:center;gap:12px;color:var(--color-muted);margin-bottom:26px}.chapter-cross{font:20px var(--font-mono);color:var(--color-accent)}.chapter h1{font-size:clamp(60px,7.4vw,118px);font-weight:500;line-height:.98;letter-spacing:-.07em;margin-left:-5px}.chapter h1 span,.chapter h2 .accent-line{color:var(--color-accent)}.chapter h2{font-size:clamp(45px,5.2vw,82px);font-weight:400;line-height:1.04;letter-spacing:-.062em}.chapter h2>span{display:block}.chapter-description{font-size:clamp(14px,1.1vw,17px);line-height:1.85;color:var(--color-muted);max-width:37ch;margin-top:28px}.chapter-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.chapter-action{display:inline-flex;align-items:center;gap:30px;background:var(--color-ink);color:var(--color-panel);padding:16px 19px;border-radius:3px;font-size:12px;min-height:48px}.chapter-action:hover{background:var(--color-accent)}.chapter-secondary{display:inline-flex;align-items:center;gap:10px;font-size:12px;min-height:44px}.chapter-secondary:hover{color:var(--color-accent)}.down-arrow{transform:rotate(90deg)}.chapter-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px;color:var(--color-faint);font:9px/1.5 var(--font-mono)}.chapter-tags span+span:before{content:"/";margin-right:10px;color:var(--color-rule)}.chapter-metric{display:flex;align-items:center;gap:16px;margin-top:25px}.chapter-metric strong{font:400 44px/1 var(--font-display);letter-spacing:-.06em;color:var(--color-ink)}.chapter-metric>span{font:10px/1.6 var(--font-mono);max-width:15ch;color:var(--color-muted)}.chapter-inline{display:flex;gap:10px;align-items:center;font-size:11px;margin-top:20px;color:var(--color-muted);min-height:30px}.chapter-quote{margin:22px 0 0;padding-left:16px;border-left:2px solid var(--color-accent);font:400 16px/1.6 var(--font-display);max-width:36ch}.chapter-quote cite{font:10px var(--font-mono);display:block;margin-top:14px;font-style:normal;color:var(--color-muted)}.chapter-quote cite span{margin-left:10px}.chapter-5 .chapter-description{display:none}.chapter-5 .chapter-tags{margin-top:24px}.chapter-watermark{position:absolute;left:4vw;bottom:16vh;font:400 clamp(160px,24vw,380px)/1 var(--font-display);letter-spacing:-.09em;color:var(--color-journey-ghost);z-index:-1}.scene-caption{position:fixed;right:13%;bottom:115px;width:330px;text-align:center;z-index:3;pointer-events:none}.scene-caption>span{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}.scene-caption p{font-size:11px;line-height:1.7;color:var(--color-muted);margin-top:10px}.chapter-rail{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:4px}.chapter-rail button{position:relative;display:flex;justify-content:flex-end;align-items:center;min-width:32px;height:32px}.rail-dot{width:5px;height:5px;border-radius:50%;background:var(--color-rule);transition:height .16s,width .16s}.chapter-rail [aria-current] .rail-dot{height:22px;width:4px;border-radius:2px;background:var(--color-accent)}.rail-name{position:absolute;right:23px;font:10px var(--font-mono);color:var(--color-ink);padding:7px 10px;background:var(--color-paper);opacity:0;pointer-events:none}.chapter-rail button:hover .rail-name,.chapter-rail button:focus-visible .rail-name{opacity:1}.journey-footer{position:fixed;bottom:0;inset-inline:0;height:66px;padding:0 clamp(22px,4vw,76px);display:flex;align-items:center;justify-content:space-between;z-index:10;background:var(--color-journey-chrome);font:10px var(--font-mono);color:var(--color-muted)}.scroll-cue{display:flex;align-items:center;gap:13px}.scroll-cue-line{height:24px;width:1px;background:var(--color-accent);position:relative}.scroll-cue-line:after{content:"";position:absolute;bottom:0;width:5px;height:5px;border-right:1px solid var(--color-accent);border-bottom:1px solid var(--color-accent);transform:rotate(45deg);left:-2px}.journey-location{display:flex;gap:12px;align-items:center}.availability-dot{width:5px;height:5px;background:var(--color-accent);border-radius:50%}.motion-toggle{display:flex;gap:8px;align-items:center;min-height:44px;font:10px var(--font-mono)}.reading-progress{position:absolute;left:0;bottom:0;right:0;height:2px;background:var(--color-accent);transform-origin:0 50%;transform:scaleX(0)}.ending-links{display:flex;gap:22px;align-items:center;margin-top:28px;font-size:12px}.ending-links a,.ending-links button{display:flex;align-items:center;gap:8px;min-height:36px}.journey-fallback{position:fixed;right:12%;top:48%;max-width:270px;font-size:14px;line-height:1.8;color:var(--color-muted);z-index:1}.journey-dialog{z-index:50}.journey-dialog::backdrop{background:var(--color-journey-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.journey-dialog.library-dialog{width:min(1100px,calc(100% - 40px));height:calc(100dvh - 40px);max-width:1100px;max-height:calc(100dvh - 40px);margin:auto}.journey-dialog .dialog-scroll{scrollbar-gutter:stable}.journey-dialog .room-tag{display:none}.journey-dialog .project-image img{object-fit:contain}.journey-dialog .library-content .overline{color:var(--color-muted)}@media(min-width:1600px){.chapter-copy{max-width:700px}.scene-caption{right:18%}.chapter{padding-top:26svh}.chapter-copy{top:26svh}}@media(max-width:1100px){.journey-header nav{gap:20px}.chapter{padding-left:5vw}.chapter-copy{width:48%}.chapter h1{font-size:76px}.chapter h2{font-size:57px}.chapter-description{font-size:14px}.chapter-actions{gap:15px}.scene-caption{right:10%;width:270px}.chapter-rail{right:15px}.chapter-tags{max-width:320px}}@media(max-width:899px){.journey-header{height:82px;padding-inline:26px}.journey-header nav{gap:20px}.header-resume{display:none!important}.chapter{height:140svh;padding:110px 28px 0}.chapter-copy{top:110px;width:80%;max-width:560px;padding-bottom:58svh}.chapter h1{font-size:clamp(58px,10vw,82px)}.chapter h2{font-size:clamp(43px,7.5vw,66px)}.chapter-eyebrow{margin-bottom:14px}.chapter-description{margin-top:18px;max-width:43ch;font-size:14px;line-height:1.7}.chapter-actions{margin-top:20px}.chapter-tags{margin-top:20px;font-size:8px}.chapter-metric{position:absolute;left:calc(100% + 15px);top:110px;flex-direction:column;align-items:flex-start;gap:8px}.chapter-metric strong{font-size:35px}.chapter-metric>span{font-size:9px}.scene-caption{right:15%;left:15%;width:auto;bottom:83px}.scene-caption p{display:none}.chapter-watermark{bottom:30vh}.chapter-rail{right:14px;top:auto;bottom:100px;transform:none}.rail-name{display:none}.chapter-rail button{height:27px;min-width:27px}.journey-fallback{left:30px;top:auto;bottom:170px;max-width:70%}}@media(max-width:639px){.journey-header{padding-inline:20px;height:78px;gap:12px}.journey-brand{font-size:32px}.journey-brand-name{font-size:10px;margin-left:12px}.journey-brand-name small{font-size:6px;margin-top:4px;letter-spacing:.05em}.journey-header nav{gap:13px;font-size:10px}.header-experience,.header-resume{display:none!important}.count-badge{font-size:8px;padding:2px 4px}.journey-header .contact-nav{min-height:34px;gap:4px}.contact-nav svg{width:12px}.chapter{padding:112px 24px 0;height:140svh}.chapter-copy{top:112px;width:100%;padding-bottom:61svh}.chapter h1{font-size:clamp(55px,13.5vw,76px);letter-spacing:-.065em}.chapter h2{font-size:clamp(40px,10.2vw,56px)}.chapter-eyebrow{font-size:8px;letter-spacing:.025em;gap:8px;margin-bottom:15px}.chapter-cross{font-size:14px}.chapter-description{font-size:12px;line-height:1.7;max-width:35ch;margin-top:18px}.chapter-actions{margin-top:18px;gap:18px}.chapter-action{font-size:10px;padding:12px 14px;gap:20px;min-height:42px}.chapter-secondary{font-size:10px;gap:7px}.chapter-tags{display:none}.chapter-metric{position:static;flex-direction:row;align-items:center;gap:12px;margin-top:16px}.chapter-metric strong{font-size:32px}.chapter-metric>span{font-size:9px;max-width:none}.chapter-quote{font-size:13px;line-height:1.6;margin-top:18px;max-width:32ch}.chapter-quote cite{font-size:8px;margin-top:10px}.chapter-5 .chapter-actions{gap:12px}.chapter-5 .chapter-secondary{font-size:9px}.chapter-inline{font-size:10px;margin-top:9px}.ending-links{font-size:10px;gap:18px;margin-top:16px}.journey-footer{height:53px;padding-inline:20px;font-size:8px}.journey-location{display:none}.motion-toggle{font-size:8px}.scene-caption{bottom:73px}.scene-caption>span{font-size:8px}.chapter-rail{right:11px;bottom:95px}.chapter-rail button{min-width:25px;height:24px}.journey-dialog.library-dialog{inset:6px;width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}.journey-loading{right:30%;top:68%;font-size:10px}.journey-dialog .dialog-topbar{padding-inline:20px}}@media(max-height:700px)and (min-width:900px){.chapter{padding-top:19svh;height:140svh}.chapter-copy{top:19svh}.chapter h1{font-size:82px}.chapter h2{font-size:58px}.chapter-description{margin-top:18px}.chapter-eyebrow{margin-bottom:15px}.chapter-actions{margin-top:18px}.chapter-tags{margin-top:20px}.scene-caption{bottom:90px}}@media(prefers-reduced-motion:reduce){.scroll-portfolio *{animation:none!important;transition:none!important}.chapter-copy{position:relative;top:0}}.rail-dot{transition:transform .16s}.chapter-rail [aria-current] .rail-dot{height:5px;width:5px;transform:scaleY(4);border-radius:1px}.chapter-rail button:hover .rail-name{transition:opacity .12s .8s}.chapter-rail button:focus-visible .rail-name{transition:none}@media(max-width:899px){.chapter-tags{display:none}}@media(max-width:639px)and (max-height:720px){.chapter{padding-top:94px}.chapter-copy{top:94px}.chapter h1{font-size:52px}.chapter h2{font-size:39px}.chapter-eyebrow{margin-bottom:10px}.chapter-description{font-size:11px;margin-top:12px}.chapter-actions,.chapter-metric{margin-top:12px}.chapter-quote{font-size:12px}}.chapter-reading{position:relative;z-index:4;pointer-events:auto;background:var(--color-paper);border-top:1px solid var(--color-rule-soft);border-bottom:1px solid var(--color-rule-soft)}.reading-block{width:min(1120px,calc(100% - 120px));margin-inline:auto;padding:96px 0;scroll-margin-top:100px;outline:none}.reading-block+.reading-block{border-top:1px solid var(--color-rule-soft)}.reading-heading{max-width:760px;margin-bottom:48px}.reading-label{font:10px/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent)}.reading-heading h2{font:400 clamp(34px,4vw,58px)/1.08 var(--font-display);letter-spacing:-.055em;margin-top:16px;max-width:22ch}.reading-heading>p:last-child:not(.reading-label){font-size:15px;line-height:1.8;color:var(--color-muted);margin-top:20px;max-width:60ch}.introduction-reading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:start}.introduction-reading .reading-heading{margin-bottom:0}.about-reading-copy>p{font-size:17px;line-height:1.9;color:var(--color-muted);margin:0 0 24px}.about-reading-route{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font:11px var(--font-mono);color:var(--color-ink);margin-top:32px}.build-reading-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-bottom:32px}.build-reading-details h3{font-size:21px;letter-spacing:-.025em;margin-bottom:16px}.build-reading-details p{font-size:14px;line-height:1.9;color:var(--color-muted)}.reading-tech{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:24px 0;color:var(--color-muted);font:10px/1.6 var(--font-mono)}.reading-tech li{padding-bottom:4px;border-bottom:1px solid var(--color-rule-soft)}.scroll-career>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px;padding:36px 0;border-top:1px solid var(--color-rule)}.career-identity h3{font:500 27px var(--font-display);letter-spacing:-.03em;margin:12px 0}.career-identity>p:last-child{font-size:14px;color:var(--color-muted);line-height:1.7}.career-contribution>strong{font-size:13px;font-weight:500;color:var(--color-accent)}.career-contribution ul{margin:16px 0 0;padding-left:18px}.career-contribution li{font-size:14px;line-height:1.85;color:var(--color-muted);margin-bottom:10px;padding-left:4px}.reading-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;min-height:44px;color:var(--color-accent);margin-top:12px}.reading-link:hover{text-decoration:underline;text-underline-offset:4px}.foundation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px}.foundation-columns h3,.scroll-skills>h3{font:400 25px var(--font-display);letter-spacing:-.025em;margin-bottom:24px}.foundation-columns article{border-top:1px solid var(--color-rule-soft);padding:22px 0}.foundation-columns h4{font-size:17px;line-height:1.5;margin-bottom:8px}.foundation-columns p{font-size:14px;color:var(--color-muted);line-height:1.8}.foundation-columns small{font:11px/1.8 var(--font-mono);color:var(--color-muted);display:block;margin:8px 0}.scroll-skills{margin-top:56px}.scroll-skills>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;border-top:1px solid var(--color-rule-soft);padding:18px 0}.scroll-skills h4{font-size:13px}.scroll-skills p{font:12px/1.9 var(--font-mono);color:var(--color-muted)}.scroll-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px}.scroll-project-preview{min-width:0;border-bottom:1px solid var(--color-rule);padding-bottom:28px}.scroll-project-preview figure{margin:0 0 24px;background:var(--color-panel-surface);aspect-ratio:16/10;overflow:clip;border:1px solid var(--color-rule-soft);border-radius:5px}.scroll-project-preview img{display:block;width:100%;height:100%;object-fit:cover}.preview-copy h3{font:500 32px var(--font-display);letter-spacing:-.04em;margin:10px 0 14px}.preview-copy>p:not(.reading-label){font-size:15px;line-height:1.8;color:var(--color-muted)}.preview-copy .preview-description{font-size:13px!important;margin-top:12px;max-width:62ch}.preview-copy .preview-result{color:var(--color-accent)!important;font:11px/1.7 var(--font-mono)!important;margin-top:16px}.reading-actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.reading-actions button,.reading-actions a{display:flex;gap:8px;align-items:center;min-height:44px;font-size:12px}.reading-actions button{color:var(--color-accent)}.reading-actions a{color:var(--color-muted)}.reading-actions :is(a,button):hover{text-decoration:underline;text-underline-offset:4px}.scroll-research{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}.scroll-research article{border-top:1px solid var(--color-rule);padding-top:24px}.scroll-research h3{font:400 25px/1.4 var(--font-display);letter-spacing:-.025em;margin:20px 0}.scroll-research p{font-size:14px;line-height:1.8;color:var(--color-muted)}.scroll-research .research-reference{font:11px/1.8 var(--font-mono);margin-bottom:16px}.scroll-awards article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:56px;padding:28px 0;border-top:1px solid var(--color-rule-soft)}.scroll-awards h3{font:400 27px/1.3 var(--font-display);letter-spacing:-.03em}.scroll-awards p{font-size:14px;line-height:1.9;color:var(--color-muted)}.scroll-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}.scroll-recommendations figure{margin:0;padding:28px 0;border-top:1px solid var(--color-rule)}.scroll-recommendations blockquote{font:400 17px/1.9 var(--font-display);margin:0;overflow-wrap:anywhere}.scroll-recommendations figcaption{display:flex;gap:16px;align-items:center;margin-top:28px}.reading-person-initials{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--color-panel-green);color:var(--color-panel);font:12px var(--font-mono)}.scroll-recommendations figcaption strong{font-size:14px;font-weight:500}.scroll-recommendations figcaption p{font-size:12px;line-height:1.7;margin:6px 0;color:var(--color-muted)}.scroll-recommendations figcaption small{font:9px/1.8 var(--font-mono);text-transform:uppercase;color:var(--color-muted)}.scroll-recommendations figure:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:64px;padding:36px 0 44px}.scroll-recommendations figure:first-child blockquote{font-size:23px;line-height:1.8}.scroll-recommendations figure:first-child figcaption{margin:0}.inline-project-filters{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;max-width:800px;margin-bottom:24px}.inline-project-filters label{font-size:12px;display:flex;flex-direction:column;gap:10px}.inline-project-filters input,.inline-project-filters select{font:14px var(--font-body);padding:14px 16px;border:1px solid var(--color-rule);background:var(--color-panel);color:var(--color-ink);border-radius:4px;min-width:0;width:100%;min-height:48px}.inline-project-filters :is(input,select):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.inline-result-count{font:11px var(--font-mono);color:var(--color-muted);margin:24px 0}.inline-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}.inline-project-list article{padding:24px 0;border-top:1px solid var(--color-rule-soft);display:flex;align-items:flex-start;gap:24px;justify-content:space-between}.inline-project-list article>div{min-width:0}.inline-project-list h3{font:500 21px/1.4 var(--font-display);letter-spacing:-.025em;margin:7px 0}.inline-project-list article p:not(.reading-label){font-size:12px;line-height:1.8;color:var(--color-muted)}.archive-stack{display:block;margin-top:10px;font:9px/1.9 var(--font-mono);color:var(--color-faint)}.inline-project-list button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--color-rule-soft);border-radius:50%;margin-top:10px}.inline-project-list button:hover{color:var(--color-accent);border-color:var(--color-accent)}.inline-empty{padding:48px 0;color:var(--color-muted)}.inline-empty button{margin-top:16px;min-height:44px;color:var(--color-accent)}.contact-reading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:center;padding-bottom:144px}.contact-reading .reading-heading{margin:0}.reading-email{display:flex;align-items:center;gap:16px;font:400 clamp(17px,2.1vw,29px) var(--font-display);letter-spacing:-.035em;color:var(--color-accent);min-height:44px}.reading-contact-links{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}.reading-contact-links a{display:flex;align-items:center;gap:8px;font-size:12px;min-height:44px}.is-reading .scene-caption,.is-reading .journey-fallback{visibility:hidden}.is-reading .chapter-rail .rail-dot{background:var(--color-rule)}.is-reading .chapter-rail [aria-current] .rail-dot{background:var(--color-accent)}@media(max-width:1100px){.reading-block{width:calc(100% - 100px);padding-block:72px}.introduction-reading,.scroll-career>article{gap:40px}.scroll-project-grid{gap:48px 32px}.scroll-recommendations figure:first-child{gap:40px}.contact-reading{grid-template-columns:1fr;gap:24px}}@media(max-width:899px){.reading-block{width:calc(100% - 72px);scroll-margin-top:88px}.introduction-reading{grid-template-columns:1fr;gap:24px}.reading-heading{margin-bottom:32px}.reading-heading h2{font-size:40px}.build-reading-details{grid-template-columns:1fr;gap:24px}.foundation-columns{gap:36px}.scroll-recommendations figure:first-child{display:block}.scroll-recommendations figure:first-child figcaption{margin-top:28px}.scroll-recommendations blockquote{font-size:15px}.scroll-recommendations figure:first-child blockquote{font-size:20px}.scroll-career>article{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px}.scroll-research{gap:36px 28px}.scroll-awards article{gap:32px}.inline-project-list{gap:0 28px}}@media(max-width:639px){.reading-block{width:calc(100% - 48px);padding-block:56px;scroll-margin-top:90px}.reading-label{font-size:9px}.reading-heading h2{font-size:35px;max-width:20ch}.reading-heading>p:last-child:not(.reading-label){font-size:13px;line-height:1.8}.about-reading-copy>p{font-size:14px}.about-reading-route{gap:8px;font-size:9px}.about-reading-route svg{width:12px}.scroll-career>article{grid-template-columns:1fr;gap:20px;padding:28px 0}.career-identity h3{font-size:24px;margin:10px 0}.career-contribution li{font-size:13px}.foundation-columns{grid-template-columns:1fr;gap:28px}.scroll-skills>div{grid-template-columns:1fr;gap:8px}.scroll-skills p{font-size:11px}.scroll-skills{margin-top:32px}.scroll-project-grid,.scroll-research,.scroll-recommendations,.inline-project-list{grid-template-columns:1fr}.scroll-project-grid{gap:40px}.preview-copy h3{font-size:28px}.scroll-project-preview figure{margin-bottom:20px}.reading-actions{gap:20px}.reading-actions :is(a,button){font-size:11px}.reading-tech{font-size:9px;gap:8px 12px}.scroll-research{gap:36px}.scroll-research h3{font-size:23px}.scroll-research p{font-size:13px}.scroll-awards article{grid-template-columns:1fr;gap:12px;padding:24px 0}.scroll-awards h3{font-size:24px}.scroll-awards p{font-size:13px}.scroll-recommendations{gap:20px}.scroll-recommendations figure:first-child{grid-column:auto;padding:28px 0}.scroll-recommendations figure:first-child blockquote{font-size:18px}.scroll-recommendations blockquote{font-size:16px;line-height:1.85}.scroll-recommendations figcaption{gap:12px;align-items:flex-start}.inline-project-filters{grid-template-columns:1fr;gap:16px}.inline-project-list article{padding:20px 0;gap:16px}.inline-project-list h3{font-size:21px}.inline-project-list article p:not(.reading-label){font-size:13px}.inline-project-list .reading-label{font-size:9px}.archive-stack{font-size:10px}.contact-reading{gap:28px;padding-bottom:110px}.reading-email{font-size:clamp(15px,5vw,21px);gap:10px}.reading-contact-links{gap:16px}.reading-contact-links a{font-size:10px}.reading-email svg{width:18px}}.contact-reading{min-height:calc(100svh - 100px)}@media(max-width:639px){.contact-reading{min-height:calc(100svh - 78px);align-content:center}}.chapter-reading{background:none;border:0}.journey-visual,.scene-caption{opacity:var(--scene-visibility,1)}html{scroll-padding-top:104px}body{background:var(--color-paper);color:var(--color-ink)}.portfolio{max-width:1600px;margin:auto;padding:0 clamp(24px,5vw,80px)}.p-header{height:86px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--color-paper);border-bottom:1px solid var(--color-rule-soft)}.p-logo{font:500 30px var(--font-display);letter-spacing:-.09em}.p-logo span{color:var(--color-accent)}.p-header nav{display:flex;gap:30px;font-size:12px}.p-header nav a{min-height:44px;display:flex;align-items:center;color:var(--color-muted);position:relative}.p-header nav a[aria-current]{color:var(--color-ink)}.p-header nav a[aria-current]:after{content:"";height:2px;background:var(--color-accent);position:absolute;left:0;right:0;bottom:-21px}.p-header a:hover{color:var(--color-accent)}.p-header-contact{display:flex;align-items:center;gap:10px;font-size:12px;min-height:44px}.p-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(45px,7vw,112px);padding-top:54px}.p-profile{position:sticky;top:124px;align-self:start;padding-bottom:30px}.p-availability{font-size:11px;display:flex;gap:8px;align-items:center;color:var(--color-success);margin-bottom:25px}.p-availability i{width:6px;height:6px;background:var(--color-success);border-radius:50%}.p-profile h1{font:500 clamp(46px,4.5vw,67px)/1.01 var(--font-display);letter-spacing:-.065em;margin-bottom:20px}.p-profile h1 span{color:var(--color-accent)}.p-role{font:500 17px/1.45 var(--font-display);letter-spacing:-.02em;max-width:280px;margin-bottom:8px}.p-location{display:flex;align-items:center;gap:7px;color:var(--color-muted);font-size:12px}.p-bio{font-size:14px;line-height:1.85;color:var(--color-muted);margin:25px 0 19px;max-width:300px}.p-now{font-size:12px;color:var(--color-muted);line-height:1.8}.p-now strong{color:var(--color-ink);font-weight:500}.p-primary{min-height:44px;background:var(--color-ink);color:var(--color-card);display:flex;align-items:center;justify-content:center;gap:29px;border-radius:6px;padding:12px 18px;margin-top:26px;font-size:12px;transition:background .2s}.p-primary:hover{background:var(--color-accent)}.p-socials{display:flex;gap:20px;font-size:11px;margin-top:14px;flex-wrap:wrap}.p-socials a{min-height:40px;display:flex;align-items:center}.p-socials a:hover{color:var(--color-accent)}.p-profile-proof{border-top:1px solid var(--color-rule);padding-top:22px;margin-top:22px;display:flex;gap:24px}.p-profile-proof span{font-size:9px;color:var(--color-muted);line-height:1.7}.p-profile-proof strong{display:block;color:var(--color-ink);font:500 27px/1.2 var(--font-display);letter-spacing:-.04em;margin-bottom:5px}.p-small-quote{font:400 13px/1.8 var(--font-display);margin:25px 0 0;padding-left:13px;border-left:2px solid var(--color-rule)}.p-small-quote cite{display:block;font:10px/1.6 var(--font-body);color:var(--color-muted);margin-top:7px;font-style:normal}.p-main{min-width:0}.p-section{padding:0 0 80px;scroll-margin-top:110px;outline:none}.p-section+.p-section{padding-top:20px}.p-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.p-section-head>div{display:flex;align-items:baseline;gap:14px}.p-section-head h2{font-size:26px;letter-spacing:-.05em;line-height:1.2}.p-section-head>div>span{font:10px var(--font-mono);color:var(--color-faint)}.p-section-note{font-size:11px;color:var(--color-muted)}.p-text-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;min-height:44px;color:var(--color-accent)}.p-text-link:hover{text-decoration:underline;text-underline-offset:5px}.p-eyebrow{font:10px/1.6 var(--font-mono);letter-spacing:.06em;color:var(--color-muted)}.p-app-tour{display:grid;grid-template-columns:minmax(0,1fr) 192px;align-items:center;gap:30px;background:var(--color-tour);color:var(--color-tour-ink);padding:32px;border-radius:14px;margin-bottom:25px;overflow:hidden}.p-tour-copy .p-eyebrow{color:var(--color-tour-ink);font-size:9px}.p-tour-copy h3{font-size:37px;letter-spacing:-.065em;line-height:1.1;margin-top:15px}.p-tour-deck{font:400 22px/1.3 var(--font-display);letter-spacing:-.035em;margin-top:13px}.p-tour-copy>p:not(.p-eyebrow,.p-tour-deck,.p-stack,.p-tour-caption){font-size:13px;line-height:1.75;margin-top:20px;max-width:360px}.p-tour-screen{margin:0;perspective:900px}.p-tour-screen img{width:100%;height:auto;display:block;border-radius:13px;box-shadow:10px 18px 35px var(--color-image-shadow);transform:rotateY(-7deg) rotate(2deg);transition:transform .3s}.p-tour-screen:hover img{transform:rotateY(0) rotate(0)}.p-tour-screen figcaption{font:9px var(--font-mono);text-align:center;margin-top:18px;color:var(--color-tour-ink)}.p-tour-controls{display:flex;gap:6px;margin:23px 0 11px;flex-wrap:wrap}.p-tour-controls button{display:flex;align-items:center;gap:6px;min-height:37px;border:1px solid var(--color-tour-rule);border-radius:5px;font-size:10px;padding:8px 9px}.p-tour-controls button span{font:9px var(--font-mono)}.p-tour-controls button[aria-pressed=true]{background:var(--color-tour-active);border-color:var(--color-tour-active);color:var(--color-card)}.p-tour-caption{font-size:11px;line-height:1.6;min-height:52px;max-width:290px}.p-spotlight{padding:28px 30px;border-radius:12px;background:var(--color-spotlight);color:var(--color-spotlight-ink);margin-bottom:35px}.p-spotlight-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.p-spotlight .p-eyebrow{color:var(--color-spotlight-ink);font-size:9px}.p-current-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.p-spotlight h3{font-size:26px;letter-spacing:-.04em;margin-bottom:7px}.p-spotlight-summary{font:400 22px/1.3 var(--font-display);letter-spacing:-.03em}.p-spotlight-detail{font-size:13px;line-height:1.75;max-width:530px;margin-top:16px}.p-spotlight-bottom{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:24px}.p-outcomes{display:flex;gap:37px}.p-outcomes span{font-size:10px;line-height:1.6}.p-outcomes strong{font:500 27px/1.1 var(--font-display);letter-spacing:-.04em;display:block;margin-bottom:7px}.p-spotlight-bottom button{height:44px;width:44px;border-radius:50%;background:var(--color-card);color:var(--color-accent)}.p-spotlight-stack{font-size:10px;padding-top:21px;margin-top:22px;border-top:1px solid var(--color-rule)}.p-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.p-featured{min-width:0}.p-project-image{margin:0 0 20px;perspective:1000px}.p-project-image img{width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:var(--color-surface);border:1px solid var(--color-rule-soft);border-radius:8px;display:block;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s;will-change:transform}.p-featured-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.p-featured h3{font-size:22px;letter-spacing:-.045em}.p-award-tag{font-size:8px;color:var(--color-venture-ink);background:var(--color-venture);padding:5px 6px;border-radius:3px}.p-featured>p:not(.p-stack){font-size:13px;line-height:1.75;color:var(--color-muted);margin-top:11px}.p-stack{font-size:10px;line-height:1.8;color:var(--color-muted);margin-top:15px}.p-tour-copy .p-stack{color:var(--color-tour-ink);font-size:9px}.p-project-links{display:flex;align-items:center;gap:19px;flex-wrap:wrap;margin-top:14px;font-size:10px}.p-project-links button,.p-project-links a{min-height:40px;display:flex;align-items:center;gap:6px}.p-project-links button{padding:0;color:var(--color-accent)}.p-project-links a:hover,.p-project-links button:hover{text-decoration:underline;text-underline-offset:4px}.p-app-tour .p-project-links button{color:var(--color-tour-active)}.p-venture{display:grid;grid-template-columns:130px minmax(0,1fr);gap:28px;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);padding:28px 0;margin-top:35px}.p-venture-mark{align-self:start;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;background:var(--color-venture);color:var(--color-venture-ink);min-height:146px;border-radius:9px;font:500 23px var(--font-display)}.p-venture h3{font-size:22px;letter-spacing:-.03em;margin-top:8px}.p-venture p:not(.p-eyebrow){font-size:13px;line-height:1.7;color:var(--color-muted);margin-top:10px}.p-venture-facts{display:flex;gap:18px;font-size:10px;color:var(--color-venture-ink);margin-top:18px;flex-wrap:wrap}.p-career article{padding:25px 0;border-top:1px solid var(--color-rule-soft)}.p-career article:first-child{padding-top:0;border:0}.p-career-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.p-career h3{font-size:21px;letter-spacing:-.03em}.p-career-heading span{font-size:10px;color:var(--color-muted)}.p-career-role{font-size:13px;margin-top:7px;color:var(--color-accent)}.p-career ul{padding-left:16px;margin:15px 0 0;color:var(--color-muted);font-size:13px;line-height:1.8}.p-career li{margin-top:7px}.p-research{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.p-research article{border-top:2px solid var(--color-rule);padding-top:18px}.p-research h3{font-size:19px;line-height:1.45;letter-spacing:-.025em;margin-top:10px}.p-research p:not(.p-eyebrow){font-size:12px;line-height:1.7;color:var(--color-muted);margin-top:10px}.p-research .p-research-meta{font-size:10px!important}.p-achievements{margin-top:40px}.p-achievements>h3{font-size:18px;margin-bottom:20px}.p-achievements article{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:17px 0;border-top:1px solid var(--color-rule-soft)}.p-achievements h4{font-size:13px;line-height:1.6}.p-achievements p{font-size:12px;line-height:1.7;color:var(--color-muted)}.p-section-intro{font-size:14px;line-height:1.85;color:var(--color-muted);margin-bottom:26px}.p-recommendations{columns:2;column-gap:24px}.p-recommendations figure{break-inside:avoid;margin:0 0 24px;padding:23px;background:var(--color-card);border:1px solid var(--color-rule-soft);border-radius:8px}.p-recommendations figcaption{display:flex;gap:12px;align-items:center}.p-initials{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font:11px var(--font-display);background:var(--color-surface);color:var(--color-accent)}.p-recommendations figcaption strong{font-size:12px;font-weight:500}.p-recommendations figcaption p{font-size:10px;line-height:1.6;color:var(--color-muted);margin-top:4px}.p-recommendations blockquote{font:400 13px/1.8 var(--font-body);margin:18px 0;color:var(--color-ink)}.p-recommendations small{font-size:9px;color:var(--color-muted)}.p-about-intro{font:400 23px/1.5 var(--font-display);letter-spacing:-.03em;margin-bottom:18px}.p-foundations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.p-foundations h3,.p-skills>h3{font-size:17px;margin-bottom:20px}.p-foundations article{margin:22px 0}.p-foundations h4{font-size:14px;line-height:1.5}.p-foundations p{font-size:12px;line-height:1.8;color:var(--color-muted);margin:7px 0}.p-foundations small{font-size:10px;color:var(--color-muted)}.p-skills{margin-top:30px}.p-skills>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;font-size:12px;line-height:1.7;padding:12px 0;border-top:1px solid var(--color-rule-soft)}.p-skills h4{font-size:12px}.p-skills p{color:var(--color-muted)}.p-filters{display:flex;gap:20px;margin-top:30px}.p-filters label{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0;font-size:11px;color:var(--color-muted)}.p-filters label:last-child{max-width:210px}.p-filters input,.p-filters select{background:var(--color-card);color:var(--color-ink);border:1px solid var(--color-rule);padding:13px;font:12px var(--font-body);border-radius:6px;min-height:44px;min-width:0}.p-filters input:focus-visible,.p-filters select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.p-result-count{font-size:10px;margin:18px 0 22px;color:var(--color-muted)}.p-all-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.p-all-projects article{border-top:1px solid var(--color-rule);display:flex;gap:13px;padding:23px 0;align-items:flex-start}.p-list-number{font:9px var(--font-mono);color:var(--color-muted);padding-top:5px}.p-all-projects article>div{flex:1;min-width:0}.p-all-projects h3{font-size:18px;letter-spacing:-.03em;line-height:1.4}.p-all-projects p{font-size:11px;line-height:1.7;color:var(--color-muted);margin-top:7px}.p-all-projects small{font-size:9px;line-height:1.8;color:var(--color-muted);display:block;margin-top:9px}.p-all-projects button{width:35px;min-height:44px;padding:0;color:var(--color-accent);flex-shrink:0}.p-no-results{padding:30px 0;font-size:14px}.p-no-results button{color:var(--color-accent);min-height:44px}.p-contact{padding:42px 0 50px;border-top:1px solid var(--color-rule)}.p-contact h2{font:500 54px/1.05 var(--font-display);letter-spacing:-.055em;margin:18px 0 24px}.p-contact>p:not(.p-eyebrow){font-size:14px;line-height:1.8;color:var(--color-muted);max-width:450px}.p-contact-email{display:flex;align-items:center;gap:17px;font:400 24px var(--font-display);letter-spacing:-.025em;margin-top:26px;min-height:44px;color:var(--color-accent)}.p-contact-links{display:flex;gap:24px;font-size:11px;flex-wrap:wrap;margin-top:25px}.p-contact-links a{min-height:44px;display:flex;align-items:center}.p-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--color-rule);font-size:10px;color:var(--color-muted);padding:20px 0 30px}.p-footer button{min-height:44px;font-size:10px}.portfolio .detail-dialog{color:var(--color-ink)}@media(min-width:1500px){.p-layout{grid-template-columns:320px minmax(0,1fr)}.p-app-tour{grid-template-columns:minmax(0,1fr) 220px;gap:55px;padding:40px}.p-tour-copy h3{font-size:45px}.p-tour-copy>p:not(.p-eyebrow,.p-tour-deck,.p-stack,.p-tour-caption){font-size:15px}.p-tour-deck{font-size:28px}}@media(max-width:1150px){.portfolio{padding:0 30px}.p-layout{grid-template-columns:245px minmax(0,1fr);gap:45px}.p-app-tour{grid-template-columns:minmax(0,1fr) 160px;padding:24px;gap:20px}.p-tour-copy h3{font-size:32px}.p-tour-deck{font-size:19px}.p-tour-copy>p:not(.p-eyebrow,.p-tour-deck,.p-stack,.p-tour-caption){font-size:12px}.p-tour-controls{gap:5px}.p-tour-controls button{font-size:9px;padding:7px}.p-profile-proof{gap:15px}.p-career-heading{flex-direction:column;gap:7px}.p-featured-grid{gap:30px 20px}.p-all-projects{grid-template-columns:minmax(0,1fr)}.p-achievements article{grid-template-columns:150px minmax(0,1fr)}}@media(max-width:900px){.p-layout{grid-template-columns:minmax(0,1fr);padding-top:38px;gap:45px}.p-profile{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:35px;padding:0}.p-profile h1{font-size:56px;grid-column:1;grid-row:2/5}.p-availability{grid-column:1;margin-bottom:18px}.p-role{grid-column:2;grid-row:2;align-self:end}.p-location{grid-column:2;grid-row:3;margin-top:8px}.p-bio{grid-column:2;grid-row:4/6;margin:18px 0 0;max-width:none}.p-now{grid-column:1}.p-primary{grid-column:1;justify-self:start;margin-top:20px}.p-socials{grid-column:1;margin-top:8px}.p-profile-proof{grid-column:2;grid-row:6/9;align-self:center;justify-content:space-between;margin-top:20px}.p-small-quote{display:none}.p-main{border-top:1px solid var(--color-rule);padding-top:35px}.p-app-tour{grid-template-columns:minmax(0,1fr) 210px;padding:32px}.p-tour-copy h3{font-size:39px}.p-tour-copy>p:not(.p-eyebrow,.p-tour-deck,.p-stack,.p-tour-caption){font-size:14px}.p-tour-deck{font-size:24px}.p-tour-controls button{font-size:11px}.p-all-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){html{scroll-padding-top:85px}.portfolio{padding:0 21px}.p-header{height:72px;gap:15px}.p-logo{font-size:27px}.p-header nav{gap:20px;font-size:11px}.p-header nav a:nth-child(3),.p-header nav a:nth-child(4){display:none}.p-header-contact{font-size:10px;gap:5px}.p-header nav a[aria-current]:after{bottom:-14px}.p-layout{padding-top:29px;gap:30px}.p-profile{display:block}.p-profile h1{font-size:52px;margin-bottom:14px}.p-profile h1 br{display:none}.p-profile h1 br:after{content:" "}.p-profile h1{max-width:300px}.p-profile h1 span{margin-left:0}.p-availability{font-size:10px;margin-bottom:16px}.p-role{font-size:17px;max-width:none}.p-location{font-size:11px;margin-top:8px}.p-bio{font-size:14px;margin-top:19px;line-height:1.75}.p-now{font-size:11px;margin-top:14px}.p-primary{margin-top:19px;min-height:44px;font-size:11px;padding:12px 17px}.p-socials{font-size:10px;margin-top:8px;gap:22px}.p-profile-proof{margin-top:13px;padding-top:17px;justify-content:flex-start;gap:38px}.p-profile-proof strong{font-size:24px}.p-profile-proof span{font-size:9px}.p-main{padding-top:27px}.p-section{padding-bottom:55px;scroll-margin-top:90px}.p-section-head{margin-bottom:20px;gap:12px;flex-wrap:wrap}.p-section-head>div{gap:10px}.p-section-head h2{font-size:24px}.p-section-head>div>span{font-size:9px}.p-section-note,.p-text-link{font-size:10px}.p-section-head .p-text-link{font-size:9px}.p-app-tour{display:flex;flex-direction:column;gap:27px;padding:25px 22px}.p-tour-copy{width:100%}.p-tour-copy h3{font-size:35px}.p-tour-deck{font-size:23px}.p-tour-copy>p:not(.p-eyebrow,.p-tour-deck,.p-stack,.p-tour-caption){font-size:13px}.p-tour-copy .p-stack{font-size:10px}.p-tour-screen{width:190px;order:0}.p-tour-screen img{transform:none}.p-tour-controls{margin-top:17px;gap:6px}.p-tour-controls button{font-size:10px;min-height:40px}.p-tour-caption{min-height:38px;font-size:12px}.p-tour-screen figcaption{font-size:9px}.p-spotlight{padding:23px}.p-spotlight h3{font-size:24px}.p-spotlight-summary{font-size:21px}.p-spotlight-detail{font-size:13px}.p-outcomes{gap:25px}.p-outcomes strong{font-size:25px}.p-outcomes span{font-size:9px}.p-spotlight-bottom{gap:10px}.p-spotlight-bottom button{flex-shrink:0}.p-spotlight-stack{font-size:10px;line-height:1.7}.p-featured-grid{grid-template-columns:minmax(0,1fr);gap:32px}.p-featured h3{font-size:24px}.p-project-image{margin-bottom:16px}.p-featured>p:not(.p-stack){font-size:14px}.p-stack{font-size:11px}.p-project-links{font-size:11px;gap:22px}.p-venture{grid-template-columns:minmax(0,1fr);gap:20px}.p-venture-mark{min-height:85px;flex-direction:row;justify-content:flex-start;padding-left:25px;gap:16px}.p-venture h3{font-size:22px}.p-venture p:not(.p-eyebrow){font-size:13px}.p-career h3{font-size:22px}.p-career-heading span{font-size:10px;line-height:1.6}.p-career-role,.p-career ul{font-size:13px}.p-research{grid-template-columns:minmax(0,1fr);gap:25px}.p-research h3{font-size:20px}.p-research p:not(.p-eyebrow){font-size:13px}.p-achievements article{grid-template-columns:minmax(0,1fr);gap:8px}.p-achievements h4{font-size:15px}.p-achievements p{font-size:13px}.p-recommendations{columns:1}.p-recommendations figure{padding:22px}.p-recommendations blockquote{font-size:14px}.p-recommendations figcaption strong{font-size:13px}.p-recommendations figcaption p{font-size:11px}.p-about-intro{font-size:22px}.p-foundations{grid-template-columns:minmax(0,1fr);gap:20px}.p-foundations h4{font-size:15px}.p-foundations p{font-size:13px}.p-skills>div{grid-template-columns:minmax(0,1fr);gap:6px}.p-filters{flex-direction:column;gap:16px}.p-filters label:last-child{max-width:none}.p-all-projects{grid-template-columns:minmax(0,1fr)}.p-all-projects h3{font-size:20px}.p-all-projects p{font-size:13px}.p-all-projects small{font-size:10px}.p-contact h2{font-size:43px}.p-contact-email{font-size:clamp(17px,5.2vw,23px);gap:8px}.p-contact-links{gap:20px;font-size:10px}.p-footer{font-size:9px;gap:10px}.p-footer button{font-size:9px}}@media(prefers-reduced-motion:reduce){.p-project-image img,.p-tour-screen img{transform:none!important;transition:none}.p-primary{transition:none}}@media print{.p-header,.p-primary,.p-socials,.p-tour-controls,.p-footer{display:none}.p-layout{display:block}.p-profile{position:static}.p-section{padding:20px 0}.p-recommendations{columns:1}}.p-offline-example{background:var(--color-card);border:1px solid var(--color-rule-soft);border-radius:8px;margin-top:22px;padding:20px;color:var(--color-ink)}.p-example-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.p-example-heading h4{font-size:13px}.p-example-heading>span{font-size:9px;color:var(--color-muted)}.p-example-body{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:21px}.p-connection{display:flex;gap:6px;align-items:center;font-size:9px;color:var(--color-muted);margin-bottom:8px}.p-connection i{display:block;width:5px;height:5px;border-radius:50%;background:var(--color-faint)}.p-connection.online i{background:var(--color-success)}.p-example-body p{font:500 15px var(--font-display)}.p-example-body small{display:block;font-size:11px;line-height:1.6;color:var(--color-muted);margin-top:7px}.p-example-body button{padding:10px 14px;border:1px solid var(--color-rule);border-radius:5px;font-size:10px;min-height:40px}.p-example-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}.p-example-actions button{min-height:40px;font-size:10px}.p-example-actions .p-save-inspection{display:flex;align-items:center;gap:12px;background:var(--color-accent);color:var(--color-card);padding:10px 14px;border-radius:5px}.p-example-actions .p-save-inspection:disabled{background:var(--color-surface);color:var(--color-success);opacity:1}.p-example-hint{font-size:10px;line-height:1.7;color:var(--color-muted);margin-top:14px;max-width:440px}@media(max-width:600px){.p-offline-example{padding:17px;margin-inline:-6px}.p-example-heading{align-items:flex-start;flex-direction:column;gap:6px}.p-example-body{align-items:flex-start;flex-direction:column;gap:12px}.p-example-body button{font-size:11px}.p-example-heading>span{font-size:9px}.p-example-actions button{font-size:10px}.p-example-hint{font-size:11px}}@media(max-height:800px)and (min-width:901px){.p-profile{position:static}}@media(max-width:600px){.p-header nav a:nth-child(4){display:flex}.p-header-contact{display:none}.p-header nav{gap:19px}}.builder-buddy{position:absolute;right:-4px;top:-20px;width:88px;padding:0;z-index:2;min-height:100px;overflow:visible}.builder-buddy svg{width:100%;display:block;overflow:visible}.buddy-shadow{fill:var(--color-soft-shadow)}.buddy-shell{fill:var(--color-buddy);stroke:var(--color-buddy-dark);stroke-width:2}.buddy-face{fill:var(--color-buddy-dark)}.buddy-eyes{fill:var(--color-buddy-light);transition:transform .16s ease-out}.buddy-arm,.buddy-antenna{stroke:var(--color-buddy-dark);stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round}.buddy-mouth{stroke:var(--color-buddy-light);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.buddy-signal{fill:var(--color-playful-yellow);stroke:var(--color-buddy-dark);stroke-width:2}.buddy-shine{stroke:var(--color-buddy-light);stroke-width:3;stroke-linecap:round}.buddy-body{transform-origin:57px 86px;transition:transform .35s var(--ease-spring)}.builder-buddy:hover .buddy-body,.builder-buddy:focus-visible .buddy-body{transform:translateY(-4px) rotate(-5deg)}.buddy-smile-eyes{stroke:var(--color-buddy-light);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.builder-buddy.is-happy .buddy-body{animation:buddy-hop .7s var(--ease-spring)}.buddy-sparks{stroke:var(--color-playful-yellow);stroke-width:3;stroke-linecap:round;fill:var(--color-playful-yellow);animation:buddy-spark .8s ease-out both;transform-origin:center}.buddy-greeting{position:absolute;right:1px;bottom:-8px;background:var(--color-ink);color:var(--color-card);font-size:9px;padding:5px 8px;border-radius:6px;opacity:0;translate:0 5px;transition:opacity .2s,translate .2s;pointer-events:none}.builder-buddy:hover .buddy-greeting,.builder-buddy:focus-visible .buddy-greeting,.builder-buddy.is-happy .buddy-greeting{opacity:1;translate:0 0}@keyframes buddy-hop{0%,to{transform:translateY(0) rotate(0)}35%{transform:translateY(-11px) rotate(-10deg)}65%{transform:translateY(-3px) rotate(7deg)}}@keyframes buddy-spark{0%{opacity:0;transform:scale(.75)}30%{opacity:1}to{opacity:0;transform:scale(1.3)}}.p-tour-screen{position:relative;isolation:isolate}.rose-graphic{position:absolute;width:360px;max-width:none;height:500px;left:50%;top:50%;transform:translate(-50%,-51%) rotate(-8deg);z-index:-1;stroke:var(--color-playful-rose);stroke-width:1;opacity:.38;pointer-events:none}.rose-stars{stroke-width:1.8;fill:var(--color-playful-yellow)}.p-app-tour{background-image:radial-gradient(var(--color-tour-rule) .6px,transparent .6px);background-size:15px 15px}.p-tour-copy{position:relative;z-index:2}.p-privacy-sticker{position:absolute;right:-19px;top:-19px;z-index:3;display:flex;align-items:center;gap:7px;background:var(--color-tour-active);color:var(--color-card);padding:10px 12px;border-radius:6px;box-shadow:3px 4px 0 var(--color-tour-rule);font-size:9px;transform:rotate(7deg);pointer-events:none;white-space:nowrap}.p-screen-swap{animation:screen-arrive .48s cubic-bezier(.2,.7,.2,1) both}.p-tour-caption{animation:caption-arrive .3s ease-out both}.p-tour-controls button{transition:background .2s,color .2s,transform .2s var(--ease-spring),box-shadow .2s}.p-tour-controls button:hover{transform:translateY(-3px);box-shadow:0 4px 0 var(--color-image-shadow)}.p-tour-controls button:active{transform:translateY(0)}@keyframes screen-arrive{0%{opacity:.2;translate:16px 8px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes caption-arrive{0%{opacity:.35;translate:0 4px}to{opacity:1;translate:0 0}}.sync-graphic{display:block;width:100%;height:auto;margin:23px auto 7px;max-height:96px;overflow:visible}.sync-track{stroke:var(--color-rule);stroke-width:2;stroke-dasharray:4 5;fill:none}.sync-flow{stroke:var(--color-accent);stroke-width:2;fill:none;stroke-dasharray:6 12;opacity:.5;animation:flow-move 1.2s linear 2}.sync-device,.sync-queue,.sync-cloud{stroke:var(--color-accent);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;fill:var(--color-spotlight)}.sync-cloud{fill:var(--color-card)}.sync-graphic text{font:8px var(--font-mono);letter-spacing:.07em;fill:var(--color-muted)}.sync-graphic .sync-tick{stroke:var(--color-success);stroke-width:2.7;fill:none;opacity:0}.sync-graphic .sync-tick.shown{opacity:1;stroke-dasharray:30;animation:tick-draw .5s ease-out both}.sync-packet{fill:var(--color-accent);animation:packet-send 1.2s cubic-bezier(.4,0,.2,1) 2 both}.sync-offline .sync-cloud,.sync-queued .sync-cloud{opacity:.4}.sync-offline .sync-flow,.sync-queued .sync-flow{opacity:0;animation:none}.sync-queued .sync-queue{fill:var(--color-playful-yellow)}.sync-queued .sync-packet{animation:packet-queue .7s ease-out both}.sync-synced .sync-cloud{stroke:var(--color-success);fill:var(--color-venture)}.p-offline-example{transition:border-color .3s,box-shadow .3s}.p-offline-example[data-sync=synced]{border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-venture)}.p-example-body small{min-height:18px}.p-example-actions button,.p-example-body button{transition:transform .2s var(--ease-spring),background .2s}.p-example-actions button:hover:not(:disabled),.p-example-body button:hover{transform:translateY(-2px)}@keyframes flow-move{to{stroke-dashoffset:-36}}@keyframes packet-send{0%{translate:0 0;opacity:0}12%{opacity:1}85%{opacity:1}to{translate:300px 0;opacity:0}}@keyframes packet-queue{0%{translate:0 0;opacity:0}20%{opacity:1}to{translate:113px 0;opacity:0}}@keyframes tick-draw{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}.p-venture-mark{overflow:hidden;gap:0;padding:0 8px 13px}.mobility-graphic{width:100%;max-width:180px;height:auto;overflow:visible}.ev-ground{stroke:var(--color-venture-ink);stroke-width:1;opacity:.35}.ev-charger{fill:var(--color-card);stroke:var(--color-venture-ink);stroke-width:2}.ev-charger path{fill:none;stroke-linecap:round;stroke-linejoin:round}.ev-car{fill:var(--color-success);stroke:var(--color-venture-ink);stroke-width:2;transform-origin:center;transition:translate .55s var(--ease-spring)}.ev-car circle{fill:var(--color-ink)}.ev-car .ev-hub{fill:var(--color-card);stroke:none}.ev-car .ev-window{fill:var(--color-venture);stroke:none}.ev-lights{stroke:var(--color-playful-yellow);stroke-width:3;stroke-linecap:round}.ev-sparks{stroke:var(--color-success);stroke-width:2;stroke-linecap:round;opacity:0;transition:opacity .25s}.p-venture:hover .ev-car{translate:5px 0}.p-venture:hover .ev-sparks{opacity:1}.p-collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 10px}.p-collection-toolbar .p-result-count{margin:0}.p-surprise{display:flex;align-items:center;gap:8px;min-height:44px;font-size:11px;color:var(--color-accent);padding:6px 10px;border-radius:5px;transition:background .2s}.p-surprise:hover:not(:disabled){background:var(--color-spotlight)}.p-surprise svg{transition:transform .45s var(--ease-spring)}.p-surprise:hover svg,.p-surprise:focus-visible svg{transform:rotate(100deg)}.p-all-projects article{transition:background .2s,translate .2s}.p-all-projects article:hover{background:var(--color-spotlight);translate:3px 0}.p-all-projects button{transition:transform .2s var(--ease-spring)}.p-all-projects article:hover button{transform:translate(2px,-2px)}.p-primary{box-shadow:0 3px 0 var(--color-image-shadow);transition:background .2s,translate .2s var(--ease-spring),box-shadow .2s}.p-primary:hover{translate:0 -3px;box-shadow:0 7px 15px var(--color-soft-shadow)}.p-primary:active{translate:0 0}.p-project-links svg,.p-text-link svg,.p-contact-email svg,.p-primary svg{transition:transform .25s var(--ease-spring)}.p-project-links button:hover svg,.p-text-link:hover svg,.p-contact-email:hover svg,.p-primary:hover svg{transform:translate(3px,-2px)}.p-contact-email:hover{color:var(--color-buddy-dark)}.p-header nav a:after{transform-origin:left;animation:nav-line .22s ease-out}.p-motion-toggle{display:flex;align-items:center;gap:7px}.portfolio .detail-dialog[open]{animation:detail-arrive .3s cubic-bezier(.2,.7,.2,1)}@keyframes nav-line{0%{scale:0 1}to{scale:1 1}}@keyframes detail-arrive{0%{opacity:.45;translate:25px 0}to{opacity:1;translate:0 0}}@media(max-width:900px),(min-width:901px)and (max-height:800px){.p-profile{position:relative;top:0}}@media(min-width:601px)and (max-width:900px){.builder-buddy{right:0;top:-26px;width:68px}.p-profile{position:relative}}@media(max-width:600px){.p-profile{position:relative}.builder-buddy{width:77px;right:0;top:-8px}.p-privacy-sticker{font-size:9px;right:-24px;top:-10px}.rose-graphic{width:320px;height:450px}.p-tour-screen{margin-top:7px}.p-venture-mark{flex-direction:row;padding:0 18px 0 0;justify-content:center;gap:10px}.mobility-graphic{width:130px;height:123px}.p-footer{flex-wrap:wrap;gap:4px 14px}.p-footer>span{flex:1 1 100%}.p-motion-toggle{margin-right:auto}.sync-graphic{margin-top:18px}.p-collection-toolbar{gap:8px}.p-surprise{font-size:10px}}.portfolio[data-motion=off] *,.portfolio[data-motion=off] *:before,.portfolio[data-motion=off] *:after{animation:none!important;transition:none!important}.portfolio[data-motion=off] .p-project-image img,.portfolio[data-motion=off] .p-tour-screen img,.portfolio[data-motion=off] .buddy-body,.portfolio[data-motion=off] .buddy-eyes{transform:none!important}.portfolio[data-motion=off] .sync-packet{display:none}.portfolio[data-motion=off] .p-all-projects article,.portfolio[data-motion=off] .p-primary,.portfolio[data-motion=off] .ev-car{translate:none!important}@media(prefers-reduced-motion:reduce){.portfolio *,.portfolio *:before,.portfolio *:after{animation:none!important;transition:none!important}.sync-packet{display:none}}.p-tour-caption>span{display:block;animation:caption-arrive .3s ease-out both}html{background:#080e18;scroll-behavior:auto;scroll-padding-top:90px}body{background:#080e18}.lab-app{--color-paper:#080e18;--color-surface:#122130;--color-card:#101c29;--color-ink:#e9edf0;--color-muted:#acb9c7;--color-faint:#8494a6;--color-rule:#31404f;--color-rule-soft:#253441;--color-accent:#b7f7d5;--color-accent-ink:#101c29;--color-focus:#b7f7d5;--color-spotlight:#142838;--color-success:#b7f7d5;--color-venture:#17312c;--color-venture-ink:#b7f7d5;padding:0;max-width:none;background:#080e18;color:var(--color-ink);overflow:clip}.lab-header{position:fixed;top:0;left:0;right:0;height:94px;padding:0 4.6vw;display:flex;align-items:center;justify-content:space-between;gap:30px;z-index:20;background:linear-gradient(#080e18e8,#080e18a8);border-bottom:1px solid #d8e9f216;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lab-brand{display:flex;align-items:center;gap:21px}.lab-brand>span{font:500 38px/1 var(--font-display);letter-spacing:-.12em}.lab-brand>span>span{color:#b7f7d5}.lab-brand>div{font:11px var(--font-mono);letter-spacing:.08em}.lab-brand small{display:block;font-size:8px;color:#879bab;letter-spacing:.14em;margin-top:7px}.lab-header nav{display:flex;gap:36px;font-size:12px;color:#a8b6c4}.lab-header nav a{padding:15px 0;transition:color .2s}.lab-header nav a:hover,.lab-header nav a[aria-current]{color:#f0f5f7}.lab-header-contact{font:11px var(--font-mono);display:flex;align-items:center;gap:10px}.lab-header-contact>span,.lab-status-dot{display:inline-block;width:5px;height:5px;background:#b7f7d5;border-radius:50%;box-shadow:0 0 12px #b7f7d56b}.lab-experience{position:relative;isolation:isolate}.lab-world-wrap{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 72% 44%,#1a3544,#080e18 66%)}.lab-world{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}.lab-ready .lab-world{opacity:1}.lab-world canvas{display:block;width:100%;height:100%}.lab-world-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080e18f2,#080e18dc 24%,#080e188c 43%,#080e1800 68%),linear-gradient(0deg,#080e18e0,#080e1800 23% 83%,#080e185e)}.lab-map-label{position:absolute;left:4.6vw;right:4.6vw;top:126px;display:flex;align-items:center;gap:10px;font:9px var(--font-mono);letter-spacing:.15em;color:#9dadbd;z-index:2}.lab-map-label>span:last-child{margin-left:auto;letter-spacing:.08em;color:#7a8c9e}.lab-chapter{height:150svh;position:relative;scroll-margin-top:0}.lab-chapter:last-child{height:125svh}.lab-shot{height:100svh;min-height:650px;position:sticky;top:0;display:flex;align-items:center;padding:100px 7vw 105px}.lab-copy{width:46%;max-width:660px;opacity:var(--copy-opacity,1);translate:0 var(--copy-shift,0);position:relative;z-index:2}.lab-eyebrow{display:flex;gap:13px;align-items:center;font:10px/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--chapter-accent,#b7f7d5);margin-bottom:28px}.lab-eyebrow>span{font-size:9px;min-width:25px;border-right:1px solid #68817870;padding-right:12px}.lab-copy h1,.lab-copy h2{font:400 clamp(35px,4.3vw,73px)/1.075 var(--font-display);letter-spacing:-.057em;overflow-wrap:normal;max-width:690px}.lab-copy h1 em,.lab-copy h2 em{font-style:normal;color:var(--chapter-accent);font-weight:400}.lab-narration{font-size:clamp(14px,1.2vw,17px);line-height:1.85;color:#b8c4ce;max-width:445px;margin-top:27px;text-wrap:pretty}.lab-note{font:9px/1.9 var(--font-mono);letter-spacing:.02em;color:#8b9faf;max-width:440px;margin-top:28px}.lab-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.lab-tags>span{font:9px var(--font-mono);padding:8px 11px;border:1px solid #a4bfd829;border-radius:3px;color:#c0ccd7;background:#0d172480}.lab-actions{display:flex;align-items:center;gap:26px;margin-top:28px;font-size:11px}.lab-actions>a:not(.lab-link){color:#9fb0c1}.lab-link{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid #b7f7d566;padding:14px 19px;color:var(--chapter-accent);font-size:11px;min-height:46px;background:#08131b80;transition:background .25s,translate .25s}.lab-link:hover{background:#b7f7d517;translate:0 -2px}.lab-link svg{transition:transform .3s}.lab-link:hover svg{transform:translate(4px)}.lab-facts{display:flex;gap:28px;margin-top:29px}.lab-facts>div{display:flex;flex-direction:column;gap:7px}.lab-facts strong{font:400 31px var(--font-display);letter-spacing:-.05em;color:#e6eff2}.lab-facts span{font-size:10px;color:#90a5b6;max-width:140px;line-height:1.5}.lab-room-caption{position:absolute;bottom:115px;right:8vw;text-align:right;font:9px var(--font-mono);color:#b1c6d5;letter-spacing:.08em;text-transform:uppercase;opacity:var(--copy-opacity,1)}.lab-room-caption small{display:block;font-size:8px;letter-spacing:.025em;color:#8296a7;margin-top:9px;text-transform:none}.lab-room-caption:before{content:"+";display:block;margin-bottom:16px;color:var(--chapter-accent);font-size:20px}.lab-guide{position:fixed;right:28px;top:50%;translate:0 -50%;z-index:10;display:flex;align-items:center;flex-direction:column;gap:22px;transition:opacity .35s}.lab-guide-current{font:8px var(--font-mono);color:#8b9bab;writing-mode:vertical-rl;letter-spacing:.1em}.lab-guide nav{display:flex;flex-direction:column;gap:0}.lab-guide a{display:flex;align-items:center;justify-content:center;width:30px;height:32px;position:relative}.lab-guide a i{width:4px;height:4px;border-radius:50%;background:#688296;transition:height .3s,background .3s}.lab-guide a[aria-current] i{height:18px;border-radius:3px;background:#b7f7d5;box-shadow:0 0 12px #b7f7d555}.lab-guide a span{position:absolute;right:32px;white-space:nowrap;background:#0e1c2af2;border:1px solid #304456;padding:8px 10px;font:9px var(--font-mono);opacity:0;pointer-events:none;transition:opacity .2s}.lab-guide a:hover span,.lab-guide a:focus-visible span{opacity:1}.lab-guide-progress{width:1px;height:55px;background:#ffffff20;position:relative}.lab-guide-progress i{position:absolute;inset:0;background:#b7f7d5;transform-origin:top;scale:1 var(--journey-progress,0)}.lab-controls{position:fixed;bottom:0;left:4.6vw;right:4.6vw;height:70px;z-index:12;display:flex;align-items:center;gap:35px;border-top:1px solid #bdcfe322;font:9px var(--font-mono);color:#91a2b4;background:linear-gradient(transparent,#080e186e);transition:opacity .3s}.lab-controls>span{display:flex;align-items:center;gap:10px;margin-right:auto}.lab-controls>span i{width:12px;height:20px;border:1px solid #668295;border-radius:8px;position:relative}.lab-controls>span i:after{content:"";position:absolute;left:4px;top:4px;width:2px;height:5px;background:#b7f7d5;animation:scroll-cue 2s ease-in-out 4}.lab-controls button,.lab-controls>a{display:flex;align-items:center;gap:8px;min-height:42px;font:9px var(--font-mono)}.lab-controls.is-away,.lab-guide.is-away{opacity:0;visibility:hidden;pointer-events:none}.lab-fallback .lab-world-wrap:before{content:"";position:absolute;right:7%;top:20%;width:44%;height:58%;border:1px solid #729cb04a;background:repeating-linear-gradient(90deg,transparent 0 49px,#7098ac20 49px 50px),repeating-linear-gradient(0deg,transparent 0 49px,#7098ac20 49px 50px);transform:perspective(800px) rotateY(-22deg)}@keyframes scroll-cue{0%,to{translate:0 0;opacity:.5}50%{translate:0 5px;opacity:1}}.lab-archive{position:relative;z-index:3;background:linear-gradient(#080e18e8,#080e18 700px);border-top:1px solid #b7f7d535;padding:100px max(8vw,calc((100vw - 1150px)/2)) 0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.lab-archive-intro{margin-bottom:90px;max-width:900px}.lab-archive-intro h2{font-size:clamp(32px,4.8vw,66px);line-height:1.15;letter-spacing:-.05em}.lab-archive-intro>p:not(.lab-eyebrow){color:#a9bac8;font-size:15px;line-height:1.8;max-width:570px;margin-top:22px}.lab-archive-intro nav{display:flex;flex-wrap:wrap;gap:25px;margin-top:30px;font:10px var(--font-mono);color:#b7f7d5}.lab-archive .p-section{padding-bottom:90px;scroll-margin-top:120px}.lab-archive .p-section-head{border-bottom:1px solid #293b4c;padding-bottom:24px;margin-bottom:35px}.lab-archive .p-section-head h2{font-size:31px}.lab-archive .p-section-head>div>span{color:#8bb7a4}.lab-archive .p-career article{padding:26px 0}.lab-archive .p-career h3{font-size:25px}.lab-archive .p-career ul{font-size:14px;line-height:1.8;max-width:850px}.lab-archive .p-career-heading span{font-size:11px}.lab-archive .p-research{gap:40px}.lab-archive .p-research h3{font-size:25px}.lab-archive .p-research p{font-size:14px;line-height:1.8}.lab-archive .p-recommendations figure{background:#101c29;border-color:#293b4c}.lab-archive .p-initials{background:#1e3943;color:#b7f7d5}.lab-archive .p-recommendations blockquote{font-size:14px;line-height:1.9}.lab-archive .p-skills>div{border-color:#293b4c}.lab-archive .p-contact{padding-top:60px}.lab-archive .p-contact h2{font-size:clamp(50px,7vw,96px);color:#e7eef1}.lab-archive .p-contact-email{color:#b7f7d5}.lab-archive .p-contact-email:hover{color:#fff}.lab-archive .p-footer{padding-bottom:24px}.lab-archive input,.lab-archive select{color:#e6eef2;background:#101c29;color-scheme:dark}.lab-archive .p-all-projects h3{font-size:22px}.lab-archive .p-all-projects button{background:#b7f7d510;border:1px solid #b7f7d540;color:#b7f7d5}.lab-archive .p-footer .p-motion-toggle{color:#b7f7d5}.lab-app .detail-dialog{--color-paper:#f7f8fa;--color-card:#fff;--color-ink:#202631;--color-muted:#66717f;--color-accent:#315bd6;--color-accent-ink:#fff;--color-surface:#edf1f6;--color-rule:#ccd4df;--color-focus:#315bd6;color:#202631}@media(min-width:1600px){.lab-copy{width:44%;max-width:760px}.lab-copy h1,.lab-copy h2{font-size:clamp(68px,4.3vw,92px)}}@media(max-width:1100px){.lab-header{padding-inline:30px}.lab-header nav{gap:24px}.lab-shot{padding-left:6vw;padding-right:6vw}.lab-copy{width:49%}.lab-copy h1,.lab-copy h2{font-size:clamp(35px,4.8vw,53px)}.lab-narration{font-size:14px}.lab-guide{right:10px}.lab-room-caption{right:6vw}.lab-facts{gap:20px}.lab-archive{padding-inline:7vw}}@media(max-width:900px){.lab-header{height:73px;padding-inline:22px;gap:18px}.lab-brand{gap:0}.lab-brand>span{font-size:31px}.lab-brand>div{display:none}.lab-header nav{gap:20px;font-size:10px}.lab-header-contact{display:none}.lab-map-label{top:94px;left:23px;right:23px;font-size:7px;letter-spacing:.08em}.lab-map-label>span:last-child{display:none}.lab-chapter{height:145svh}.lab-chapter:last-child{height:140svh}.lab-shot{min-height:650px;padding:0 25px 88px;align-items:flex-end}.lab-copy{width:100%;max-width:none}.lab-copy h1,.lab-copy h2{font-size:clamp(29px,8vw,43px);line-height:1.1;max-width:500px}.lab-eyebrow{font-size:8px;letter-spacing:.05em;margin-bottom:13px;gap:9px}.lab-narration{font-size:12px;line-height:1.75;max-width:440px;margin-top:15px}.lab-note{font-size:8px;margin-top:15px;max-width:92%}.lab-actions{margin-top:17px;gap:24px;font-size:10px}.lab-link{font-size:10px;min-height:42px;padding:11px 14px;gap:16px}.lab-tags{margin-top:15px;gap:6px}.lab-tags>span{font-size:8px;padding:6px 8px}.lab-facts{margin-top:17px;gap:25px}.lab-facts strong{font-size:26px}.lab-facts span{font-size:9px;max-width:120px}.lab-facts>div{gap:3px}.lab-world{height:67svh;min-height:360px}.lab-world-shade{background:linear-gradient(0deg,#080e18,#080e18fa 30%,#080e18dc 43%,#080e1800 67% 88%,#080e1880)}.lab-room-caption{display:none}.lab-guide{right:3px;top:33%;gap:12px}.lab-guide-current{display:none}.lab-guide-progress{height:30px}.lab-guide a{width:25px;height:23px}.lab-guide a i{width:3px;height:3px}.lab-guide a[aria-current] i{height:13px}.lab-controls{height:55px;left:23px;right:23px;font-size:8px;gap:20px;background:#080e18a8}.lab-controls button,.lab-controls>a{font-size:8px}.lab-controls>a{display:none}.lab-controls>span i{width:10px;height:16px}.lab-controls>span i:after{left:3px;height:4px}.lab-archive{padding:60px 25px 0}.lab-archive-intro{margin-bottom:60px}.lab-archive-intro h2{font-size:36px}.lab-archive-intro>p:not(.lab-eyebrow){font-size:13px;margin-top:17px}.lab-archive-intro nav{gap:20px;font-size:9px}.lab-archive .p-section{padding-bottom:60px;scroll-margin-top:100px}.lab-archive .p-section-head h2{font-size:25px}.lab-archive .p-section-head{margin-bottom:23px;padding-bottom:20px}.lab-archive .p-research h3{font-size:22px}.lab-archive .p-research p,.lab-archive .p-career ul,.lab-archive .p-recommendations blockquote{font-size:13px}.lab-archive .p-contact h2{font-size:51px}.lab-archive .p-contact-email{font-size:clamp(16px,4.9vw,23px)}.lab-archive .p-all-projects h3{font-size:21px}}@media(max-height:750px)and (min-width:901px){.lab-shot{min-height:600px;padding-top:100px;padding-bottom:80px}.lab-copy h1,.lab-copy h2{font-size:clamp(33px,3.8vw,56px)}.lab-eyebrow{margin-bottom:18px}.lab-narration{margin-top:18px;font-size:13px}.lab-facts,.lab-tags,.lab-note,.lab-actions{margin-top:18px}.lab-map-label{top:113px;font-size:8px}.lab-room-caption{bottom:95px}}@media(prefers-reduced-motion:reduce){.lab-world,.lab-guide,.lab-controls{transition:none}.lab-chapter{height:110svh}.lab-copy{opacity:1!important;translate:none!important}.lab-controls>span i:after{animation:none}.lab-link{transition:none}.lab-world-wrap{opacity:.8}}.lab-app[data-motion=off] .lab-copy{opacity:1!important;translate:none!important}@media print{.lab-header,.lab-world-wrap,.lab-controls,.lab-guide,.lab-map-label,.lab-room-caption{display:none}.lab-app{background:#fff;color:#000}.lab-chapter,.lab-chapter:last-child{height:auto;break-inside:avoid}.lab-shot{height:auto;min-height:0;padding:25px;position:static}.lab-copy{width:100%;opacity:1!important;translate:none!important}.lab-copy h1,.lab-copy h2{font-size:30px;color:#000}.lab-narration{color:#333}.lab-archive{background:#fff;color:#000;padding:25px;-webkit-backdrop-filter:none;backdrop-filter:none}}.lab-scroll-steps{display:flex;gap:17px;margin-top:23px;max-width:450px}.lab-scroll-steps span{font:9px/1.6 var(--font-mono);color:#8397a8;border-top:1px solid #394a59;padding-top:9px;flex:1;transition:color .25s,border-color .25s}.lab-scroll-steps .is-current{color:var(--chapter-accent);border-color:var(--chapter-accent)}@media(max-width:900px){.lab-world{-webkit-mask-image:linear-gradient(#000 0 60%,transparent 100%);mask-image:linear-gradient(#000 0 60%,transparent 100%)}.lab-scroll-steps{margin-top:14px;gap:12px}.lab-scroll-steps span{font-size:8px;padding-top:6px}}.lab-archive .p-section{scroll-margin-top:22px}@media(max-width:900px){.lab-copy:before{content:"";position:absolute;z-index:-1;inset:-24px -25px -30px;background:linear-gradient(transparent,#080e18eb 38px,#080e18 130px);pointer-events:none}.lab-archive .p-section{scroll-margin-top:12px}}.lab-fallback .lab-world{display:none}.lab-app{background:#000}.lab-header{background:#020508ed}.lab-world-wrap{opacity:var(--world-opacity,0)}.lab-chapter-entrance .lab-copy{width:100%;max-width:1150px;text-align:center;margin-inline:auto}.lab-chapter-entrance .lab-eyebrow{justify-content:center;color:#9cadb5;letter-spacing:.15em}.lab-chapter-entrance .lab-eyebrow>span{display:none}.lab-chapter-entrance h1{max-width:none;font-size:clamp(48px,6.1vw,104px);line-height:1.1;letter-spacing:-.06em}.lab-chapter-entrance h1 em{color:#eef1f0}.lab-chapter-entrance .lab-narration{max-width:530px;margin:29px auto 0;color:#9fa8ae}.lab-chapter-entrance .lab-note{margin:27px auto 0;color:#71818a}.lab-chapter-entrance .lab-actions{justify-content:center;margin-top:33px}.lab-chapter-entrance .lab-room-caption{display:none}.lab-map-label{opacity:var(--world-opacity,0)}@media(max-width:900px){.lab-chapter-entrance .lab-shot{align-items:center;padding-top:105px;padding-bottom:110px}.lab-chapter-entrance h1{font-size:clamp(35px,9.2vw,54px)}.lab-chapter-entrance .lab-eyebrow{font-size:8px;letter-spacing:.08em}.lab-chapter-entrance .lab-narration{font-size:13px;margin-top:25px;max-width:345px}.lab-chapter-entrance .lab-note{margin-top:22px}.lab-chapter-entrance .lab-actions{margin-top:27px}.lab-chapter-entrance .lab-copy:before{display:none}}.lab-shot{translate:0 var(--shot-lock,0px);min-height:0;padding-top:var(--story-top,132px);padding-bottom:var(--story-bottom,96px)}.lab-copy{transform:scale(var(--copy-fit,1));transform-origin:left center}.lab-chapter-entrance .lab-copy{transform-origin:center}@media(max-width:900px){.lab-shot{align-items:flex-end}.lab-copy{transform-origin:left bottom}}.lab-exhibit-heading{position:fixed;left:var(--label-x);top:max(120px,var(--label-y));width:var(--label-width,19vw);z-index:6;pointer-events:none;opacity:var(--exhibit-heading-opacity,1);text-shadow:0 2px 12px #020508,0 1px 3px #020508}.lab-exhibit-heading:before{content:"";display:block;width:26px;height:2px;background:var(--chapter-accent);margin-bottom:12px}.lab-exhibit-heading h3{font:500 clamp(23px,2vw,34px)/1.15 var(--font-display);letter-spacing:-.04em;color:#f3f7fa}.lab-exhibit-heading p{font:10px/1.7 var(--font-mono);color:var(--chapter-accent);margin-top:8px;max-width:230px;text-wrap:balance}.lab-exhibit-heading.is-away{visibility:hidden;opacity:0}.lab-exhibit-heading[data-exhibit=mobility]{--label-x:60%;--label-y:24svh;--label-width:27vw}.lab-exhibit-heading[data-exhibit=discovery]{--label-x:77%;--label-y:24svh;--label-width:17vw}.lab-exhibit-heading[data-exhibit=systems]{--label-x:81%;--label-y:24svh;--label-width:14vw}.lab-exhibit-heading[data-exhibit=privacy]{--label-x:81%;--label-y:34svh;--label-width:13vw}.lab-exhibit-heading[data-exhibit=imagination]{--label-x:81%;--label-y:25svh;--label-width:13vw}.lab-exhibit-heading[data-exhibit=evidence]{--label-x:80%;--label-y:33svh;--label-width:14vw}.lab-exhibit-heading[data-exhibit=together]{--label-x:57%;--label-y:25svh;--label-width:27vw}@media(max-width:1100px)and (min-width:901px){.lab-exhibit-heading h3{font-size:23px}.lab-exhibit-heading p{font-size:9px}.lab-exhibit-heading[data-exhibit=discovery]{--label-x:76%;--label-width:18vw}.lab-exhibit-heading[data-exhibit=privacy],.lab-exhibit-heading[data-exhibit=imagination],.lab-exhibit-heading[data-exhibit=evidence]{--label-x:80%;--label-width:15vw}}@media(max-width:900px){.lab-exhibit-heading{top:max(91px,var(--mobile-label-y,14svh));left:var(--mobile-label-x,25px);width:var(--mobile-label-width,45%)}.lab-exhibit-heading h3{font-size:20px}.lab-exhibit-heading p{font-size:8px;margin-top:5px}.lab-exhibit-heading:before{width:18px;margin-bottom:7px}.lab-exhibit-heading[data-exhibit=mobility]{--mobile-label-y:15svh}.lab-exhibit-heading[data-exhibit=discovery]{--mobile-label-y:13svh;--mobile-label-width:65%}.lab-exhibit-heading[data-exhibit=systems]{--mobile-label-y:12svh}.lab-exhibit-heading[data-exhibit=privacy]{--mobile-label-y:23svh;--mobile-label-width:27%}.lab-exhibit-heading[data-exhibit=imagination]{--mobile-label-y:12svh}.lab-exhibit-heading[data-exhibit=evidence]{--mobile-label-y:18svh;--mobile-label-width:30%}.lab-exhibit-heading[data-exhibit=together]{--mobile-label-y:16svh}}@media print{.lab-exhibit-heading{display:none}.lab-copy{transform:none}.lab-shot{padding:25px}}@media(min-width:901px){.lab-chapter[data-composition=model-left] .lab-copy{margin-left:auto;transform-origin:right center}.lab-chapter[data-composition=model-left] .lab-room-caption{left:7vw;right:auto;text-align:left}.lab-experience[data-composition=model-left] .lab-world-shade{background:linear-gradient(270deg,#080e18f2,#080e18dc 24%,#080e188c 43%,#080e1800 68%),linear-gradient(0deg,#080e18e0,#080e1800 23% 83%,#080e185e)}.lab-exhibit-heading[data-exhibit=discovery]{--label-x:7%;--label-y:20svh;--label-width:24vw}.lab-exhibit-heading[data-exhibit=privacy]{--label-x:5%;--label-y:31svh;--label-width:11vw}.lab-exhibit-heading[data-exhibit=evidence]{--label-x:7%;--label-y:18svh;--label-width:25vw}.lab-chapter[data-composition=center] .lab-shot{align-items:flex-start;justify-content:center}.lab-chapter[data-composition=center] .lab-copy{width:100%;max-width:980px;text-align:center;transform-origin:center top}.lab-chapter[data-composition=center] .lab-eyebrow,.lab-chapter[data-composition=center] .lab-actions{justify-content:center}.lab-chapter[data-composition=center] h2{max-width:none;font-size:clamp(32px,3.5vw,60px)}.lab-chapter[data-composition=center] .lab-narration{max-width:640px;margin:18px auto 0}.lab-chapter[data-composition=center] .lab-note{max-width:none;margin-top:16px}.lab-chapter[data-composition=center] .lab-actions{margin-top:18px}.lab-chapter[data-composition=center] .lab-eyebrow{margin-bottom:16px}.lab-experience[data-composition=center] .lab-world-shade{background:linear-gradient(#080e18f2,#080e18c4 26%,#080e1800 58%,#080e1880)}.lab-exhibit-heading[data-exhibit=together]{--label-x:9%;--label-y:67svh;--label-width:20vw}.lab-experience[data-composition=model-left].lab-fallback .lab-world-wrap:before{left:7%;right:auto}}@media print{.lab-chapter[data-composition] .lab-copy{transform:none;margin:0;text-align:left}}@media(min-width:901px){.lab-experience[data-chapter=discovery] .lab-world-shade{background:linear-gradient(270deg,#080e18fa 0%,#080e18e8 30%,#080e1870 48%,transparent 62%),linear-gradient(0deg,#080e18ce,transparent 25%)}.lab-exhibit-heading[data-exhibit=discovery]{--label-x:8%;--label-y:19svh;--label-width:29vw}#discovery .lab-copy{width:45%}#discovery .lab-facts{padding-top:22px;border-top:1px solid #9dccff30;max-width:400px;gap:50px}#discovery .lab-room-caption{bottom:100px;font-size:8px}}html{scrollbar-width:thin;scrollbar-color:#485d6a #080e18}html::-webkit-scrollbar{width:7px}html::-webkit-scrollbar-track{background:#080e18}html::-webkit-scrollbar-thumb{background:#485d6a;border:2px solid #080e18;border-radius:8px}html::-webkit-scrollbar-thumb:hover{background:#94bcae}.lab-guide a:focus-visible span{opacity:1}@media(min-width:901px){.lab-experience[data-composition] .lab-world-shade,.lab-experience[data-chapter=discovery] .lab-world-shade{background:linear-gradient(0deg,#080e18dc,transparent 24%),linear-gradient(180deg,rgb(8 14 24 / var(--shade-center,0)),transparent 65%)}.lab-world-shade:before,.lab-world-shade:after{content:"";position:absolute;inset:0;pointer-events:none}.lab-world-shade:before{background:linear-gradient(90deg,#080e18f2 0%,#080e18dc 24%,#080e188c 43%,transparent 68%);opacity:var(--shade-left,1)}.lab-world-shade:after{background:linear-gradient(270deg,#080e18f2 0%,#080e18dc 24%,#080e188c 43%,transparent 68%);opacity:var(--shade-right,0)}}.lab-fallback .lab-world-wrap,.lab-fallback .lab-guide,.lab-fallback .lab-controls,.lab-fallback .lab-map-label,.lab-fallback .lab-room-caption{display:none}.lab-fallback-note{padding:125px 7vw 24px;margin:0;color:#acb9c7;font-size:14px;line-height:1.7}.lab-fallback .lab-chapter,.lab-fallback .lab-chapter:last-child{height:auto;scroll-margin-top:24px}.lab-fallback .lab-shot{position:relative;height:auto;min-height:0;translate:none;padding:48px 7vw;border-bottom:1px solid #31404f}.lab-fallback .lab-copy{opacity:1;translate:none;transform:none;width:100%;max-width:900px;margin-inline:auto;text-align:left}.lab-fallback .lab-copy:before{display:none}.lab-fallback .lab-copy h1,.lab-fallback .lab-copy h2{font-size:clamp(32px,5vw,64px)}.lab-fallback .lab-chapter-entrance .lab-eyebrow,.lab-fallback .lab-chapter-entrance .lab-actions{justify-content:flex-start}.lab-fallback .lab-chapter-entrance .lab-narration,.lab-fallback .lab-chapter-entrance .lab-note{margin-inline:0}@media(max-width:900px){.lab-fallback-note{padding-top:100px}}
