:root{--orange-500:#ee8648;--orange-400:#f2a273;--orange-100:#fbe3d4;--butter:#f5d278;--mint:#8fd3c1;--lilac:#b9aef0;--sky:#9ccbf0;--rose:#f2a7a0;--white:#fff;--gray-100:#e5e5e5;--gray-150:#e1e1e0;--gray-400:#9d9d9d;--gray-700:#4a4a4a;--black:#000;--bg-top:var(--gray-100);--bg-bottom:var(--gray-400);--surface:#fff;--surface-2:#f4f4f2;--surface-hover:var(--gray-150);--line:var(--gray-150);--text:#111;--text-muted:#5c5c5c;--on-accent:#fff;--glass:#ffffffb8;--glass-border:#ffffffe6;--shadow-soft:0 20px 60px #0000001f;--illus-bg:#f4f1ec;--illus-device:#2a2a30;--illus-screen:#fff;--illus-ink:#2a2a30;--illus-muted:#d9d6d0;--illus-shadow:#00000014;--font-display:"Lufga", "Outfit", system-ui, sans-serif;--font-editorial:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--radius-lg:32px;--radius-md:20px;--radius-pill:999px;--blur:blur(18px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg-top:#1d1d22;--bg-bottom:#0e0e11;--surface:#26262c;--surface-2:#2f2f36;--surface-hover:#383840;--line:#34343b;--text:#f2f2f0;--text-muted:#a3a3a8;--glass:#202026b8;--glass-border:#ffffff14;--shadow-soft:0 20px 60px #00000073;--illus-bg:#2a2a31;--illus-device:#121216;--illus-screen:#3a3a42;--illus-ink:#f2f2f0;--illus-muted:#4a4a53;--illus-shadow:#0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--text);background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;transition:background .4s,color .4s;overflow-x:clip}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:500}a{color:inherit}button{font:inherit;cursor:pointer}.glass{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.btn{border-radius:var(--radius-pill);font-family:var(--font-display);border:0;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:500;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--orange-500);color:var(--on-accent)}.btn-primary:hover{background:#e7763a}.btn-ghost{background:var(--surface);color:var(--text)}.btn-ghost:hover{background:var(--surface-hover)}.chip{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.eyebrow{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:13px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.illus .illus-twinkle{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite illus-twinkle}@keyframes illus-twinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.7;transform:scale(.72)rotate(20deg)}}:root[data-theme=dark] .illus .illus-blob{opacity:.2}@media (prefers-reduced-motion:reduce){.illus .illus-twinkle{animation: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-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s);transform:translateY(28px)}.reveal.is-in{opacity:1;transform:none}.word-reveal .wr-mask{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.word-reveal .wr-word{transition:transform .9s cubic-bezier(.2,.9,.1,1);transition-delay:calc(var(--i) * 60ms);display:inline-block;transform:translateY(105%)}.word-reveal.is-in .wr-word{transform:none}.marquee{border-block:1px solid var(--line);width:100vw;margin:56px 0 0 calc(50% - 50vw);padding:18px 0;overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee-track{width:max-content;animation:32s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-row{flex:none;display:flex}.marquee-item{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:28px;padding-right:28px;font-size:clamp(28px,5vw,56px);font-weight:500;display:inline-flex}.marquee-item:nth-child(2n){font-family:var(--font-editorial);color:var(--orange-500);font-style:italic}.marquee-dot{background:var(--orange-500);border-radius:50%;width:12px;height:12px}@keyframes marquee{to{transform:translate(-50%)}}@supports (animation-timeline:view()){.parallax{animation:linear both parallax;animation-timeline:view();animation-range:entry exit}@keyframes parallax{0%{transform:translateY(36px)scale(.98)}to{transform:translateY(-36px)scale(1)}}}::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}::view-transition-group(*){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.9,.1,1)}.wipe{z-index:100;background:var(--orange-500);pointer-events:all;place-items:center;display:grid;position:fixed;inset:0}.wipe--cover{animation:.65s cubic-bezier(.7,0,.2,1) both wipe-cover}.wipe--reveal{animation:.65s cubic-bezier(.7,0,.2,1) both wipe-reveal}@keyframes wipe-cover{0%{clip-path:circle(0 at var(--x) var(--y))}to{clip-path:circle(150vmax at var(--x) var(--y))}}@keyframes wipe-reveal{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.wipe-label{text-align:center;max-width:16ch;font-family:var(--font-display);letter-spacing:-.02em;color:var(--on-accent);padding:0 16px;font-size:clamp(32px,6vw,72px);font-weight:500;line-height:1;animation:.5s .25s both fade-up}@media (prefers-reduced-motion:reduce){.reveal,.word-reveal .wr-word{opacity:1;transition:none;transform:none}.marquee-track{animation:none}}.lang-switch{border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-soft);padding:4px;display:inline-flex}.lang-switch button{border-radius:var(--radius-pill);font-family:var(--font-display);color:var(--text-muted);background:0 0;border:0;padding:6px 12px;font-size:13px;font-weight:500}.lang-switch button[aria-pressed=true]{background:var(--orange-500);color:var(--on-accent)}.cta-row{flex-wrap:wrap;gap:10px;display:flex}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.metric{border-radius:var(--radius-md);background:var(--surface);padding:16px}.metric strong{font-family:var(--font-display);color:var(--orange-500);font-size:28px;font-weight:500;display:block}.metric>span{color:var(--text-muted);font-size:13px}.metric .draft{color:var(--gray-400);margin-top:6px;font-size:11px;font-style:italic;display:inline-block}.stack{flex-wrap:wrap;gap:6px;display:flex}.highlights{gap:8px;margin:0;padding-left:18px;line-height:1.55;display:grid}.hud{pointer-events:none;z-index:10;position:fixed;inset:0}.hud>*{pointer-events:auto}.hud-top{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;top:16px;left:16px;right:16px}.hud-top>*{pointer-events:auto}.hud-brand{border-radius:var(--radius-md);padding:12px 18px}.hud-brand h1{font-size:18px}.hud-brand p{color:var(--text-muted);margin:2px 0 0;font-size:12px}.hud-right{align-items:center;gap:10px;display:flex}.hud-bottom{align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:16px;left:16px}.zone-label{white-space:nowrap;border-radius:var(--radius-pill);background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);font-family:var(--font-display);color:var(--text);box-shadow:var(--shadow-soft);pointer-events:none;-webkit-user-select:none;user-select:none;padding:8px 16px;font-size:22px;font-weight:500;transition:background .2s,color .2s}.zone-label.is-active{background:var(--zone-accent,var(--orange-500));border-color:var(--zone-accent,var(--orange-500));color:#1a1a1a}.panel{flex-direction:column;gap:16px;width:min(440px,100vw - 32px);padding:24px;animation:.35s cubic-bezier(.2,.8,.2,1) panel-in;display:flex;position:absolute;top:88px;bottom:16px;right:16px;overflow-y:auto}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}}.panel-head{justify-content:space-between;gap:12px;display:flex}.panel-head h2{font-size:28px}.panel-close{background:var(--surface);border:0;border-radius:50%;flex:none;width:36px;height:36px;font-size:18px}.station{border-radius:var(--radius-md);background:var(--surface);gap:10px;padding:18px;display:grid}.station h3{font-size:19px}.station p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.55}.station a:not(.btn){font-family:var(--font-display);color:var(--orange-500);font-size:14px;font-weight:500;text-decoration:none}@media (width<=640px){.panel{width:auto;max-height:58vh;top:auto;left:16px;right:16px}.hud-brand p{display:none}}.joystick{background:var(--glass);border:1px solid var(--glass-border);width:120px;height:120px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);touch-action:none;border-radius:50%;position:absolute;bottom:28px;right:28px}.joystick-knob{background:var(--orange-500);border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%;box-shadow:0 6px 16px #ee864873}@media (hover:hover) and (pointer:fine){.joystick{display:none}}@media (width<=640px){.joystick{bottom:20px;right:20px}}.intro{z-index:20;background:linear-gradient(#e5e5e599,#9d9d9d99);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.intro-card{text-align:left;gap:18px;width:min(560px,100%);padding:40px 32px;display:grid}.intro-card h1{white-space:nowrap;font-size:clamp(26px,6.4vw,44px);line-height:1.05}.intro-card h1 em{color:var(--orange-500);font-style:normal;font-weight:600}.intro-card p{color:var(--text-muted);margin:0;line-height:1.55}.intro-hint{font-size:13px}.intro-loading{font-family:var(--font-display);color:var(--text-muted)}.icon-btn{border:1px solid var(--glass-border);background:var(--surface);width:42px;height:42px;color:var(--text);box-shadow:var(--shadow-soft);border-radius:50%;place-items:center;transition:transform .15s,background .15s;display:inline-grid}.icon-btn:hover{background:var(--surface-hover)}.icon-btn:active{transform:scale(.92)}.icon-btn svg{width:20px;height:20px}.icon-btn[aria-pressed=true]{color:var(--orange-500)}.touch-actions{flex-direction:column;gap:12px;display:flex;position:absolute;bottom:36px;right:160px}.touch-btn{border:1px solid var(--glass-border);background:var(--glass);width:52px;height:52px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--text);touch-action:none;border-radius:50%;font-size:20px}.touch-btn:active{background:var(--orange-500);color:var(--on-accent)}@media (hover:hover) and (pointer:fine){.touch-actions{display:none}}@media (width<=640px){.touch-actions{bottom:28px;right:152px}}.station .thumb svg{border-radius:14px}.speech-bubble{background:var(--surface);width:max-content;max-width:300px;color:var(--text);font-family:var(--font-display);box-shadow:var(--shadow-soft);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:18px;padding:12px 16px;font-size:16px;line-height:1.35;animation:.35s cubic-bezier(.2,1.4,.4,1) bubble-in;position:relative}.speech-bubble:after{content:"";background:var(--surface);border-radius:3px;width:16px;height:16px;margin-left:-8px;position:absolute;bottom:-8px;left:50%;transform:rotate(45deg)}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)scale(.85)}}.hud{transition:opacity .6s}.hud.is-hidden{opacity:0;pointer-events:none}.hud.is-hidden>*{pointer-events:none}.intro{background:0 0;transition:opacity .38s}.intro.is-leaving{opacity:0}.intro-card{animation:.7s cubic-bezier(.2,.9,.2,1) both card-in}.intro.is-leaving .intro-card{transition:transform .38s;transform:translateY(-16px)scale(.98)}@keyframes card-in{0%{opacity:0;transform:translateY(24px)scale(.97)}}.split-word{display:inline-block}.split-char{animation:.6s cubic-bezier(.2,1.3,.4,1) both char-in;animation-delay:calc(.25s + var(--i) * 28ms);display:inline-block}@keyframes char-in{0%{opacity:0;transform:translateY(.5em)rotate(6deg)}}.intro-lead,.intro-actions,.intro-hint{animation:.6s .85s both fade-up}.intro-actions{animation-delay:.95s}.intro-hint{animation-delay:1.05s}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}.zone-label.is-gone{opacity:0;transition:opacity .2s}@media (hover:none){.only-pointer{display:none}}@media (hover:hover){.only-touch{display:none}}@media (width<=640px){.hud-top{gap:8px;top:12px;left:12px;right:12px}.hud-brand{padding:10px 14px}.hud-cta{display:none}.hud-right{gap:6px}.hud .icon-btn{width:38px;height:38px}.hud .lang-switch button{padding:5px 9px}.hud-bottom{bottom:20px;left:16px}.hud.has-panel .map-button{display:none}.panel{max-height:62dvh;padding:18px;bottom:12px;left:12px;right:12px}.panel .metric-grid{grid-template-columns:1fr 1fr}.panel .metric strong{font-size:22px}.speech-bubble{max-width:230px;font-size:14px}}.page{max-width:1080px;margin:0 auto;padding:24px 16px 96px}.page-nav{justify-content:space-between;align-items:center;gap:12px;margin-bottom:48px;display:flex}.page-nav .brand{font-family:var(--font-display);font-size:18px;font-weight:600;text-decoration:none}.page-nav-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.page h1,.page h2,.page .lead{overflow-wrap:break-word}@media (width<=480px){.page-nav{margin-bottom:28px}.page-nav .btn{padding:10px 14px;font-size:13px}.card-grid{grid-template-columns:1fr}}.hero{background:radial-gradient(120% 140% at 0% 0%, var(--orange-500) 0%, var(--orange-400) 30%, transparent 62%), var(--surface);gap:24px;padding:clamp(28px,6vw,64px);display:grid;position:relative;overflow:hidden}.hero h1{color:var(--on-accent);white-space:nowrap;font-size:clamp(26px,8vw,76px);line-height:.98}.hero .lead{font-family:var(--font-editorial);max-width:30ch;margin:0;font-size:clamp(20px,2.6vw,28px);line-height:1.3}.section{gap:24px;margin-top:72px;display:grid}.section h2{font-size:clamp(28px,4vw,40px)}.about p{max-width:62ch;margin:0;font-size:17px;line-height:1.65}.zone-group{gap:14px;display:grid}.zone-group h3{color:var(--text-muted);font-size:15px;font-weight:500}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.work-card{align-content:start;gap:12px;padding:24px;text-decoration:none;transition:transform .2s;display:grid}.work-card:hover{transform:translateY(-4px)}.work-card h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:21px;font-weight:500}.work-card p{color:var(--text-muted);margin:0;font-size:15px;line-height:1.5}.work-card .meta{flex-wrap:wrap;gap:6px;display:flex}.project-hero{gap:16px;padding:clamp(28px,6vw,56px);display:grid}.project-hero h1{font-size:clamp(34px,6vw,60px);line-height:1.02}.project-hero .lead{font-family:var(--font-editorial);max-width:40ch;margin:0;font-size:clamp(19px,2.4vw,24px);line-height:1.35}.project-body{gap:32px;margin-top:32px;display:grid}.project-body section{gap:10px;display:grid}.project-body p{max-width:68ch;margin:0;font-size:17px;line-height:1.65}.footer-cta{gap:20px;margin-top:96px;padding:clamp(28px,6vw,56px);display:grid}.footer-cta h2{font-size:clamp(28px,4vw,44px)}.gallery{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:24px;display:grid}.gallery-item{gap:10px;margin:0;display:grid}.gallery-item svg{border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.gallery-item figcaption{color:var(--text-muted);font-size:14px}.zone-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.work-card{border-top:4px solid var(--zone-accent,transparent)}.work-card .thumb svg{border-radius:16px}@media (width<=640px){.hero{background:radial-gradient(190% 150% at 0% 0%, var(--orange-500) 0%, var(--orange-400) 40%, transparent 72%), var(--surface)}}.preloader{z-index:30;background:linear-gradient(180deg, var(--bg-top), var(--bg-bottom));place-items:center;padding:16px;display:grid;position:fixed;inset:0}.receipt{color:#1a1a1a;width:min(300px,100%);box-shadow:var(--shadow-soft);background:#fffdf8;padding:24px 22px 30px;font-family:SFMono-Regular,ui-monospace,Menlo,monospace;font-size:13px;animation:1.6s cubic-bezier(.3,.7,.2,1) both print;position:relative;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%}@keyframes print{0%{clip-path:inset(0 0 100%);transform:translateY(-12px)}to{clip-path:inset(0)}}.receipt-head{text-align:center;letter-spacing:.25em;font-size:16px;font-weight:700}.receipt-sub{text-align:center;color:#777;border-bottom:1px dashed #bbb;margin:4px 0 14px;padding-bottom:12px}.receipt ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.receipt li{opacity:.25;justify-content:space-between;transition:opacity .25s;display:flex}.receipt li.is-printed{opacity:1}.receipt-total{border-top:1px dashed #bbb;justify-content:space-between;margin-top:14px;padding-top:12px;font-size:18px;font-weight:700;display:flex}.receipt-stamp{border:2px solid var(--orange-500);color:var(--orange-500);letter-spacing:.1em;opacity:0;border-radius:6px;padding:4px 10px;font-weight:700;transition:transform .25s cubic-bezier(.2,1.6,.4,1),opacity .2s;position:absolute;bottom:56px;right:18px;transform:rotate(-12deg)scale(1.6)}.receipt-stamp.is-on{opacity:1;transform:rotate(-12deg)scale(1)}.receipt--static{animation:none}
