@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/BricolageGrotesque.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/InstrumentSans.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/InstrumentSans-Italic.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceMono.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SpaceMono-Bold.woff2) format("woff2")}:root{font-family:Instrument Sans,system-ui,-apple-system,sans-serif;color:#0c0b0a;background-color:#f6f5f2;--font-body: "Instrument Sans", system-ui, -apple-system, sans-serif;--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-city: "Instrument Sans", system-ui, -apple-system, sans-serif;--site-ink: #0C0B0A;--site-muted: #7A7670;--site-accent: #F4C430;--site-accent-strong: #E8B520;--site-sand: #F6F5F2;--site-cream: #EDECEA;--site-stroke: rgba(12, 11, 10, .09);--site-card: rgba(255, 255, 255, .92);--site-shadow: 0 24px 60px rgba(12, 11, 10, .1);--portal-x: 60%;--portal-y: 55%}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:inherit;font-weight:400;background-color:var(--site-sand);color:var(--site-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}body.mode-city{display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body.mode-site{overflow-x:hidden}body.mode-city #root{height:100vh;height:100dvh}.site-preloader{position:fixed;inset:0;z-index:15000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;overflow:hidden;background:linear-gradient(180deg,#10162e,#2c2c55 52%,#5d4278);opacity:1;visibility:visible}.site-preloader[data-state=reveal]{opacity:0;pointer-events:none;transition:opacity .55s ease .3s}.site-preloader[data-state=done]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}.site-preloader-day{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#79c0ea,#93cdef 62%,#a8d7f2);opacity:0;animation:pl-daybreak 1.9s ease-in-out forwards}.site-preloader-clouds{position:absolute;left:-8%;right:-8%;bottom:-14%;height:58vh;z-index:2;background:radial-gradient(36vw 18vh at 12% 62%,#fffffff2,#fff0 70%),radial-gradient(46vw 22vh at 46% 78%,#ffffffeb,#fff0 72%),radial-gradient(40vw 20vh at 82% 60%,#ffffffe0,#fff0 70%),radial-gradient(30vw 15vh at 68% 88%,#ffffffd9,#fff0 70%),radial-gradient(26vw 13vh at 4% 90%,#fffc,#fff0 70%);opacity:1;transform:translate3d(0,5%,0);transition:transform 1.15s cubic-bezier(.22,1,.36,1);will-change:transform}.site-preloader[data-state=preload] .site-preloader-clouds{animation:pl-clouds-in 1.5s cubic-bezier(.16,1,.3,1) .45s both}.site-preloader-word{position:relative;z-index:4;display:flex;width:min(74vw,620px);color:#fff}.site-preloader-word .pj-logox{width:100%;height:auto;overflow:hidden}.site-preloader-word .pj-logox-letter{transform-origin:center bottom;transform:scaleY(0);animation:pl-letter-pop .5s cubic-bezier(.34,1.4,.64,1) calc(.18s + var(--pl-i) * .157s) forwards}.site-preloader-word .pj-logox-dot{transform:translate(-560px,-160px);animation:pl-ball-in 1.5s cubic-bezier(.35,.5,.45,1) forwards}.site-preloader[data-state=reveal] .site-preloader-word .pj-logox-letter,.site-preloader[data-state=done] .site-preloader-word .pj-logox-letter{transform:translateY(0);animation:pl-letter-out .5s cubic-bezier(.6,0,.35,1) calc(var(--pl-i) * 35ms) forwards}.site-preloader[data-state=reveal] .site-preloader-word .pj-logox-dot,.site-preloader[data-state=done] .site-preloader-word .pj-logox-dot{transform:translateY(0);opacity:1;animation:pl-letter-out .5s cubic-bezier(.6,0,.35,1) .24s forwards}.site-preloader-status{position:relative;z-index:4;font-family:var(--pj-font-mono, "Space Mono", monospace);font-size:.62rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#ffffffa6;opacity:0;animation:pl-status .6s ease .55s forwards;transition:opacity .3s ease}.site-preloader[data-state=reveal] .site-preloader-status,.site-preloader[data-state=done] .site-preloader-status{opacity:0;animation:none}.site-preloader-status:after{content:"...";display:inline-block;width:1.4em;text-align:left;animation:pl-ellipsis 1.1s steps(4,end) infinite}@keyframes pl-daybreak{0%,40%{opacity:0}to{opacity:1}}@keyframes pl-clouds-in{0%{opacity:0;transform:translate3d(0,26%,0)}to{opacity:1;transform:translate3d(0,5%,0)}}@keyframes pl-letter{to{transform:translateY(0)}}@keyframes pl-letter-out{to{transform:translateY(-180%)}}@keyframes pl-letter-pop{0%{transform:scaleY(0)}60%{transform:scaleY(1.15)}to{transform:scale(1)}}@keyframes pl-ball-in{0%{transform:translate(-560px,-160px)}15%{transform:translate(-460px) scale(1.2,.8)}30%{transform:translate(-350px,-100px) scale(1)}45%{transform:translate(-250px) scale(1.18,.82)}60%{transform:translate(-160px,-64px) scale(1)}73%{transform:translate(-80px) scale(1.12,.88)}85%{transform:translate(-32px,-30px) scale(1)}94%{transform:translate(0) scale(1.08,.92)}to{transform:translate(0) scale(1)}}@keyframes pl-status{to{opacity:1}}@keyframes pl-ellipsis{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -.2em 0 0)}}.preloader{--plc-bg: #F6F5F2;--plc-ground: #E7E4DD;--plc-left: #D7D5CF;--plc-right: #EFEDE8;--plc-top: #FBFAF7;--plc-crown: #FDCA3D;--plc-window: #B9B6AE;--plc-window-lit: #FDCA3D;--plc-ink: rgba(12, 11, 10, .55);position:fixed;top:0;left:0;width:100%;height:100%;background:var(--plc-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;z-index:9999;opacity:1;transition:opacity .6s ease-out,visibility .6s ease-out;visibility:visible}.preloader[data-night=true]{--plc-bg: #10162E;--plc-ground: #1B2340;--plc-left: #232C4E;--plc-right: #2E3860;--plc-top: #3A4674;--plc-crown: #FDCA3D;--plc-window: #232C4E;--plc-window-lit: #FFE58A;--plc-ink: rgba(255, 255, 255, .6)}.preloader--hidden{opacity:0;visibility:hidden;pointer-events:none}.preloader-city{width:clamp(150px,24vmin,230px);height:auto;overflow:visible}.preloader-ground{fill:var(--plc-ground);opacity:0;animation:pl-ground-in .7s ease-out .1s forwards}.preloader-building{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);animation:pl-build .9s cubic-bezier(.16,1,.3,1) calc(.25s + var(--pl-b) * .18s) forwards}.pl-face--left{fill:var(--plc-left)}.pl-face--right{fill:var(--plc-right)}.pl-face--top{fill:var(--plc-top)}.pl-face--crown{fill:var(--plc-crown)}.pl-window{fill:var(--plc-window);animation:pl-window-blink 1.8s ease-in-out calc(1.2s + var(--w) * .22s) infinite}.preloader-status{font-family:var(--pj-font-mono, "Space Mono", monospace);font-size:.62rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--plc-ink);opacity:0;animation:pl-status .6s ease .6s forwards}.preloader-status:after{content:"...";display:inline-block;width:1.4em;text-align:left;animation:pl-ellipsis 1.1s steps(4,end) infinite}@keyframes pl-ground-in{to{opacity:1}}@keyframes pl-build{to{transform:scaleY(1)}}@keyframes pl-window-blink{0%,to{fill:var(--plc-window)}35%,65%{fill:var(--plc-window-lit)}}body.has-custom-cursor,body.has-custom-cursor *{cursor:none!important}body.has-custom-cursor input,body.has-custom-cursor textarea,body.has-custom-cursor select,body.has-custom-cursor [contenteditable=true]{cursor:text!important}body.mode-city:not(.has-custom-cursor) canvas{cursor:grab!important}body.mode-city:not(.has-custom-cursor) canvas:active{cursor:grabbing!important}body.mode-city:not(.has-custom-cursor)[data-scene-hover=true] canvas{cursor:pointer!important}.custom-cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:99999;border-radius:50%;mix-blend-mode:difference;opacity:0;will-change:transform}.custom-cursor--dot{width:8px;height:8px}.custom-cursor--ring{width:34px;height:34px;transition:opacity .25s ease}.custom-cursor--dot:after,.custom-cursor--ring:after{content:"";position:absolute;inset:0;border-radius:inherit;transform:scale(var(--cursor-scale, 1));transition:transform .28s cubic-bezier(.22,1,.36,1)}.custom-cursor--dot{transition:mix-blend-mode 0s}.custom-cursor--dot:after{background:#fff;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background-color .18s ease,box-shadow .18s ease}.custom-cursor--ring:after{border:1.5px solid rgba(255,255,255,.85);transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease}.custom-cursor--dot[data-hot=true]{mix-blend-mode:normal}.custom-cursor--dot[data-hot=true]:after{transform:scale(2.6);background:#fdca3d;box-shadow:inset -1.5px -1.5px #0c0b0a38,0 0 0 .5px #0c0b0a73}.custom-cursor--ring[data-hot=true]:after{transform:scale(.5);opacity:0}.custom-cursor--ring[data-grabbing=true]:after{transform:scale(.62)}.custom-cursor--dot[data-grabbing=true]:after{transform:scale(.7)}.cursor-orbit-hint{position:fixed;top:0;left:0;z-index:99998;pointer-events:none;display:flex;align-items:center;gap:.3rem;padding:.28rem .6rem;border-radius:999px;background:#2f2b29e6;border:1px solid rgba(255,213,79,.35);color:#ffffffe6;font-family:var(--font-body);font-size:.68rem;letter-spacing:.03em;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease;will-change:transform}.cursor-orbit-hint__icon{color:#ffd54f;font-size:.82rem;line-height:1}@media(pointer:coarse),(prefers-reduced-motion:reduce){.custom-cursor{display:none}}@media(prefers-reduced-motion:reduce){.preloader{transition:opacity .2s ease-out,visibility .2s ease-out}.preloader-ground,.preloader-status{animation-duration:.01s;animation-delay:0s}.preloader-building{animation:none;transform:scaleY(1)}.pl-window{animation:none;fill:var(--plc-window-lit)}.preloader-status:after{animation:none}.site-preloader{transition:opacity .2s ease-out,visibility .2s ease-out}.site-preloader[data-state=reveal],.site-preloader[data-state=done]{opacity:0}.site-preloader-day,.site-preloader-clouds,.site-preloader-status,.site-preloader-word span{animation:none!important;transition:none!important}.site-preloader-day{opacity:1}.site-preloader-clouds{opacity:1;transform:translate3d(0,5%,0)}.site-preloader-word span{transform:none}.site-preloader-status{opacity:1}.site-preloader-status:after{animation:none!important}.site[data-intro=reveal] .site-header,.site[data-intro=reveal] .home-hero-title,.site[data-intro=reveal] .home-hero-lede,.site[data-intro=reveal] .home-hero-actions{animation:none}}.app-shell{position:relative;display:flex;width:100%;height:100%;overflow:hidden;background:#f6f5f2;font-family:var(--font-city)}.app-header{position:absolute;top:32px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:10010;pointer-events:none}.app-header-left{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.app-toggle-group{display:inline-flex;gap:12px;pointer-events:auto;align-items:center}.app-toggle{padding:9px 16px;border-radius:999px;border:1px solid rgba(83,83,83,.16);background:#f9f9f9d9;color:#535353;font-size:.8rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .24s ease,border-color .24s ease,color .24s ease}.app-toggle--ghost{background:#f9f9f9a6;border-color:#53535333}.app-toggle:hover{background:#fbe435d9;border-color:#53535347;color:#2f2f2f}.app-toggle--back-to-site{position:fixed;left:24px;bottom:24px;z-index:20010;pointer-events:auto;background:#f9f9f9eb;border-color:#5353533d;box-shadow:0 12px 30px #2f2b292e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .24s ease,border-color .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease}.city-bottom-left-controls{display:contents}.app-toggle--back-to-site:before{content:"←";display:inline-block;margin-right:7px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.app-toggle--back-to-site:hover{background:#fbe435;border-color:#5353534d;color:#2f2f2f;transform:translateY(-2px);box-shadow:0 16px 34px #fbe43566}.app-toggle--back-to-site:hover:before{transform:translate(-3px)}.app-toggle--back-to-site:active{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.app-toggle--back-to-site,.app-toggle--back-to-site:before{transition:none}.app-toggle--back-to-site:hover{transform:none}}.app-toggle[aria-pressed=true]{background:#fbe435;border-color:#53535340;color:#2f2f2f;box-shadow:0 8px 24px #fbe43559}.app-toggle:focus-visible{outline:2px solid #FBE435;outline-offset:2px}.weather-control{display:inline-flex;align-items:center}.weather-control__button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(83,83,83,.18);background:#f9f9f9eb;color:#313131;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 14px #53535324;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}.weather-control__button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #5353532e}.weather-control__button:focus-visible{outline:2px solid #FBE435;outline-offset:3px}.weather-control__button[aria-pressed=true]{background:#fbe435;border-color:#53535347;box-shadow:0 10px 24px #fbe43559}.weather-control__button[data-mode=rain-heavy][aria-pressed=true]{background:linear-gradient(135deg,#ffd76f,#ffa94d);border-color:#ad761859;box-shadow:0 12px 26px #ffa94d73;color:#3d2b12}.weather-control__button[data-mode=snow-heavy][aria-pressed=true]{background:linear-gradient(135deg,#f3f7ff,#dbe7ff);border-color:#788cb959;box-shadow:0 12px 26px #8fafe866;color:#1f3b6f}.weather-control__icon{font-size:1.2rem;line-height:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.night-mode-toggle-3d{position:relative;display:inline-flex;align-items:center;gap:12px;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit}.night-mode-toggle-3d:focus-visible{outline:2px solid #FBE435;outline-offset:4px;border-radius:999px}.toggle-label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#53535380;transition:color .3s ease;-webkit-user-select:none;user-select:none}.night-mode-toggle-3d[data-mode=day] .toggle-label-left,.night-mode-toggle-3d[data-mode=night] .toggle-label-right{color:#535353}.toggle-track{position:relative;width:80px;height:40px;border-radius:999px;border:1px solid rgba(255,220,84,.45);background:linear-gradient(135deg,#fffcedfa,#ffecbad9);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;overflow:visible}.night-mode-toggle-3d[data-mode=night] .toggle-track{background:radial-gradient(circle at 30% 30%,#586ccc59,#121a2ed9);border-color:#8ea0ff66}.toggle-thumb{position:absolute;top:2px;left:2px;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid rgba(83,83,83,.1);box-shadow:0 2px 8px #53535326;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;overflow:hidden}.night-mode-toggle-3d[data-mode=night] .toggle-thumb{transform:translate(40px);box-shadow:0 4px 16px #fbe43566}.toggle-thumb canvas{width:100%!important;height:100%!important;display:block}.app-chip{display:inline-flex;align-items:center;padding:2px 0;color:#fff;pointer-events:auto}.app-chip .pj-logox--city{height:25px;width:auto;filter:drop-shadow(0 1px 4px rgba(20,20,18,.45))}.pj-logox--city[data-intro=playing] .pj-logox-letter{animation:pj-logox-rise .55s cubic-bezier(.22,1,.36,1) calc(.2s + var(--pl-i) * .08s) both}.pj-logox--city[data-intro=playing] .pj-logox-dot{animation:pj-logox-drop 1.1s cubic-bezier(.3,.7,.4,1) .82s both}.pj-logox--city .pj-logox-dot{filter:drop-shadow(0 0 6px rgba(251,228,53,.55))}.app-controls-hint{position:fixed;left:24px;bottom:72px;width:max-content;min-width:292px;margin:0;padding:.85rem 2.75rem .85rem 1rem;border:1px solid rgba(255,213,79,.32);border-left:3px solid #FFD54F;border-radius:10px;background:#2f2b29f5;box-shadow:0 8px 30px #0006;color:#fff;font-family:var(--font-body);font-size:.78rem;pointer-events:auto;opacity:1;transform:translateY(0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .3s ease,transform .3s ease}.app-controls-hint.is-visible{animation:quest-dialogue-in .32s cubic-bezier(.34,1.56,.64,1)}.app-controls-hint__title{display:block;margin-bottom:.65rem;color:#ffd54f;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-controls-hint__close{position:absolute;top:.62rem;right:.65rem;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:transparent;color:#fff6;font:inherit;font-size:1.15rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.app-controls-hint__close:hover{background:#ffffff1f;color:#ffffffe6}.app-controls-hint__close:focus-visible{outline:2px solid #FFD54F;outline-offset:2px}.app-controls-hint__rows{display:grid;gap:.5rem}.app-controls-hint__row{display:grid;grid-template-columns:minmax(118px,auto) 1fr;align-items:center;gap:14px}.app-controls-hint__row>span:last-child{color:#ffffffd9;white-space:nowrap}.app-controls-hint__keys{display:inline-flex;align-items:center;gap:5px;color:#fff;font-weight:600;white-space:nowrap}.app-controls-hint kbd{min-width:24px;padding:3px 7px;border:1px solid rgba(255,213,79,.25);border-radius:6px;background:#ffd54f1a;color:#ffd54f;font:inherit;font-size:.72rem;font-weight:700;line-height:1.2;text-align:center}.app-controls-hint__or{margin-left:2px;color:#ffffff80;font-size:.72rem;font-weight:500}.app-controls-hint.is-hidden{opacity:0;transform:translateY(-5px);pointer-events:none}.scene-wrapper{flex:1;height:100%}.scene-wrapper canvas{height:100%!important;width:100%!important;cursor:grab;touch-action:none}.overlay{position:absolute;top:0;right:0;display:flex;flex-direction:column;justify-content:center;width:340px;max-width:85vw;height:100%;padding:32px;gap:16px;background:#f9f9f9eb;border-left:1px solid rgba(83,83,83,.1);box-shadow:-16px 0 32px #53535314;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(100%);transition:transform .45s ease;z-index:2}.overlay.open{transform:translate(0)}.overlay-content{position:relative;display:flex;flex-direction:column;gap:16px}.app-shell[data-reduced-motion=true] .overlay{transition:none}.overlay-label{margin:0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#535353a6}.overlay h2{margin:0;font-size:2rem;line-height:1.1}.overlay p{margin:0;line-height:1.5}.overlay-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:999px;background:#fbe435;color:#383838;font-weight:600;letter-spacing:.02em;cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.overlay-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px #fbe43559}.app-shell[data-reduced-motion=true] .overlay-cta{transition:none}.overlay-close{position:absolute;top:24px;right:24px;width:32px;height:32px;border:none;border-radius:999px;background:#53535314;font-size:1.2rem;line-height:1;cursor:pointer}.overlay-placeholder{display:flex;flex:1;align-items:center;justify-content:center;color:#53535399;text-align:center}.overlay-backdrop{position:absolute;inset:0;background:#5353532e;border:none;padding:0;margin:0;cursor:default;transition:opacity .3s ease;opacity:0;pointer-events:none;z-index:1}.overlay-backdrop[data-open=true]{opacity:1;pointer-events:auto}.app-shell[data-reduced-motion=true] .overlay-backdrop{transition:none}.view-transition-overlay{position:fixed;inset:0;background:radial-gradient(circle at center,#f9f9f959,#53535333);pointer-events:none;opacity:0;transition:opacity .42s ease;z-index:2}.view-transition-overlay[data-active=true]{opacity:1}.fp-reticle{position:fixed;top:50%;left:50%;width:16px;height:16px;pointer-events:none;transform:translate(-50%,-50%);opacity:0;border-radius:50%;border:2px solid rgba(83,83,83,.35);box-shadow:0 0 0 2px #f9f9f98c;transition:opacity .24s ease;z-index:4}.fp-reticle:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:2px;background:#fbe435;border-radius:50%;transform:translate(-50%,-50%)}.fp-reticle[data-active=true]{opacity:.85}.fp-reticle[data-hover=true]{transform:translate(-50%,-50%) scale(1.45);border-color:#fbe435f2;box-shadow:0 0 0 2px #2f2b2959,0 0 12px #fbe4358c;opacity:1}.fp-reticle[data-hover=true]:after{width:4px;height:4px}.fp-reticle,.fp-reticle:after{transition:opacity .24s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease,width .18s ease,height .18s ease}.app-toggle--primary{background:#fbe435;border-color:#2f2b2940;color:#2f2b29;font-weight:700}.app-toggle--primary:hover{background:#ffd54f}body.night .app-toggle--primary{background:#ffd54f;color:#2f2b29}.ambient-cluster{display:flex;align-items:center;gap:6px}.ambient-cluster__items{display:flex;align-items:center;gap:6px;background:transparent;animation:ambient-items-in .24s ease both}@keyframes ambient-items-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.ambient-cluster__items{animation:none}}.app-toggle--icon{width:38px;height:38px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:0}.app-toggle--icon svg{display:block}.collectible-counter__divider{width:1px;height:.8em;margin:0 .25rem;background:#ffd54f59}.fps-meter{position:fixed;left:26px;bottom:74px;z-index:9990;display:inline-flex;align-items:baseline;gap:.32rem;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.1em;color:#fbe435;text-shadow:0 1px 3px rgba(47,43,41,.55);pointer-events:none;-webkit-user-select:none;user-select:none}.fps-meter__value{min-width:2.2ch;text-align:right;font-variant-numeric:tabular-nums}.fps-meter__unit{font-size:.56rem;opacity:.7}body.night .fps-meter{text-shadow:0 1px 3px rgba(0,0,0,.6)}.fp-compass{position:fixed;right:1.25rem;bottom:4rem;width:96px;height:96px;border-radius:50%;background:#2f2b298c;border:1px solid rgba(255,213,79,.25);box-shadow:0 8px 24px #2f2b2933,inset 0 0 0 6px #ffffff0a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9990;pointer-events:none}.fp-compass__needle{position:absolute;top:7px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid #FBE435;filter:drop-shadow(0 0 3px rgba(251,228,53,.6))}.fp-compass__dial{position:absolute;inset:0}.fp-compass__dial:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%);background:#ffd54fb3}.fp-compass-marker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:19px;height:19px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.56rem;font-weight:700;color:#2f2b29;background:#fbe435eb;border-radius:50%;box-shadow:0 1px 4px #2f2b2959;will-change:transform}.fp-compass-marker--north{background:#ffffff47;color:#ffffffd9;box-shadow:none;font-size:.52rem}body.night .fp-compass{background:#18181899;border-color:#ffd54f59}.orb-touch{position:fixed;inset:0;display:flex;pointer-events:none;z-index:4;opacity:0;transition:opacity .3s ease}.orb-touch.is-active{opacity:1;pointer-events:auto}.orb-touch-zone{position:absolute;top:0;width:50vw;height:100vh;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none;display:flex;align-items:flex-end;justify-content:center;padding-top:120px;padding-bottom:120px;z-index:10001}.orb-touch.is-active .orb-touch-zone{pointer-events:auto}.orb-touch-zone--move{left:0;background:#fbe43508}.orb-touch-zone--look{right:0;background:#fbe43508}.orb-touch-hint{color:#53535380;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;background:#ffffffd9;padding:4px 10px;border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.virtual-joystick{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10002}.virtual-joystick-base{position:absolute;width:100px;height:100px;border-radius:50%;background:#fbe43526;border:2px solid rgba(251,228,53,.4);transform:translate(-50%,-50%);pointer-events:none;animation:joystick-appear .15s ease-out}.virtual-joystick-knob{position:absolute;width:50px;height:50px;border-radius:50%;background:#fbe435cc;border:2px solid rgba(251,228,53,1);box-shadow:0 2px 8px #0003;transform:translate(-50%,-50%);pointer-events:none;transition:background .1s ease}@keyframes joystick-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}body.night{background-color:#ecebe8}body.night .app-shell{background:#ecebe8}body.night .app-controls-hint{background:#2f2b29f5;border-color:#ffd54f52;border-left-color:#ffd54f;box-shadow:0 8px 30px #0006}body.night .app-toggle{background:#20201e73;border-color:#f0e8c824;color:#f1eddd}body.night .app-toggle:hover{background:#fbe435e6;border-color:#5353534d;color:#1a1a16}body.night .app-toggle--back-to-site:hover{background:#fbe435;color:#1a1a16;box-shadow:0 16px 34px #fbe43580}body.night .toggle-label{color:#f1eddd80}body.night .weather-control__button{background:#20201e61;border-color:#f0e8c833;color:#f1eddd;box-shadow:0 10px 24px #05080c59}body.night .weather-control__button[aria-pressed=true]{background:#fbe435;color:#2f2f2f;border-color:#5353534d;box-shadow:0 16px 32px #fbe43573}body.night .weather-control__button[data-mode=rain-heavy][aria-pressed=true]{background:linear-gradient(135deg,#ffcb6f,#ff9d4d);border-color:#d698407a;color:#2f2f2f;box-shadow:0 16px 32px #d698408c}body.night .weather-control__button[data-mode=snow-heavy][aria-pressed=true]{background:linear-gradient(135deg,#293b60,#4c6ca8);border-color:#84a7dd8c;color:#f6f9ff;box-shadow:0 16px 32px #2c487b80}body.night .night-mode-toggle-3d[data-mode=day] .toggle-label-left,body.night .night-mode-toggle-3d[data-mode=night] .toggle-label-right{color:#f1eddd}body.night .bottom-menu{background:#20201cd9;border-color:#f0e8c840;box-shadow:0 12px 28px #0a0a0880}body.night .bottom-menu-item{color:#fdfaeef2;text-shadow:0 1px 2px rgba(0,0,0,.3)}body.night .overlay{background:#20201de6;border-color:#f0e8c81f;box-shadow:0 22px 50px #00000059;color:#f4f0e0e0}body.night .overlay h2{color:#f7f2d4}body.night .overlay p{color:#f4f0e0bf}body.night .overlay-placeholder{color:#f4f0e099}body.night .overlay-backdrop{background:#0a0a0873}body.night .view-transition-overlay{background:radial-gradient(circle at center,#ecebe852,#18181680)}body.night .fp-reticle{border-color:#f0e8c880;box-shadow:0 0 0 2px #18181873}body.night .orb-joystick-label{background:#20201ed9;color:#f0e8c8bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-menu{position:absolute;left:50%;bottom:32px;transform:translate(-50%);display:flex;gap:12px;padding:10px 20px;background:#f2f2f2eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(83,83,83,.1);border-radius:999px;box-shadow:0 12px 32px #5353531f;z-index:3}.bottom-menu-item{padding:10px 18px;border:none;border-radius:999px;background:transparent;color:#535353;font-size:.85rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease;transform:translateY(0)}.bottom-menu-item:hover,.bottom-menu-item.city-hover{background:#fbe435d9;color:#2f2f2f;box-shadow:0 12px 24px #fbe43552;transform:translateY(-1px)}.bottom-menu-item:active{background:#fbe435b8;color:#262626;box-shadow:0 8px 18px #fbe4354d;transform:translateY(0)}.bottom-menu-item.active{background:#fbe435;color:#333;box-shadow:0 6px 18px #fbe43559;transform:translateY(-2px)}.bottom-menu-item:focus-visible,.overlay-close:focus-visible,.overlay-cta:focus-visible{outline:2px solid #FBE435;outline-offset:2px}body.night .bottom-menu-item:hover,body.night .bottom-menu-item.city-hover{background:#fbe435e6;color:#1a1a16;box-shadow:0 12px 24px #fbe43580;text-shadow:none}body.night .bottom-menu-item:active{background:#fbe435f2;color:#0f0f0c;box-shadow:0 8px 18px #fbe4358c;text-shadow:none}body.night .bottom-menu-item.active{background:#fbe435;color:#1a1a16;box-shadow:0 10px 24px #fbe43599;text-shadow:none}@media(prefers-reduced-motion:reduce){.bottom-menu-item{transition:none}.bottom-menu-item:hover,.bottom-menu-item:active,.bottom-menu-item.active{transform:none}}@media(max-width:900px){.app-header{left:16px;top:16px;right:16px}.app-controls-hint{display:none}.toggle-track{width:68px;height:36px}.toggle-thumb{width:32px;height:32px}.night-mode-toggle-3d[data-mode=night] .toggle-thumb{transform:translate(32px)}.toggle-label{font-size:.7rem}.overlay{width:100%;max-width:none}}@media(max-width:720px){.overlay{width:100%;height:auto;min-height:260px;bottom:0;top:auto;transform:translateY(100%);border-left:none;border-top:1px solid rgba(83,83,83,.08);border-radius:24px 24px 0 0;box-shadow:0 -12px 24px #5353531f}.overlay.open{transform:translateY(0)}.overlay-backdrop{background:#53535347}.bottom-menu{bottom:12px;left:16px;right:16px;transform:none;max-width:none;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;gap:8px;padding:10px 14px;justify-content:flex-start;scrollbar-width:none;-ms-overflow-style:none}.bottom-menu::-webkit-scrollbar{display:none}.bottom-menu-item{padding:8px 16px;font-size:.8rem;white-space:nowrap;flex-shrink:0}}@media(max-width:600px){.app-header{gap:8px}.app-toggle-group{gap:6px}.app-toggle{padding:7px 11px;font-size:.7rem;min-height:44px}.app-toggle--view-mode:before{content:"FP View";display:inline}.app-toggle--view-mode{font-size:0}.app-toggle--view-mode:before{font-size:.7rem}.app-toggle--back-to-site{left:16px;bottom:86px}.bottom-menu{bottom:10px;padding:8px 12px;gap:6px}.bottom-menu-item{padding:8px 14px;font-size:.75rem;min-height:44px}.orb-touch-zone{padding-bottom:100px}.orb-touch-hint{font-size:.6rem;padding:3px 8px}.bottom-menu--desktop{display:none!important}}.mobile-menu-toggle{position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background:#fbe435f2;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;z-index:100;cursor:pointer;box-shadow:0 4px 16px #fbe43566;transition:transform .2s ease,background .2s ease}.mobile-menu-toggle:active{transform:scale(.95)}.hamburger-line{width:24px;height:3px;background:#333;border-radius:2px;transition:transform .3s ease,opacity .3s ease}.mobile-menu-toggle.open .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-menu-toggle.open .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.open .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu{position:fixed;bottom:90px;right:20px;background:#f2f2f2fa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(83,83,83,.12);border-radius:16px;box-shadow:0 12px 32px #53535333;padding:12px;display:flex;flex-direction:column;gap:8px;z-index:99;opacity:0;transform:translateY(10px) scale(.95);pointer-events:none;transition:opacity .25s ease,transform .25s ease;min-width:160px}.mobile-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.mobile-menu-item{padding:12px 18px;border:none;border-radius:12px;background:transparent;color:#535353;font-size:.9rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background-color .2s ease,color .2s ease;text-align:left;width:100%}.mobile-menu-item:active{background:#fbe4354d}.mobile-menu-item.active{background:#fbe435;color:#333}.mobile-menu-backdrop{position:fixed;inset:0;background:#0003;z-index:98;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body.night .mobile-menu-toggle{background:#fbe435f2;box-shadow:0 4px 16px #fbe43599}body.night .mobile-menu{background:#20201cf5;border-color:#f0e8c840;box-shadow:0 12px 32px #0a0a0899}body.night .mobile-menu-item{color:#fdfaeef2;text-shadow:0 1px 2px rgba(0,0,0,.3)}body.night .mobile-menu-item:active{background:#fbe435d9;color:#1a1a16;text-shadow:none}body.night .mobile-menu-item.active{background:#fbe435;color:#1a1a16;text-shadow:none}.scene-transition-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a0a;opacity:0;pointer-events:none;z-index:8000;will-change:opacity;transform:translateZ(0)}.whiteboard-canvas-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9000;animation:whiteboard-fade-in .3s ease-out}@keyframes whiteboard-fade-in{0%{opacity:0}to{opacity:1}}.whiteboard-canvas-container{position:relative;width:90%;max-width:1400px;aspect-ratio:2 / 1;background:#fafafa;border-radius:8px;box-shadow:0 20px 60px #00000080;overflow:hidden}.whiteboard-canvas{width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}.whiteboard-controls{position:absolute;top:50%;right:20px;transform:translateY(-50%);background:#fffffffa;border-radius:16px;padding:20px;box-shadow:0 8px 24px #0003;min-width:200px;max-width:280px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.whiteboard-controls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #E8E8E8}.whiteboard-controls-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#2c2c2c}.whiteboard-close-btn{background:transparent;border:none;font-size:1.8rem;cursor:pointer;color:#888;padding:4px 8px;line-height:1;transition:color .2s,transform .2s}.whiteboard-close-btn:hover{color:#2c2c2c;transform:scale(1.1)}.whiteboard-tools{display:flex;flex-direction:column;gap:16px}.whiteboard-tool-group{display:flex;flex-direction:column;gap:8px}.whiteboard-tool-group label{font-size:.85rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.whiteboard-tool-btn{background:#f5f5f5;border:2px solid transparent;border-radius:8px;padding:10px 16px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;color:#2c2c2c}.whiteboard-tool-btn:hover{background:#e8e8e8;transform:translateY(-1px)}.whiteboard-tool-btn.active{background:#ffd54f;border-color:#ffd54f;color:#2c2c2c;box-shadow:0 2px 8px #ffd54f4d}.whiteboard-color-picker{display:flex;gap:8px;flex-wrap:wrap}.whiteboard-color-btn{width:40px;height:40px;border-radius:8px;border:3px solid transparent;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #00000026}.whiteboard-color-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000040}.whiteboard-color-btn.active{border-color:#ffd54f;transform:scale(1.15);box-shadow:0 4px 12px #ffd54f80}.whiteboard-slider{width:100%;height:6px;border-radius:3px;background:#e8e8e8;outline:none;-webkit-appearance:none;appearance:none}.whiteboard-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#ffd54f;cursor:pointer;box-shadow:0 2px 6px #0003;transition:all .2s}.whiteboard-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 3px 10px #ffd54f80}.whiteboard-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#ffd54f;cursor:pointer;border:none;box-shadow:0 2px 6px #0003;transition:all .2s}.whiteboard-slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 3px 10px #ffd54f80}.whiteboard-clear-btn{background:#ff6b6b;border:none;border-radius:8px;padding:12px 16px;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.whiteboard-clear-btn:hover{background:#ff5252;transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.whiteboard-clear-btn:active{transform:translateY(0)}@media(max-width:900px){.whiteboard-canvas-container{width:100%;flex:none}.whiteboard-controls{position:static;transform:none;margin-top:16px;width:100%;max-width:100%}.whiteboard-canvas-overlay{flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto;padding:max(env(safe-area-inset-top,0px),12px) 12px max(env(safe-area-inset-bottom,0px),12px)}}@media(max-height:700px)and (orientation:landscape){.whiteboard-canvas-overlay{flex-direction:row;align-items:center;justify-content:center;gap:12px;padding:10px max(env(safe-area-inset-right,0px),10px) 10px max(env(safe-area-inset-left,0px),10px);overflow:hidden}.whiteboard-canvas-container{position:relative;width:auto;height:100%;max-height:100%;flex:1 1 auto;min-width:0;aspect-ratio:2 / 1}.whiteboard-controls{position:static;transform:none;margin-top:0;flex:0 0 auto;width:min(240px,34vw);min-width:0;max-width:none;max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px}.whiteboard-controls-header h3{font-size:.9rem}.whiteboard-tool-btn,.whiteboard-clear-btn{padding:8px 12px;font-size:.85rem}}@media(max-height:700px)and (orientation:portrait)and (min-width:901px){.whiteboard-canvas-overlay{padding:10px}.whiteboard-canvas-container{width:70%;max-width:900px}.whiteboard-controls{right:10px;padding:12px;min-width:160px}}@media(prefers-reduced-motion:reduce){.whiteboard-canvas-overlay{animation:none}.whiteboard-tool-btn,.whiteboard-color-btn,.whiteboard-close-btn,.whiteboard-clear-btn{transition:none}.whiteboard-tool-btn:hover,.whiteboard-color-btn:hover,.whiteboard-clear-btn:hover{transform:none}}.weather-debug{position:fixed;bottom:1.5rem;right:1.5rem;width:280px;max-width:calc(100% - 3rem);background:#101218eb;color:#f5f5f5;border-radius:12px;box-shadow:0 18px 34px #0a0c1273;padding:1.2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:1200}.weather-debug--open{opacity:1;transform:translateY(0);pointer-events:auto}.weather-debug__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.weather-debug__header h3{margin:0;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.weather-debug__close{background:transparent;color:inherit;border:none;font-size:1.2rem;line-height:1;cursor:pointer}.weather-debug__control{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.weather-debug__control label{flex:0 0 auto;font-size:.85rem;color:#ffffffbf}.weather-debug__control select{flex:1;padding:.35rem .5rem;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#0e101499;color:inherit}.weather-debug__section{margin-top:1rem}.weather-debug__section h4{margin:0 0 .4rem;font-size:.9rem;color:#fffc}.weather-debug__section dl{margin:0;display:grid;gap:.35rem}.weather-debug__section dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#fff9}.weather-debug__section dd{margin:0;font-size:.85rem;color:#f9f9f9}.project-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;z-index:10000;pointer-events:none;transition:opacity .3s ease-in-out}.project-modal-content{position:relative;width:90%;max-width:700px;max-height:80vh;background-color:#fdca3d;border-radius:20px;border:6px solid #2F2B29;padding:40px 30px;box-shadow:0 20px 60px #0000004d;overflow-y:auto;transform:scale(.9);transition:transform .3s ease-out}.project-tech-list{display:flex;flex-wrap:wrap;gap:10px}.project-tech-item{background-color:#fff;border-radius:8px;padding:10px 15px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 6px #0000001a;font-family:var(--font-display);font-size:14px;font-weight:600;color:#2f2b29;transition:transform .2s,box-shadow .2s}.project-tech-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}body.night .project-modal-content{background-color:#fdca3d;border-color:#2f2b29}body.night .project-tech-item{background-color:#fff;color:#2f2b29}@media(prefers-reduced-motion:reduce){.project-modal-overlay,.project-modal-content,.project-tech-item{transition:none}.project-tech-item:hover{transform:none}}@media(max-width:768px){.project-modal-content{width:95%;max-height:90vh;padding:30px 20px}.project-tech-list{gap:8px}.project-tech-item{padding:8px 12px;font-size:13px}}.mobile-menu-divider{height:1px;background:#5353531f;margin:4px 0}.mobile-menu-item--toggle{display:flex;align-items:center;gap:10px;font-size:.85rem}.mobile-menu-item-icon{font-size:1.2rem;line-height:1}@media(pointer:coarse){.app-toggle--desktop-only{display:none!important}}body.night .mobile-menu-divider{background:#f0e8c81f}.app-root{min-height:100vh;position:relative}.app-root[data-page=city]{height:100vh;height:100dvh}.page-transition{position:fixed;inset:0;opacity:0;visibility:hidden;pointer-events:none;z-index:12000;background:radial-gradient(circle at var(--portal-x, 60%) var(--portal-y, 55%),rgba(244,196,48,.28) 0 16%,rgba(8,13,32,.9) 62%,#050816 100%),#050816;transition:none;clip-path:none;transform:scale(1.015);will-change:opacity,transform;-webkit-backdrop-filter:none;backdrop-filter:none}.page-transition[data-kind=portal][data-state=out]{opacity:1;visibility:visible;animation:portal-out .52s cubic-bezier(.16,1,.3,1) forwards}.page-transition[data-kind=portal][data-state=in]{opacity:0;visibility:visible;animation:portal-in .36s cubic-bezier(.16,1,.3,1) forwards}@supports not (clip-path: circle(40% at 50% 50%)){.page-transition{clip-path:none}.page-transition[data-kind=portal][data-state=out]{animation:none;opacity:1;visibility:visible}.page-transition[data-kind=portal][data-state=in]{animation:none;opacity:0;visibility:hidden}}.landing{position:relative;min-height:100vh;color:var(--landing-ink);background:radial-gradient(120% 120% at 10% 0%,#fff4d7,#f5ecdc 45%,#e8dfd0);overflow:hidden;isolation:isolate}.landing:before{content:"";position:absolute;inset:-20% -10% auto;height:60%;background:radial-gradient(circle,#fff9,#fff0 60%);opacity:.6;pointer-events:none;z-index:0}.landing:after{content:"";position:absolute;inset:auto -15% -25% auto;width:45vw;height:45vw;border-radius:50%;background:radial-gradient(circle,#ffd67a59,#ffd67a00);pointer-events:none;z-index:0}.landing>*{position:relative;z-index:1}.landing section{scroll-margin-top:110px}.landing a:focus-visible{outline:2px solid var(--landing-accent);outline-offset:3px}.landing[data-transition=out]{filter:blur(1.5px) saturate(1.08);transform:scale(.99);transition:filter .6s ease,transform .6s ease}.landing[data-transition=out] .hero-scene{transform:scale(1.12);filter:saturate(1.12) brightness(.92)}.landing-shell{width:min(1200px,100% - 12vw);margin:0 auto}.landing-header{position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f0e4d9;border-bottom:1px solid rgba(31,31,31,.08)}.landing-header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:20px}.landing-brand{display:inline-flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.02em}.landing-brand-dot{width:10px;height:10px;border-radius:50%;background:var(--landing-accent);box-shadow:0 0 0 5px #f6c34d40}.landing-nav{display:inline-flex;align-items:center;gap:16px;font-size:.9rem;font-weight:500}.landing-nav-link{color:inherit;text-decoration:none;opacity:.8;transition:opacity .2s ease}.landing-nav-link:hover,.landing-nav-link:focus-visible{opacity:1}.landing-nav-cta{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;text-decoration:none;color:#2a2418;background:linear-gradient(130deg,#ffd979,#f6c34d);box-shadow:0 14px 30px #d79c2e59;font-weight:600}.landing-hero{padding:0 0 clamp(60px,10vw,110px)}.hero-stage{position:relative;min-height:clamp(520px,75vh,760px);display:flex;align-items:center;overflow:hidden;background:#e6dfd0}.hero-overlay{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:22px;padding:clamp(48px,8vw,90px) 0;transition:opacity .6s ease,transform .6s ease}.landing[data-transition=out] .hero-overlay{opacity:0;transform:translateY(18px)}.hero-copy{display:flex;flex-direction:column;gap:18px;max-width:520px;padding:clamp(20px,3vw,28px);border-radius:24px;background:#fffc;border:1px solid rgba(31,31,31,.1);box-shadow:0 24px 50px #1f160a29;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.hero-kicker{align-self:flex-start;padding:6px 12px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(31,31,31,.08);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.hero-title{margin:0;font-size:clamp(2.6rem,5vw,4rem);line-height:1.05;color:#1c1a14}.hero-subtitle{margin:0;font-size:1.05rem;color:var(--landing-muted);max-width:520px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.hero-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border-radius:999px;text-decoration:none;font-weight:600;color:#2a2418;background:linear-gradient(130deg,#ffe07f,#f6c34d);box-shadow:0 18px 40px #c98c2659;transition:transform .2s ease,box-shadow .2s ease}.hero-cta:hover,.hero-cta:focus-visible{transform:translateY(-2px);box-shadow:0 22px 44px #c98c2666}.hero-secondary{display:inline-flex;align-items:center;padding:12px 22px;border-radius:999px;text-decoration:none;color:var(--landing-ink);border:1px solid rgba(31,31,31,.2);font-weight:500;background:#ffffff80}.hero-secondary--accent{background:#ffebbed9;border-color:#ce983266}.hero-note{margin:0;font-size:.85rem;color:var(--landing-muted)}.hero-scene-frame{position:relative;width:100%;height:clamp(520px,75vh,760px);border-radius:0;padding:0;background:#e6dfd0;border:none;box-shadow:none;opacity:1;transform:translateY(14px) scale(.98);transition:opacity .7s ease,transform .7s ease}.hero-scene-frame[data-ready=true]{transform:translateY(0) scale(1)}.hero-scene{position:relative;height:100%;border-radius:0;overflow:hidden;background:#e6dfd0;transition:transform .7s ease,filter .7s ease}.hero-scene canvas{width:100%!important;height:100%!important;display:block;pointer-events:none}.hero-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff0 45%,#f9f4e9e6);pointer-events:none}.hero-scene-caption{position:absolute;left:clamp(20px,6vw,64px);bottom:clamp(20px,6vw,56px);padding:6px 14px;border-radius:999px;background:#ffffffd9;font-size:.8rem;color:#1f1b12;border:1px solid rgba(31,31,31,.08);pointer-events:none}.hero-scene-loading{position:absolute;inset:0;border-radius:0;display:flex;align-items:center;justify-content:center;background:#f9f4e9cc;color:#6b5a3b;font-weight:500;letter-spacing:.02em}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;pointer-events:auto}.hero-stat{padding:16px;border-radius:16px;background:#ffffffb3;border:1px solid rgba(31,31,31,.08);display:grid;gap:4px}.hero-stat-label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#1f1f1f99}.hero-stat-value{font-weight:600;color:#1f1b12}.landing-experience,.landing-world{padding:clamp(60px,9vw,100px) 0}.section-heading{max-width:620px;display:grid;gap:14px}.section-heading h2{margin:0;font-size:clamp(2rem,4vw,3rem)}.section-heading p{margin:0;color:var(--landing-muted)}.section-body{margin:12px 0 0;color:var(--landing-muted);max-width:520px}.section-footnote{margin:18px 0 0;font-size:.85rem;color:#1f1f1f99}.experience-grid,.world-grid{display:grid;gap:22px;margin-top:32px}.experience-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.experience-card,.world-card{background:var(--landing-card);border:1px solid var(--landing-stroke);border-radius:24px;padding:26px;box-shadow:0 18px 40px #1f160a14;display:grid;gap:14px}.experience-card--accent{background:linear-gradient(135deg,#ffdd8ce6,#fcf5e4f2);border-color:#ce983259}.experience-tag{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#1f1f1f99}.experience-card h3,.world-card h3{margin:0;font-size:1.4rem;color:#1f1b12}.experience-card p,.world-card p{margin:0;color:var(--landing-muted)}.experience-cta{text-decoration:none;font-weight:600;color:#2a2418;display:inline-flex;align-items:center;gap:8px}.experience-cta--accent{color:#7a5300}.landing-cta{padding:clamp(50px,8vw,80px) 0}.landing-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(24px,5vw,36px);border-radius:28px;background:#ffffffbf;border:1px solid rgba(31,31,31,.08);box-shadow:0 24px 50px #1f160a1a}.landing-footer{padding:30px 0 50px;color:#1f1f1f99}.landing-footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:.85rem}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes site-header-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes site-hero-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-out{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes portal-in{0%{opacity:.92;transform:scale(1)}to{opacity:0;transform:scale(.985)}}.hero-copy>*{animation:landing-rise .7s ease both}.hero-kicker{animation-delay:.05s}.hero-title{animation-delay:.1s}.hero-subtitle{animation-delay:.16s}.hero-actions{animation-delay:.22s}.hero-note{animation-delay:.28s}@media(max-width:1024px){.landing-shell{width:min(960px,100% - 10vw)}.landing-header-inner{flex-direction:column;align-items:flex-start}.hero-overlay{align-content:flex-end}.landing-cta-inner{flex-direction:column;align-items:flex-start}}@media(max-width:720px){.landing-shell{width:min(92vw,100% - 8vw)}.landing-nav{flex-wrap:wrap;gap:12px}.landing-footer-inner{flex-direction:column}.hero-actions{flex-direction:column;align-items:stretch}.hero-cta,.hero-secondary{justify-content:center}.hero-copy{max-width:100%}}@media(prefers-reduced-motion:reduce){.hero-copy>*{animation:none}.hero-cta,.hero-scene-frame{transition:none}}.site{min-height:100vh;color:var(--site-ink);background:#f6f5f2;position:relative;isolation:isolate}.site h1,.site h2,.site h3,.site h4{font-family:var(--font-display)}.site:before{display:none}.site>*{position:relative;z-index:1}.site a:focus-visible,.site button:focus-visible{outline:2px solid var(--site-accent);outline-offset:3px}.site-shell{width:min(1200px,100% - 12vw);margin:0 auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f6f5f2f0;border-bottom:1px solid rgba(12,11,10,.07)}.site-header,.site-header .site-brand,.site-header .site-nav-link{color:var(--site-ink)}.site-header .site-nav-link{opacity:.75}.site-header .site-nav-link:hover,.site-header .site-nav-link:focus-visible{opacity:1}.site-header .site-nav-link[data-active=true]:after{background:var(--site-ink)}.site-header .site-brand-dot{box-shadow:none}.site-header-contact{color:var(--site-ink);text-decoration:none;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;position:relative;opacity:.8;transition:opacity .2s ease;padding-bottom:2px}.site-header-contact:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--site-ink);transform:scaleX(0);transform-origin:left center;transition:transform .25s cubic-bezier(.16,1,.3,1)}.site-header-contact:hover{opacity:1}.site-header-contact:hover:after{transform:scaleX(1)}.site[data-intro=reveal] .site-header{animation:site-header-in 1s cubic-bezier(.16,1,.3,1) both;animation-delay:.25s}.site[data-intro=reveal] .home-hero-title{animation:site-hero-in 1s cubic-bezier(.16,1,.3,1) both;animation-delay:.35s}.site[data-intro=reveal] .home-hero-lede{animation:site-hero-in 1s cubic-bezier(.16,1,.3,1) both;animation-delay:.5s}.site[data-intro=reveal] .home-hero-actions{animation:site-hero-in 1s cubic-bezier(.16,1,.3,1) both;animation-delay:.65s}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0}.site-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:.92rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:inherit;text-decoration:none}.site-brand-dot{width:7px;height:7px;border-radius:50%;background:var(--site-ink);box-shadow:none}.site-nav{display:flex;align-items:center;gap:28px;font-size:.82rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.site-nav-link{position:relative;color:inherit;text-decoration:none;opacity:.5;transition:opacity .2s ease}.site-nav-link:hover,.site-nav-link:focus-visible{opacity:1}.site-nav-link[data-active=true]{opacity:1}.site-nav-link[data-active=true]:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--site-ink)}.site-actions{display:flex;align-items:center;gap:12px}.site-action{display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border-radius:2px;text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#f6f5f2;background:#0c0b0a;transition:opacity .2s ease}.site-action:hover,.site-action:focus-visible{opacity:.75}.site-footer{padding:48px 0 56px;border-top:1px solid rgba(12,11,10,.08);background:transparent}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.site-footer-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.site-footer-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.site-footer-nav button{background:transparent;border:none;padding:0;font:inherit;font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--site-muted);transition:color .2s ease}.site-footer-nav button:hover{color:var(--site-ink)}.site-footer-city{background:transparent;color:var(--site-muted);border-radius:0;box-shadow:none;padding:0;font-weight:inherit}.home-hero{position:relative;min-height:92vh;display:grid;align-items:center;overflow:hidden}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,#f6f5f2f7,#f6f5f2e0 38%,#f6f5f24d 62%,#f6f5f200 80%),linear-gradient(to top,#f6f5f2e0,#f6f5f200 40%);z-index:1;pointer-events:none}.home-hero-media{position:absolute;inset:0;background:#f6f5f2;will-change:transform,filter;z-index:0}.home-hero-media:after{content:"";position:absolute;inset:0;background-image:none;pointer-events:none}.home-hero-media canvas{width:100%!important;height:100%!important;display:block;pointer-events:none}.home-hero-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f3ece1d9;font-weight:500}.home-hero-overlay{position:relative;padding:clamp(160px,20vh,240px) 0 140px;z-index:2}.home-hero-grid{position:relative;z-index:1;display:grid;gap:20px}.home-hero-title{margin:0;font-family:var(--font-display);font-size:clamp(3.4rem,6.5vw,6.5rem);font-weight:700;line-height:1;letter-spacing:-.02em;max-width:65%}.home-hero-title span{color:inherit;font-style:italic}.home-hero-lede{margin:0;color:var(--site-muted);font-size:1rem;font-weight:300;line-height:1.65;max-width:440px}.home-hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero-text-link{display:inline-flex;align-items:center;gap:6px;color:var(--site-muted);text-decoration:none;font-weight:400;font-size:.82rem;letter-spacing:.04em;position:relative;padding-bottom:2px}.hero-text-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--site-ink);transform:scaleX(.3);transform-origin:left center;transition:transform .25s cubic-bezier(.16,1,.3,1)}.hero-text-link:hover:after{transform:scaleX(1)}.hero-text-link span{display:inline-block;transition:transform .2s ease;color:inherit}.hero-text-link:hover span{transform:translate(4px)}.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 28px;border-radius:2px;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity .2s ease}.primary-button{color:#f6f5f2;background:#0c0b0a;box-shadow:none;border:1px solid #0C0B0A}.primary-button:hover,.primary-button:focus-visible{opacity:.72}.ghost-button{border:1px solid rgba(12,11,10,.25);color:var(--site-ink);background:transparent}.ghost-button:hover,.ghost-button:focus-visible{border-color:var(--site-ink)}.home-section{padding:clamp(70px,10vw,120px) 0}.section-header{max-width:640px;display:grid;gap:14px}.section-header h2{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:700;letter-spacing:-.02em;line-height:1.05}.section-header p{margin:0;color:var(--site-muted)}.section-kicker{margin:0;font-family:var(--font-body);font-size:.7rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--site-muted)}.intro-grid,.capability-grid,.work-grid{margin-top:32px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.intro-card,.capability-card,.work-card{background:var(--site-card);border:1px solid var(--site-stroke);border-radius:24px;padding:24px;box-shadow:0 18px 36px #1f160a14;display:grid;gap:12px}.inline-model{width:100%;height:100%;pointer-events:none}.inline-model canvas{width:100%!important;height:100%!important;display:block}.work-tag{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--site-muted);margin:0}.capability-list{list-style:none;margin:40px 0 0;padding:0}.home-capabilities-grid{display:grid;gap:clamp(32px,5vw,72px);grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center}.home-capabilities-intro{display:grid;gap:24px}.home-capabilities-visual{width:min(420px,100%);aspect-ratio:1 / 1}.capability-item{display:grid;grid-template-columns:48px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--site-stroke);align-items:start}.capability-item:last-child{border-bottom:1px solid var(--site-stroke)}.capability-num{font-family:var(--font-display);font-size:.75rem;letter-spacing:.12em;color:#2f2b2959;padding-top:4px}.capability-body{display:grid;gap:6px}.capability-body h3{margin:0;font-family:var(--font-display);font-size:clamp(1.2rem,1.8vw,1.6rem);font-weight:400;letter-spacing:-.01em}.capability-body p{margin:0;color:var(--site-muted);font-size:.95rem;max-width:560px}.approach-grid{display:grid;gap:clamp(32px,6vw,80px);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}.approach-copy{display:grid;gap:18px}.approach-copy .section-kicker{line-height:1}.approach-copy h2{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,3.8vw,3.6rem);font-weight:700;line-height:1.05;letter-spacing:-.02em}.approach-lede{margin:0;color:var(--site-muted);font-size:1.05rem;line-height:1.6;max-width:560px}.approach-list{display:grid;gap:16px}.approach-item{display:grid;gap:6px;padding-top:16px;border-top:1px solid var(--site-stroke)}.approach-item:first-child{border-top:none;padding-top:0}.approach-item h3{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:400;letter-spacing:-.005em}.approach-item p{margin:0;color:var(--site-muted)}.approach-visual{display:grid;gap:12px;justify-items:end}.approach-model{width:min(440px,100%);aspect-ratio:1 / 1;border-radius:0;border:none;background:transparent;box-shadow:none;overflow:visible}.inline-model--building{width:100%;height:100%}.approach-caption{margin:0;font-size:.85rem;color:#1f1c178c;text-align:right}.section-footer{margin-top:24px}.home-work .work-grid{margin-top:40px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.work-tile{position:relative;overflow:hidden;border-radius:2px;cursor:pointer;background:transparent;border:none;box-shadow:none;padding:0}.work-tile--wide{grid-column:span 2}.work-tile-image{width:100%;aspect-ratio:4 / 3;background:var(--tile-bg, #E8E4DC);transition:transform .6s cubic-bezier(.16,1,.3,1)}.work-tile--wide .work-tile-image{aspect-ratio:21 / 9}.work-tile:hover .work-tile-image{transform:scale(1.03)}.work-tile-info{padding:14px 0 8px;display:grid;gap:4px;position:relative}.work-tile-info h3{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.text-link{color:var(--site-ink);text-decoration:none;font-weight:600;position:relative;padding-bottom:2px}.text-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--site-ink);transform:scaleX(0);transform-origin:left center;transition:transform .25s cubic-bezier(.16,1,.3,1)}.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1)}.studio-grid{display:grid;gap:clamp(32px,6vw,80px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.studio-pullquote{margin:0;padding:0;border:none}.home-studio-side{display:grid;gap:20px;align-items:start}.home-studio-visual{width:min(430px,100%);aspect-ratio:1.15 / 1;justify-self:end}.studio-pullquote p{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:300;font-style:italic;line-height:1.3;letter-spacing:-.01em;color:var(--site-ink)}.studio-cite{display:block;margin-top:20px;font-style:normal;font-family:var(--font-body);font-size:.7rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--site-muted)}.home-cta{padding-bottom:clamp(80px,12vw,140px)}.home-cta-grid{display:grid;gap:clamp(32px,6vw,80px);grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);align-items:center}.home-cta-heading{margin:16px 0 0;font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--site-ink)}.home-cta-actions{display:flex;align-items:center;gap:28px;margin-top:40px;flex-wrap:wrap}.home-cta-visual{width:min(420px,100%);aspect-ratio:1 / 1;justify-self:end}.page{padding-top:160px}.page-hero{padding:clamp(40px,8vw,80px) 0 clamp(50px,8vw,90px)}.page-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4rem)}.page-lead{margin:16px 0 0;color:var(--site-muted);max-width:560px}.page-grid{padding-bottom:clamp(60px,10vw,110px)}.case-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.case-card{background:var(--site-card);border:1px solid var(--site-stroke);border-radius:24px;padding:26px;box-shadow:0 18px 36px #1f160a14;display:grid;gap:12px}.contact-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.contact-card{background:var(--site-card);border:1px solid var(--site-stroke);border-radius:24px;padding:26px;box-shadow:0 18px 36px #1f160a14;display:grid;gap:14px}.contact-card--light{background:#ffffffe6}.contact-card ul{margin:0;padding-left:18px;color:var(--site-muted)}.contact-tags{display:flex;flex-wrap:wrap;gap:8px}.contact-tags span{padding:6px 10px;border-radius:999px;border:1px solid rgba(31,28,23,.15);font-size:.8rem;background:#ffffffb3}.case-label{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#1f1c178c}.capability-stack{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.capability-detail{background:var(--site-card);border:1px solid var(--site-stroke);border-radius:24px;padding:26px;box-shadow:0 18px 36px #1f160a14;display:grid;gap:12px}.capability-detail ul{margin:0;padding-left:18px;color:var(--site-muted)}.page-cta{padding-bottom:clamp(80px,12vw,140px)}.page-cta-inner{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#ffffffd9;border-radius:28px;padding:clamp(24px,4vw,36px);border:1px solid rgba(31,28,23,.12);box-shadow:var(--site-shadow)}.studio-grid-page{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.studio-card{background:var(--site-card);border:1px solid var(--site-stroke);border-radius:24px;padding:24px;box-shadow:0 18px 36px #1f160a14}.studio-values{margin-top:40px;display:grid;gap:24px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.studio-values-list{display:grid;gap:16px}@media(max-width:1024px){.site-shell{width:min(960px,100% - 10vw)}.home-hero-grid,.approach-grid,.home-capabilities-grid,.home-cta-grid{grid-template-columns:1fr}.approach-visual{justify-items:start}.home-cta-visual,.home-studio-visual{justify-self:start}.studio-values{grid-template-columns:1fr}.home-cta-actions{flex-direction:column;align-items:flex-start}}@media(max-width:720px){.site-shell{width:min(92vw,100% - 8vw)}.site-header-inner{flex-direction:column;align-items:flex-start}.site-nav{flex-wrap:wrap}.home-hero-actions{flex-direction:column;align-items:flex-start}.home-hero-title{font-size:clamp(2.2rem,8vw,3rem);line-height:1.05;max-width:90%}.home-work .work-grid{grid-template-columns:1fr}.work-tile--wide{grid-column:span 1}.work-tile--wide .work-tile-image{aspect-ratio:4 / 3}.studio-grid{grid-template-columns:1fr}.home-cta-heading{font-size:clamp(2rem,8vw,3.2rem)}.home-cta-actions{flex-direction:column;align-items:flex-start}.capability-item{grid-template-columns:36px 1fr;gap:16px}.approach-model,.home-capabilities-visual,.home-cta-visual,.home-studio-visual{width:min(340px,100%)}}.site[data-transition=out]{filter:blur(3px) saturate(1.08);transition:filter 1.1s ease}.home-hero-media{transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s cubic-bezier(.16,1,.3,1);transform-origin:var(--portal-x, 60%) var(--portal-y, 55%)}.site[data-transition=out] .home-hero-media{transform:scale(1.2);filter:saturate(1.1) brightness(.9) blur(.6px)}.home-hero-overlay{transition:opacity 1.1s ease}.site[data-transition=out] .home-hero-overlay{opacity:0}.hp-main{display:block}.hp-hero{position:relative;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:center}.hp-hero-scene{position:absolute;inset:0;background:#f0ede4;z-index:0;transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s cubic-bezier(.16,1,.3,1);transform-origin:var(--portal-x, 60%) var(--portal-y, 55%)}.hp-hero-scene canvas{width:100%!important;height:100%!important;display:block;pointer-events:none}.hp-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to right,#f6f5f2fc,#f6f5f2f2 38%,#f6f5f28c 62%,#f6f5f200 85%),linear-gradient(to top,#f6f5f2a6,#f6f5f200 28%)}.hp-hero-body{position:relative;z-index:2;width:100%;padding:clamp(80px,12vh,140px) 0 clamp(48px,8vh,80px)}.hp-kicker{margin:0 0 20px;font-size:.63rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--site-muted)}.hp-hero-title{margin:0;font-family:var(--font-display);font-size:clamp(4rem,7.5vw,9rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--site-ink)}.hp-hero-title span,.hp-hero-title em{display:block;line-height:.95}.hp-hero-title em{font-style:italic;color:var(--site-accent)}.hp-hero-lede{margin:28px 0 0;font-size:.92rem;font-weight:300;line-height:1.75;color:var(--site-muted);max-width:36ch}.hp-hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:36px}.hp-btn-primary{display:inline-flex;align-items:center;padding:13px 28px;background:var(--site-ink);color:var(--site-accent);font-family:var(--font-body);font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s ease}.hp-btn-primary:hover{background:#2a2825}.hp-hero-scroll{position:absolute;bottom:clamp(20px,4vh,40px);right:clamp(24px,4vw,48px);font-family:var(--font-display);font-size:1.4rem;color:var(--site-accent);line-height:1;z-index:3;will-change:translate;animation:hp-bob 2.4s ease-in-out infinite}@keyframes hp-bob{0%,to{translate:0 0}50%{translate:0 5px}}.site[data-transition=out] .hp-hero-scene{transform:scale(1.15);filter:saturate(1.1) brightness(.9) blur(.5px)}.site[data-transition=out] .hp-hero-body{opacity:0;transition:opacity 1.1s ease}.hp-manifesto{background:var(--site-accent);padding:clamp(72px,11vw,128px) 0}.hp-manifesto-grid{display:grid;grid-template-columns:1fr 360px;gap:clamp(40px,6vw,80px);align-items:center}.hp-manifesto-copy{display:grid;gap:24px}.hp-manifesto-visual{width:100%;aspect-ratio:1 / 1}.hp-manifesto-tag{margin:0 0 28px;font-size:.63rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--site-muted)}.hp-manifesto-text{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,3.6vw,4rem);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:#0c0b0a;max-width:22ch}.hp-manifesto-text em{font-style:italic;text-decoration:underline;text-decoration-color:#0c0b0a40;text-underline-offset:5px}.hp-work{background:var(--site-sand);padding-top:clamp(80px,10vw,120px);padding-bottom:clamp(80px,10vw,140px)}.hp-work-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:clamp(48px,7vw,80px)}.hp-section-kicker{margin:0;font-size:.63rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--site-muted)}.hp-text-link{font-size:.82rem;font-weight:400;color:var(--site-ink);text-decoration:none;padding-bottom:2px;border-bottom:1px solid rgba(12,11,10,.25);white-space:nowrap;transition:border-color .2s ease;flex-shrink:0}.hp-text-link:hover{border-color:var(--site-accent)}.hp-work-grid{display:flex;gap:clamp(20px,4vw,52px);align-items:flex-start}.hp-work-col{flex:1;display:flex;flex-direction:column;gap:clamp(28px,5vw,60px)}.hp-work-col--offset{padding-top:0}.hp-project{cursor:pointer;display:block;outline:none}.hp-project:focus-visible .hp-project-thumb{box-shadow:0 0 0 2px var(--site-accent)}.hp-project-thumb{position:relative;width:100%;aspect-ratio:4 / 3;background:var(--bg, #E8E4DC);overflow:hidden;transform:translateY(0);transition:transform .7s cubic-bezier(.16,1,.3,1)}.hp-project-thumb:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--site-ink);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.16,1,.3,1)}.hp-project:hover .hp-project-thumb,.hp-project:focus-visible .hp-project-thumb{transform:translateY(-6px)}.hp-project:hover .hp-project-thumb:after,.hp-project:focus-visible .hp-project-thumb:after{transform:scaleX(1)}.hp-project-num{position:absolute;top:18px;left:20px;font-family:var(--font-body);font-size:.65rem;font-weight:400;letter-spacing:.14em;color:#0c0b0a4d;z-index:1;pointer-events:none}.hp-project-arrow{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:7px;font-size:.6rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--site-ink);opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none}.hp-project:hover .hp-project-arrow,.hp-project:focus-visible .hp-project-arrow{opacity:1;transform:translateY(0)}.hp-project-meta{padding:16px 0 0}.hp-project-cat{margin:0 0 8px;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--site-muted)}.hp-project-title{margin:0 0 8px;font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2.6rem);font-weight:300;letter-spacing:-.02em;line-height:1;color:var(--site-ink)}.hp-project-sub{margin:0;font-size:.8rem;font-weight:300;color:var(--site-muted);line-height:1.6;max-width:30ch}.hp-section-title{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,4.4rem);font-weight:300;letter-spacing:-.025em;line-height:1}.hp-services{background:#0c0b0a;padding:clamp(80px,11vw,136px) 0}.hp-services-layout{display:grid;grid-template-columns:280px 1fr;gap:clamp(40px,6vw,80px);align-items:start}.hp-services-visual{width:100%;aspect-ratio:3 / 4;position:sticky;top:120px}.hp-services-content{display:grid;gap:0}.hp-services-tag{margin:0 0 48px;font-size:.63rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:#f6f5f259}.hp-services-list{display:grid;gap:0}.hp-service{display:grid;grid-template-columns:80px 1fr auto;gap:32px;padding:28px 0;border-top:1px solid rgba(246,245,242,.08);align-items:center;transition:border-color .25s ease;cursor:default}.hp-service:last-child{border-bottom:1px solid rgba(246,245,242,.08)}.hp-service:hover{border-top-color:var(--site-accent)}.hp-service:last-child:hover{border-bottom-color:var(--site-accent)}.hp-service-num{font-family:var(--font-display);font-size:2.4rem;font-weight:300;color:var(--site-accent);line-height:1;letter-spacing:-.02em}.hp-service-body h3{margin:0 0 5px;font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2.2rem);font-weight:300;color:#f6f5f2;letter-spacing:-.015em;line-height:1}.hp-service-body p{margin:0;font-size:.85rem;font-weight:300;color:#f6f5f273;line-height:1.6}.hp-service-arrow{font-family:var(--font-display);font-size:1.4rem;color:#f6f5f226;transition:color .2s ease,transform .2s ease;display:block}.hp-service:hover .hp-service-arrow{color:var(--site-accent);transform:translate(5px)}.hp-studio{background:var(--site-sand);padding:clamp(80px,11vw,136px) 0}.hp-studio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,100px);align-items:center}.hp-studio-copy{display:grid;gap:28px}.hp-studio-title{margin:0;font-family:var(--font-display);font-size:clamp(2.8rem,5.5vw,5.2rem);font-weight:700;line-height:.95;letter-spacing:-.03em}.hp-studio-title em{font-style:italic;color:var(--site-accent)}.hp-studio-body{margin:0;font-size:.92rem;font-weight:300;line-height:1.75;color:var(--site-muted);max-width:40ch}.hp-studio-stats{display:flex;gap:36px;flex-wrap:wrap}.hp-stat{display:grid;gap:3px}.hp-stat-value{font-family:var(--font-display);font-size:2.8rem;font-weight:300;line-height:1;letter-spacing:-.025em;color:var(--site-accent)}.hp-stat-label{font-size:.62rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--site-muted)}.hp-studio-visual{width:100%;aspect-ratio:1 / 1;border-radius:2px;overflow:hidden}.hp-cta{background:var(--site-accent);padding:clamp(80px,12vw,148px) 0}.hp-cta-layout{display:grid;grid-template-columns:1fr 340px;gap:clamp(40px,6vw,80px);align-items:center}.hp-cta-visual{width:100%;aspect-ratio:1 / 1}.hp-cta-inner{display:grid;gap:clamp(20px,2.5vw,32px)}.hp-cta-tag{margin:0;font-size:.63rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--site-muted)}.hp-cta-headline{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,5.5rem);font-weight:700;line-height:.96;letter-spacing:-.03em;color:#0c0b0a;max-width:14ch}.hp-cta-headline em{font-style:italic;text-decoration:underline;text-decoration-color:#0c0b0a40;text-underline-offset:5px}.hp-cta-sub{margin:0;font-size:.9rem;font-weight:300;color:#0c0b0a8c;line-height:1.6}.hp-cta-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}@media(max-width:1024px){.hp-studio-grid,.hp-manifesto-grid{grid-template-columns:1fr}.hp-manifesto-visual{display:none}.hp-services-layout{grid-template-columns:1fr}.hp-services-visual{display:none}.hp-cta-layout{grid-template-columns:1fr}.hp-cta-visual{display:none}.hp-service{grid-template-columns:60px 1fr auto;gap:20px}}@media(max-width:900px){.hp-hero{grid-template-columns:1fr;grid-template-rows:auto 40vh;height:auto;min-height:100svh}.hp-hero-left{border-right:none;border-bottom:1px solid var(--site-stroke)}.hp-hero-right{height:40vh}.hp-hero-scroll{left:clamp(24px,5vw,48px)}}@media(max-width:720px){.hp-hero-title{font-size:clamp(2.6rem,9vw,4rem)}.hp-hero-lede{max-width:100%}.hp-hero-actions{flex-direction:column;align-items:flex-start;gap:12px}.hp-work-grid{flex-direction:column;gap:0}.hp-work-col{gap:28px}.hp-work-col--offset{padding-top:0}.hp-service{grid-template-columns:44px 1fr;gap:16px}.hp-service-arrow{display:none}.hp-manifesto-text{font-size:clamp(2rem,8vw,3.2rem)}.hp-cta-headline{font-size:clamp(2.6rem,11vw,4rem)}.hp-studio-stats{gap:24px}}@media(prefers-reduced-motion:reduce){.hp-hero-scene,.hp-hero-left-inner{transition:none}.hp-hero-scroll{animation:none}}@keyframes wk-up{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.wk-hero{padding:clamp(56px,9vw,104px) 0 clamp(40px,6vw,72px)}.wk-eyebrow{display:flex;align-items:center;gap:10px;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--site-muted);margin:0 0 clamp(24px,4vw,40px)}.wk-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--site-accent);flex-shrink:0}.wk-eyebrow-count{margin-left:auto;font-size:.62rem;opacity:.55;font-family:var(--font-display);font-style:italic;letter-spacing:.05em}.wk-eyebrow--light{color:#ffffff8c}.wk-hero-top{border-bottom:1px solid var(--site-stroke);padding-bottom:18px;margin-bottom:clamp(28px,5vw,52px)}.wk-hero-body{display:grid;grid-template-columns:1fr minmax(0,420px);gap:clamp(32px,6vw,80px);align-items:end}.wk-hero-title{font-family:var(--font-display);font-size:clamp(3.2rem,7vw,6.4rem);font-weight:700;line-height:1;letter-spacing:-.025em;margin:0;color:var(--site-ink)}.wk-hero-title em{font-style:italic;color:var(--site-muted)}.wk-hero-aside{display:flex;flex-direction:column;gap:24px;padding-bottom:6px}.wk-hero-lead{color:var(--site-muted);font-size:clamp(.88rem,1.1vw,1rem);line-height:1.7;margin:0}.wk-hero-meta{display:flex;align-items:center;gap:14px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--site-muted)}.wk-meta-sep{width:20px;height:1px;background:currentColor;opacity:.4}.wk-grid-section{padding-bottom:clamp(64px,10vw,120px)}.wk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.5vw,20px)}.wk-card{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #0c0b0a0f;transition:box-shadow .4s ease,transform .4s cubic-bezier(.25,1,.5,1)}.wk-card--wide{grid-column:1 / -1}.wk-mounted .wk-card{animation:wk-up .6s cubic-bezier(.25,1,.5,1) both;animation-delay:calc(.08s * var(--i, 0) + .05s)}.wk-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px #0c0b0a24}.wk-card-link{display:flex;flex-direction:column;text-decoration:none;color:var(--site-ink);height:100%}.wk-card-panel{position:relative;background:var(--c, #45B7D1);aspect-ratio:16 / 8;overflow:hidden;flex-shrink:0}.wk-card--wide .wk-card-panel{aspect-ratio:16 / 6}.wk-card-stripes{position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 28px,rgba(255,255,255,.045) 28px,rgba(255,255,255,.045) 29px)}.wk-card-shine{position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 85% 15%,rgba(255,255,255,.22) 0%,transparent 70%);transition:opacity .4s}.wk-card:hover .wk-card-shine{opacity:1.5}.wk-card-glyph{position:absolute;bottom:-8px;right:clamp(12px,3%,28px);font-size:clamp(5rem,9vw,9rem);line-height:1;color:#ffffff24;-webkit-user-select:none;user-select:none;pointer-events:none;transition:transform .5s cubic-bezier(.25,1,.5,1),color .4s}.wk-card:hover .wk-card-glyph{transform:translateY(-10px) scale(1.08);color:#ffffff38}.wk-card-body{display:flex;flex-direction:column;gap:10px;padding:clamp(16px,2vw,24px) clamp(16px,2vw,24px) clamp(18px,2.2vw,26px);flex:1}.wk-card-top{display:flex;align-items:center;gap:12px}.wk-card-num{font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--site-accent);flex-shrink:0}.wk-card-tags{display:flex;gap:5px;flex-wrap:wrap}.wk-pill{font-size:.59rem;letter-spacing:.1em;text-transform:uppercase;color:var(--site-muted);border:1px solid var(--site-stroke);border-radius:999px;padding:3px 9px;white-space:nowrap;transition:border-color .25s,background .25s,color .25s}.wk-card:hover .wk-pill{border-color:var(--c, var(--site-accent));background:color-mix(in srgb,var(--c, var(--site-accent)) 10%,transparent);color:var(--site-ink)}.wk-card-name{font-family:var(--font-display);font-size:clamp(1.35rem,2.2vw,2rem);font-weight:400;font-style:italic;letter-spacing:-.015em;line-height:1.1;margin:0;transition:transform .35s cubic-bezier(.25,1,.5,1)}.wk-card:hover .wk-card-name{transform:translate(4px)}.wk-card-desc{font-size:clamp(.78rem,1vw,.88rem);color:var(--site-muted);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wk-card-cta{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--site-ink);margin-top:auto;padding-top:8px;border-top:1px solid var(--site-stroke);transition:gap .3s ease}.wk-card:hover .wk-card-cta{gap:10px}.wk-card-arrow{font-size:.9rem;transition:transform .3s cubic-bezier(.25,1,.5,1)}.wk-card:hover .wk-card-arrow{transform:translate(3px,-3px)}.wk-cta{padding-bottom:clamp(72px,11vw,130px)}.wk-cta-card{position:relative;display:flex;justify-content:space-between;align-items:center;gap:32px;border-radius:24px;padding:clamp(32px,5vw,52px) clamp(28px,4vw,48px);overflow:hidden;background:var(--site-ink);color:#fff}.wk-cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 120% at 90% 50%,rgba(244,196,48,.18) 0%,transparent 65%);pointer-events:none}.wk-cta-content{display:flex;flex-direction:column;gap:12px;position:relative}.wk-cta-heading{font-family:var(--font-display);font-size:clamp(1.7rem,3.2vw,2.8rem);font-weight:400;margin:0;line-height:1.12;letter-spacing:-.02em;color:#fff}.wk-cta-heading em{font-style:italic;color:var(--site-accent)}.wk-cta-card .primary-button{position:relative;flex-shrink:0;background:#ffffff14;border-color:#ffffff4d;color:#fff}.wk-cta-card .primary-button:hover{background:#ffffff29;border-color:#fff9}@media(max-width:860px){.wk-hero-body{grid-template-columns:1fr;gap:32px}.wk-hero-aside{max-width:520px}.wk-grid{gap:12px}}@media(max-width:620px){.wk-grid{grid-template-columns:1fr}.wk-card--wide{grid-column:auto}.wk-card-panel,.wk-card--wide .wk-card-panel{aspect-ratio:16 / 9}.wk-cta-card{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.wk-mounted .wk-card{animation:none}.wk-card,.wk-card-name,.wk-card-glyph,.wk-card-arrow,.wk-pill{transition:none}}.achievement-toast{position:fixed;bottom:8.75rem;left:1.25rem;z-index:9999;display:flex;align-items:center;gap:.75rem;background:#2f2b29;border-left:3px solid #FFD54F;border-radius:6px;padding:.65rem 1rem .65rem .85rem;box-shadow:0 4px 20px #00000059;pointer-events:none;transform:translate(calc(-100% - 1.5rem));opacity:0;transition:transform .28s cubic-bezier(.34,1.56,.64,1),opacity .22s ease}.achievement-toast--visible{transform:translate(0);opacity:1}.achievement-toast__icon{width:1.1rem;height:1.1rem;color:#ffd54f;line-height:1;flex-shrink:0;stroke-width:2.2}.achievement-toast__body{display:flex;flex-direction:column;gap:.1rem}.achievement-toast__name{margin:0;font-family:var(--font-display);font-weight:700;font-size:.75rem;color:#ffd54f;letter-spacing:.06em;text-transform:uppercase}.achievement-toast__desc{margin:0;font-family:var(--font-body);font-size:.7rem;color:#ffffff8c;letter-spacing:.02em}.collectible-counter{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9990;display:flex;align-items:center;gap:.4rem;background:#2f2b29d1;border:1px solid rgba(255,213,79,.3);border-radius:20px;padding:.3rem .75rem;font-family:var(--font-display);font-weight:700;font-size:.7rem;color:#ffd54f;letter-spacing:.08em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer}.collectible-counter:hover{background:#2f2b29f2;border-color:#ffd54f8c}.collectible-counter__icon{font-size:.65rem;opacity:.85;flex:0 0 auto}svg.collectible-counter__icon{width:.78rem;height:.78rem;stroke-width:2.3}.collectible-counter__icon--crystal{color:#ffd54f}@media(prefers-reduced-motion:reduce){.achievement-toast{transition:opacity .15s ease;transform:none}.achievement-toast--visible{transform:none}}.achievement-panel-backdrop{position:fixed;inset:0;z-index:20000;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.achievement-panel{position:fixed;top:0;right:0;z-index:20001;width:min(380px,94vw);height:100dvh;background:linear-gradient(180deg,#2d271ff5,#1c1917fa);border-left:1px solid rgba(255,213,79,.28);box-shadow:-18px 0 44px #00000057;display:flex;flex-direction:column;transform:translate(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);overflow:hidden}.achievement-panel--open{transform:translate(0)}.achievement-panel__header{display:flex;align-items:center;justify-content:space-between;padding:1.35rem 1.35rem .9rem;border-bottom:1px solid rgba(255,213,79,.14);flex-shrink:0}.achievement-panel__title{font-family:var(--font-display);font-weight:700;font-size:.92rem;letter-spacing:.11em;text-transform:uppercase;color:#ffd54f;display:flex;align-items:center;gap:.5rem}.achievement-panel__title svg{width:1rem;height:1rem;stroke-width:2.2;flex-shrink:0}.achievement-panel__close{background:none;border:none;color:#fff6;font-size:1.4rem;line-height:1;cursor:pointer;padding:.2rem .4rem;transition:color .15s}.achievement-panel__close:hover{color:#ffd54f}.achievement-panel__progress{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1.35rem;font-family:var(--font-body);font-size:.78rem;line-height:1.35;color:#ffffffad;letter-spacing:.03em;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;flex-wrap:wrap}.achievement-panel__list{list-style:none;margin:0;padding:.65rem 0;overflow-y:auto;flex:1}.achievement-panel__item{display:flex;align-items:flex-start;gap:.85rem;padding:.95rem 1.35rem;border-bottom:1px solid rgba(255,255,255,.05);opacity:.62;transition:opacity .2s,background-color .2s}.achievement-panel__item--unlocked{opacity:1;background:linear-gradient(90deg,#ffd54f14,#ffd54f05)}.achievement-panel__item-icon{font-size:.88rem;color:#ffd54f;margin-top:.18rem;flex-shrink:0;width:1.05rem;text-align:center}.achievement-panel__item-body{display:flex;flex-direction:column;gap:.28rem}.achievement-panel__item-name{margin:0;font-family:var(--font-display);font-weight:700;font-size:.92rem;line-height:1.25;color:#ffd54fd1;letter-spacing:.03em}.achievement-panel__item--unlocked .achievement-panel__item-name{color:#fff}.achievement-panel__item-desc{margin:0;font-family:var(--font-body);font-size:.8rem;line-height:1.45;color:#ffffffbd}.collectible-counter{cursor:pointer;pointer-events:all;background:#2f2b29d1;border:1px solid rgba(255,213,79,.3);transition:border-color .2s,background .2s}.collectible-counter:hover{border-color:#ffd54fb3;background:#2f2b29f2}.collectible-counter--empty{opacity:.5}@media(pointer:coarse){.collectible-counter{right:88px;bottom:34px}}.onboarding-hint{position:fixed;bottom:7.5rem;left:50%;transform:translate(-50%) translateY(1rem);z-index:9995;display:flex;align-items:center;gap:.5rem;background:#2f2b29e0;border:1px solid rgba(255,213,79,.25);border-radius:24px;padding:.5rem 1.1rem;font-family:var(--font-body);font-size:.75rem;color:#ffffffb3;letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease}.onboarding-hint--visible{opacity:1;transform:translate(-50%) translateY(0)}.onboarding-hint__icon{color:#ffd54f;font-size:.65rem}@media(prefers-reduced-motion:reduce){.achievement-panel{transition:none}.onboarding-hint{transition:opacity .15s;transform:translate(-50%)}}.rotate-hint{position:fixed;inset:0;z-index:9996;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;background:#10162ed1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-family:var(--font-body);animation:rotate-hint-in .4s ease both}@keyframes rotate-hint-in{0%{opacity:0}to{opacity:1}}.rotate-hint__phone{width:42px;height:72px;border:3px solid #FFD54F;border-radius:10px;display:flex;align-items:center;justify-content:center;animation:rotate-hint-turn 2.4s ease-in-out infinite}.rotate-hint__phone-screen{width:26px;height:52px;border-radius:4px;background:#ffd54f38}@keyframes rotate-hint-turn{0%,20%{transform:rotate(0)}55%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}.rotate-hint__title{margin:.4rem 0 0;font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.rotate-hint__text{margin:0;max-width:26ch;font-size:.95rem;line-height:1.5;color:#ffffffbf}.rotate-hint__dismiss{margin-top:.8rem;padding:.7em 1.6em;font-family:Space Mono,ui-monospace,monospace;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:999px;cursor:pointer}@media(prefers-reduced-motion:reduce){.rotate-hint{animation:none}.rotate-hint__phone{animation:none;transform:rotate(-90deg)}}.cm-root{position:fixed;inset:0;z-index:22000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,48px);animation:cm-root-in .35s ease-out both}@keyframes cm-root-in{0%{opacity:0}to{opacity:1}}.cm-root[data-closing=true]{animation:cm-root-out .28s ease-in both}@keyframes cm-root-out{0%{opacity:1}to{opacity:0}}.cm-backdrop{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 8%,#10162e6b,#0c0b0aa8);backdrop-filter:blur(14px) saturate(.86);-webkit-backdrop-filter:blur(14px) saturate(.86)}.cm-plate{position:relative;display:flex;width:min(100%,var(--cm-width, 880px));max-height:min(86dvh,820px);background:linear-gradient(180deg,#fffefb,#f8f6f1);border:1px solid rgba(12,11,10,.14);border-radius:26px;box-shadow:0 1px #fff9 inset,0 30px 70px #0c0b0a66,0 90px 160px #0c0b0a47;overflow:hidden;animation:cm-plate-in .6s cubic-bezier(.16,1,.3,1) both}@keyframes cm-plate-in{0%{opacity:0;transform:translateY(34px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}.cm-root[data-closing=true] .cm-plate{animation:cm-plate-out .28s cubic-bezier(.6,0,.35,1) both}@keyframes cm-plate-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(18px) scale(.975)}}.cm-plate:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}.cm-spine{flex:0 0 58px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:22px 0;border-right:1px solid rgba(12,11,10,.1);background:linear-gradient(180deg,#f5f3ed,#efede6)}.cm-spine__district{font-family:Space Mono,ui-monospace,monospace;font-size:.62rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:#0c0b0a85;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.cm-spine__dot{width:8px;height:8px;border-radius:50%;background:#f4c430;box-shadow:0 0 0 4px #f4c43038}.cm-spine__coords{font-family:Space Mono,ui-monospace,monospace;font-size:.56rem;letter-spacing:.18em;color:#0c0b0a61;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.cm-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(12,11,10,.22) transparent}.cm-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(20px,3vw,30px) clamp(22px,4vw,44px) 0}.cm-eyebrow{display:inline-flex;align-items:center;gap:12px;min-width:0}.cm-sun{position:relative;flex:0 0 30px;width:30px;height:30px;border-radius:50%;overflow:hidden;border:1px solid rgba(12,11,10,.22);background:#fffdf6}.cm-sun:before{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#ffe585,#f4c430 62%,#e8b520);animation:cm-sunrise 1.1s cubic-bezier(.16,1,.3,1) .25s both}@keyframes cm-sunrise{0%{transform:translateY(120%)}to{transform:translateY(0)}}.cm-eyebrow__label{font-family:Space Mono,ui-monospace,monospace;font-size:.68rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#0c0b0a8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-eyebrow__index{font-family:Space Mono,ui-monospace,monospace;font-size:.68rem;letter-spacing:.14em;color:#0c0b0a59;white-space:nowrap}.cm-close{flex:0 0 44px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(12,11,10,.18);background:transparent;color:#0c0b0a;cursor:pointer;transition:background-color .25s ease,color .25s ease,transform .25s ease,border-color .25s ease}.cm-close svg{width:16px;height:16px;transition:transform .35s cubic-bezier(.16,1,.3,1)}.cm-close:hover,.cm-close:focus-visible{background:#0c0b0a;border-color:#0c0b0a;color:#fffdf6}.cm-close:hover svg,.cm-close:focus-visible svg{transform:rotate(90deg)}.cm-close:focus-visible{outline:2px solid #F4C430;outline-offset:3px}.cm-body{padding:clamp(14px,2.4vw,24px) clamp(22px,4vw,44px) clamp(20px,3vw,32px);display:flex;flex-direction:column;flex:1 0 auto;min-height:0}.cm-foot{flex-shrink:0}.cm-title{margin:0;font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-weight:700;font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.02;letter-spacing:-.02em;color:#0c0b0a}.cm-subtitle{margin:14px 0 0;font-family:Instrument Sans,sans-serif;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:500;line-height:1.45;color:#4a463f;max-width:46ch}.cm-text{margin:12px 0 0;font-family:Instrument Sans,sans-serif;font-size:1rem;line-height:1.65;color:#55504a;max-width:56ch}.cm-stagger{animation:cm-stagger-in .6s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.12s + var(--cm-i, 0) * .07s)}@keyframes cm-stagger-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.cm-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px clamp(22px,4vw,44px) 18px;border-top:1px solid rgba(12,11,10,.09)}.cm-foot span{font-family:Space Mono,ui-monospace,monospace;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:#0c0b0a61;white-space:nowrap}.cm-services{margin-top:clamp(18px,3vw,28px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cm-service{position:relative;display:flex;align-items:center;gap:16px;padding:18px;background:#fff;border:1px solid rgba(12,11,10,.11);border-radius:18px;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}.cm-service:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#f4c430;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}.cm-service:hover{transform:translateY(-3px);border-color:#0c0b0a52;box-shadow:0 14px 30px #0c0b0a1a}.cm-service:hover:after{transform:scaleX(1)}.cm-service__icon{flex:0 0 46px;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(160deg,#ffe585,#f4c430);border:1px solid rgba(12,11,10,.16);color:#0c0b0a}.cm-service__icon svg{width:22px;height:22px}.cm-service__name{font-family:Instrument Sans,sans-serif;font-size:1.02rem;font-weight:600;letter-spacing:-.005em;color:#0c0b0a;line-height:1.3}.cm-service__code{position:absolute;top:10px;right:14px;font-family:Space Mono,ui-monospace,monospace;font-size:.56rem;letter-spacing:.2em;color:#0c0b0a47}.cm-about{margin-top:clamp(16px,2.6vw,24px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,48px);align-items:start}.cm-ledger{display:flex;flex-direction:column}.cm-ledger__row{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid rgba(12,11,10,.1)}.cm-ledger__row:first-child{padding-top:4px}.cm-ledger__label{font-family:Space Mono,ui-monospace,monospace;font-size:.62rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#0c0b0a6b}.cm-ledger__value{font-family:Bricolage Grotesque,sans-serif;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;letter-spacing:-.01em;line-height:1.25;color:#0c0b0a}.cm-board{position:relative;margin-top:20px;display:flex;align-items:stretch;padding:14px 6px;background:linear-gradient(180deg,#1a1712,#0c0b0a);border-radius:18px;box-shadow:inset 0 0 0 1px #ffe5851f,0 16px 34px #0c0b0a38;overflow:hidden}.cm-board:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,253,246,.045) 0px,rgba(255,253,246,.045) 1px,transparent 1px,transparent 3px)}.cm-board__cell{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:7px;padding:4px 16px}.cm-board__cell+.cm-board__cell{border-left:1px dashed rgba(255,253,246,.18)}.cm-board__label{font-family:Space Mono,ui-monospace,monospace;font-size:.52rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#fffdf673;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-board__value{font-family:Space Mono,ui-monospace,monospace;font-weight:700;font-size:clamp(.92rem,1.5vw,1.12rem);letter-spacing:.02em;color:#ffd97a;text-shadow:0 0 14px rgba(253,202,61,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-nav{display:flex;align-items:center;gap:18px}.cm-nav__btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid rgba(12,11,10,.18);background:transparent;color:#0c0b0a;cursor:pointer;transition:background-color .25s ease,color .25s ease,transform .25s ease,opacity .25s ease}.cm-nav__btn svg{width:16px;height:16px}.cm-nav__btn:hover:not(:disabled),.cm-nav__btn:focus-visible:not(:disabled){background:#0c0b0a;color:#fffdf6;transform:translateY(-2px)}.cm-nav__btn:focus-visible{outline:2px solid #F4C430;outline-offset:3px}.cm-nav__btn:disabled{opacity:.28;cursor:default}.cm-nav__track{display:flex;gap:6px;flex:1 1 auto;max-width:220px}.cm-nav__seg{height:3px;flex:1 1 auto;border-radius:999px;background:#0c0b0a24;overflow:hidden;position:relative}.cm-nav__seg:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#f4c430;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}.cm-nav__seg[data-active=true]:after{transform:scaleX(1)}.cm-slide{animation:cm-slide-in .45s cubic-bezier(.16,1,.3,1) both}@keyframes cm-slide-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.cm-plate--project .cm-main{flex-direction:row;overflow:hidden}.cm-project-media{position:relative;flex:0 0 46%;min-height:420px;display:flex;align-items:center;justify-content:center;padding:clamp(20px,3vw,36px);background:radial-gradient(90% 75% at 50% 110%,#f4c43042,#f4c43000 62%),linear-gradient(180deg,#191624,#100e17);overflow:hidden}.cm-shot{width:100%;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 30px 60px #00000073,0 0 0 1px #fffdf61f;transform:translateY(0);transition:transform .6s cubic-bezier(.16,1,.3,1)}.cm-plate--project:hover .cm-shot{transform:translateY(-4px) scale(1.015)}.cm-shot__bar{display:flex;align-items:center;gap:5px;padding:9px 12px;background:#f0ede6;border-bottom:1px solid rgba(12,11,10,.08)}.cm-shot__bar i{width:8px;height:8px;border-radius:50%;background:#0c0b0a29}.cm-shot__bar i:first-child{background:#f4c430}.cm-shot__url{margin-left:8px;flex:1 1 auto;min-width:0;padding:3px 10px;border-radius:999px;background:#fff;font-family:Space Mono,ui-monospace,monospace;font-size:.56rem;letter-spacing:.06em;color:#0c0b0a80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-shot img{display:block;width:100%;height:auto}.cm-shot__frame{position:relative;overflow:hidden}.cm-shot__frame img{animation:cm-slide-in .45s cubic-bezier(.16,1,.3,1) both}.cm-shot__nav{position:absolute;z-index:2;bottom:14px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:12px;padding:7px 12px;border-radius:999px;background:#0c0b0ab8;border:1px solid rgba(255,253,246,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cm-shot__arrow{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;color:#fffdf6;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.cm-shot__arrow svg{width:13px;height:13px}.cm-shot__arrow:hover:not(:disabled){background:#fffdf629}.cm-shot__arrow:disabled{opacity:.3;cursor:default}.cm-shot__dots{display:inline-flex;gap:6px}.cm-shot__dot{width:6px;height:6px;padding:0;border:none;border-radius:999px;background:#fffdf659;cursor:pointer;transition:background-color .25s ease,width .25s ease}.cm-shot__dot[data-active=true]{width:18px;background:#f4c430}.cm-project-media__tag{position:absolute;z-index:2;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#0c0b0ab8;border:1px solid rgba(255,253,246,.24);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:Space Mono,ui-monospace,monospace;font-size:.58rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#fffdf6}.cm-project-media__tag:before{content:"";width:6px;height:6px;border-radius:50%;background:#f4c430;animation:cm-live 1.8s ease-in-out infinite}@keyframes cm-live{0%,to{box-shadow:0 0 #f4c4308c}55%{box-shadow:0 0 0 6px #f4c43000}}.cm-project-media__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(90% 70% at 50% 110%,#f4c43052,#f4c43000 60%),linear-gradient(180deg,#191624,#100e17);color:#fffdf6}.cm-project-media__placeholder svg{width:44px;height:44px;color:#f4c430}.cm-project-media__placeholder span{font-family:Bricolage Grotesque,sans-serif;font-size:1.3rem;font-weight:600;text-align:center;padding:0 24px}.cm-project-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.cm-tech{margin-top:clamp(18px,2.6vw,26px)}.cm-tech__label{font-family:Space Mono,ui-monospace,monospace;font-size:.62rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#0c0b0a6b;margin-bottom:12px}.cm-tech__chips{display:flex;flex-wrap:wrap;gap:8px}.cm-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid rgba(12,11,10,.14);transition:border-color .25s ease,transform .25s ease}.cm-chip:hover{border-color:#0c0b0a66;transform:translateY(-2px)}.cm-chip img{width:15px;height:15px;display:block}.cm-chip__dot{width:7px;height:7px;border-radius:50%;background:#f4c430;border:1px solid rgba(12,11,10,.28)}.cm-chip span{font-family:Space Mono,ui-monospace,monospace;font-size:.66rem;font-weight:700;letter-spacing:.06em;color:#0c0b0a;white-space:nowrap}.cm-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:999px;border:1px solid #0C0B0A;background:#0c0b0a;color:#fffdf6;font-family:Instrument Sans,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.01em;cursor:pointer;overflow:hidden;transition:color .3s ease,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.cm-btn:before{content:"";position:absolute;inset:0;background:#f4c430;transform:translateY(102%);transition:transform .4s cubic-bezier(.16,1,.3,1)}.cm-btn>*{position:relative;z-index:1}.cm-btn svg{width:15px;height:15px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.cm-btn:hover:not(:disabled),.cm-btn:focus-visible:not(:disabled){color:#0c0b0a;transform:translateY(-2px);box-shadow:0 14px 28px #0c0b0a38}.cm-btn:hover:not(:disabled):before,.cm-btn:focus-visible:not(:disabled):before{transform:translateY(0)}.cm-btn:hover:not(:disabled) svg{transform:translate(3px,-3px)}.cm-btn:focus-visible{outline:2px solid #F4C430;outline-offset:3px}.cm-btn:disabled{opacity:.45;cursor:default}.cm-form{margin-top:clamp(18px,3vw,26px);display:flex;flex-direction:column;gap:16px}.cm-field{display:flex;flex-direction:column;gap:7px}.cm-field label{font-family:Space Mono,ui-monospace,monospace;font-size:.62rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#0c0b0a7a}.cm-field input,.cm-field textarea{width:100%;padding:13px 16px;font-family:Instrument Sans,sans-serif;font-size:1rem;color:#0c0b0a;background:#fff;border:1.5px solid rgba(12,11,10,.16);border-radius:14px;outline:none;transition:border-color .25s ease,box-shadow .25s ease;box-sizing:border-box}.cm-field textarea{resize:vertical;min-height:110px}.cm-field input:focus,.cm-field textarea:focus{border-color:#0c0b0a;box-shadow:0 0 0 3px #f4c43066}.cm-field input::placeholder,.cm-field textarea::placeholder{color:#0c0b0a4d}@media(max-width:860px){.cm-plate--project .cm-main{flex-direction:column}.cm-project-media{flex:0 0 auto;min-height:220px}.cm-about{grid-template-columns:1fr}}@media(pointer:coarse)and (max-width:900px){.cm-root{padding:0;align-items:stretch;justify-content:stretch}.cm-plate{width:100%;max-width:none;height:100dvh;max-height:100dvh;border:none;border-radius:0;box-shadow:none}.cm-spine{display:none}.cm-main{padding-top:max(env(safe-area-inset-top,0px),8px);padding-bottom:max(env(safe-area-inset-bottom,0px),8px)}.cm-head{position:sticky;top:0;z-index:3;background:linear-gradient(180deg,#fffefb,#fffefbf0);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cm-close{min-width:44px;min-height:44px}.cm-plate{animation:cm-plate-in-sheet .42s cubic-bezier(.16,1,.3,1) both}}@keyframes cm-plate-in-sheet{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.cm-services{grid-template-columns:1fr}.cm-board{flex-direction:column;padding:8px 16px}.cm-board__cell{padding:12px 0}.cm-board__cell+.cm-board__cell{border-left:none;border-top:1px dashed rgba(255,253,246,.18)}.cm-nav__track{max-width:120px}}@media(prefers-reduced-motion:reduce){.cm-root,.cm-plate,.cm-stagger,.cm-slide,.cm-sun:before{animation:none!important}.cm-service,.cm-chip,.cm-btn,.cm-nav__btn,.cm-close,.cm-project-media img{transition:none!important}}.wb-confirm{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;animation:cm-root-in .25s ease-out both}.wb-confirm__backdrop{position:absolute;inset:0;background:#0c0b0a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.wb-confirm__card{position:relative;width:min(92%,380px);padding:26px 28px 24px;background:linear-gradient(180deg,#fffefb,#f8f6f1);border:1px solid rgba(12,11,10,.16);border-radius:20px;box-shadow:0 24px 60px #0c0b0a59;animation:cm-plate-in .4s cubic-bezier(.16,1,.3,1) both}.wb-confirm__eyebrow{font-family:Space Mono,ui-monospace,monospace;font-size:.6rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#0c0b0a73}.wb-confirm__title{margin:10px 0 0;font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.015em;color:#0c0b0a}.wb-confirm__text{margin:8px 0 0;font-family:Instrument Sans,sans-serif;font-size:.92rem;line-height:1.55;color:#55504a}.wb-confirm__actions{margin-top:20px;display:flex;gap:10px;justify-content:flex-end}.wb-confirm__cancel,.wb-confirm__clear{padding:11px 20px;border-radius:999px;font-family:Instrument Sans,sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:background-color .22s ease,color .22s ease,transform .22s ease,border-color .22s ease}.wb-confirm__cancel{background:transparent;border:1px solid rgba(12,11,10,.2);color:#0c0b0a}.wb-confirm__cancel:hover{background:#fbe435d9;border-color:#0c0b0a4d;transform:translateY(-1px)}.wb-confirm__clear{background:#0c0b0a;border:1px solid #0C0B0A;color:#fffdf6}.wb-confirm__clear:hover{background:#b3261e;border-color:#b3261e;transform:translateY(-1px)}.wb-confirm__cancel:focus-visible,.wb-confirm__clear:focus-visible{outline:2px solid #FBE435;outline-offset:2px}@media(prefers-reduced-motion:reduce){.wb-confirm,.wb-confirm__card{animation:none}.wb-confirm__cancel:hover,.wb-confirm__clear:hover{transform:none}}.quest-avatar{position:relative;display:inline-flex;flex-direction:column;align-items:center;width:34px;height:42px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.quest-avatar__head{width:14px;height:14px;border-radius:50%}.quest-avatar__body{width:20px;height:16px;margin-top:1px;border-radius:4px 4px 2px 2px}.quest-avatar__legs{width:14px;height:9px;border-radius:0 0 3px 3px}.quest-dialogue{position:fixed;bottom:5rem;right:1.5rem;z-index:9992;width:min(340px,calc(100vw - 2.5rem));background:#2f2b29f5;border:1px solid rgba(255,213,79,.32);border-left:3px solid #FFD54F;border-radius:10px;padding:.85rem 1rem;box-shadow:0 8px 30px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:quest-dialogue-in .32s cubic-bezier(.34,1.56,.64,1)}@keyframes quest-dialogue-in{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}.quest-dialogue__header{display:flex;align-items:center;gap:.65rem;margin-bottom:.55rem}.quest-dialogue__who{flex:1;min-width:0}.quest-dialogue__name{margin:0;font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;color:#ffd54f}.quest-dialogue__role{margin:0;font-family:var(--font-body);font-size:.65rem;letter-spacing:.04em;color:#ffffff80}.quest-dialogue__step{font-family:var(--font-display);font-weight:700;font-size:.65rem;letter-spacing:.08em;color:#ffd54fa6;align-self:flex-start}.quest-dialogue__text{margin:0 0 .6rem;font-family:var(--font-body);font-size:.78rem;line-height:1.5;color:#ffffffd9}.quest-dialogue__objective{display:flex;align-items:center;gap:.4rem;margin:0 0 .7rem;padding:.4rem .6rem;background:#ffd54f1a;border:1px solid rgba(255,213,79,.25);border-radius:6px;font-family:var(--font-display);font-weight:700;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#ffd54f}.quest-dialogue__actions{display:flex;justify-content:flex-end}.quest-dialogue__btn{appearance:none;border:none;cursor:pointer;background:#ffd54f;color:#2f2b29;font-family:var(--font-display);font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .95rem;border-radius:18px;transition:transform .15s ease,background .15s ease}.quest-dialogue__btn:hover{background:#ffdf75;transform:translateY(-1px)}.quest-dialogue__btn--ghost{background:transparent;color:#fff9;border:1px solid rgba(255,255,255,.25)}.quest-dialogue__btn--ghost:hover{background:#ffffff14;color:#ffffffd9}.quest-tracker{position:fixed;bottom:5rem;right:1.5rem;z-index:9990;display:flex;align-items:center;gap:.2rem;max-width:min(320px,calc(100vw - 2.5rem));background:#2f2b29d1;border:1px solid rgba(255,213,79,.3);border-radius:22px;padding:.3rem .5rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s ease,border-color .15s ease}.quest-tracker:hover{background:#2f2b29f2;border-color:#ffd54f8c}.quest-tracker--static{pointer-events:none;gap:.55rem;padding-right:.85rem}.app-shell[data-touch=true] .quest-dialogue,.app-shell[data-touch=true] .quest-tracker{z-index:10020}.quest-tracker__open{appearance:none;background:none;border:none;padding:.05rem .35rem .05rem 0;margin:0;display:flex;align-items:center;gap:.55rem;min-width:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.quest-tracker__dismiss{appearance:none;background:none;border:none;flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;color:#fff6;cursor:pointer;transition:background .15s ease,color .15s ease}.quest-tracker__dismiss:hover{background:#ffffff1f;color:#ffffffe6}.quest-tracker .quest-avatar{width:26px;height:32px;transform:scale(.82);transform-origin:center}.quest-tracker__body{display:flex;flex-direction:column;gap:.08rem;min-width:0}.quest-tracker__label{font-family:var(--font-display);font-weight:700;font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:#ffd54fb3}.quest-tracker__objective{font-family:var(--font-body);font-size:.7rem;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.quest-dialogue{bottom:5rem;right:.75rem;width:min(320px,calc(100vw - 1.5rem))}.quest-tracker{bottom:5rem;right:.75rem}}@media(prefers-reduced-motion:reduce){.quest-dialogue{animation:none}.quest-dialogue__btn:hover{transform:none}.app-controls-hint.is-visible{animation:none}}.quest-dialogue__dismiss{appearance:none;background:none;border:none;align-self:flex-start;width:24px;height:24px;margin:-.2rem -.35rem 0 .1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;color:#fff6;cursor:pointer;transition:background .15s ease,color .15s ease}.quest-dialogue__dismiss:hover{background:#ffffff1f;color:#ffffffe6}.quest-dialogue__actions{gap:.5rem;align-items:center}.quest-dialogue__auto{margin:0;font-family:var(--font-display);font-weight:700;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#ffd54fb3;text-align:right}.achievement-panel__resume{appearance:none;width:100%;display:flex;align-items:center;gap:.65rem;margin:0 0 .9rem;padding:.6rem .75rem;background:#ffd54f1a;border:1px solid rgba(255,213,79,.3);border-radius:8px;cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease}.achievement-panel__resume:hover{background:#ffd54f2e;border-color:#ffd54f8c}.achievement-panel__resume-icon{font-size:.9rem;color:#ffd54f;flex-shrink:0}.achievement-panel__resume-body{display:flex;flex-direction:column;gap:.12rem;min-width:0}.achievement-panel__resume-title{font-family:var(--font-display);font-weight:700;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:#ffd54f}.achievement-panel__resume-desc{font-family:var(--font-body);font-size:.68rem;color:#ffffff8c}@media(pointer:coarse){body.mode-city,body.mode-city #root,.app-root[data-page=city],.app-shell,.orb-touch,.orb-touch-zone{height:100dvh}body.mode-city{position:fixed;inset:0;touch-action:none}.app-header{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.app-controls-hint{display:none}.app-chip .pj-logox--city{height:20px}.app-toggle--back-to-site{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom))}.fps-meter{left:max(12px,env(safe-area-inset-left));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 50px)}.mobile-menu-toggle{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.mobile-menu{right:max(12px,env(safe-area-inset-right));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 64px)}.bottom-menu--desktop{display:none!important}.mobile-menu-backdrop{z-index:20018}.mobile-menu{z-index:20019}.mobile-menu-toggle{z-index:20020}.app-shell[data-mobile-menu=open] .app-header,.app-shell[data-mobile-menu=open] .app-toggle--back-to-site,.app-shell[data-mobile-menu=open] .fps-meter,.app-shell[data-mobile-menu=open] .fp-compass,.app-shell[data-mobile-menu=open] .quest-dialogue,.app-shell[data-mobile-menu=open] .quest-tracker,.app-shell[data-mobile-menu=open] .orb-touch-hint{opacity:0;visibility:hidden;pointer-events:none}.orb-touch-zone{width:50%;padding:0 0 max(14px,env(safe-area-inset-bottom))}.virtual-joystick-base{width:88px;height:88px}.virtual-joystick-knob{width:44px;height:44px}}@media(pointer:coarse)and (orientation:landscape){.city-bottom-left-controls{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));z-index:20010;display:flex;align-items:center;gap:10px;pointer-events:none}.city-bottom-left-controls .app-toggle--back-to-site,.city-bottom-left-controls .collectible-counter{position:static;inset:auto}.app-shell[data-view-mode=fp] .app-header{justify-content:flex-end}.app-shell[data-view-mode=fp] .app-header-left,.app-shell[data-view-mode=fp] .app-toggle--back-to-site,.app-shell[data-view-mode=fp] .onboarding-hint{display:none}.app-shell[data-view-mode=fp] .app-toggle--view-mode{min-height:42px;padding:8px 14px;font-size:0}.app-shell[data-view-mode=fp] .app-toggle--view-mode:before{content:"Exit FP";font-size:.72rem}.app-shell[data-view-mode=iso] .app-toggle--view-mode{font-size:0}.app-shell[data-view-mode=iso] .app-toggle--view-mode:before{content:"First person";font-size:.72rem}.app-shell[data-view-mode=fp] .mobile-menu-toggle{width:48px;height:48px}.app-shell[data-view-mode=fp] .hamburger-line{width:21px;height:2px}.mobile-menu{top:auto;left:auto;right:calc(max(10px,env(safe-area-inset-right)) + 58px);bottom:max(10px,env(safe-area-inset-bottom));width:min(620px,calc(100vw - 86px - env(safe-area-inset-left) - env(safe-area-inset-right)));height:56px;min-width:0;padding:6px 8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:6px;overflow-x:hidden;overflow-y:hidden;border-radius:16px;box-shadow:0 12px 30px #2f2b2933}.mobile-menu-item{flex:1 1 0;width:auto;min-width:0;min-height:42px;padding:8px 6px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:.72rem;line-height:1.15;text-align:center;white-space:nowrap}.mobile-menu-divider{flex:0 0 1px;width:1px;height:28px;margin:0 1px}.mobile-menu-item--toggle{flex:0 0 42px;width:42px;min-height:42px;padding:0;justify-content:center;background:#53535312;border-color:#53535314;border-radius:50%}.mobile-menu-item-icon{width:auto;text-align:center;flex:0 0 auto}.mobile-menu-item-icon svg{display:block}.mobile-menu-item--toggle .mobile-menu-item-label{display:none}.mobile-menu-toggle.open{right:max(10px,env(safe-area-inset-right))}.app-shell[data-view-mode=fp] .fp-compass{top:calc(max(12px,env(safe-area-inset-top)) + 54px);right:max(12px,env(safe-area-inset-right));bottom:auto;width:68px;height:68px}.app-shell[data-view-mode=fp] .fp-compass-marker{width:15px;height:15px;font-size:.46rem}.app-shell[data-view-mode=fp] .fp-compass-marker--north{font-size:.43rem}.app-shell[data-view-mode=fp] .quest-tracker--static{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:auto;bottom:auto;max-width:min(230px,42vw);padding:.28rem .65rem}.app-shell[data-view-mode=fp] .quest-tracker--static .quest-avatar{display:none}.app-shell[data-view-mode=fp] .quest-tracker__label{font-size:.52rem}.app-shell[data-view-mode=fp] .quest-tracker__objective{max-width:190px;font-size:.62rem}.app-shell[data-view-mode=fp] .orb-touch-hint{font-size:.54rem;opacity:.72}}:root{--pj-noon: #79C0EA;--pj-day: #A8D7F2;--pj-haze: #DCEFF9;--pj-amber: #F6CD86;--pj-ember: #E0815D;--pj-violet: #5D4278;--pj-dusk: #2C2C55;--pj-night: #10162E;--pj-ink: #142639;--pj-ink-60: rgba(20, 38, 57, .64);--pj-paper: #FFFFFF;--pj-accent: #F4C430;--pj-lamp: #FFD98A;--pj-line: rgba(20, 38, 57, .22);--pj-line-night: rgba(255, 217, 138, .28);--pj-font-display: "Bricolage Grotesque", system-ui, sans-serif;--pj-font-body: "Instrument Sans", system-ui, sans-serif;--pj-font-mono: "Space Mono", ui-monospace, monospace;--pj-shell: 1280px;--pj-gutter: clamp(1.25rem, 4vw, 3rem)}body.mode-site{background:var(--pj-noon);overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}.pj-site{font-family:var(--pj-font-body);color:var(--pj-ink);min-height:100vh;position:relative;transition:opacity .5s ease;overflow-x:hidden;overflow-x:clip}.pj-site--home{background:linear-gradient(180deg,var(--pj-noon) 0%,var(--pj-day) 16%,var(--pj-haze) 30%,var(--pj-haze) 42%,var(--pj-amber) 55%,var(--pj-ember) 66%,var(--pj-violet) 78%,var(--pj-dusk) 87%,var(--pj-night) 100%)}.pj-site--work{background:linear-gradient(180deg,var(--pj-noon) 0%,var(--pj-day) 30%,var(--pj-haze) 68%,var(--pj-amber) 100%)}.pj-site--studio{background:linear-gradient(180deg,var(--pj-haze) 0%,var(--pj-amber) 42%,var(--pj-ember) 78%,var(--pj-violet) 100%)}.pj-site--contact{background:linear-gradient(180deg,var(--pj-dusk) 0%,var(--pj-night) 55%,#1E2650 100%);color:var(--pj-paper)}.pj-shell{width:min(var(--pj-shell),100% - var(--pj-gutter) * 2);margin-inline:auto}.pj-plaque{display:inline-flex;align-items:center;gap:.6em;font-family:var(--pj-font-mono);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:.5em 1em;border:1px solid var(--pj-line);border-radius:3px;color:inherit;white-space:nowrap}.pj-plaque:before{content:"";width:8px;height:8px;background:var(--pj-accent);flex:none}.pj-plaque--night{border-color:var(--pj-line-night)}.pj-btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--pj-font-mono);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--pj-paper);background:var(--pj-ink);border:1px solid var(--pj-ink);border-radius:999px;padding:1em 1.9em;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}.pj-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #14263947}.pj-btn--sun{background:var(--pj-accent);border-color:var(--pj-accent);color:var(--pj-ink)}.pj-btn--sun:hover{box-shadow:0 10px 30px #f4c43066}.pj-btn--ghost{background:transparent;color:inherit;border-color:currentColor}.pj-btn--ghost:hover{box-shadow:none;background:#ffffff24}.pj-btn--city{background:var(--pj-ink);border-color:var(--pj-ink);color:var(--pj-paper);box-shadow:0 10px 28px #14263933,0 0 #f4c43000}.pj-btn--city:hover{box-shadow:0 14px 34px #14263952,0 0 0 4px #f4c43061}.pj-city-cta-wrap{position:relative;display:inline-flex}.pj-city-cta-tag{position:absolute;top:-.7rem;right:.8rem;display:inline-flex;align-items:center;min-height:1.9em;padding:.2em .72em;border:1px solid var(--pj-ink);border-radius:999px;background:var(--pj-accent);color:var(--pj-ink);font-family:var(--pj-font-mono);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;pointer-events:none;transform:rotate(2deg);box-shadow:0 4px 12px #14263929}.pj-site a:focus-visible,.pj-site button:focus-visible{outline:2px solid var(--pj-accent);outline-offset:3px;border-radius:4px}.pj-header{position:absolute;top:0;left:0;right:0;z-index:40;padding-top:clamp(1.1rem,2.5vw,2rem)}.pj-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.pj-brand{display:inline-flex;align-items:center;gap:.65em;font-family:var(--pj-font-display);font-weight:800;font-size:1.06rem;letter-spacing:-.01em;text-decoration:none;color:inherit}.pj-logo{height:1.45em;width:auto;flex:none;overflow:visible}.pj-logo-body{fill:currentColor;transform-box:fill-box;transform-origin:center bottom}.pj-logo-dot{fill:var(--pj-accent);transform-box:fill-box;transform-origin:center}.pj-logo[data-intro=true] .pj-logo-dot{animation:pj-logo-drop 1.1s cubic-bezier(.3,.7,.4,1) both}.pj-logo[data-intro=true] .pj-logo-body{animation:pj-logo-rise .7s cubic-bezier(.34,1.4,.64,1) .55s both}.pj-brand:hover .pj-logo-dot,.pj-brand:focus-visible .pj-logo-dot{animation:pj-logo-hop .9s cubic-bezier(.34,1.2,.5,1) both}.pj-brand:hover .pj-logo-body,.pj-brand:focus-visible .pj-logo-body{animation:pj-logo-squash .9s cubic-bezier(.34,1.2,.5,1) both}@keyframes pj-logo-drop{0%{transform:translateY(-90px);opacity:0}40%{transform:translateY(0);opacity:1}58%{transform:translateY(-24px)}74%{transform:translateY(0) scale(1.18,.82)}88%{transform:translateY(-7px) scale(1)}to{transform:translateY(0)}}@keyframes pj-logo-rise{0%{transform:scaleY(0)}65%{transform:scaleY(1.08)}85%{transform:scaleY(.97)}to{transform:scaleY(1)}}@keyframes pj-logo-hop{0%{transform:translateY(0) rotate(0)}35%{transform:translateY(-18px) rotate(9deg)}62%{transform:translateY(0) rotate(0) scale(1.12,.88)}82%{transform:translateY(-6px) scale(1)}to{transform:translateY(0)}}@keyframes pj-logo-squash{0%{transform:scaleY(1)}30%{transform:scaleY(.93)}60%{transform:scaleY(1.04)}to{transform:scaleY(1)}}.pj-logox{display:block;height:auto;overflow:visible}.pj-logox-letter{fill:currentColor;transform-box:fill-box;transform-origin:center}.pj-logox-dot{fill:var(--pj-accent, #f4c430);transform-box:fill-box;transform-origin:center}.pj-logox-word{transform-box:fill-box;transform-origin:center bottom}.pj-logox--header{height:25px;width:auto}.pj-logox--header[data-intro=playing] .pj-logox-letter{animation:pj-logox-rise .55s cubic-bezier(.22,1,.36,1) calc(var(--pl-i) * .08s) both}.pj-logox--header[data-intro=playing] .pj-logox-dot{animation:pj-logox-drop 1.1s cubic-bezier(.3,.7,.4,1) .62s both}.pj-brand:hover .pj-logox-word,.pj-brand:focus-visible .pj-logox-word{animation:pj-logox-bow .9s cubic-bezier(.34,1.2,.5,1) both}.pj-brand:hover .pj-logox-dot,.pj-brand:focus-visible .pj-logox-dot{animation:pj-logo-hop .9s cubic-bezier(.34,1.2,.5,1) both}@media(pointer:coarse){.pj-logox--header{height:20px}}@keyframes pj-logox-rise{0%{transform:translateY(26px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pj-logox-drop{0%{transform:translateY(-110px);opacity:0}40%{transform:translateY(0);opacity:1}60%{transform:translateY(-26px)}76%{transform:translateY(0) scale(1.18,.82)}89%{transform:translateY(-7px) scale(1)}to{transform:translateY(0)}}@keyframes pj-logox-bow{0%{transform:scaleY(1)}30%{transform:scaleY(.95)}60%{transform:scaleY(1.02)}to{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.pj-logo .pj-logo-body,.pj-logo .pj-logo-dot,.pj-logox .pj-logox-letter,.pj-logox .pj-logox-dot,.pj-logox .pj-logox-word{animation:none!important;opacity:1!important}}.pj-nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem)}.pj-nav-link{font-family:var(--pj-font-mono);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:inherit;opacity:.82;padding-bottom:.2em;border-bottom:2px solid transparent;isolation:isolate;transition:opacity .2s ease,border-color .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}.pj-nav-link:before{content:"";position:absolute;z-index:-1;left:-.38em;right:-.38em;bottom:.05em;height:.48em;border-radius:2px;background:var(--pj-accent);opacity:.92;transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.16,1,.3,1)}.pj-nav-link:hover,.pj-nav-link:focus-visible,.pj-nav-link[data-active=true]{opacity:1;transform:translateY(-2px)}.pj-nav-link:hover:before,.pj-nav-link:focus-visible:before,.pj-nav-link[data-active=true]:before{transform:scaleX(1)}.pj-header-cta{padding:.75em 1.5em;font-size:.72rem}.pj-menu-toggle{display:none;position:relative;align-items:center;justify-content:center;width:48px;height:48px;padding:0;margin-right:-10px;background:transparent;border:0;cursor:pointer;z-index:60;flex:none;-webkit-tap-highlight-color:transparent}.pj-menu-toggle-bars{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;width:26px;height:26px;transition:transform .25s ease}.pj-menu-toggle-bar{display:block;width:100%;height:5px;border-radius:3px;background:var(--pj-accent);transform-origin:center;transition:transform .4s cubic-bezier(.2,.6,.2,1),opacity .2s ease}.pj-menu-toggle:focus-visible{outline:2px solid var(--pj-accent);outline-offset:5px;border-radius:8px}.pj-menu-toggle:active .pj-menu-toggle-bars{transform:scale(.92)}.pj-menu-toggle[data-open=true] .pj-menu-toggle-bar:nth-child(1){transform:translateY(10px) rotate(45deg)}.pj-menu-toggle[data-open=true] .pj-menu-toggle-bar:nth-child(2){opacity:0;transform:scaleX(.2)}.pj-menu-toggle[data-open=true] .pj-menu-toggle-bar:nth-child(3){transform:translateY(-10px) rotate(-45deg)}.pj-site:has(.pj-mobile-menu[data-open=true]) .pj-header{color:var(--pj-paper)}@media(prefers-reduced-motion:reduce){.pj-menu-toggle-bar,.pj-menu-toggle-bars{transition:none}}.pj-mobile-menu{position:fixed;inset:0;z-index:35;display:none;flex-direction:column;justify-content:center;gap:clamp(2rem,6vh,3rem);padding:calc(env(safe-area-inset-top,0px) + 5.5rem) var(--pj-gutter) calc(env(safe-area-inset-bottom,0px) + 2rem);background:linear-gradient(180deg,var(--pj-dusk) 0%,var(--pj-night) 100%);color:var(--pj-paper);opacity:0;pointer-events:none;transition:opacity .35s ease;overflow-y:auto}.pj-mobile-menu[data-open=true]{opacity:1;pointer-events:auto}.pj-mobile-menu:after{content:"";position:fixed;left:0;right:0;bottom:0;height:15vh;max-height:150px;pointer-events:none;opacity:0;transform:translateY(20px);transition:opacity .6s ease .25s,transform .6s ease .25s;background-repeat:repeat-x;background-position:bottom left;background-size:auto 100%;image-rendering:auto;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='120' viewBox='0 0 300 120'%3E%3Cg fill='%23FFFFFF' fill-opacity='0.06'%3E%3Crect x='0' y='58' width='38' height='62'/%3E%3Crect x='44' y='34' width='30' height='86'/%3E%3Crect x='80' y='70' width='44' height='50'/%3E%3Crect x='130' y='22' width='26' height='98'/%3E%3Crect x='162' y='62' width='40' height='58'/%3E%3Crect x='208' y='44' width='32' height='76'/%3E%3Crect x='246' y='74' width='54' height='46'/%3E%3C/g%3E%3Cg fill='%23F4C430' fill-opacity='0.5'%3E%3Crect x='52' y='44' width='5' height='6'/%3E%3Crect x='62' y='44' width='5' height='6'/%3E%3Crect x='52' y='58' width='5' height='6'/%3E%3Crect x='137' y='34' width='5' height='6'/%3E%3Crect x='137' y='50' width='5' height='6'/%3E%3Crect x='147' y='34' width='5' height='6'/%3E%3Crect x='216' y='56' width='5' height='6'/%3E%3Crect x='228' y='56' width='5' height='6'/%3E%3Crect x='216' y='70' width='5' height='6'/%3E%3Crect x='92' y='82' width='5' height='6'/%3E%3Crect x='106' y='82' width='5' height='6'/%3E%3C/g%3E%3C/svg%3E")}.pj-mobile-menu[data-open=true]:after{opacity:1;transform:none}.pj-mobile-menu-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;position:relative;z-index:1}.pj-mobile-menu-link{position:relative;display:flex;align-items:baseline;gap:.7rem;width:100%;padding:.35rem 0;font-family:var(--pj-font-display);font-size:clamp(2.2rem,9vw,3rem);font-weight:800;letter-spacing:-.02em;text-decoration:none;color:inherit;opacity:0;transform:translateY(18px);-webkit-tap-highlight-color:transparent}.pj-mobile-menu-link:before{counter-increment:pj-menu-door;content:"0" counter(pj-menu-door);font-family:var(--pj-font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;opacity:.45;transform:translateY(-.5em)}.pj-mobile-menu-nav{counter-reset:pj-menu-door}.pj-mobile-menu-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.14;transform:scaleX(1);transform-origin:left center}.pj-mobile-menu-link[data-active=true]:after{background:var(--pj-accent);opacity:1;height:2px}.pj-mobile-menu-link[data-active=true]:before{color:var(--pj-accent);opacity:1}.pj-mobile-menu-link:active{color:var(--pj-accent)}.pj-mobile-menu[data-open=true] .pj-mobile-menu-link{opacity:1;transform:none;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.6,.2,1)}.pj-mobile-menu[data-open=true] .pj-mobile-menu-link:nth-child(1){transition-delay:.06s}.pj-mobile-menu[data-open=true] .pj-mobile-menu-link:nth-child(2){transition-delay:.12s}.pj-mobile-menu[data-open=true] .pj-mobile-menu-link:nth-child(3){transition-delay:.18s}.pj-mobile-menu[data-open=true] .pj-mobile-menu-link:nth-child(4){transition-delay:.24s}.pj-mobile-menu-link[data-active=true]{color:var(--pj-lamp)}.pj-mobile-menu-actions{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;position:relative;z-index:1}.pj-mobile-menu-actions .pj-btn{justify-content:center}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}[data-reveal].is-in{opacity:1;transform:none}.pj-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-top:5rem;padding-bottom:5rem}.pj-hero-flight,.pj-hero-flight *{pointer-events:none!important}.pj-hero-flight{position:absolute;inset:0;z-index:3}.pj-hero-flight canvas{display:block}.pj-hero-body{position:relative;z-index:2;text-align:center}.pj-hero-body .pj-shell{display:flex;flex-direction:column;align-items:center}.pj-hero-title{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(3.2rem,11.5vw,10rem);line-height:.9;letter-spacing:-.035em;margin:1.2rem 0 0;text-transform:uppercase}.pj-hero-title--two-line{font-size:clamp(1.95rem,10.8vw,9.48rem);line-height:.88;margin-top:0}.pj-hero-title--two-line span>i{white-space:nowrap}.pj-hero-title span{display:block;overflow:hidden}.pj-hero-title span>i{display:block;font-style:normal;transform:translateY(112%) rotate(5deg);transform-origin:left bottom;animation:pj-rise 1.05s cubic-bezier(.16,.84,.3,1) forwards}.pj-hero-title span:nth-child(2)>i{animation-delay:.12s}.pj-hero-title span:nth-child(3)>i{animation-delay:.24s}.pj-hero-title .pj-outline{color:transparent;-webkit-text-stroke:2px var(--pj-ink)}.pj-hero-title .pj-outline-word{color:transparent;font:inherit;-webkit-text-stroke:2px var(--pj-ink)}@keyframes pj-rise{to{transform:translateY(0) rotate(0)}}.pj-hero-sun{position:absolute;top:7%;right:clamp(18px,2.8vw,64px);width:clamp(150px,20vw,280px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 42% 38%,#FFE38A 0%,var(--pj-accent) 58%,#EFB61E 100%);box-shadow:0 0 90px 30px #ffde788c;z-index:1;animation:pj-sunrise 1.6s cubic-bezier(.16,.84,.3,1) both,pj-sun-breathe 7s ease-in-out 1.6s infinite alternate;pointer-events:none}@keyframes pj-sunrise{0%{transform:translateY(60vh) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes pj-sun-breathe{0%{box-shadow:0 0 90px 30px #ffde788c}to{box-shadow:0 0 130px 52px #ffde78bf}}.pj-site:not([data-intro=done]) .pj-hero-title span>i,.pj-site:not([data-intro=done]) .pj-hero-sun,.pj-site:not([data-intro=done]) .pj-hero-entrance{animation-play-state:paused}.pj-hero-entrance{opacity:0;animation:pj-fade-up .85s cubic-bezier(.16,.84,.3,1) forwards}.pj-hero-body .pj-plaque.pj-hero-entrance{animation-delay:.5s}.pj-hero-lede.pj-hero-entrance{animation-delay:.72s}.pj-hero-actions.pj-hero-entrance{animation-delay:.9s}.pj-hero-cue.pj-hero-entrance{animation-name:pj-fade-up-centered;animation-delay:1.4s}@keyframes pj-fade-up-centered{0%{opacity:0;transform:translate(-50%) translateY(22px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pj-fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.pj-hero-lede{max-width:34rem;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.6;color:var(--pj-ink-60);margin:1.8rem 0 2.2rem}.pj-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;position:relative;z-index:6}.pj-hero-cue{position:absolute;left:50%;bottom:1.15rem;transform:translate(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:.7rem;font-family:var(--pj-font-mono);font-size:.58rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:#142639d1;text-shadow:0 1px 18px rgba(255,255,255,.9)}.pj-hero-cue:after{content:"";width:1px;height:2.6rem;background:linear-gradient(180deg,#14263900,#142639db 28%,#14263933);transform-origin:50% 0;animation:pj-drop 1.8s ease-in-out infinite}@keyframes pj-drop{0%,to{transform:translateY(0) scaleY(.72);opacity:.62}50%{transform:translateY(7px) scaleY(1);opacity:1}}.pj-level{position:relative;padding:clamp(5rem,10vw,9rem) 0}.pj-level-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1.4rem;margin-bottom:clamp(2.2rem,5vw,4rem)}.pj-level-title{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(2.3rem,5.4vw,4.6rem);line-height:.98;letter-spacing:-.025em;margin:.9rem 0 0;max-width:18em}.pj-level-title em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--pj-ink)}.pj-textlink{font-family:var(--pj-font-mono);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:inherit;text-decoration:none;border-bottom:2px solid var(--pj-accent);padding-bottom:.25em;transition:opacity .2s ease}.pj-textlink:hover{opacity:.7}.pj-skyline-canvas{height:clamp(300px,42vw,480px);margin-bottom:.5rem}.pj-skyline-canvas canvas{display:block}.pj-skyline-ground{height:1px;background:var(--pj-ink);opacity:.35;margin-bottom:2.2rem}.pj-projects{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,2.5vw,2.4rem)}.pj-project{display:block;text-align:left;text-decoration:none;background:none;border:none;border-top:2px solid var(--pj-ink);padding:1.1rem 0 .6rem;cursor:pointer;color:inherit;font-family:var(--pj-font-body);transition:border-color .25s ease}.pj-project-cat{font-family:var(--pj-font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--pj-ink-60);margin:0 0 .55rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.pj-project-cat:after{content:"↗";font-size:.9rem;opacity:0;transform:translate(-4px,4px);transition:opacity .25s ease,transform .25s ease}.pj-project:hover .pj-project-cat:after,.pj-project:focus-visible .pj-project-cat:after{opacity:1;transform:translate(0)}.pj-project:hover,.pj-project:focus-visible{border-top-color:var(--pj-accent)}.pj-project-title{font-family:var(--pj-font-display);font-weight:700;font-size:clamp(1.15rem,1.8vw,1.5rem);letter-spacing:-.015em;margin:0 0 .4rem}.pj-project-sub{font-size:.9rem;line-height:1.5;color:var(--pj-ink-60);margin:0}.pj-cityband{padding:clamp(1.5rem,3vw,3rem) 0 0}.pj-cityband-frame{position:relative;height:clamp(380px,58vw,620px);border:1px solid var(--pj-line);border-radius:20px;overflow:hidden;background:#ffffff29;transition:transform .45s cubic-bezier(.16,.84,.3,1),box-shadow .45s ease,border-color .45s ease}.pj-cityband-frame>div{position:absolute;inset:0}.pj-cityband-frame canvas{display:block;transform:scale(1);transform-origin:50% 58%;transition:transform .65s cubic-bezier(.16,.84,.3,1),filter .45s ease}.pj-cityband-frame[data-active=true]{transform:translateY(-3px);border-color:#f4c430d1;box-shadow:0 24px 58px #14263933,0 0 0 1px #f4c43038}.pj-cityband-frame[data-active=true] canvas{transform:scale(1.018);filter:saturate(1.08) contrast(1.025)}.pj-cityband-hit{position:absolute;inset:0;z-index:6;display:block;border-radius:inherit;cursor:pointer}.pj-cityband-cta{position:absolute;left:clamp(1rem,2.5vw,1.6rem);bottom:clamp(1rem,2.5vw,1.6rem);display:flex;flex-direction:column;gap:.32rem;min-width:min(290px,calc(100% - 2rem));padding:.95rem 1.15rem 1rem;border:1px solid rgba(255,255,255,.24);border-radius:14px;color:var(--pj-paper);background:#142639e6;box-shadow:0 16px 36px #1426393d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translateY(0);transition:transform .35s cubic-bezier(.16,.84,.3,1),background .35s ease,box-shadow .35s ease}.pj-cityband-cta-kicker{font-family:var(--pj-font-mono);font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--pj-accent)}.pj-cityband-cta-title{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-family:var(--pj-font-display);font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:700;letter-spacing:-.02em}.pj-cityband-cta-title>span{color:var(--pj-accent);transition:transform .35s cubic-bezier(.16,.84,.3,1)}.pj-cityband-frame[data-active=true] .pj-cityband-cta{transform:translateY(-4px);background:#142639f5;box-shadow:0 20px 44px #14263952}.pj-cityband-frame[data-active=true] .pj-cityband-cta-title>span{transform:translate(3px,-3px)}.pj-cityband-hit:focus-visible{outline:3px solid var(--pj-accent);outline-offset:-7px;border-radius:20px}.pj-street-canvas{height:clamp(240px,30vw,360px);margin-bottom:clamp(2rem,4vw,3.4rem)}.pj-street-canvas canvas{display:block}.pj-yard{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(1.6rem,4vw,4rem);align-items:center;margin-top:clamp(2rem,4.5vw,3.4rem)}.pj-yard-stage{position:relative;min-width:0}.pj-yard-canvas{height:clamp(380px,42vw,600px)}.pj-yard-canvas canvas{display:block}.pj-yard-caption{position:absolute;left:50%;bottom:clamp(.2rem,1vw,.8rem);transform:translate(-50%);margin:0;font-family:var(--pj-font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#1426398c;white-space:nowrap;pointer-events:none}.pj-tracks{display:flex;flex-direction:column;border-top:1px solid rgba(20,38,57,.35);min-width:0}.pj-track{appearance:none;background:none;border:0;border-bottom:1px solid rgba(20,38,57,.35);font:inherit;color:inherit;text-align:left;cursor:pointer;position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(.9rem,2vw,1.4rem);padding:clamp(1.1rem,2.2vw,1.7rem) .2rem;transition:padding-left .35s ease}.pj-track:hover,.pj-track.is-active{padding-left:1rem}.pj-track:focus-visible{outline:2px solid rgba(20,38,57,.38);outline-offset:.35rem}.pj-track-floor{width:1.5rem;height:1.05rem;background:var(--track-accent);border:1px solid rgba(20,38,57,.45);border-radius:2px;box-shadow:inset 0 -.3rem #ffffff8c;transform:scaleY(.28);transform-origin:bottom;transition:transform .35s cubic-bezier(.34,1.4,.5,1);align-self:center}.pj-track:hover .pj-track-floor,.pj-track.is-active .pj-track-floor{transform:scaleY(1)}.pj-track-main{display:flex;flex-direction:column;gap:.25rem;min-width:0}.pj-track-station{font-family:var(--pj-font-mono);font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#1426397a}.pj-track-name{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(1.4rem,2.6vw,2.15rem);letter-spacing:-.02em;line-height:1.05}.pj-track-desc{font-size:.95rem;line-height:1.55;color:#142639b8;max-width:30rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .35s ease,margin-top .4s ease}.pj-track.is-active .pj-track-desc{max-height:6.5em;opacity:1;margin-top:.35rem}.pj-track-sign{font-family:var(--pj-font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(20,38,57,.4);border-radius:3px;padding:.45em .8em;white-space:nowrap;transition:background-color .3s ease,border-color .3s ease}.pj-track.is-active .pj-track-sign{background:var(--track-accent);border-color:transparent}.pj-studio-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,5rem);align-items:center;color:var(--pj-ink)}.pj-studio-copy .pj-plaque{border-color:#14263947;color:var(--pj-ink)}.pj-studio-title{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(2.3rem,5.4vw,4.6rem);line-height:.98;letter-spacing:-.025em;margin:1rem 0 1.4rem}.pj-studio-title em{color:transparent;font-style:normal;-webkit-text-stroke:1.35px var(--pj-ink)}.pj-studio-body{font-size:1.02rem;line-height:1.65;color:#142639b8;max-width:30rem;margin:0 0 2rem}.pj-stats{display:flex;gap:clamp(1.6rem,4vw,3.2rem);margin-bottom:2.2rem}.pj-stat-value{display:block;font-family:var(--pj-font-display);font-weight:800;font-size:clamp(1.9rem,3.4vw,2.9rem);letter-spacing:-.02em}.pj-stat-label{font-family:var(--pj-font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.7}.pj-studio-grid .pj-textlink{border-bottom-color:var(--pj-accent)}.pj-studio-visual{height:clamp(300px,36vw,460px)}.pj-studio-visual .pj-studio-canvas,.pj-studio-visual canvas{width:100%;height:100%;display:block}.pj-night{color:var(--pj-paper);padding-bottom:clamp(2rem,5vw,4rem)}.pj-night-grid{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.pj-night-copy{max-width:34rem}.pj-night-title{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(2.3rem,5.4vw,4.6rem);line-height:.98;letter-spacing:-.025em;margin:1.1rem 0 1.4rem}.pj-night-title em{font-style:normal;color:transparent;-webkit-text-stroke:1.35px var(--pj-lamp)}.pj-night-sub{font-size:1.02rem;line-height:1.6;color:#ffffffb8;max-width:27rem;margin:0 0 2.2rem}.pj-night-actions{display:flex;flex-wrap:wrap;gap:.9rem}.pj-night-visual{height:clamp(300px,34vw,440px)}.pj-night-visual canvas{display:block}.pj-street-footer{padding:clamp(1rem,3vw,2.5rem) 0 0;color:var(--pj-paper)}.pj-street-footer .pj-street-canvas{height:clamp(340px,36vw,520px);margin-bottom:clamp(-98px,-7.2vw,-62px)}.pj-footer{position:relative;margin-top:clamp(3rem,6vw,5rem);background:linear-gradient(180deg,#0d1330,#080d20);color:#ffffffeb}.pj-footer-skyline{position:absolute;left:0;right:0;top:-79px;height:80px;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='80' viewBox='0 0 240 80'%3E%3Cg fill='%230D1330'%3E%3Crect x='0' y='30' width='34' height='50'/%3E%3Crect x='34' y='52' width='26' height='28'/%3E%3Crect x='60' y='14' width='30' height='66'/%3E%3Crect x='90' y='44' width='24' height='36'/%3E%3Crect x='114' y='26' width='32' height='54'/%3E%3Crect x='146' y='58' width='22' height='22'/%3E%3Crect x='168' y='20' width='28' height='60'/%3E%3Crect x='196' y='40' width='24' height='40'/%3E%3Crect x='220' y='56' width='20' height='24'/%3E%3C/g%3E%3Cg fill='%23F4C430'%3E%3Crect x='8' y='38' width='4' height='5'/%3E%3Crect x='20' y='50' width='4' height='5'/%3E%3Crect x='68' y='24' width='4' height='5'/%3E%3Crect x='78' y='40' width='4' height='5'/%3E%3Crect x='122' y='34' width='4' height='5'/%3E%3Crect x='134' y='52' width='4' height='5'/%3E%3Crect x='176' y='30' width='4' height='5'/%3E%3Crect x='186' y='48' width='4' height='5'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat-x;background-position:bottom left}.pj-site--home .pj-footer{margin-top:0;border-top:0}.pj-site--home .pj-footer-skyline{display:none}.pj-footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(2rem,5vw,5rem);padding:clamp(3rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem)}.pj-footer-brand .pj-brand{font-size:1.3rem}.pj-footer-brand .pj-logo{height:1.85em}.pj-footer-brand .pj-logo-dot{filter:drop-shadow(0 0 6px rgba(244,196,48,.8))}.pj-footer-tagline{margin:1.1rem 0 1.4rem;font-size:.95rem;line-height:1.6;color:#ffffffa8;max-width:26rem}.pj-footer-mail{display:inline-flex;align-items:baseline;gap:.35em;font-family:var(--pj-font-display);font-weight:700;font-size:clamp(1.1rem,1.8vw,1.4rem);letter-spacing:-.01em;color:var(--pj-lamp);text-decoration:none;border-bottom:2px solid var(--pj-accent);padding-bottom:.15em;transition:color .2s ease,transform .25s cubic-bezier(.2,.8,.2,1),text-shadow .25s ease}.pj-footer-mail-arrow{font-family:var(--pj-font-mono);font-size:.72em;opacity:0;transform:translate(-5px,5px);transition:opacity .2s ease,transform .3s cubic-bezier(.16,1,.3,1)}.pj-footer-mail:hover,.pj-footer-mail:focus-visible{color:#fff;transform:translateY(-3px);text-shadow:0 0 18px rgba(255,217,138,.42)}.pj-footer-mail:hover .pj-footer-mail-arrow,.pj-footer-mail:focus-visible .pj-footer-mail-arrow{opacity:1;transform:translate(0)}.pj-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;font-size:.95rem;color:#fffc}.pj-footer-col-title{font-family:var(--pj-font-mono);font-size:.64rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--pj-accent);margin-bottom:.3rem}.pj-footer-col a,.pj-footer-col button{position:relative;font-family:var(--pj-font-body);font-size:.95rem;background:none;border:none;padding:0;cursor:pointer;color:#ffffffe0;text-decoration:none;transition:color .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}.pj-footer-link-arrow{position:absolute;right:calc(100% + .45em);color:var(--pj-accent);opacity:0;transform:translate(-6px);transition:opacity .2s ease,transform .25s cubic-bezier(.16,1,.3,1)}.pj-footer-col a:hover,.pj-footer-col a:focus-visible,.pj-footer-col button:hover,.pj-footer-col button:focus-visible{color:var(--pj-lamp);transform:translate(12px)}.pj-footer-col a:hover .pj-footer-link-arrow,.pj-footer-col a:focus-visible .pj-footer-link-arrow,.pj-footer-col button:hover .pj-footer-link-arrow,.pj-footer-col button:focus-visible .pj-footer-link-arrow{opacity:1;transform:translate(0)}.pj-footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(255,255,255,.14);padding:1.4rem 0 1.8rem;font-family:var(--pj-font-mono);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffffff9e}.pj-footer-top-link{font:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:none;padding:.55em .75em;margin:-.55em -.75em;cursor:pointer;color:#ffffffd9;border:1px solid transparent;border-radius:999px;transition:color .2s ease,transform .25s cubic-bezier(.2,.8,.2,1),background .2s ease,border-color .2s ease}.pj-footer-top-link:hover,.pj-footer-top-link:focus-visible{color:var(--pj-accent);transform:translateY(-3px);background:#f4c43014;border-color:#f4c43052}.pj-page-hero{padding:clamp(9rem,16vw,13rem) 0 clamp(3rem,6vw,5rem)}.pj-page-hero h1{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(2.8rem,7vw,6.4rem);line-height:.95;letter-spacing:-.03em;text-transform:uppercase;margin:1.1rem 0 1.4rem;max-width:12em}.pj-page-lead{font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.6;max-width:36rem;margin:0;opacity:.78}.pj-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2rem);padding-bottom:clamp(3rem,6vw,5rem)}.pj-case{border:1px solid rgba(20,38,57,.3);border-radius:14px;padding:clamp(1.3rem,2.2vw,1.8rem);background:#ffffff57;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;flex-direction:column;gap:.7rem;transition:transform .3s ease,background .3s ease}.pj-case:hover{transform:translateY(-5px);background:#ffffff8c}.pj-case:focus-visible{outline:2px solid rgba(20,38,57,.38);outline-offset:.3rem}.pj-case-label{display:flex;align-items:center;gap:.7em;font-family:var(--pj-font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--pj-ink-60)}.pj-case-plot{display:inline-flex;align-items:center;gap:.5em;padding:.3em .7em;border:1px solid rgba(20,38,57,.35);border-radius:3px;color:var(--pj-ink);white-space:nowrap}.pj-case-plot:before{content:"";width:8px;height:8px;background:var(--plot-accent, var(--pj-accent));flex:none}.pj-drive{height:calc(100vh + (var(--plot-count) - 1) * 38vh);position:relative}.pj-drive-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.pj-drive-canvas{position:absolute;inset:0}.pj-drive-canvas canvas{display:block}.pj-drive-meta{position:absolute;top:clamp(4.5rem,8vh,6.5rem);left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--pj-gutter);pointer-events:none}.pj-drive-count{font-family:var(--pj-font-mono);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--pj-ink)}.pj-drive-card{position:absolute;left:var(--pj-gutter);bottom:clamp(2rem,6vh,4rem);width:min(400px,84vw);display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.2rem,2vw,1.6rem);border:1px solid rgba(20,38,57,.3);border-radius:14px;background:#ffffffb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:pj-drive-card-in .45s cubic-bezier(.16,.84,.3,1) both}.pj-drive-card h3{font-family:var(--pj-font-display);font-weight:700;font-size:1.2rem;line-height:1.2;letter-spacing:-.015em;margin:0}.pj-drive-card p{margin:0;font-size:.9rem;line-height:1.5;color:var(--pj-ink-60)}@keyframes pj-drive-card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.pj-work-mobile{display:none}.pj-workshop-canvas{width:100%;height:100%}.pj-nightfly{position:relative;overflow:hidden;min-height:100svh;margin-bottom:clamp(3rem,6vw,5rem)}.pj-nightfly-canvas{position:absolute;inset:auto 0 0;height:min(78vh,760px);transform:scaleX(-1);transform-origin:center bottom;pointer-events:none}.pj-nightfly-canvas canvas{display:block}.pj-nightfly-inner{position:relative;z-index:1;padding-top:clamp(8rem,15vw,12rem);padding-bottom:clamp(3rem,7vw,5.5rem)}.pj-nightfly-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:start;width:100%}.pj-nightfly-copy{max-width:34rem}.pj-nightfly-mail{margin:1.6rem 0 0}.pj-window-card{width:100%;background:#0d1228c7;border:1px solid var(--pj-line-night);border-radius:18px;padding:clamp(1.4rem,2.6vw,2rem);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 60px #04081873;transition:border-color .3s ease,box-shadow .3s ease}.pj-window-card:focus-within{border-color:#ffd98a8c;box-shadow:0 18px 60px #0408188c,0 0 46px #ffc46b24}.pj-window-card.is-sent{border-color:#ffd98abf}.pj-window-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--pj-line-night)}.pj-window-title{font-family:var(--pj-font-mono);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff9}.pj-window-panes{display:flex;gap:.4rem}.pj-window-pane{width:11px;height:14px;border-radius:3px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);transition:background .4s ease,box-shadow .4s ease,border-color .4s ease}.pj-window-pane.is-lit{background:var(--pj-lamp);border-color:var(--pj-lamp);box-shadow:0 0 10px #ffd98aa6}.pj-nightfly-tag{position:absolute;left:clamp(1rem,4vw,3rem);bottom:1.4rem;z-index:1;font-family:var(--pj-font-mono);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ffffff8c}.pj-case h3{font-family:var(--pj-font-display);font-weight:700;font-size:1.25rem;line-height:1.2;letter-spacing:-.015em;margin:0}.pj-case p{font-size:.9rem;line-height:1.55;color:var(--pj-ink-60);margin:0}.pj-values{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2rem);padding-bottom:clamp(3rem,6vw,5rem)}.pj-value{border-top:2px solid currentColor;padding-top:1.1rem}.pj-value h3{font-family:var(--pj-font-display);font-weight:800;font-size:1.35rem;letter-spacing:-.015em;margin:0 0 .5rem}.pj-value p{font-size:.94rem;line-height:1.6;margin:0;opacity:.78}.pj-contact-notes{padding-bottom:clamp(3rem,6vw,5rem)}.pj-contact-notes h2{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(1.5rem,2.8vw,2.2rem);letter-spacing:-.02em;margin:.4rem 0 1.6rem}.pj-contact-mail{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(1.5rem,3.4vw,2.8rem);letter-spacing:-.02em;color:var(--pj-lamp);text-decoration:none;border-bottom:3px solid var(--pj-accent);transition:opacity .2s ease}.pj-contact-mail:hover{opacity:.8}.pj-contact-facts{display:flex;flex-direction:column;border-top:1px solid var(--pj-line-night)}.pj-contact-fact{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:1.4rem;padding:1.2rem 0;border-bottom:1px solid var(--pj-line-night)}.pj-contact-fact dt{font-family:var(--pj-font-mono);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ffffff80;margin:0}.pj-contact-fact dd{margin:0;font-size:.95rem;line-height:1.55;color:#ffffffd9}.pj-outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.4vw,2rem);border-top:1px solid rgba(20,38,57,.35);border-bottom:1px solid rgba(20,38,57,.35);padding:clamp(1.4rem,3vw,2.4rem) 0;margin-bottom:clamp(2.5rem,5vw,4rem)}.pj-outcome-value{display:block;font-family:var(--pj-font-display);font-weight:800;font-size:clamp(1.9rem,3.6vw,3.2rem);letter-spacing:-.02em}.pj-outcome-label{font-family:var(--pj-font-mono);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.65}.pj-day{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(1.6rem,4vw,4rem);align-items:center;padding-bottom:clamp(3rem,6vw,5rem)}.pj-day-steps{display:flex;flex-direction:column}.pj-day-step{appearance:none;background:none;border:0;border-top:2px solid currentColor;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:clamp(.9rem,1.8vw,1.3rem) .2rem;transition:padding-left .3s ease,opacity .3s ease;opacity:.62}.pj-day-step.is-active{opacity:1;padding-left:.9rem}.pj-day-step:focus-visible{outline:2px solid rgba(20,38,57,.38);outline-offset:.3rem}.pj-day-step-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--pj-font-mono);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.75;margin-bottom:.5rem}.pj-day-step-time{border:1px solid currentColor;border-radius:3px;padding:.3em .65em;transition:background-color .3s ease,color .3s ease}.pj-day-step.is-active .pj-day-step-time{background:var(--pj-accent);border-color:transparent;color:var(--pj-ink)}.pj-day-step h3{font-family:var(--pj-font-display);font-weight:800;font-size:1.25rem;letter-spacing:-.015em;margin:0 0 .45rem}.pj-day-step p{font-size:.9rem;line-height:1.55;margin:0;opacity:.78}.pj-day-stage{position:relative;min-width:0}.pj-day-canvas{height:clamp(340px,34vw,480px)}.pj-day-canvas canvas{display:block}.pj-day-caption{position:absolute;left:50%;bottom:.4rem;transform:translate(-50%);margin:0;font-family:var(--pj-font-mono);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.6;white-space:nowrap;pointer-events:none}.pj-quote{border-left:4px solid var(--pj-accent);padding:.4rem 0 .4rem clamp(1.2rem,3vw,2.2rem);margin:0 0 clamp(3rem,6vw,5rem);max-width:44rem}.pj-quote p{font-family:var(--pj-font-display);font-weight:700;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.25;letter-spacing:-.015em;margin:0 0 .8rem}.pj-quote footer{font-family:var(--pj-font-mono);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.65}.pj-form{display:flex;flex-direction:column;gap:1.3rem}.pj-field{display:flex;flex-direction:column;gap:.45rem}.pj-field label{font-family:var(--pj-font-mono);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff9}.pj-field input,.pj-field textarea{font-family:var(--pj-font-body);font-size:1rem;color:var(--pj-paper);background:#ffffff0f;border:1px solid var(--pj-line-night);border-radius:10px;padding:.85em 1em;resize:vertical;transition:border-color .2s ease,background .2s ease}.pj-field input::placeholder,.pj-field textarea::placeholder{color:#ffffff59}.pj-field input:focus,.pj-field textarea:focus{outline:none;border-color:var(--pj-accent);background:#ffffff1a}.pj-form .pj-btn{align-self:flex-start}.pj-form-note{font-size:.82rem;color:#ffffff80;margin:0}.pj-inner-cta{padding:clamp(3rem,6vw,5rem) 0 clamp(4rem,8vw,6rem)}.pj-inner-cta-box{border:1px solid currentColor;border-radius:18px;padding:clamp(1.8rem,4vw,3.2rem);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.6rem}.pj-inner-cta-box h2{font-family:var(--pj-font-display);font-weight:800;font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.05;letter-spacing:-.02em;margin:.8rem 0 0;max-width:16em}.page-transition{position:fixed;inset:0;z-index:12000;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}.page-transition[data-kind=portal]{background:linear-gradient(180deg,#79c0ea,#a8d7f2 48%,#dceff9);clip-path:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;transition:none;will-change:opacity}.page-transition[data-kind=portal]:before{content:"";position:absolute;inset:-12% -6%;background:radial-gradient(38vw 20vh at 16% 28%,#fffffff2,#fff0 70%),radial-gradient(46vw 24vh at 80% 18%,#ffffffe6,#fff0 70%),radial-gradient(54vw 30vh at 45% 72%,#fffffff0,#fff0 72%),radial-gradient(40vw 22vh at 92% 66%,#ffffffd9,#fff0 70%),radial-gradient(30vw 16vh at 8% 82%,#fffc,#fff0 70%);will-change:transform}.page-transition[data-kind=portal][data-state=out],.page-transition[data-kind=portal][data-state=in]{visibility:visible}.page-transition[data-kind=portal][data-state=out]{animation:pj-clouds-cover .5s ease-out forwards}.page-transition[data-kind=portal][data-state=in]{opacity:1;animation:pj-clouds-clear .65s ease-in forwards}.page-transition[data-kind=portal][data-state=out]:before,.page-transition[data-kind=portal][data-state=in]:before{animation:pj-clouds-drift 1.5s linear forwards}.page-transition[data-kind=sweep]{--pj-sweep-ease: cubic-bezier(.84, 0, .16, 1);--pj-sweep-glide: cubic-bezier(.16, 1, .3, 1);--pj-skyline-escape: clamp(76px, 11vh, 132px);clip-path:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;contain:paint;isolation:isolate;opacity:0;visibility:hidden;transition:none;overflow:hidden;animation:none!important;will-change:opacity}.page-transition[data-kind=sweep] .page-transition-mark{position:absolute;left:0;right:0;bottom:-22vh;z-index:3;display:block;height:34vh;background:linear-gradient(180deg,#fff4c900,#fff4c99e 44%,#f4c4302e),linear-gradient(90deg,#fff0,#ffffff5c,#fff0);mix-blend-mode:screen;opacity:0;transform:translate3d(0,112%,0) skewY(-1deg);transform-origin:50% 100%;will-change:transform,opacity}.page-transition[data-kind=portal] .page-transition-mark{display:none}.page-transition[data-kind=sweep]:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 18% 15%,#fff6c7f2,#fff6c700 32%),linear-gradient(180deg,#FFE08A 0%,var(--pj-accent) 48%,#E98F55 100%);transform:translate3d(0,104%,0) skewY(-1deg) scaleY(1.04);transform-origin:50% 100%;will-change:transform}.page-transition[data-kind=sweep]:after{content:"";position:absolute;inset:calc(-1 * var(--pj-skyline-escape)) 0 calc(-1 * var(--pj-skyline-escape));z-index:2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='80' viewBox='0 0 240 80'%3E%3Cg fill='%23111838'%3E%3Crect x='0' y='30' width='34' height='50'/%3E%3Crect x='34' y='52' width='26' height='28'/%3E%3Crect x='60' y='14' width='30' height='66'/%3E%3Crect x='90' y='44' width='24' height='36'/%3E%3Crect x='114' y='26' width='32' height='54'/%3E%3Crect x='146' y='58' width='22' height='22'/%3E%3Crect x='168' y='20' width='28' height='60'/%3E%3Crect x='196' y='40' width='24' height='40'/%3E%3Crect x='220' y='56' width='20' height='24'/%3E%3C/g%3E%3Cg fill='%23F4C430'%3E%3Crect x='8' y='38' width='4' height='5'/%3E%3Crect x='20' y='50' width='4' height='5'/%3E%3Crect x='68' y='24' width='4' height='5'/%3E%3Crect x='78' y='40' width='4' height='5'/%3E%3Crect x='122' y='34' width='4' height='5'/%3E%3Crect x='134' y='52' width='4' height='5'/%3E%3Crect x='176' y='30' width='4' height='5'/%3E%3Crect x='186' y='48' width='4' height='5'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(180deg,transparent 0,transparent 78px,#111838 78px,#080D20 72%,#050816 100%);background-repeat:repeat-x,no-repeat;background-position:top left,0 0;background-size:240px 80px,100% 100%;box-shadow:0 -36px 90px #f4c4303d;transform:translate3d(0,calc(104% + var(--pj-skyline-escape)),0) skewY(-.7deg) scaleY(1.03);transform-origin:50% 100%;will-change:transform}.page-transition[data-kind=sweep][data-state=out],.page-transition[data-kind=sweep][data-state=in]{opacity:1;visibility:visible;animation:none!important}.page-transition[data-kind=sweep][data-state=out]:before{animation:pj-wipe-cover 1.12s var(--pj-sweep-ease) forwards}.page-transition[data-kind=sweep][data-state=out]:after{animation:pj-wipe-cover-skyline 1.6s var(--pj-sweep-ease) .16s forwards}.page-transition[data-kind=sweep][data-state=out] .page-transition-mark{animation:pj-wipe-light-in 1.28s var(--pj-sweep-glide) .08s forwards}.page-transition[data-kind=sweep][data-state=in]:after{transform:translate3d(0,calc(-1 * var(--pj-skyline-escape)),0);animation:pj-wipe-reveal-skyline .86s var(--pj-sweep-ease) forwards}.page-transition[data-kind=sweep][data-state=in]:before{transform:translateZ(0);animation:pj-wipe-reveal .86s var(--pj-sweep-ease) .1s forwards}.page-transition[data-kind=sweep][data-state=in] .page-transition-mark{animation:pj-wipe-light-out .74s var(--pj-sweep-glide) forwards}.page-transition[data-kind=sweep][data-state=idle]:before,.page-transition[data-kind=sweep][data-state=idle]:after{transform:translate3d(0,calc(104% + var(--pj-skyline-escape)),0);animation:none}.page-transition[data-kind=sweep][data-state=idle] .page-transition-mark{opacity:0;transform:translate3d(0,112%,0);animation:none}@keyframes pj-wipe-cover{0%{transform:translate3d(0,104%,0) skewY(-1deg) scaleY(1.04)}to{transform:translateZ(0) skewY(0) scaleY(1)}}@keyframes pj-wipe-cover-skyline{0%{transform:translate3d(0,calc(104% + var(--pj-skyline-escape)),0) skewY(-.7deg) scaleY(1.03)}72%{transform:translateZ(0) skewY(-.2deg) scaleY(1.01)}to{transform:translate3d(0,calc(-1 * var(--pj-skyline-escape)),0) skewY(0) scaleY(1)}}@keyframes pj-wipe-reveal{0%{transform:translateZ(0) skewY(0) scaleY(1)}to{transform:translate3d(0,-104%,0) skewY(.8deg) scaleY(1.04)}}@keyframes pj-wipe-reveal-skyline{0%{transform:translate3d(0,calc(-1 * var(--pj-skyline-escape)),0) skewY(0) scaleY(1)}to{transform:translate3d(0,calc(-104% - var(--pj-skyline-escape)),0) skewY(.8deg) scaleY(1.04)}}@keyframes pj-wipe-light-in{0%{opacity:0;transform:translate3d(0,112%,0) skewY(-1deg)}38%{opacity:.72}to{opacity:.08;transform:translate3d(0,-18%,0) skewY(0)}}@keyframes pj-wipe-light-out{0%{opacity:.22;transform:translate3d(0,-18%,0)}to{opacity:0;transform:translate3d(0,-124%,0)}}@keyframes pj-clouds-cover{0%{opacity:0}to{opacity:1}}@keyframes pj-clouds-clear{0%{opacity:1}to{opacity:0}}@keyframes pj-clouds-drift{0%{transform:translate3d(0,2.5%,0) scale(1)}to{transform:translate3d(-2%,-2.5%,0) scale(1.06)}}.pj-screen{--sc: #4B6FA8;--sc-soft: color-mix(in srgb, var(--sc) 14%, #ffffff);--sc-mid: color-mix(in srgb, var(--sc) 38%, #ffffff);position:relative;border-radius:10px;background:#fff;border:1px solid rgba(20,38,57,.16);box-shadow:0 18px 40px #1426392e;overflow:hidden;aspect-ratio:16 / 10;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s ease}.pj-screen-bar{display:flex;align-items:center;gap:5px;padding:7px 10px;background:var(--sc-soft);border-bottom:1px solid rgba(20,38,57,.08);flex:none}.pj-screen-bar i{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--sc) 55%,#ffffff)}.pj-screen-url{margin-left:8px;flex:1;height:11px;border-radius:6px;background:#fff;font-family:var(--pj-font-mono);font-size:7px;line-height:11px;padding:0 7px;color:#1426398c;letter-spacing:.08em;overflow:hidden;white-space:nowrap}.pj-screen-body{flex:1;display:flex;gap:6px;padding:8px;min-height:0}.pj-screen-body--shot{padding:0;gap:0}.pj-screen-shot{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.pj-screen-side{width:22%;border-radius:6px;background:var(--sc-soft);display:flex;flex-direction:column;gap:5px;padding:6px}.pj-screen-side i{height:6px;border-radius:3px;background:var(--sc-mid)}.pj-screen-side i:first-child{background:var(--sc)}.pj-screen-main{flex:1;display:flex;flex-direction:column;gap:6px;min-height:0}.pj-screen-kpis{display:flex;gap:6px;flex:none}.pj-screen-kpis i{flex:1;height:22px;border-radius:5px;background:var(--sc-soft);border:1px solid color-mix(in srgb,var(--sc) 22%,#ffffff)}.pj-screen-chart{flex:1;border-radius:6px;background:var(--sc-soft);display:flex;align-items:flex-end;gap:5px;padding:7px}.pj-screen-chart i{flex:1;border-radius:3px 3px 0 0;background:var(--sc);opacity:.85}.pj-screen-rows{flex:1;display:flex;flex-direction:column;gap:6px}.pj-screen-rows i{flex:1;border-radius:6px;background:var(--sc-soft);border-left:4px solid var(--sc)}.pj-screen-rows i:nth-child(2){background:var(--sc-mid);border-left-color:transparent}.pj-screen-tiles{flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1.6fr 1fr;gap:6px}.pj-screen-tiles i{border-radius:6px;background:var(--sc-soft)}.pj-screen-tiles i:first-child{grid-column:1 / -1;background:linear-gradient(120deg,var(--sc) 0%,var(--sc-mid) 100%)}.pj-project .pj-screen{margin-bottom:1.1rem}.pj-project:hover .pj-screen,.pj-project:focus-visible .pj-screen{transform:translateY(-8px) rotate(-1.2deg);box-shadow:0 30px 60px #14263942}.pj-case .pj-screen{margin-bottom:.4rem}.pj-case:hover .pj-screen{transform:translateY(-6px) rotate(1deg)}@media(max-width:900px){.pj-projects{grid-template-columns:repeat(2,1fr)}.pj-studio-grid,.pj-night-grid{grid-template-columns:1fr}.pj-studio-visual{height:clamp(300px,58vw,460px)}.pj-nightfly-grid{grid-template-columns:1fr;gap:clamp(1.8rem,3.5vw,2.4rem)}.pj-nightfly-tag{display:none}.pj-cases,.pj-values,.pj-outcomes,.pj-process{grid-template-columns:repeat(2,1fr)}.pj-footer-top{grid-template-columns:1fr 1fr}.pj-footer-brand{grid-column:1 / -1}.pj-yard{grid-template-columns:1fr;gap:1.2rem}.pj-yard-canvas{height:clamp(320px,55vw,460px)}.pj-day{grid-template-columns:1fr;gap:1.4rem}.pj-day-step{padding:1rem .2rem;opacity:.72;-webkit-tap-highlight-color:transparent}.pj-day-step.is-active{padding-left:.75rem;border-left:3px solid var(--pj-accent)}.pj-day-stage{order:-1;position:sticky;top:calc(env(safe-area-inset-top,0px) + 4.5rem);z-index:1}.pj-day-canvas{height:clamp(300px,52vw,420px)}.pj-drive-card{left:50%;transform:translate(-50%);bottom:1.4rem}@keyframes pj-drive-card-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}}@media(max-width:640px){.pj-nav,.pj-header-cta{display:none}.pj-menu-toggle,.pj-mobile-menu{display:flex}.pj-projects,.pj-cases,.pj-values,.pj-process{grid-template-columns:1fr}.pj-contact-fact{grid-template-columns:1fr;gap:.4rem}.pj-footer-top{grid-template-columns:1fr}.pj-footer-bottom{flex-direction:column;align-items:flex-start}.pj-yard-canvas{height:clamp(280px,82vw,360px)}.pj-track{grid-template-columns:auto 1fr}.pj-track-sign,.pj-hero-cue{display:none}.pj-hero-title .pj-outline,.pj-hero-title .pj-outline-word,.pj-level-title .pj-outline,.pj-outline-em{-webkit-text-stroke-width:1.3px}.pj-cityband{position:relative;z-index:4;margin-top:-4.5rem;padding-top:.75rem}.pj-cityband-frame{height:clamp(310px,88vw,340px)}.pj-hero-actions{width:100%}.pj-hero-actions>.pj-btn--sun,.pj-hero-actions>.pj-city-cta-wrap{width:min(100%,24rem)}.pj-hero-actions>.pj-btn--sun{justify-content:center}.pj-btn--city{width:100%;justify-content:center;padding-inline:1.5em}.pj-cityband-cta{min-width:calc(100% - 2rem)}}@media(max-width:767px){.pj-site--work .pj-page-hero{padding-bottom:2.75rem}.pj-site--work .pj-page-hero h1{font-size:clamp(2.65rem,12.5vw,4.2rem);max-width:9em}.pj-drive{display:none}.pj-work-mobile{display:block;padding:0 0 clamp(3.25rem,12vw,5rem);overflow:hidden}.pj-work-mobile-head{margin-bottom:1.25rem}.pj-work-mobile-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:1.25rem}.pj-work-mobile-heading h2{margin:0;max-width:8em;font-family:var(--pj-font-display);font-size:clamp(2rem,9vw,3rem);font-weight:800;line-height:.98;letter-spacing:-.03em;text-transform:uppercase}.pj-work-mobile-count{flex:none;padding-bottom:.2rem;font-family:var(--pj-font-mono);font-size:.68rem;font-weight:700;letter-spacing:.18em}.pj-work-mobile-head>p{margin:.85rem 0 0;color:var(--pj-ink-60);font-size:.88rem;line-height:1.5}.pj-work-mobile-rail{display:flex;gap:.9rem;padding:.5rem var(--pj-gutter) 1.35rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pj-gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.pj-work-mobile-rail::-webkit-scrollbar{display:none}.pj-work-mobile-card{flex:0 0 calc(100vw - var(--pj-gutter) * 2 - .5rem);max-width:420px;scroll-snap-align:center;scroll-snap-stop:always;overflow:hidden;border:1px solid rgba(20,38,57,.25);border-radius:20px;background:#ffffffb8;box-shadow:0 18px 44px #1426391f;opacity:.68;transform:scale(.975);transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease}.pj-work-mobile-card[data-active=true]{opacity:1;transform:scale(1);box-shadow:0 24px 52px #1426392e}.pj-work-mobile-screen{padding:.85rem .85rem 0}.pj-work-mobile-screen .pj-screen{border-radius:12px;box-shadow:0 14px 30px #14263933}.pj-work-mobile-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;padding:1.25rem}.pj-work-mobile-card .pj-case-label{flex-wrap:wrap;gap:.55rem;line-height:1.4}.pj-work-mobile-card h3{margin:0;font-family:var(--pj-font-display);font-size:clamp(1.35rem,6.2vw,1.8rem);font-weight:800;line-height:1.08;letter-spacing:-.025em}.pj-work-mobile-card p{margin:0;color:var(--pj-ink-60);font-size:.92rem;line-height:1.55}.pj-work-mobile-link{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin-top:.15rem;padding:.8rem 1rem;border-radius:999px;background:var(--pj-ink);color:var(--pj-paper);font-family:var(--pj-font-mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.pj-work-mobile-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.pj-work-mobile-arrows{display:flex;gap:.55rem}.pj-work-mobile-arrow{display:grid;width:48px;height:48px;padding:0;place-items:center;border:1px solid rgba(20,38,57,.38);border-radius:50%;background:#ffffff73;color:var(--pj-ink);font-size:1.25rem;cursor:pointer}.pj-work-mobile-arrow:disabled{opacity:.3;cursor:default}.pj-work-mobile-dots{display:flex;align-items:center;gap:0}.pj-work-mobile-dot{position:relative;width:32px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}.pj-work-mobile-dot:before{position:absolute;top:50%;left:50%;width:9px;height:9px;border-radius:999px;background:#1426394d;content:"";transform:translate(-50%,-50%);transition:width .25s ease,background .25s ease}.pj-work-mobile-dot[data-active=true]:before{width:24px;background:var(--pj-ink)}.pj-site--work .pj-outcomes{margin-top:0}}@media(prefers-reduced-motion:reduce){.pj-site *,.pj-site *:before,.pj-site *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.pj-hero-title span>i{transform:none;animation:none}[data-reveal]{opacity:1;transform:none}}.pj-deferred-scene{position:relative;transition:opacity .5s ease}.pj-deferred-scene[data-ready=false]{opacity:0}.pj-deferred-scene[data-ready=true]{opacity:1}.pj-deferred-scene[data-ready=false]:after{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(180deg,#1426390a,#14263904)}@media(prefers-reduced-motion:reduce){.pj-deferred-scene{transition:none}}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}
