@font-face{font-family:Bricolage Grotesque;src:url(../fonts/bricolage-latin-ext.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;src:url(../fonts/bricolage-latin.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;src:url(../fonts/instrument-sans-latin-ext.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;src:url(../fonts/instrument-sans-latin.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#070510;--bg-2:#0b0718;--ink:#f7f5ff;--muted:rgba(247,245,255,.68);--muted-2:rgba(247,245,255,.52);--line:rgba(247,245,255,.14);--line-2:rgba(247,245,255,.26);--accent:#a78bfa;--accent-2:#6d5dfc;--accent-ink:#0a0616;--glass:rgba(255,255,255,.045);--glow:rgba(124,92,255,.38);--ease:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.22,1,.36,1);--head-h:72px;--pad:clamp(20px,4vw,40px)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Instrument Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100svh}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}section{scroll-margin-top:calc(var(--head-h) + 12px)}.wrap{width:100%;max-width:1220px;margin:0 auto;padding:0 var(--pad)}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:16px;z-index:100;transform:translateY(-160%);background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;transition:transform .2s var(--ease)}.skip:focus{transform:translateY(0)}#sakura-bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;image-rendering:pixelated;background:#120a2a}#sakura-glass{position:fixed;inset:0;z-index:0;pointer-events:none;background:#09061680;-webkit-backdrop-filter:blur(10px) saturate(125%);backdrop-filter:blur(10px) saturate(125%)}#scene{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;opacity:1;transition:opacity .35s linear;background:transparent}body.no-scene #scene{display:none}.grain{position:fixed;inset:0;z-index:45;pointer-events:none;opacity:.035;mix-blend-mode:screen;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.site-head{position:fixed;left:0;right:0;top:0;z-index:50;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}.site-head.is-scrolled{background:#0705109e;border-bottom-color:var(--line);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%)}.head-in{max-width:1220px;margin:0 auto;padding:0 var(--pad);height:var(--head-h);display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:15.5px;font-weight:500;letter-spacing:-.01em;flex:0 0 auto}.brand-stamp{display:block;width:52px;height:52px;color:var(--accent);transform:rotate(-6deg);filter:drop-shadow(0 0 14px rgba(167,139,250,.28));transition:transform .35s var(--ease),filter .3s,color .3s}.brand-stamp svg{display:block;width:100%;height:100%}.brand:hover .brand-stamp{transform:rotate(-2deg) scale(1.05);color:#c4b5fd;filter:drop-shadow(0 0 22px rgba(167,139,250,.5))}.brand-name{white-space:nowrap}.gh{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:#ffffff09;color:var(--muted);font-size:13.5px;text-decoration:none;transition:color .2s,border-color .2s,background .2s,transform .2s;flex:0 0 auto}.gh svg{display:block;flex:0 0 auto}.gh:hover{color:var(--ink);border-color:#a78bfa8c;background:#a78bfa1a;transform:translateY(-1px)}.gh:active{transform:translateY(0)}.nav{display:flex;gap:2px;margin-left:auto}.nav a{text-decoration:none;font-size:14.5px;color:var(--muted);padding:9px 13px;border-radius:8px;transition:color .2s,background .2s}.nav a:hover{color:var(--ink);background:#ffffff0d}.nav a.active{color:var(--ink)}.nav a.active:after{content:"";display:block;height:1px;margin-top:5px;background:linear-gradient(90deg,var(--accent),transparent)}.lang{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;font-size:13px;color:var(--muted-2);flex:0 0 auto;white-space:nowrap}.lang button{min-height:44px;min-width:32px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 2px;color:var(--muted-2);letter-spacing:.06em;transition:color .2s}.lang button:hover,.lang button[aria-pressed=true]{color:var(--ink)}.lang button[aria-pressed=true]:before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);flex:0 0 auto}.menu-btn{display:none;width:44px;height:44px;flex:0 0 auto;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:12px;background:#ffffff09;cursor:pointer;transition:background .2s,border-color .2s}.menu-btn:hover{background:#ffffff14;border-color:var(--line-2)}.menu-btn span{display:block;width:18px;height:1.5px;border-radius:2px;background:var(--ink);transition:transform .25s var(--ease),opacity .2s}.nav-open .menu-btn span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.nav-open .menu-btn span:nth-child(2){opacity:0}.nav-open .menu-btn span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.mobile-nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:45;width:auto;padding:8px var(--pad) 18px;background:#070510f2;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px #000000d9;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s;max-height:calc(100svh - var(--head-h));overflow:auto}.nav-open .mobile-nav{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s}.mobile-nav-in{display:flex;flex-direction:column}.mobile-nav a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:17px;text-align:center;transition:color .2s}.mobile-nav a:last-child{border-bottom:0}.mobile-nav a.active{color:var(--accent)}.mobile-nav a.active:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:0 0 auto}.mobile-lang{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted-2)}.mobile-lang>span:first-child{margin-right:8px;letter-spacing:.12em;text-transform:uppercase;font-size:10.5px}.mobile-lang button{min-height:44px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted-2);letter-spacing:.06em;transition:color .2s}.mobile-lang button:hover,.mobile-lang button[aria-pressed=true]{color:var(--ink)}.mobile-lang button[aria-pressed=true]:before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:4px}.hero-pin{position:relative;height:340vh;z-index:1}.hero-stage{position:sticky;top:0;height:100svh;min-height:620px;display:flex;align-items:flex-end;padding:calc(var(--head-h) + 16px) 0 clamp(24px,4vh,44px);overflow:hidden}.hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(62% 62% at 15% 86%,rgba(7,5,16,.86) 0%,rgba(7,5,16,.62) 34%,rgba(7,5,16,.16) 64%,transparent 78%),linear-gradient(0deg,rgba(7,5,16,.76) 0%,rgba(7,5,16,.3) 24%,transparent 46%),linear-gradient(180deg,rgba(7,5,16,.62) 0%,rgba(7,5,16,.2) 8%,transparent 15%)}.hero-inner{position:relative;z-index:2;width:100%;max-width:1220px;margin:0 auto;padding:0 var(--pad);display:flex;flex-direction:column;gap:clamp(28px,5vh,54px)}.hero-copy{max-width:min(640px,56vw);will-change:transform,opacity}.kicker{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2)}.kicker-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex:0 0 auto}.kicker-sep{width:22px;height:1px;background:var(--line-2);display:inline-block}.hero-title{font-family:Bricolage Grotesque,Instrument Sans,sans-serif;font-weight:800;font-size:clamp(3.4rem,8vw,6rem);line-height:.9;letter-spacing:-.038em;margin:18px 0 0}.hero-title .line{display:block}.hero-title .line-soft{color:#f7f5ffad}.tagline{margin-top:22px;max-width:46ch;font-size:clamp(15.5px,1.4vw,18px);line-height:1.55;color:var(--muted);text-wrap:pretty}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;font-size:14px;font-weight:500;text-decoration:none;border:1px solid var(--line-2);color:var(--ink);background:#ffffff0a;transition:background .25s,border-color .25s,transform .2s var(--ease),color .25s}.btn:hover{background:#ffffff17;border-color:#f7f5ff6b;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 12px 40px -18px #a78bfae6}.btn-primary:hover{background:#b9a2ff;border-color:#b9a2ff;color:var(--accent-ink)}.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:16px}.hero-note{font-size:12px;letter-spacing:.04em;color:var(--muted-2)}.scroll-cue{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:12px;color:var(--muted-2);letter-spacing:.04em}.scroll-cue i{display:block;width:34px;height:1px;background:var(--line-2);position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:var(--accent);transform:translate(-100%);animation:cue 2.4s var(--ease) infinite}@keyframes cue{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}.corridor-caps{position:absolute;inset:0;z-index:3;pointer-events:none}.caps-in{position:relative;height:100%;width:100%}.cap{position:absolute;top:50%;translate:0 -50%;width:min(310px,26vw);opacity:0;transform:translateY(18px);transition:opacity .45s var(--ease-soft),transform .65s var(--ease-soft)}.cap.on{opacity:1;transform:none}.cap--right{right:clamp(28px,6vw,96px);text-align:left}.cap--left{left:clamp(28px,6vw,96px);text-align:left}.cap-num{font-size:10.5px;letter-spacing:.18em;color:var(--accent);margin-bottom:10px}.cap-name{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.02;letter-spacing:-.03em}.cap-name .tld{color:var(--accent)}.cap p:last-child{margin-top:8px;font-size:13.5px;color:var(--muted);line-height:1.5}.cap:before{content:"";display:block;width:38px;height:1px;background:var(--line-2);margin-bottom:14px}@media(max-width:1180px){.cap{width:min(280px,32vw)}}@media(max-width:900px){.corridor-caps{display:none}}.hero-fallback{display:none;position:absolute;inset:0;z-index:0;overflow:hidden}.hero-fallback img{position:absolute;width:min(340px,28vw);aspect-ratio:16/10;object-fit:cover;border-radius:14px;border:1px solid var(--line);opacity:.5;box-shadow:0 40px 90px -40px #000000e6}.hero-fallback img:nth-child(1){right:8%;top:16%;transform:rotate(-7deg)}.hero-fallback img:nth-child(2){right:18%;top:30%;transform:rotate(3deg)}.hero-fallback img:nth-child(3){right:6%;top:45%;transform:rotate(8deg)}@media(max-width:1180px){.hero-fallback img{width:min(360px,44vw)}.hero-fallback img:nth-child(1){right:6%;top:8%}.hero-fallback img:nth-child(2){right:22%;top:18%}.hero-fallback img:nth-child(3){right:4%;top:29%}}body.no-scene .hero-fallback{display:block}.will-reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-soft),transform .7s var(--ease-soft)}.will-reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none}}.work,.about,.contact{position:relative;z-index:2;background:var(--bg)}.work{padding:clamp(64px,10vh,120px) 0 clamp(40px,7vh,80px);background:linear-gradient(180deg,#070510,#0a0618 22%,#080513);border-top:1px solid var(--line)}.section-head{max-width:760px;margin-bottom:clamp(26px,5vh,56px)}.section-head h2{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.02;letter-spacing:-.032em;margin-top:16px;text-wrap:balance}.section-lead{margin-top:16px;max-width:58ch;color:var(--muted);font-size:15.5px;text-wrap:pretty}.case{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(26px,4vw,64px);align-items:center;padding:clamp(34px,5vw,58px) 0;border-top:1px solid var(--line)}.case:first-of-type{border-top:0}.case:nth-of-type(2n) .case-media{order:2}.case-media{position:relative;display:block;text-decoration:none;padding:9px;border-radius:20px;background:linear-gradient(155deg,#ffffff13,#ffffff05 55%,#a78bfa0f);border:1px solid var(--line);box-shadow:0 50px 100px -60px #000000f2,0 0 0 1px #a78bfa0a inset;transform-style:preserve-3d;will-change:transform;transition:transform .5s var(--ease-soft),border-color .3s,box-shadow .4s}.case-media:hover,.case-media:focus-visible{border-color:#a78bfa8c;box-shadow:0 60px 120px -60px #7c5cff8c,0 0 0 1px #a78bfa1f inset}.shot{display:block;border-radius:13px;overflow:hidden;background:#0b0816;aspect-ratio:16/10}.shot img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.case-media:hover .shot img{transform:scale(1.025)}.case-open{position:absolute;right:20px;bottom:20px;font-size:12px;color:var(--ink);padding:8px 13px;border-radius:999px;background:#070510b8;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s var(--ease)}.case-media:hover .case-open,.case-media:focus-visible .case-open{opacity:1;transform:none}.case-body h3{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:clamp(1.7rem,2.7vw,2.35rem);letter-spacing:-.03em;line-height:1.05}.case-body h3 .tld{color:var(--accent)}.case-tag{margin-top:10px;font-size:13px;color:var(--accent);letter-spacing:.01em}.case-desc{margin-top:14px;max-width:42ch;color:var(--muted);font-size:15px;text-wrap:pretty}.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.case-meta dt{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}.case-meta dd{margin-top:4px;font-size:13px;color:var(--ink)}.case-link{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:10px 0 2px;font-size:13.5px;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}.case-link:hover{border-color:var(--accent);color:#c4b5fd}.case-link svg{transition:transform .25s var(--ease)}.case-link:hover svg{transform:translate(2px,-2px)}.about{padding:clamp(64px,10vh,120px) 0;border-top:1px solid var(--line);background:linear-gradient(180deg,#080513,#0a0617)}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,6vw,80px)}.about-head h2{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.032em;margin-top:16px}.about-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:var(--ink);max-width:52ch}.about-body p+p{margin-top:14px}.about-body>p:not(.about-lead):not(.about-note){color:var(--muted);font-size:15px;max-width:58ch}.skills-label{margin-top:32px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;list-style:none}.chips li{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:6px 11px;border-radius:999px;background:#ffffff05}.contact{padding:clamp(48px,8vh,96px) 0 clamp(64px,9vh,110px);border-top:1px solid var(--line);background:linear-gradient(180deg,#0a0617,#070510)}.contact-panel{position:relative;overflow:hidden;padding:clamp(26px,5vw,60px);border-radius:28px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(160deg,#ffffff12,#ffffff05 55%,#7c5cff1a);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);box-shadow:0 60px 120px -70px #000000f2}.contact-panel:before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.3),transparent 68%);pointer-events:none}.contact-panel h2{position:relative;font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:clamp(2.4rem,5vw,4rem);line-height:.98;letter-spacing:-.036em;margin-top:16px}.contact-lead{position:relative;margin-top:18px;max-width:48ch;color:var(--muted);font-size:15.5px}.mail{position:relative;display:inline-block;margin-top:clamp(22px,3vw,34px);font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:clamp(1.25rem,3.2vw,2.15rem);letter-spacing:-.025em;color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(167,139,250,.55);padding-bottom:3px;transition:color .2s,border-color .2s;overflow-wrap:anywhere}.mail:hover{color:var(--accent);border-color:var(--accent)}.contact-links{position:relative;display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:30px}.contact-links a{font-size:13.5px;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .2s,border-color .2s}.contact-links a:hover{color:var(--ink);border-color:var(--line-2)}.contact-loc{font-size:12px;color:var(--muted-2);letter-spacing:.04em}.contact-mark{position:absolute;right:clamp(30px,7vw,90px);top:50%;translate:0 -50%;width:clamp(150px,20vw,250px);aspect-ratio:1;display:grid;place-items:center;pointer-events:none}.contact-mark-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(167,139,250,.28);box-shadow:0 0 60px #7c5cff2e inset}.contact-mark-ring:before{content:"";position:absolute;inset:12%;border-radius:50%;border:1px dashed rgba(247,245,255,.14)}.contact-mark-ring:after{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;translate:-50% 0;background:var(--accent);box-shadow:0 0 18px #a78bfae6}.contact-mark-mono{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:clamp(2.6rem,5vw,4.2rem);letter-spacing:-.04em;color:#f7f5ff57}@media(max-width:900px){.contact-mark{display:none}}.site-foot{position:relative;z-index:2;background:#070510;border-top:1px solid var(--line);padding:clamp(40px,6vh,64px) 0 22px}.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.foot-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:14.5px;font-weight:500;color:var(--ink)}.foot-logo .brand-stamp{width:32px;height:32px}.foot-tagline{font-size:13px;color:var(--muted);max-width:24ch;line-height:1.55}.stamp{width:clamp(82px,8vw,104px);height:auto;color:var(--accent);margin-top:6px;transform:rotate(-6deg);filter:drop-shadow(0 0 20px rgba(167,139,250,.18));transition:transform .45s var(--ease),filter .3s}.stamp:hover{transform:rotate(-2deg) scale(.97);filter:drop-shadow(0 0 28px rgba(167,139,250,.34))}.stamp svg{display:block;width:100%;height:auto;overflow:visible}.s-line{fill:none;stroke:currentColor}.s-text{fill:currentColor;font:800 10.5px Helvetica Neue,Arial,DejaVu Sans,sans-serif}.s-mono{fill:currentColor;font:700 28px Arial Black,Helvetica Neue,Arial,DejaVu Sans,sans-serif}.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.foot-col h3{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);font-weight:500;margin-bottom:3px}.foot-col a{font-size:14px;color:var(--muted);text-decoration:none;transition:color .2s;display:inline-flex;gap:6px;align-items:center}.foot-col a:hover{color:var(--ink)}.foot-col a span[aria-hidden]{font-size:11px;opacity:.55;transition:transform .2s,opacity .2s}.foot-col a:hover span[aria-hidden]{opacity:1;transform:translate(1px,-1px)}.foot-loc{font-size:12px;color:var(--muted-2);letter-spacing:.04em}.foot-bottom{margin-top:clamp(34px,5vh,52px);padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted-2)}.foot-bottom a{color:var(--muted);text-decoration:none;transition:color .2s}.foot-bottom a:hover{color:var(--ink)}.pavilion{position:relative;z-index:2;height:230vh;background:#070510}.pavilion-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:#070510}.garden{position:absolute;inset:0;z-index:1;overflow:hidden;background:radial-gradient(58% 55% at 80% 18%,rgba(167,139,250,.18),transparent 70%),radial-gradient(45% 45% at 12% 84%,rgba(109,93,252,.12),transparent 72%),linear-gradient(180deg,#070510,#0a0617 58%,#0a1418)}.garden-moon{position:absolute;right:13%;top:9%;width:clamp(210px,29vw,370px);aspect-ratio:1;border-radius:50%;opacity:.78;filter:blur(1px);background:radial-gradient(circle at 38% 32%,#fbf7ff 0%,#e3d7ff 38%,rgba(167,139,250,.22) 62%,transparent 70%);box-shadow:0 0 120px 50px #a78bfa29}.garden-ground{position:absolute;left:0;right:0;bottom:0;height:36%;background:linear-gradient(180deg,transparent 0%,rgba(8,20,24,.72) 55%,rgba(6,12,16,.95) 100%)}.garden-mist{position:absolute;left:0;right:0;bottom:0;height:42%;background:radial-gradient(70% 60% at 60% 90%,rgba(120,160,190,.12),transparent 70%)}.garden-tree{position:absolute;right:-2%;bottom:-5%;width:min(760px,58vw);height:auto;opacity:.95;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}.garden-petal{position:absolute;width:9px;height:13px;border-radius:60% 40% 55% 45%;background:linear-gradient(150deg,#f7b8d0,#e78fb8);opacity:0;animation:nf-fall 12s linear infinite;z-index:2}.garden-petal.p1{right:38%;top:-6%;animation-delay:-1.2s;animation-duration:13s}.garden-petal.p2{right:29%;top:-3%;animation-delay:-4.5s;animation-duration:15s}.garden-petal.p3{right:21%;top:-8%;animation-delay:-7.5s;animation-duration:11s}.garden-petal.p4{right:12%;top:-4%;animation-delay:-2.8s;animation-duration:14s}.garden-petal.p5{right:47%;top:-7%;animation-delay:-9s;animation-duration:16s}.garden-petal.p6{right:6%;top:-2%;animation-delay:-6s;animation-duration:12s}.garden-petal.p7{right:55%;top:-5%;animation-delay:-10.5s;animation-duration:17s}.garden-petal.p8{right:68%;top:-6%;animation-delay:-3.4s;animation-duration:18s}@keyframes nf-fall{0%{transform:translate3d(0,-12vh,0) rotate(0);opacity:0}8%{opacity:.85}to{transform:translate3d(-80px,112vh,0) rotate(280deg);opacity:0}}.paravan{position:relative;z-index:3;display:flex;width:min(900px,78vw);height:min(600px,68vh);perspective:1500px}.panel{position:relative;width:50%;height:100%;background:#3b2a33;border:10px solid #3b2a33;box-shadow:0 0 0 1px #140c12cc inset,0 0 60px #00000059 inset,0 34px 70px -30px #000c;transform-style:preserve-3d;will-change:transform}.panel-left{transform-origin:left center;transform:translate(-115%) rotateY(-26deg)}.panel-right{transform-origin:right center;transform:translate(115%) rotateY(26deg)}.has-pavilion .panel-left{transform:translate(calc(var(--open, 0) * -115%)) rotateY(calc(var(--open, 0) * -26deg))}.has-pavilion .panel-right{transform:translate(calc(var(--open, 0) * 115%)) rotateY(calc(var(--open, 0) * 26deg))}.panel-grid{position:absolute;inset:0;opacity:.97;background-color:#e8dfce;background-image:linear-gradient(to right,rgba(60,42,40,.34) 1px,transparent 1px),linear-gradient(to bottom,rgba(60,42,40,.34) 1px,transparent 1px);background-size:25% 25%;box-shadow:inset 0 0 70px #785a461f}.panel:after{content:"";position:absolute;inset:7px;border:1px solid rgba(60,40,45,.55);pointer-events:none}.panel-handle{position:absolute;top:50%;width:9px;height:28px;margin-top:-14px;border-radius:99px;background:#2a1e26;box-shadow:0 0 0 1px #ffffff14 inset}.panel-left .panel-handle{right:20px}.panel-right .panel-handle{left:20px}.pavilion-hint{position:absolute;z-index:4;left:50%;top:50%;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:12px;color:#4a3a40;pointer-events:none;text-align:center;opacity:0;transition:opacity .3s}.has-pavilion .pavilion-hint{opacity:clamp(0,calc(1 - var(--open, 0) * 2.4),1)}.has-pavilion .pavilion.is-open .pavilion-hint{opacity:0}.pavilion-404{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:clamp(4.5rem,11vw,8rem);line-height:.9;letter-spacing:-.06em;color:#3a2a3033}.pavilion-hint p:last-of-type{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#4a3a40d9}.scroll-line{width:52px;height:1px;background:#4a3a4047;position:relative;overflow:hidden}.scroll-line:after{content:"";position:absolute;inset:0;background:#4a3a40;transform:translate(-100%);animation:nf-cue 2.4s var(--ease) infinite}@keyframes nf-cue{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}.pavilion-copy{position:absolute;inset:0;z-index:5;width:100%;max-width:1220px;margin:0 auto;padding:0 var(--pad);display:flex;flex-direction:column;justify-content:center;pointer-events:none;opacity:1;transition:opacity .45s var(--ease-soft);background:linear-gradient(90deg,rgba(7,5,16,.9) 0%,rgba(7,5,16,.55) 38%,transparent 68%)}.has-pavilion .pavilion-copy{opacity:0}.has-pavilion .pavilion.is-open .pavilion-copy{opacity:1}.pavilion-copy a,.pavilion-copy .btn{pointer-events:none}.pavilion.is-open .pavilion-copy a,.pavilion.is-open .pavilion-copy .btn{pointer-events:auto}.pavilion-copy .kicker{color:var(--muted)}.pavilion-copy h1{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.02;letter-spacing:-.032em;margin:14px 0 0;text-wrap:balance}.pavilion-lead{margin-top:16px;max-width:48ch;color:var(--muted);font-size:15.5px;text-wrap:pretty}.pavilion-copy .hero-actions{margin-top:26px}@media(max-width:820px){.pavilion{height:200vh}.paravan{width:92vw;height:min(520px,60vh)}.panel{border-width:8px}.garden-moon{right:4%;top:8%;width:clamp(160px,42vw,250px);opacity:.55}.garden-tree{width:110vw;right:-22%;bottom:-4%;opacity:.8}.pavilion-copy{justify-content:flex-end;padding-bottom:11vh;background:linear-gradient(0deg,rgba(7,5,16,.97) 0%,rgba(7,5,16,.72) 34%,transparent 70%)}.pavilion-copy h1{font-size:clamp(2rem,8vw,3rem)}.pavilion-lead{max-width:36ch}.pavilion-404{font-size:clamp(3.6rem,22vw,6rem)}}@media(prefers-reduced-motion:reduce){.pavilion{height:auto}.pavilion-stage{position:relative}.panel-left{transform:translate(-115%) rotateY(-26deg)}.panel-right{transform:translate(115%) rotateY(26deg)}.pavilion-copy{opacity:1}.pavilion-hint,.garden-petal{display:none}}@media(max-width:1180px){.hero-copy{max-width:100%}.hero-title{font-size:clamp(3rem,9vw,4.8rem)}.tagline{max-width:52ch}.hero-scrim{background:linear-gradient(0deg,rgba(7,5,16,.92) 0%,rgba(7,5,16,.66) 34%,rgba(7,5,16,.1) 66%,transparent 84%),linear-gradient(90deg,rgba(7,5,16,.34),transparent 70%),linear-gradient(180deg,rgba(7,5,16,.62) 0%,rgba(7,5,16,.2) 8%,transparent 15%)}}@media(max-width:1000px){.about-grid{grid-template-columns:.9fr 1.1fr;gap:40px}}@media(max-width:900px){.nav,.lang,.gh span{display:none}.gh{width:44px;height:44px;padding:0;margin-left:auto}.menu-btn{display:inline-flex}.mobile-nav{display:block}.head-in{gap:10px}.foot-grid{grid-template-columns:1fr 1fr;gap:28px}.foot-brand{grid-column:1 / -1}.stamp{width:86px}}@media(max-width:560px){.foot-grid{grid-template-columns:1fr;gap:24px}.foot-bottom{justify-content:flex-start}}@media(max-width:820px){:root{--head-h:64px}.brand{font-size:15px}.brand-stamp{width:42px;height:42px}.hero-pin{height:auto}.hero-stage{position:relative;height:100svh;min-height:0}.hero-copy{max-width:none;width:100%}.hero-scrim{background:linear-gradient(0deg,rgba(7,5,16,.94) 0%,rgba(7,5,16,.7) 36%,rgba(7,5,16,.12) 68%,transparent 85%),linear-gradient(90deg,rgba(7,5,16,.4),transparent 70%),linear-gradient(180deg,rgba(7,5,16,.62) 0%,rgba(7,5,16,.2) 8%,transparent 15%)}.hero-inner{gap:26px}.hero-title{font-size:clamp(3rem,12vw,4.6rem)}.tagline{font-size:15.5px;max-width:40ch}.hero-foot{padding-top:13px}.work{padding-top:64px}.case{grid-template-columns:1fr;gap:22px}.case:nth-of-type(2n) .case-media{order:0}.case-body{max-width:560px}.case-desc{max-width:none}.about-grid{grid-template-columns:1fr;gap:26px}.about-head h2{margin-top:12px}}@media(max-height:560px)and (max-width:980px){.hero-pin{height:auto}.hero-stage{position:relative;min-height:100svh;height:auto;padding-top:calc(var(--head-h) + 16px)}.hero-title{font-size:clamp(2.4rem,7vw,3.2rem)}.hero-inner{gap:16px}.tagline{max-width:60ch;margin-top:12px}.hero-actions{margin-top:14px}.hero-foot{display:none}}@media(max-width:520px){.hero-title{font-size:clamp(2.8rem,14vw,3.8rem)}.hero-actions .btn{flex:1 1 auto;padding:0 14px;font-size:13.5px}.hero-note{display:none}.hero-foot{justify-content:flex-end}.case-meta{grid-template-columns:1fr;gap:12px}.contact-panel{border-radius:20px}.foot-in{gap:16px}.foot-copy{order:3}.foot-links{order:2;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-pin{height:auto}.hero-stage{position:relative}.scroll-cue i:after{animation:none;transform:none;opacity:.5}}
