@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Permanent+Marker&family=Space+Grotesk:wght@400;500;600&family=Syne:wght@500;600;700;800&display=swap";:root{--palette-black-950: #050505;--palette-black-900: #0b0b0b;--palette-black-880: #090909;--palette-black-870: #141618;--palette-black-850: #111111;--palette-ink-900: #151513;--palette-white: #ffffff;--palette-red-stage: #dc2626;--palette-red-500: #e3262e;--palette-red-900: #7f1118;--palette-warm-050: #e8e0d1;--palette-grey-100: #f2f2f2;--palette-grey-400: #aaa6a0;--palette-grey-600: #77736e;--palette-font-serif: "Instrument Serif", serif;--palette-font-display: "Syne", sans-serif;--palette-font-body: "Space Grotesk", sans-serif;--palette-font-hand: "Permanent Marker", cursive;--palette-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}:root{--color-surface-black: var(--palette-black-950);--color-surface-dark: var(--palette-black-900);--color-surface-card: var(--palette-black-850);--color-stage: var(--palette-red-stage);--color-stage-grid: rgba(8, 8, 8, .24);--color-stage-grid-strong: rgba(8, 8, 8, .79);--color-stage-glow: rgba(255, 174, 148, .17);--color-text-primary: var(--palette-grey-100);--color-text-secondary: var(--palette-grey-400);--color-text-muted: var(--palette-grey-600);--color-detail-ink: rgba(255, 255, 255, .98);--color-detail-soft: rgba(255, 255, 255, .86);--color-detail-muted: rgba(255, 255, 255, .7);--color-detail-mid: rgba(255, 255, 255, .62);--color-detail-faint: rgba(255, 255, 255, .52);--color-detail-disabled: rgba(255, 255, 255, .3);--color-detail-hairline: rgba(255, 255, 255, .06);--color-detail-soft-strong: rgba(255, 255, 255, .94);--color-detail-muted-strong: rgba(255, 255, 255, .84);--color-detail-faint-strong: rgba(255, 255, 255, .72);--color-detail-muted-solid: #aaaaaa;--color-detail-line: rgba(255, 255, 255, .14);--color-detail-line-strong: rgba(255, 255, 255, .28);--color-detail-paper: rgba(255, 255, 255, .97);--color-detail-paper-soft: rgba(232, 232, 232, .95);--color-detail-paper-ink: #111111;--color-detail-panel-strong: rgba(0, 0, 0, .56);--color-detail-panel: rgba(0, 0, 0, .38);--color-detail-panel-faint: rgba(0, 0, 0, .24);--color-detail-panel-heavy: rgba(0, 0, 0, .76);--color-detail-session-surface: rgba(10, 10, 10, .78);--color-detail-surface-base: rgba(12, 12, 14, .18);--color-detail-surface-base-edge: rgba(255, 255, 255, .18);--color-detail-surface-base-shadow: 0 10px 30px rgba(0, 0, 2, .3);--color-detail-surface-base-filter: none;--color-detail-surface-base-sheen: radial-gradient(ellipse 70% 46% at 8% 0%, rgba(255, 255, 255, .18), transparent 68%), linear-gradient(135deg, rgba(255, 255, 255, .12), transparent 28%, transparent 72%, rgba(255, 255, 255, .045));--color-detail-surface-base-inset: inset 0 1px 0 rgba(255, 255, 255, .22), inset 1px 0 0 rgba(255, 255, 255, .08), inset 0 -1px 0 rgba(0, 0, 2, .16);--color-detail-surface-dark: rgba(12, 12, 14, .16);--color-detail-surface-dark-edge: rgba(255, 255, 255, .18);--color-detail-surface-dark-shadow: 0 6px 18px rgba(0, 0, 2, .24);--color-detail-surface-dark-filter: none;--color-detail-surface-paper: rgba(255, 255, 255, .76);--color-detail-surface-paper-edge: rgba(255, 255, 255, .72);--color-detail-surface-paper-shadow: 0 10px 30px rgba(0, 0, 2, .3);--color-detail-surface-paper-filter: none;--color-detail-surface-paper-sheen: radial-gradient(ellipse 72% 48% at 8% 0%, rgba(255, 255, 255, .58), transparent 68%), linear-gradient(135deg, rgba(255, 255, 255, .34), transparent 32%, transparent 72%, rgba(17, 17, 16, .035));--color-detail-surface-paper-inset: inset 0 1px 0 rgba(255, 255, 255, .72), inset 1px 0 0 rgba(255, 255, 255, .26), inset 0 -1px 0 rgba(17, 17, 16, .1);--radius-detail-surface: 1rem;--color-detail-surface-sheen: var(--color-detail-surface-base-sheen);--color-detail-surface-inset: var(--color-detail-surface-base-inset);--opacity-detail-surface-sheen: .72;--color-detail-surface-fill: var(--color-detail-surface-base);--color-detail-surface-edge: var(--color-detail-surface-base-edge);--color-detail-surface-shadow: var(--color-detail-surface-base-shadow);--color-detail-surface-control-paper: rgba(255, 255, 255, .3);--color-detail-surface-control-paper-edge: rgba(17, 17, 16, .16);--color-detail-surface-control-paper-shadow: 0 6px 18px rgba(0, 0, 2, .12);--color-detail-surface-control-paper-ink: rgba(17, 17, 16, .72);--color-detail-surface-paper-label: rgba(17, 17, 16, .6);--color-accent: var(--palette-red-500);--color-accent-deep: var(--palette-red-900);--color-accent-glow: rgba(227, 38, 46, .4);--color-glass-fill: rgba(255, 255, 255, .02);--color-glass-edge: rgba(255, 255, 255, .05);--color-glass-edge-active: rgba(239, 68, 68, .5);--color-annotation-matte-fill: rgba(11, 11, 11, .27);--color-annotation-matte-edge: rgba(255, 255, 255, .14);--color-annotation-matte-ink: var(--palette-white);--color-annotation-matte-lift: rgba(0, 0, 0, .14);--color-media-surface: var(--palette-black-900);--color-media-surface-cover: var(--palette-black-870);--color-media-edge: rgba(255, 248, 236, .14);--color-media-edge-demo: rgba(255, 248, 236, .18);--color-media-edge-hover: rgba(255, 248, 236, .28);--color-media-sheen: rgba(255, 248, 236, .06);--color-media-sheen-hover: rgba(255, 248, 236, .08);--color-media-hairline: rgba(255, 248, 236, .05);--color-media-focus-ring: rgba(255, 253, 249, .7);--color-media-lift: rgba(0, 0, 0, .28);--color-media-lift-hover: rgba(0, 0, 0, .34);--color-chip-surface: var(--palette-white);--color-chip-ink: var(--palette-ink-900);--color-chip-edge: rgba(0, 0, 0, .08);--color-chip-lift: rgba(0, 0, 0, .22);--type-family-serif: var(--palette-font-serif);--type-family-editorial: var(--palette-font-serif);--type-family-display: var(--palette-font-display);--type-family-body: var(--palette-font-body);--type-family-hand: var(--palette-font-hand);--type-family-mono: var(--palette-font-mono);--type-size-chip: .52rem;--type-tracking-chip: .14em;--type-size-case-metadata: .7rem;--radius-pill: 999px;--radius-media: .95rem;--radius-annotation-matte: 2rem;--radius-annotation-matte-compact: 1.35rem;--size-annotation-matte-blur: 2px;--border-width-hairline: 1px;--border-width-focus: 2px;--space-media-chip-inset: .8rem;--space-chip-pad-block: .3rem;--space-chip-pad-inline: .66rem;--space-chip-pad-inline-start: .48rem;--space-chip-pad-inline-end: .58rem;--space-chip-gap: .38rem;--size-chip-dot: .36rem;--space-annotation-matte-lift-y: 8px;--space-annotation-matte-lift-blur: 24px;--space-1: .25rem;--space-2: .5rem;--space-3: .65rem;--space-4: .85rem;--space-5: 1rem;--space-6: 1.25rem;--space-7: 1.5rem;--space-8: 2rem;--space-9: 3rem;--space-10: 3.75rem;--space-11: 5.5rem;--space-section: clamp(3.25rem, 7vw, 5.75rem);--space-gutter: clamp(1rem, 3vw, 2rem);--space-hero-gap: clamp(1.75rem, 4.5vw, 3.6rem);--type-size-label: .55rem;--type-size-body-sm: .84rem;--type-size-body: .92rem;--type-size-heading-sm: clamp(1.15rem, 1.8vw, 1.45rem);--type-size-heading-md: clamp(1.65rem, 3vw, 2.5rem);--type-size-heading-lg: clamp(1.9rem, 3.6vw, 3rem);--type-size-display: clamp(2.7rem, 5.4vw, 4.7rem);--type-tracking-eyebrow: .14em;--type-tracking-heading: -.04em;--type-tracking-display: -.055em;--type-leading-display: .92;--type-leading-heading: 1.06;--type-leading-body: 1.5;--radius-detail-control: .95rem;--radius-detail-mark: .72rem;--radius-detail-tag: .45rem;--measure-heading: 22ch;--measure-copy: 30rem}.case-section--keshi{--color-media-surface: var(--palette-black-880);--color-media-edge: rgba(255, 248, 236, .16);--radius-media: .78rem}:root{--bg-black: var(--color-surface-black);--bg-dark: var(--color-surface-dark);--bg-card: var(--color-surface-card);--stage-red: var(--color-stage);--stage-grid: var(--color-stage-grid);--stage-grid-strong: var(--color-stage-grid-strong);--stage-glow: var(--color-stage-glow);--red-primary: var(--color-accent);--red-dark: var(--color-accent-deep);--red-glow: var(--color-accent-glow);--paper: var(--palette-warm-050);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--font-serif: var(--type-family-serif);--font-editorial: var(--type-family-editorial);--font-display: var(--type-family-display);--font-body: var(--type-family-body);--font-hand: var(--type-family-hand);--font-mono: var(--type-family-mono);--glass-bg: var(--color-glass-fill);--glass-border: var(--color-glass-edge);--glass-border-hover: var(--color-glass-edge-active)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto;background:var(--stage-red)}body{min-width:320px;min-height:100vh;font-family:var(--font-body);background-color:var(--stage-red);color:var(--text-primary);line-height:1.6;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}img,video,canvas,svg{max-width:100%}:where(#project-details [data-surface=base]){--color-detail-surface-fill: var(--color-detail-surface-base);--color-detail-surface-edge: var(--color-detail-surface-base-edge);--color-detail-surface-shadow: var(--color-detail-surface-base-shadow)}:where(#project-details [data-surface=dark]){--color-detail-surface-fill: var(--color-detail-surface-dark);--color-detail-surface-edge: var(--color-detail-surface-dark-edge);--color-detail-surface-shadow: var(--color-detail-surface-dark-shadow)}:where(#project-details [data-surface=paper]){--color-detail-surface-fill: var(--color-detail-surface-paper);--color-detail-surface-edge: var(--color-detail-surface-paper-edge);--color-detail-surface-shadow: var(--color-detail-surface-paper-shadow);--color-detail-surface-sheen: var(--color-detail-surface-paper-sheen);--color-detail-surface-inset: var(--color-detail-surface-paper-inset);--opacity-detail-surface-sheen: .58}#project-details [data-surface]{background:var(--color-detail-surface-fill);border-color:var(--color-detail-surface-edge);box-shadow:var(--color-detail-surface-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}#project-details [data-surface-anchor]{position:relative}#project-details [data-surface-sheen]:before{content:"";display:block;position:absolute;inset:0;width:auto;height:auto;z-index:0;border-radius:inherit;background:var(--color-detail-surface-sheen);box-shadow:var(--color-detail-surface-inset);opacity:var(--opacity-detail-surface-sheen);filter:var(--detail-surface-sheen-filter, none);-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}#project-details [data-surface-sheen]>*{z-index:1}#project-details [data-surface-sheen]>:not([data-surface-positioned]){position:relative}.app-shell{position:relative;min-height:100vh;overflow:clip;color:var(--text-primary);background:transparent}.gallery-stage{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--stage-red)}.gallery-stage__glow{position:absolute;inset:-8%;background:radial-gradient(ellipse 58% 84% at 50% 46%,rgba(255,174,148,.17),transparent 52%),radial-gradient(ellipse 108% 92% at 50% 50%,transparent 42%,rgba(84,0,7,.1) 74%,rgba(24,0,4,.18) 100%),linear-gradient(90deg,rgba(8,0,1,.58) 0%,rgba(18,0,3,.34) 11%,rgba(36,0,4,.14) 22%,transparent 34%,transparent 66%,rgba(36,0,4,.14) 78%,rgba(18,0,3,.34) 89%,rgba(8,0,1,.58) 100%);animation:gallery-stage-drift 13s ease-in-out infinite alternate;will-change:transform}.site-main{position:relative;z-index:1}.gallery-room{position:relative;z-index:2;min-height:100svh;pointer-events:none}.gallery-room.is-gallery{height:100svh;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none}.gallery-room.is-experience{position:relative;z-index:2}.room-overlay{position:relative;z-index:3;min-height:100svh;opacity:1;transform:translateZ(0);pointer-events:auto;transition:opacity .78s cubic-bezier(.16,1,.3,1),transform .78s cubic-bezier(.16,1,.3,1);will-change:opacity,transform;contain:layout paint}.room-overlay.is-preparing{position:fixed;inset:0;z-index:2;opacity:0;transform:none;pointer-events:none;visibility:hidden;transition:none;animation:none}.room-overlay.is-entering{opacity:1;transform:translateZ(0);animation:room-overlay-enter .78s cubic-bezier(.16,1,.3,1) both}.room-overlay.is-active{opacity:1;transform:none;animation:none}.room-overlay.is-exiting{opacity:0;transform:translate3d(0,10px,0);pointer-events:none;animation:none}.route-enter-layer.is-preparing{position:fixed;inset:0;z-index:2;opacity:0;transform:none;pointer-events:none;visibility:hidden;transition:none;animation:none}html.boot-loader-active .corner-menu,html.loader-active .corner-menu,html.boot-loader-active .orbit-hero,html.loader-active .orbit-hero{opacity:0!important;pointer-events:none!important}.route-shell.is-hidden-stage{display:none}.route-shell{position:relative;z-index:3;min-height:100svh;width:100%}.route-shell--persona{background:#020817}.route-enter-layer.is-entering,.room-overlay.is-entering{opacity:1;transform:translateZ(0);animation:room-overlay-enter .78s cubic-bezier(.16,1,.3,1) both}.route-enter-layer.is-active,.room-overlay.is-active{opacity:1;transform:none;animation:none}.route-enter-layer.is-exiting,.room-overlay.is-exiting{opacity:0;transform:translate3d(0,10px,0);pointer-events:none;animation:none}html.room-content-entering .route-enter-layer:not(.is-preparing):not(.is-exiting),html.room-is-entering .route-enter-layer:not(.is-preparing):not(.is-exiting){animation:room-overlay-enter .78s cubic-bezier(.16,1,.3,1) both}@keyframes room-overlay-enter{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translateZ(0)}}html.room-content-exiting,html.room-content-exiting body{cursor:progress}html.room-content-exiting .gallery-stage,html.room-content-exiting .gallery-stage-layer,html.room-is-exiting .gallery-stage,html.room-is-exiting .gallery-stage-layer,html.room-is-entering .gallery-stage,html.room-is-entering .gallery-stage-layer{visibility:visible!important}.loading-fallback{min-height:100svh;background:transparent}.loading-fallback--persona{background:#020817}@keyframes gallery-stage-drift{0%{transform:translate3d(-1.44%,-.84%,0) scale(1)}to{transform:translate3d(1.8%,1.2%,0) scale(1.042)}}@media(prefers-reduced-motion:reduce){.gallery-stage__glow{animation:none}}html.home-room-active,html.home-room-active body{height:100%;max-height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}html.home-room-active .app-shell,html.home-room-active main,html.home-room-active .site-main{height:100svh;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none;touch-action:none}html.home-room-active .gallery-room.is-gallery,html.home-room-active .gallery-stage-layer{height:100svh;height:100dvh;max-height:100svh;max-height:100dvh}html.stage-room-active:not(.home-room-active){overscroll-behavior-y:contain}.persona-shell{background:#020817}section[id]{scroll-margin-top:5.5rem}.scribbles-bg-wrapper{position:absolute;inset:0 0 auto;z-index:0;width:100%;height:100svh;overflow:hidden;pointer-events:none}.font-display{font-family:var(--font-display)}.font-serif{font-family:var(--font-serif)}.font-serif-italic{font-family:var(--font-serif);font-style:italic}.font-mono{font-family:var(--font-mono)}.text-stroke{-webkit-text-stroke:1px rgba(255,255,255,.3);color:transparent}.noise-overlay{position:fixed;inset:0;z-index:80;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 96 96' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.62'/%3E%3C/svg%3E");background-size:96px 96px;opacity:.032;pointer-events:none}.glass-panel{background:#0f141999;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05)}.collage-img{box-shadow:0 25px 50px -12px #00000080;transition:all .6s cubic-bezier(.23,1,.32,1)}.collage-img:hover{transform:scale(1.05) rotate(0)!important;z-index:100}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-delayed{animation:float 8s ease-in-out infinite 1s}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .8s cubic-bezier(.16,1,.3,1) forwards}.reveal-on-scroll{opacity:0;transform:translateY(30px);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.btn-primary{background:var(--text-primary);color:var(--bg-black);padding:1rem 2rem;border-radius:9999px;font-family:Syne,sans-serif;font-weight:700;font-size:1rem;transition:all .3s ease;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.btn-primary:hover{background:var(--red-primary);color:var(--text-primary);transform:scale(1.05)}.btn-secondary{background:transparent;color:var(--text-primary);padding:1rem 2rem;border-radius:9999px;font-family:Syne,sans-serif;font-weight:700;font-size:1rem;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;cursor:pointer}.btn-secondary:hover{background:#ffffff0d;border-color:#ffffff80}.experience-card{background:#ffffff08;border-left:2px solid transparent;transition:all .5s ease;position:relative;overflow:hidden}.experience-card:hover{background:#ffffff0f;border-left-color:var(--red-primary)}.experience-card:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:var(--red-primary);filter:blur(100px);opacity:0;transition:opacity .5s ease}.experience-card:hover:before{opacity:.1}.tech-item{display:flex;flex-direction:column;align-items:center;gap:1rem;transition:all .3s ease}.tech-item:hover .tech-icon{background:var(--red-primary);transform:scale(1.1)}.tech-item:hover .tech-label{color:var(--text-primary)}.tech-icon{width:4rem;height:4rem;background:#ffffff0d;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:all .3s ease}.tech-label{font-family:Syne,sans-serif;font-weight:700;font-size:.875rem;color:var(--text-muted);transition:color .3s ease}.project-card{min-width:85vw;aspect-ratio:4/3;position:relative;overflow:hidden;background:#111;scroll-snap-align:center}@media(min-width:768px){.project-card{min-width:600px}}.project-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s ease;opacity:.6}.project-card:hover .project-card-bg{transform:scale(1.1);opacity:.4}.project-card-gradient{position:absolute;inset:0;background:linear-gradient(to top,black 0%,rgba(0,0,0,.5) 50%,transparent 100%)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}html,body{-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;background:transparent!important}*{scrollbar-width:none}.tag{padding:.25rem .75rem;background:#ffffff1a;border-radius:9999px;font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 2s infinite}::selection{background:var(--red-primary);color:var(--text-primary)}a{text-decoration:none;color:inherit;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}:where(a,button,input,textarea,select):focus-visible{outline:2px solid var(--paper);outline-offset:4px}@media(max-width:767px){.md-hidden{display:none!important}}@media(min-width:768px){.md-show{display:block!important}.md-flex{display:flex!important}}.gradient-red,.gradient-purple{display:none}.arrow-btn{width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:all .3s ease;background:transparent;color:var(--text-primary);cursor:pointer}.arrow-btn:hover{background:var(--text-primary);color:var(--bg-black);border-color:var(--text-primary)}.social-link{color:var(--text-muted);transition:color .3s ease}.social-link:hover{color:var(--text-primary)}body.is-scrolling .tv-static,body.is-scrolling .tv-tracking,body.is-scrolling .tv-image,body.is-scrolling .marquee-content,body.is-scrolling .animate-pulse,body.is-scrolling .animate-pulse-glow{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}html.stage-room-active .gallery-stage,html.stage-room-active .gallery-stage-layer,html.document-room-active .gallery-stage,html.document-room-active .gallery-stage-layer,html.room-content-exiting .gallery-stage,html.room-content-exiting .gallery-stage-layer,html.room-is-exiting .gallery-stage,html.room-is-exiting .gallery-stage-layer,html.room-is-entering .gallery-stage,html.room-is-entering .gallery-stage-layer{visibility:visible!important}html.stage-room-active .gallery-stage-layer,html.home-room-active .gallery-stage-layer,html.document-room-active .gallery-stage-layer{opacity:1}html.document-room-active .route-shell--page,html.document-room-active .route-shell--page .document-room{background:transparent!important}html.document-room-active .gallery-stage-layer{pointer-events:none;contain:none}html.document-room-active .app-shell{overflow:visible}.corner-menu{--menu-ink: #f3eee4;--menu-mute: rgba(243, 238, 228, .58);--menu-accent: #e84b42;--menu-glow: rgba(232, 75, 66, .28);--glyph-size: 1.12rem;--arrow-size: .88rem;position:fixed;z-index:150;top:clamp(1rem,2vw,2rem);right:clamp(1rem,2vw,2rem);display:grid;justify-items:end;color:var(--menu-ink);font-family:var(--font-display);font-weight:800;opacity:0;mix-blend-mode:normal}html.portfolio-ready:not(.loader-active):not(.boot-loader-active) .corner-menu{animation:corner-menu-reveal .78s cubic-bezier(.22,1,.36,1) .12s both}.corner-menu.is-route-ready{opacity:1}html.poster-transition-active .corner-menu,html.room-content-exiting .corner-menu,html.room-content-entering .corner-menu{display:none}html.loader-active .corner-menu,html.boot-loader-active .corner-menu{opacity:0!important;animation:none!important;pointer-events:none!important}@keyframes corner-menu-reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.corner-menu__trigger{display:inline-flex;align-items:center;gap:.48rem;min-height:1.35em;padding:.38rem 0;border:0;color:inherit;background:transparent;font:inherit;font-size:clamp(1rem,1.35vw,1.35rem);font-weight:800;letter-spacing:-.045em;line-height:1;cursor:pointer}.corner-menu__trigger-mark{display:grid;place-items:center;width:1.2em;height:1.2em;border:1px solid rgba(243,238,228,.28);border-radius:999px;color:#f3eee4;background:#08080847;box-shadow:0 0 0 1px #0808082e;transition:border-color .18s ease,background-color .18s ease,transform .22s ease}.corner-menu__trigger-mark svg{width:.62em;height:.62em}.corner-menu__trigger:hover .corner-menu__trigger-mark,.corner-menu__trigger:focus-visible .corner-menu__trigger-mark,.corner-menu.is-open .corner-menu__trigger-mark{border-color:#f3eee4b8;background:#e84b4229;transform:rotate(-8deg) scale(1.04)}.corner-menu__panel{display:grid;justify-items:end;gap:.08rem;min-width:0;padding:.45rem 0 .15rem;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .22s ease,transform .36s cubic-bezier(.16,1,.3,1),visibility .22s}.corner-menu__link{--glyph-width: 0px;--glyph-gap: 0px;--glyph-opacity: 0;--glyph-shift: 10px;--arrow-width: 0px;--arrow-gap: 0px;--arrow-opacity: 0;--arrow-shift: -8px;--meta-max: 0px;--meta-opacity: 0;--meta-shift: -4px;display:grid;justify-items:end;width:max-content;max-width:min(20rem,calc(100vw - 2rem));margin-left:auto;padding:.38rem 0;color:inherit;text-align:right;text-decoration:none;transform:translate(10px);transition:transform .38s cubic-bezier(.16,1,.3,1),background-color .22s ease,opacity .18s ease}.corner-menu__link:nth-child(2){transition-delay:20ms}.corner-menu__link:nth-child(3){transition-delay:40ms}.corner-menu__link:nth-child(4){transition-delay:60ms}.corner-menu__row{display:flex;align-items:center;justify-content:flex-end;min-height:1.35em;line-height:1}.corner-menu__glyph{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:var(--glyph-width);height:1em;margin-right:var(--glyph-gap);overflow:hidden;color:#f3eee4d1;opacity:var(--glyph-opacity);transform:translate(var(--glyph-shift));filter:none;transition:width .34s cubic-bezier(.16,1,.3,1),margin .34s cubic-bezier(.16,1,.3,1),opacity .22s ease,transform .34s cubic-bezier(.16,1,.3,1),color .18s ease}.corner-menu__glyph-icon{display:block;flex:0 0 auto;width:var(--glyph-size);height:var(--glyph-size);min-width:var(--glyph-size);min-height:var(--glyph-size);stroke-width:1.9}.corner-menu__label{display:inline-flex;align-items:center;height:1em;font-size:clamp(1rem,1.35vw,1.35rem);font-weight:800;letter-spacing:-.045em;line-height:1;white-space:nowrap}.corner-menu__arrow{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:var(--arrow-width);height:1em;margin-left:var(--arrow-gap);overflow:hidden;color:#f3eee4b8;opacity:var(--arrow-opacity);transform:translate(var(--arrow-shift));transition:width .34s cubic-bezier(.16,1,.3,1),margin .34s cubic-bezier(.16,1,.3,1),opacity .22s ease,transform .34s cubic-bezier(.16,1,.3,1),color .18s ease}.corner-menu__arrow svg{display:block;width:var(--arrow-size);height:var(--arrow-size);min-width:var(--arrow-size);min-height:var(--arrow-size)}.corner-menu__meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:.4rem;max-width:12rem;max-height:var(--meta-max);margin-top:0;overflow:hidden;color:var(--menu-mute);font-family:var(--font-mono);font-size:.56rem;font-weight:600;letter-spacing:.08em;line-height:1.15;text-transform:uppercase;opacity:var(--meta-opacity);transform:translateY(var(--meta-shift));transition:max-height .34s cubic-bezier(.16,1,.3,1),margin .34s cubic-bezier(.16,1,.3,1),opacity .22s ease,transform .32s cubic-bezier(.16,1,.3,1),color .18s ease}.corner-menu__code{color:#f3eee4b8;flex:0 0 auto}.corner-menu__hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.corner-menu__link.is-disabled{opacity:.38;cursor:default}.corner-menu__link.is-current .corner-menu__code{color:var(--menu-accent)}.corner-menu.is-open .corner-menu__panel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.corner-menu.is-open .corner-menu__link{transform:translate(0)}.corner-menu__link:hover,.corner-menu__link:focus-visible,.corner-menu__link.is-active,.corner-menu__link.is-current{--glyph-width: var(--glyph-size);--glyph-gap: .3rem;--glyph-opacity: 1;--glyph-shift: 0px;--arrow-width: var(--arrow-size);--arrow-gap: .26rem;--arrow-opacity: 1;--arrow-shift: 0px;--meta-max: 1.1rem;--meta-opacity: 1;--meta-shift: 0px;color:inherit}.corner-menu__link:hover .corner-menu__glyph,.corner-menu__link:focus-visible .corner-menu__glyph,.corner-menu__link.is-active .corner-menu__glyph,.corner-menu__link.is-current .corner-menu__glyph{color:#f3eee4eb}.corner-menu__link:hover .corner-menu__meta,.corner-menu__link:focus-visible .corner-menu__meta,.corner-menu__link.is-active .corner-menu__meta,.corner-menu__link.is-current .corner-menu__meta{margin-top:.18rem}.corner-menu.has-active .corner-menu__link.is-current:not(.is-active):not(:hover):not(:focus-visible){--glyph-width: 0px;--glyph-gap: 0px;--glyph-opacity: 0;--glyph-shift: 10px;--arrow-width: 0px;--arrow-gap: 0px;--arrow-opacity: 0;--arrow-shift: -8px;--meta-max: 0px;--meta-opacity: 0;--meta-shift: -4px}.corner-menu.has-active .corner-menu__link.is-current:not(.is-active):not(:hover):not(:focus-visible) .corner-menu__meta{margin-top:0}.corner-menu__link.is-disabled:hover,.corner-menu__link.is-disabled:focus-visible,.corner-menu__link.is-disabled.is-active{--arrow-opacity: .9}.corner-menu__link.is-disabled:hover .corner-menu__glyph,.corner-menu__link.is-disabled:focus-visible .corner-menu__glyph,.corner-menu__link.is-disabled.is-active .corner-menu__glyph{color:#f3eee4b3}.corner-menu__link.is-disabled:hover .corner-menu__arrow,.corner-menu__link.is-disabled:focus-visible .corner-menu__arrow,.corner-menu__link.is-disabled.is-active .corner-menu__arrow{color:#f3eee494}@media(max-width:700px){.corner-menu{--menu-ink: #eeeae2;--menu-mute: rgba(238, 234, 226, .58);--glyph-size: 1.18rem;top:max(.85rem,env(safe-area-inset-top,0px));right:max(.85rem,env(safe-area-inset-right,0px));color:#eeeae2;mix-blend-mode:normal}.corner-menu__trigger{min-height:44px;min-width:44px;justify-content:flex-end;padding:.55rem .15rem}.corner-menu__panel{min-width:min(15.5rem,calc(100vw - 1.5rem));padding:.7rem .75rem .55rem;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;mix-blend-mode:normal}.corner-menu__link{min-height:44px;padding:.62rem .1rem;max-width:100%}.corner-menu__trigger,.corner-menu__label{font-size:1.4rem}.corner-menu__meta{max-width:10.5rem}}@media(max-width:420px){.corner-menu__panel{min-width:min(14.25rem,calc(100vw - 1rem))}.corner-menu__trigger,.corner-menu__label{font-size:1.25rem}}@media(pointer:coarse){.corner-menu__trigger,.corner-menu__link{min-height:44px}.corner-menu__trigger{padding-block:.55rem}.corner-menu__link{padding-block:.62rem}}@media(prefers-reduced-motion:reduce){.corner-menu{opacity:1;animation:none!important}.corner-menu,.corner-menu *{transition:none!important}.corner-menu__link.is-current,.corner-menu__link.is-active,.corner-menu__link:hover,.corner-menu__link:focus-visible{--glyph-width: var(--glyph-size);--glyph-gap: .3rem;--glyph-opacity: 1;--glyph-shift: 0px;--arrow-width: var(--arrow-size);--arrow-gap: .26rem;--arrow-opacity: 1;--arrow-shift: 0px;--meta-max: 1.1rem;--meta-opacity: 1;--meta-shift: 0px}.corner-menu.has-active .corner-menu__link.is-current:not(.is-active):not(:hover):not(:focus-visible){--glyph-width: 0px;--glyph-gap: 0px;--glyph-opacity: 0;--arrow-width: 0px;--arrow-gap: 0px;--arrow-opacity: 0;--meta-max: 0px;--meta-opacity: 0}.corner-menu__meta{margin-top:.18rem}}.cursor-wrapper{--cursor-contrast: #f3eee4;position:fixed;inset:0;z-index:12000;opacity:0;pointer-events:none;transition:opacity .12s ease}.cursor-wrapper.is-ready{opacity:1}.cursor-pos-wrapper{position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;will-change:transform}.custom-cursor-mover{z-index:2}.cursor-follower-mover{z-index:1}.custom-cursor,.cursor-follower{position:absolute;top:0;left:0;border-radius:50%;transform:translate(-50%,-50%)}.custom-cursor{width:18px;height:18px;background:var(--cursor-contrast);box-shadow:0 0 0 1px #05050538,0 0 10px #f3eee42e;transition:width .48s cubic-bezier(.22,1,.36,1),height .48s cubic-bezier(.22,1,.36,1),opacity .32s cubic-bezier(.22,1,.36,1),transform .48s cubic-bezier(.22,1,.36,1),box-shadow .36s cubic-bezier(.22,1,.36,1)}.cursor-follower{display:grid;width:0;height:0;place-items:center;border:0;background:transparent;box-shadow:none;opacity:0;transition:width .56s cubic-bezier(.22,1,.36,1),height .56s cubic-bezier(.22,1,.36,1),border-width .42s cubic-bezier(.22,1,.36,1),border-color .42s cubic-bezier(.22,1,.36,1),background-color .42s cubic-bezier(.22,1,.36,1),opacity .36s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1)}.cursor-label{color:#050505;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.09em;line-height:1;opacity:0;transform:scale(.7);transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1);white-space:nowrap}.cursor-wrapper.is-pressed .cursor-follower{transform:translate(-50%,-50%) scale(.86)}.state-pointer .custom-cursor,.state-explore .custom-cursor,.state-drag .custom-cursor,.state-view .custom-cursor,.state-music .custom-cursor{width:10px;height:10px;opacity:1;box-shadow:0 0 0 1px #05050529,0 0 14px #f3eee447}.state-pointer .cursor-follower{width:78px;height:78px;opacity:1;border:1px solid rgba(232,75,66,.9);background:#ffffff0a;box-shadow:0 0 0 .5px #ffffff59,0 8px 24px #0000001f;transform:translate(-50%,-50%) scale(1)}.state-view .cursor-follower{width:72px;height:72px;opacity:1;border:1.5px solid rgba(255,253,249,.88);background:transparent;mix-blend-mode:normal;box-shadow:0 0 0 1px #0000002e,0 0 0 .5px #ffffff40}.state-view .cursor-label{opacity:0;transform:scale(.7)}.state-explore .cursor-follower{width:112px;height:112px;opacity:1;border:1px solid rgba(0,0,0,.18);border-color:#0000002e;background:var(--paper);mix-blend-mode:normal;box-shadow:0 0 0 .5px #ffffff59,0 .55rem 1.6rem #00000038}.state-drag .cursor-follower{width:96px;height:96px;opacity:1;border:1px solid rgba(255,255,255,.18);background:#c53c34;mix-blend-mode:normal;box-shadow:0 0 0 .5px #ffffff59,0 .55rem 1.6rem #00000038}.state-explore .cursor-label,.state-drag .cursor-label{opacity:1;transform:scale(1)}.state-drag .cursor-label{color:var(--text-primary)}.state-text .custom-cursor{width:21px;height:21px;border-radius:50%;background:var(--cursor-contrast)}.state-text .cursor-follower{width:0;height:0;opacity:0;border-color:transparent}.state-music .cursor-follower{width:118px;height:118px;opacity:1;border:1px solid rgba(232,224,209,.42);mix-blend-mode:normal}.cursor-wrapper.is-pressed .custom-cursor{transform:translate(-50%,-50%) scale(.82)}@media(hover:hover)and (pointer:fine){html.custom-cursor-ready,html.custom-cursor-ready body,html.custom-cursor-ready body *{cursor:none!important}}@media(prefers-reduced-motion:reduce){.cursor-wrapper{display:none!important}}.loader-container{position:fixed;inset:0;z-index:10000;min-height:100svh;overflow:hidden;color:var(--stage-red);background:#030303;font-family:var(--font-mono);will-change:transform,opacity}.loader-counter{position:absolute;z-index:6;top:6vh;left:calc(50% + min(22vw,24rem));color:#d34a40;font-size:clamp(.9rem,1.15vw,1.2rem);font-weight:700;letter-spacing:.025em;font-variant-numeric:tabular-nums}.loader-counter:before{content:"["}.loader-counter:after{content:"]"}.loader-stage{position:absolute;inset:8vh 5vw;display:grid;place-items:center}.loader-frame{position:absolute;width:min(40vw,36rem);aspect-ratio:16 / 10;height:auto;margin:0;overflow:hidden;contain:paint;border:0;background:#0b0b0b;box-shadow:0 2.5rem 8rem #0000009e;box-sizing:border-box;backface-visibility:hidden;transform:translateZ(0);will-change:transform,opacity}.loader-frame--2,.loader-frame--3{width:min(40vw,36rem);height:auto}.loader-frame img{width:100%;height:100%;object-fit:cover;display:block}.loader-wipe{position:absolute;z-index:5;top:50%;left:50%;display:block;contain:paint;background:var(--stage-red);backface-visibility:hidden;transform:translateZ(0);transform-origin:center center;will-change:transform,opacity}html.loader-active,html.loader-active body{overflow:hidden}@media(max-width:700px){.loader-stage{inset:10vh 1rem}.loader-frame,.loader-frame--2,.loader-frame--3{width:78vw;height:auto;aspect-ratio:16 / 10}.loader-counter{top:6vh;right:1.1rem;left:auto}}@media(prefers-reduced-motion:reduce){.loader-frame{display:none}.loader-frame:last-child{display:block;opacity:1;transform:none}}.poster-select-transition{position:fixed;inset:0;z-index:140;overflow:hidden;pointer-events:auto;visibility:visible;isolation:isolate}.poster-select-transition__curtain{position:absolute;inset:0;pointer-events:none}.poster-select-transition__curtain{z-index:1;background-color:var(--stage-red, #dc2626);transform:translate3d(0,100%,0);will-change:transform}html.poster-transition-active,html.poster-transition-active body{overflow:hidden;overscroll-behavior:none}html.poster-transition-active .corner-menu{pointer-events:none}html.poster-transition-active .route-shell.route-enter-layer{opacity:1!important;transform:none!important;visibility:visible!important;animation:none!important}.orbit-hero{position:relative;z-index:2;height:100svh;min-height:38rem;overflow:hidden;isolation:isolate;color:#eee8dc;background:transparent;pointer-events:none;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}.orbit-hero.is-exiting,html.room-content-exiting .orbit-hero{opacity:0;transform:translate3d(0,-10px,0);pointer-events:none}.orbit-hero:before{display:none}.orbit-hero__grid{display:none}.gallery-stage-layer{position:fixed;inset:0;z-index:1;width:100vw;height:100svh;height:100dvh;pointer-events:none;opacity:1;visibility:visible;transition:opacity .7s cubic-bezier(.16,1,.3,1);contain:layout paint style}.gallery-stage-layer.is-interactive{pointer-events:auto}.gallery-stage-layer.is-stage-only{pointer-events:none}.gallery-stage-layer .gallery-scene{width:100%;height:100%;min-height:100svh}.gallery-scene{position:absolute;inset:0;z-index:2}.gallery-scene.is-stage-only{pointer-events:none}.gallery-webgl{display:block;width:100%;height:100%;opacity:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gallery-webgl.is-dragging{cursor:grabbing}.gallery-stage-layer.is-stage-only .gallery-webgl,.gallery-scene.is-stage-only .gallery-webgl{cursor:default;touch-action:auto;pointer-events:none}.gallery-webgl.is-hovering{cursor:pointer}.gallery-scene__active{position:absolute;z-index:4;top:0;left:0;display:inline-flex;align-items:center;max-width:min(22rem,calc(100% - 1.5rem));padding:.54rem .9rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#fffffffa;background:#ffffff0b;box-shadow:inset 0 1px #ffffff2e,0 6px 18px #00000014;-webkit-backdrop-filter:blur(24px) saturate(1.35);backdrop-filter:blur(24px) saturate(1.35);font:650 .78rem/1 var(--font-mono);letter-spacing:.08em;text-shadow:0 1px 1px rgba(0,0,0,.28),0 0 12px rgba(0,0,0,.18);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translate3d(-9999px,-9999px,0);pointer-events:none;isolation:isolate;will-change:transform,opacity;transition:opacity .16s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.gallery-scene__active:after{content:none}.gallery-scene__active.is-visible{opacity:1}.gallery-scene__active:before{content:none}.orbit-hero__identity{position:absolute;z-index:10;top:clamp(1rem,2.2vw,2.2rem);left:clamp(1rem,2.2vw,2.2rem);display:grid;gap:.2rem;opacity:0;pointer-events:none}.orbit-hero__identity strong{font:800 clamp(.92rem,1.42vw,1.45rem)/1 var(--font-display);letter-spacing:-.045em}.orbit-hero__identity span,.orbit-hero__footer{font:600 clamp(.48rem,.58vw,.62rem)/1 var(--font-mono);letter-spacing:.12em}.orbit-hero__footer{position:absolute;z-index:10;right:clamp(1rem,2.2vw,2.2rem);bottom:clamp(1rem,2vw,2rem);left:clamp(1rem,2.2vw,2.2rem);display:flex;justify-content:space-between;color:#eee8dcb8;opacity:0;pointer-events:none}.orbit-hero__footer a{color:#eee8dc;pointer-events:auto}html.room-content-exiting .orbit-hero__identity,html.room-is-exiting .orbit-hero__identity,html.room-content-exiting .orbit-hero__footer,html.room-is-exiting .orbit-hero__footer{opacity:0!important;transform:translateY(-12px);transition:opacity .26s ease,transform .42s cubic-bezier(.22,1,.36,1)}html.room-content-exiting .gallery-scene__active,html.room-is-exiting .gallery-scene__active,html.document-room-active .gallery-scene__active,.gallery-scene.is-stage-only .gallery-scene__active{opacity:0!important;visibility:hidden;transition:opacity .18s ease}html.portfolio-ready .orbit-hero__identity{animation:interface-reveal .7s cubic-bezier(.22,1,.36,1) .18s both}html.portfolio-ready .orbit-hero__footer{animation:interface-reveal .62s cubic-bezier(.22,1,.36,1) 1.88s both}@keyframes interface-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes aurora-drift{0%{transform:translate3d(-1.44%,-.84%,0) scale(1)}to{transform:translate3d(1.8%,1.2%,0) scale(1.042)}}@media(max-width:1024px){.orbit-hero__identity strong{font-size:clamp(.95rem,2.2vw,1.25rem)}.gallery-scene__active{max-width:min(18rem,calc(100% - 1.25rem));padding:.52rem .85rem;font-size:.68rem}}@media(max-width:700px){.orbit-hero{min-height:100svh;min-height:100dvh}.orbit-hero__identity{top:max(1rem,env(safe-area-inset-top,0px));left:max(1rem,env(safe-area-inset-left,0px));right:max(5.5rem,env(safe-area-inset-right,0px))}.orbit-hero__identity strong{font-size:clamp(.9rem,5.2vw,1.15rem)}.orbit-hero__footer{right:max(1rem,env(safe-area-inset-right,0px));bottom:max(1rem,env(safe-area-inset-bottom,0px));left:max(1rem,env(safe-area-inset-left,0px));gap:.75rem;flex-wrap:wrap}.gallery-scene__active{max-width:min(15rem,calc(100% - 1rem));padding:.48rem .78rem;font-size:.64rem;letter-spacing:.05em}}@media(max-width:420px){.orbit-hero__footer span:nth-child(2){display:none}.orbit-hero__identity span{letter-spacing:.1em}}@media(max-height:700px)and (orientation:landscape){.orbit-hero{height:100svh;height:100dvh;min-height:0}.orbit-hero__identity{top:max(.75rem,env(safe-area-inset-top,0px));right:max(5.5rem,env(safe-area-inset-right,0px));left:max(.85rem,env(safe-area-inset-left,0px))}.orbit-hero__footer{right:max(.85rem,env(safe-area-inset-right,0px));bottom:max(.7rem,env(safe-area-inset-bottom,0px));left:max(.85rem,env(safe-area-inset-left,0px))}.orbit-hero__footer span:nth-child(2){display:none}}.orbit-static-projects{display:none}@media(prefers-reduced-motion:reduce){.orbit-hero:before{animation:none}.gallery-webgl,.orbit-hero__identity,.orbit-hero__footer{opacity:1;animation:none!important}.gallery-scene{background:none}.gallery-scene__active,.orbit-hero__footer span:nth-child(2){display:none}.orbit-static-projects{position:absolute;inset:6rem max(1rem,calc((100% - 48rem)/2)) 4rem;display:flex;flex-direction:column;justify-content:safe center;overflow-y:auto;padding:.5rem 1.25rem;background:#18000466;pointer-events:auto;touch-action:pan-y;overscroll-behavior:contain}.orbit-static-projects a{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding-block:.8rem;border-bottom:1px solid rgba(255,255,255,.25);color:#fff;font:600 clamp(1rem,2.4vw,1.7rem)/1.35 var(--font-display);text-decoration:none}.orbit-static-projects a:last-child{border-bottom:0}.orbit-static-projects a:hover{text-decoration:underline;text-underline-offset:.2em}.orbit-static-projects a:focus-visible{outline:2px solid #fff;outline-offset:-2px}}@media(prefers-reduced-motion:reduce)and (max-width:700px){.orbit-hero__identity{right:10rem}.orbit-hero__identity strong{font-size:.82rem;overflow-wrap:anywhere}}html.stage-dimmed .gallery-stage__glow{opacity:.72}.document-room{position:relative;z-index:3;min-height:100svh;pointer-events:auto;background:transparent}.document-room--stack .engine-section,.document-room--contact .engine-section,.document-room--contact .channel-section,.document-room--project .case-section{background:transparent!important;background-image:none!important;background-color:transparent!important}.document-room--stack .engine-section:before,.document-room--stack .engine-section:after,.document-room--contact .engine-section:before,.document-room--contact .engine-section:after,.document-room--contact .channel-section:before,.document-room--contact .channel-section:after{content:none!important;display:none!important}.case-section{--case-ink: var(--color-detail-ink);--case-soft: var(--color-detail-soft);--case-mute: var(--color-detail-muted);--case-faint: var(--color-detail-faint);--case-line: var(--color-detail-line);--case-line-strong: var(--color-detail-line-strong);--case-surface: rgba(255, 255, 255, .045);--case-surface-hover: rgba(255, 255, 255, .08);--case-paper: var(--color-detail-paper);--case-paper-ink: var(--color-detail-paper-ink);--case-margin: clamp(1.15rem, 4.5vw, 4.5rem);position:relative;isolation:isolate;overflow:clip;min-height:100svh;padding:clamp(5.75rem,10vw,8.5rem) var(--case-margin) clamp(4rem,8vw,6.5rem);color:var(--case-ink);background:transparent}.case-section--empty{display:grid;align-items:center}.case-section .tech-stack-list--case{--tech-stack-ink: var(--color-detail-ink);--tech-stack-paper: var(--color-detail-paper-soft);--tech-stack-soft: var(--color-detail-faint);--tech-stack-muted: var(--color-detail-soft)}.case-shell{width:min(100%,1120px);margin:0 auto}.case-top{display:flex;align-items:baseline;justify-content:space-between;gap:.85rem 1.25rem;margin-bottom:clamp(2rem,4.5vw,3rem);padding-bottom:.9rem;border-bottom:1px solid var(--case-line);color:var(--case-mute);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.case-top__meta{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.case-top__meta span:first-child{color:var(--case-soft)}.case-top__back{display:inline-flex;align-items:center;gap:.4rem;color:var(--case-soft);text-decoration:none;transition:color .16s ease}@media(pointer:coarse){.case-top__back{min-height:44px;padding-block:.65rem}}.case-top__back svg{width:.9rem;height:.9rem}.case-top__back:hover,.case-top__back:focus-visible{color:#fff}.case-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr);gap:clamp(2rem,5vw,4rem);align-items:start;margin-bottom:clamp(2.75rem,6vw,4.25rem)}.case-kicker{margin:0 0 .85rem;color:var(--case-mute);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}.case-hero__copy h1,.case-section--empty h1{margin:0;max-width:12ch;color:var(--case-ink);font-family:var(--font-display);font-size:clamp(2.6rem,5.6vw,4.8rem);font-weight:700;letter-spacing:-.055em;line-height:.94}.case-role{margin:.95rem 0 0;color:var(--case-soft);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.case-lede{max-width:34rem;margin:1.05rem 0 0;color:var(--case-mute);font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.65}.case-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.7rem}.case-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1.05rem;border:1px solid var(--case-line-strong);color:var(--case-ink);background:var(--case-surface);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.case-btn svg{width:.95rem;height:.95rem;flex:0 0 auto}.case-btn--primary{color:var(--case-paper-ink);background:var(--case-paper);border-color:var(--case-paper)}.case-live-status{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem;max-width:34rem}.case-btn--disabled,.case-btn--disabled:disabled{cursor:not-allowed;border-style:dashed;border-color:var(--color-detail-line);color:var(--color-detail-faint);background:#ffffff06;opacity:1}.case-btn--disabled span{color:var(--color-detail-disabled);font-size:.58rem;letter-spacing:.1em}.case-live-status__copy{max-width:30ch;color:var(--case-mute);font-size:.88rem;line-height:1.45}.case-btn:hover,.case-btn:focus-visible{transform:translateY(-1px);border-color:var(--color-detail-faint);background:var(--case-surface-hover)}.case-btn--primary:hover,.case-btn--primary:focus-visible{color:var(--case-paper-ink);background:#fff;border-color:#fff}.case-btn--disabled:hover,.case-btn--disabled:focus-visible{transform:none;border-color:var(--color-detail-line);color:var(--color-detail-faint);background:#ffffff06}.case-btn--disabled:hover{transform:none;border-color:var(--case-line-strong);background:var(--case-surface)}.case-hero__side{padding-top:.2rem}.case-facts{display:grid;gap:.95rem;margin:0;padding:0 0 1.15rem;border-bottom:1px solid var(--case-line)}.case-facts div{display:grid;gap:.28rem}.case-facts dt{margin:0;color:var(--case-faint);font-family:var(--font-mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase}.case-facts dd{margin:0;color:var(--case-soft);font-size:.95rem;line-height:1.35}.case-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.15rem}.case-tags span{display:inline-flex;align-items:center;min-height:1.9rem;padding:.35rem .7rem;border:1px solid var(--case-line);border-radius:999px;color:var(--case-soft);background:var(--case-surface);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.case-block{display:grid;grid-template-columns:minmax(8rem,.28fr) minmax(0,1fr);gap:clamp(1rem,3vw,2rem);margin-bottom:clamp(2.25rem,5vw,3.5rem)}.case-block__title{margin:0;color:var(--case-ink);font-family:var(--font-display);font-size:clamp(1.05rem,1.45vw,1.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.25;text-transform:uppercase}.case-block__body{max-width:44rem}.case-block__body p{margin:0;color:var(--case-mute);font-size:clamp(1.05rem,1.4vw,1.18rem);line-height:1.65}.case-media{display:grid;gap:1rem;margin-bottom:clamp(2.75rem,6vw,4rem)}.case-media__frame{position:relative;display:block;width:100%;margin:0;padding:0;overflow:hidden;border:var(--border-width-hairline) solid var(--color-media-edge);border-radius:var(--radius-media);background:var(--color-media-surface);aspect-ratio:4 / 3;box-shadow:0 18px 42px var(--color-media-lift),inset 0 1px 0 var(--color-media-sheen);color:inherit;font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none}.case-media__frame:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 var(--border-width-hairline) var(--color-media-hairline);background:none;z-index:1}.case-media__frame--hero{aspect-ratio:16 / 9}.case-media__frame--demo{border-color:var(--color-media-edge-demo)}.case-media__frame--expandable{transition:border-color .18s ease,box-shadow .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.case-media__frame--expandable:hover{border-color:var(--color-media-edge-hover);box-shadow:0 22px 48px var(--color-media-lift-hover),inset 0 1px 0 var(--color-media-sheen-hover)}.case-media__frame--expandable:focus-visible{outline:var(--border-width-focus) solid var(--color-media-focus-ring);outline-offset:3px}.case-media__frame img,.case-media__frame video{display:block;width:100%;height:100%;object-fit:cover;position:relative;z-index:0;filter:none;opacity:1}.case-media__kind{position:absolute;right:var(--space-media-chip-inset);bottom:var(--space-media-chip-inset);z-index:3;display:inline-flex;align-items:center;gap:var(--space-chip-gap);padding:var(--space-chip-pad-block) var(--space-chip-pad-inline-end) var(--space-chip-pad-block) var(--space-chip-pad-inline-start);border:var(--border-width-hairline) solid var(--color-chip-edge);border-radius:var(--radius-pill);color:var(--color-chip-ink);background:var(--color-chip-surface);font-family:var(--type-family-mono);font-size:var(--type-size-chip);letter-spacing:var(--type-tracking-chip);text-transform:uppercase;box-shadow:0 6px 16px var(--color-chip-lift);pointer-events:none;white-space:nowrap}.case-media__kind-dot{width:var(--size-chip-dot);height:var(--size-chip-dot);border-radius:var(--radius-pill);background:var(--color-chip-ink);box-shadow:none;flex:0 0 auto}.case-media__frame--gif .case-media__kind-dot{animation:none}.case-media__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.case-reveal{opacity:0;transform:translate3d(0,.9rem,0);transition:opacity .68s cubic-bezier(.16,1,.3,1),transform .76s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--reveal-index, 0) * 70ms);will-change:opacity,transform}.case-section.is-visible .case-reveal.is-visible,.case-section.is-revealed .case-reveal.is-visible{opacity:1;transform:translateZ(0)}@media(max-width:900px){.case-hero,.case-block{grid-template-columns:1fr}.case-hero__copy h1,.case-section--empty h1{max-width:none}}@media(max-width:620px){.case-section{padding-right:1rem;padding-left:1rem}.case-top{flex-direction:column;align-items:flex-start}.case-actions{width:100%}.case-btn{flex:1 1 auto}.case-media__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.case-reveal,.case-section.is-visible .case-reveal,.case-section.is-visible .case-reveal.is-visible,.case-section.is-revealed .case-reveal.is-visible{opacity:1;transform:none;transition:none}}.case-split-hero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:var(--space-hero-gap);align-items:center;margin-bottom:var(--space-section)}.case-split-hero__copy h1{margin:0;color:var(--color-detail-ink);font-family:var(--font-display);font-size:var(--type-size-display);font-weight:700;letter-spacing:var(--type-tracking-display);line-height:var(--type-leading-display)}.case-split-hero__copy .case-lede,.case-split-hero__copy .case-role{color:var(--color-detail-soft-strong)}.case-split-hero__copy .case-lede{max-width:var(--measure-copy)}.case-split-hero .case-split-hero__media .case-media__frame.case-media__frame--hero{aspect-ratio:8 / 5}.case-split-hero__caption{margin:var(--space-3) 0 0;color:var(--color-detail-muted-strong);font-family:var(--type-family-mono);font-size:var(--type-size-label);letter-spacing:var(--type-tracking-eyebrow);text-transform:uppercase}@media(max-width:900px){.case-split-hero{grid-template-columns:1fr;align-items:start}}
