@font-face{font-family:Noto Sans SC;src:url(/fonts/noto-sans-sc.woff2) format("woff2-variations"),url(/fonts/noto-sans-sc.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit.woff2) format("woff2-variations"),url(/fonts/outfit.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2) format("woff2-variations"),url(/fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{--bg: #0b0a0e;--bg-soft: #121016;--card: #16141d;--violet: #5b14e8;--violet-lt: #7c3bff;--yellow: #ffd93b;--pink: #ff7bd5;--blue: #4a9bff;--text: #f2f0f7;--text-2: #bcb7c9;--muted: #8d879c;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--font-display: "Outfit", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", monospace;--ease: cubic-bezier(.22, .61, .36, 1);--r-md: 16px;--r-lg: 22px;--nav-h: 72px;--wrap: 1360px;--wrap-wide: 1800px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}section{scroll-margin-top:calc(var(--nav-h) + 24px)}:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}::selection{background:#7c3bff73}.dash{display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--violet-lt);transform:rotate(-30deg);flex:none}.dash--yellow{background:var(--yellow)}.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-family:var(--font-display);font-size:15.5px;font-weight:600;letter-spacing:.01em;will-change:transform;transition:transform .38s var(--ease),box-shadow .38s var(--ease),background-color .38s var(--ease),border-color .38s var(--ease),color .38s var(--ease)}.btn:active{transform:translateY(0) scale(.985);transition-duration:.12s}.btn svg{width:17px;height:17px;transition:transform .38s var(--ease)}.btn:hover svg{transform:translate(4px)}.btn--solid{background:var(--yellow);color:#191405;box-shadow:0 12px 34px -14px #ffd93b8c}.btn--solid:hover{background:#ffe267;transform:translateY(-3px);box-shadow:0 22px 46px -16px #ffd93bd9,0 0 0 1px #ffd93b59}.btn--solid:hover svg{transform:translate(5px)}.btn--ghost{border:1px solid var(--line-strong);color:var(--text);background-color:#ffffff05}.btn--ghost:hover{border-color:#7c3bffd9;background-color:#7c3bff29;color:#fff;transform:translateY(-3px);box-shadow:0 18px 38px -22px #7c3bfff2}.btn--outline{border:1px solid var(--line-strong);color:var(--text)}.btn--outline:hover{border-color:var(--accent, var(--violet-lt));color:var(--accent, var(--violet-lt));background-color:color-mix(in srgb,var(--accent, #7c3bff) 12%,transparent);transform:translateY(-3px);box-shadow:0 18px 36px -22px color-mix(in srgb,var(--accent, #7c3bff) 85%,transparent)}.btn--sm{padding:10px 20px;font-size:14px}.btn--sm svg{width:15px;height:15px}.btn--lg{padding:18px 36px;font-size:16.5px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-in{opacity:1;transform:none}.section-head{max-width:var(--wrap);margin:0 auto;padding:0 48px}.section-head__eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.16em;color:var(--muted)}.section-head__idx{margin-left:auto;font-size:13px;color:var(--violet-lt)}.section-head__title{margin-top:22px;font-family:var(--font-display);font-size:clamp(34px,3.6vw,54px);font-weight:800;line-height:1.22;letter-spacing:.005em}.section-head__sub{margin-top:18px;max-width:620px;color:var(--text-2);font-size:16.5px}.nav{position:fixed;inset:0 0 auto;z-index:50;background-color:#0b0a0e47;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.05);box-shadow:inset 0 1px #ffffff0f;transition:background-color .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}.nav--scrolled{background-color:#0a090e99;border-bottom-color:#ffffff1a;box-shadow:inset 0 1px #ffffff14,0 20px 46px -30px #000000f2}.nav__inner{max-width:var(--wrap);margin:0 auto;padding:0 48px;height:var(--nav-h);display:flex;align-items:center;gap:40px}.nav__brand{display:flex;align-items:center;gap:12px;transition:opacity .3s var(--ease),transform .3s var(--ease)}.nav__brand:hover{opacity:.85;transform:translateY(-1px)}.nav__brand img{width:34px;height:auto;filter:drop-shadow(0 6px 14px rgba(60,12,140,.55))}.nav__brand-text{display:flex;flex-direction:column;line-height:1.25}.nav__brand-text b{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:.04em}.nav__brand-text i{font-style:normal;font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;color:var(--muted)}.nav__links{display:flex;gap:34px;margin-left:auto}.nav__links a{position:relative;font-size:15px;color:var(--text-2);transition:color .3s}.nav__links a:hover{color:var(--text)}.nav__links a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;border-radius:1px;background:var(--violet-lt);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav__links a:hover:after{transform:scaleX(1)}.nav__toggle{display:none;width:42px;height:42px;margin-left:auto;border-radius:12px;border:1px solid var(--line-strong);background:#ffffff0a}.nav__toggle span{display:block;width:17px;height:1.6px;margin:5px auto;border-radius:2px;background:var(--text);transition:transform .35s var(--ease),opacity .3s var(--ease)}.nav--open .nav__toggle span:first-child{transform:translateY(3.3px) rotate(45deg)}.nav--open .nav__toggle span:last-child{transform:translateY(-3.3px) rotate(-45deg)}.nav__links-cta{display:none}.hero{position:relative;min-height:100vh;display:grid;grid-template-rows:1fr auto;overflow:hidden;background:var(--bg)}.squares-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;isolation:isolate}.hero__bg-tile{--tile-w: 1600px;--tile-h: 1428px;--tile-mx: 2;--tile-my: 5;position:absolute;left:0;top:0;width:calc(100% + var(--tile-w) * var(--tile-mx));height:calc(100% + var(--tile-h) * var(--tile-my));background-image:url(/brand/hero-bg.jpg);background-repeat:repeat;background-size:var(--tile-w) var(--tile-h);will-change:transform;animation:hero-scroll 600s linear infinite;animation-direction:normal}@keyframes hero-scroll{0%{transform:translate3d(calc(var(--tile-w) * var(--tile-mx) * -1),calc(var(--tile-h) * var(--tile-my) * -1),0)}to{transform:translateZ(0)}}.hero__glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}.hero__glow--a{width:640px;height:640px;right:-140px;top:-120px;background:radial-gradient(circle,rgba(91,20,232,.28),transparent 65%)}.hero__glow--b{width:520px;height:520px;left:-180px;bottom:-160px;background:radial-gradient(circle,rgba(255,123,213,.14),transparent 65%)}.hero__bg-dim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(80% 72% at 50% 32%,#07060b4d,#06050a80 52%,#040307bd)}.hero__vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#0b0a0ee0,#0b0a0e33 22%,#0b0a0e24 62%,#0b0a0e9e 88%,#0b0a0ef2)}.hero__inner{position:relative;z-index:1;width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--nav-h) + 28px) 48px clamp(30px,4.5vh,54px);row-gap:clamp(16px,2.4vh,26px)}.hero__eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:13px;letter-spacing:.2em;color:var(--muted)}.hero__logo{margin-top:0}.hero__logo img{height:clamp(142px,18vh,205px);width:auto;filter:drop-shadow(0 24px 46px rgba(28,4,70,.8)) drop-shadow(0 0 52px rgba(124,59,255,.3));animation:logo-breathe 10s ease-in-out infinite}@keyframes logo-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.hero__title{margin-top:0;font-family:var(--font-display);font-size:clamp(30px,3.5vw,48px);font-weight:800;line-height:1.28;letter-spacing:.01em}.hero__title em{font-style:normal;color:var(--yellow)}.hero__cta{display:flex;gap:16px;margin-top:clamp(6px,1.6vh,14px)}.hero__marquee{position:relative;z-index:1;display:flex;align-items:center;gap:28px;padding:12px 0 12px 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#09080cb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}.hero__marquee-label{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.18em;color:var(--muted);white-space:nowrap}.hero__marquee-label-row{display:flex;align-items:center;gap:12px}.hero__marquee-rule{width:40px;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}.hero__marquee-note{font-size:9.5px;letter-spacing:.04em;line-height:1.3;color:#ffffff47;white-space:nowrap}.hero__marquee-viewport{position:relative;flex:1;min-width:0;overflow:hidden}.hero__marquee-viewport:before,.hero__marquee-viewport:after{content:"";position:absolute;top:0;bottom:0;width:150px;z-index:2;pointer-events:none}.hero__marquee-viewport:before{left:0;background:linear-gradient(90deg,#09080cfe,#09080cf5 38%,#09080c9e 74%,#09080c00)}.hero__marquee-viewport:after{right:0;background:linear-gradient(270deg,#09080cfe,#09080cf5 38%,#09080c9e 74%,#09080c00)}.hero__marquee-track{display:flex;width:max-content;animation:marquee 82s linear infinite}.hero__marquee:hover .hero__marquee-track{animation-play-state:paused}.hero__marquee ul{display:flex;align-items:center;gap:18px;padding-right:18px}.hero__marquee li{display:flex}.partner{display:flex;align-items:center;justify-content:center;width:132px;height:56px;border-radius:10px;background:#fff;box-shadow:0 12px 26px -18px #000000e6;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.partner img{display:block;height:36px;width:auto;max-width:100px;object-fit:contain}.partner:hover{transform:translateY(-3px);box-shadow:0 18px 30px -16px #000000f2}@keyframes marquee{to{transform:translate(-50%)}}.projects{padding:clamp(100px,11vw,160px) 0 clamp(16px,2vw,28px)}.projects__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}.projects__note{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-bottom:6px;font-size:13px;color:var(--muted);text-align:right}.projects__note span{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;color:var(--text-2)}.section-head__display{display:flex;align-items:center;gap:clamp(16px,1.6vw,26px);font-family:var(--font-display);font-size:clamp(28px,3.1vw,44px);font-weight:700;line-height:1.12;letter-spacing:.01em}.section-head__display .dash{width:clamp(20px,1.8vw,28px);height:4px}.section-head__display-idx{align-self:flex-start;margin-top:.3em;font-family:var(--font-mono);font-size:11.5px;font-weight:400;letter-spacing:.16em;color:var(--violet-lt)}.projects__row{position:relative;max-width:var(--wrap);margin:clamp(30px,3.4vw,48px) auto 0;padding:0 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);isolation:isolate}.collage-card{position:relative;display:block;width:100%;aspect-ratio:2.34 / 1;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-soft);text-align:left;isolation:isolate;transition:border-color .6s var(--ease),box-shadow .6s var(--ease)}.collage-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 46px 92px -52px #000000f2}.collage-card--half{aspect-ratio:1.24 / 1}.collage-card--half:first-child{border-radius:var(--r-lg) 0 0 var(--r-lg);clip-path:polygon(0 0,100% 0,calc(100% - 76px) 100%,0 100%)}.collage-card--half:last-of-type{border-radius:0 var(--r-lg) var(--r-lg) 0;clip-path:polygon(76px 0,100% 0,100% 100%,0 100%)}.projects__cut{position:absolute;left:50%;top:0;height:100%;width:2px;margin-left:-1px;z-index:2;pointer-events:none;transform-origin:center;transform:skew(-8deg);background:linear-gradient(to bottom,transparent 0%,rgba(124,59,255,.55) 18%,rgba(255,217,59,.55) 50%,rgba(255,123,213,.5) 82%,transparent 100%);opacity:.85}.collage-card--half .collage{top:-8%;right:-6%;bottom:-8%;left:-6%;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.collage-card--half .collage__tile img{transform:skew(14deg) scale(1.14)}.collage-card--half .collage__name{font-size:clamp(23px,2.3vw,33px)}.collage-card--half .collage__meta{font-size:10.5px}.collage-card--half .collage__count{padding:6px 12px;font-size:15px}.collage-card--half .collage__count small{font-size:10.5px}.collage-card--half .collage__open{padding:9px 16px;font-size:12px}.collage-card--half:first-child .collage__open{right:calc(clamp(24px,3.2vw,48px) + 58px)}.collage-card--half:last-of-type .collage__label{left:calc(clamp(24px,3.2vw,48px) + 48px)}.collage{position:absolute;top:-12%;right:-10%;bottom:-12%;left:-10%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:5px;transform:skew(-14deg);transition:transform 1.2s var(--ease)}.collage-card:hover .collage{transform:skew(-14deg) scale(1.035)}.collage__tile{position:relative;overflow:hidden;background:#0b0a0e}.collage__tile img{width:100%;height:100%;object-fit:cover;transform:skew(14deg) scale(1.3);opacity:1;transition:opacity .6s var(--ease)}.collage-card:hover .collage__tile img{opacity:1}.collage__veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to top,rgba(6,5,10,.94) 0%,rgba(6,5,10,.6) 24%,rgba(6,5,10,.1) 52%,transparent 72%),linear-gradient(to right,rgba(6,5,10,.72) 0%,rgba(6,5,10,.16) 38%,transparent 62%)}.collage__label{position:absolute;left:clamp(24px,3.2vw,48px);bottom:clamp(22px,2.8vw,40px);display:flex;flex-direction:column;gap:8px}.collage__en{font-family:var(--font-mono);font-size:11px;letter-spacing:.26em;color:var(--accent)}.collage__name{font-family:var(--font-display);font-size:clamp(28px,3.1vw,46px);font-weight:800;line-height:1.1}.collage__meta{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:#fff9}.collage__count{position:absolute;right:clamp(24px,3.2vw,48px);top:clamp(22px,2.6vw,36px);display:inline-flex;align-items:baseline;gap:2px;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#0b0a0e9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-display);font-size:17px;font-weight:700;line-height:1.3;color:var(--accent)}.collage__count small{font-size:11.5px;font-weight:400;color:#ffffffbd}.collage__open{position:absolute;right:clamp(24px,3.2vw,48px);bottom:clamp(22px,2.8vw,40px);display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#0b0a0e8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;color:var(--text);transition:background-color .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease),transform .45s var(--ease)}.collage__open svg{width:15px;height:15px;transition:transform .45s var(--ease)}.collage-card:hover .collage__open{background:var(--accent);border-color:var(--accent);color:#0b0a0e;transform:translateY(-2px)}.collage-card:hover .collage__open svg{transform:translate(4px)}.services{padding:clamp(96px,11vw,155px) 0 clamp(30px,4vw,60px)}.services__list{max-width:var(--wrap);margin:56px auto 0;padding:0 48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.service{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(14px,1.6vw,24px) clamp(18px,2.2vw,38px);transition:background-color .5s var(--ease)}.service:first-child{padding-left:0}.service:last-child{padding-right:0}.service+.service:before{content:"";position:absolute;left:0;top:clamp(6px,.9vw,14px);bottom:clamp(6px,.9vw,14px);width:1px;transform:skew(-7deg);transform-origin:center;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--accent) 42%,rgba(255,255,255,.14)) 12%,color-mix(in srgb,var(--accent) 42%,rgba(255,255,255,.14)) 88%,transparent 100%);transition:background .5s var(--ease)}.service:hover:before{background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--accent) 65%,transparent) 10%,color-mix(in srgb,var(--accent) 65%,transparent) 90%,transparent 100%)}.service:hover{background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 62%)}.service__num{font-family:var(--font-display);font-size:clamp(22px,1.8vw,28px);font-weight:800;line-height:1;color:var(--accent);transition:transform .5s var(--ease)}.service:hover .service__num{transform:translateY(-2px)}.service__name{margin-top:clamp(16px,1.8vw,24px);font-family:var(--font-display);font-size:clamp(19px,1.7vw,24px);font-weight:700;line-height:1.3}.service__en{margin-top:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--muted)}.service__desc{margin-top:clamp(14px,1.4vw,20px);color:var(--text-2);font-size:14.5px;line-height:1.8;text-wrap:pretty}.service__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:clamp(18px,2vw,26px)}.service__tags li{padding:5px 12px;border:1px solid var(--line-strong);border-radius:999px;font-size:12px;color:var(--text-2)}.about{padding:clamp(100px,11vw,160px) 0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about__intro{max-width:var(--wrap);margin:48px auto 0;padding:0 48px;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:14px 48px;align-items:start}.about__intro-lead{font-family:var(--font-display);font-size:clamp(22px,2.1vw,30px);font-weight:700;line-height:1.5}.about__intro-text{color:var(--text-2);font-size:16px;line-height:1.85}.about__meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:34px;margin-top:14px;padding-top:22px;border-top:1px solid var(--line)}.about__meta li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2)}.about__meta b{color:var(--text);font-family:var(--font-display);font-weight:700}.about__grid{max-width:var(--wrap);margin:44px auto 0;padding:0 48px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:stretch}.about__quote{border-left:3px solid var(--violet-lt);padding-left:28px;align-self:center}.about__quote blockquote{font-family:var(--font-display);font-size:clamp(20px,1.9vw,26px);font-weight:600;line-height:1.6}.about__quote-by{margin-top:18px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.about__facts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about__facts li{padding:24px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card)}.about__facts b{display:block;font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--yellow)}.about__facts span{font-size:13.5px;color:var(--text-2)}.about__roles{max-width:var(--wrap);margin:40px auto 0;padding:0 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.about__roles li{padding:24px;border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .4s var(--ease),transform .4s var(--ease)}.about__roles li:hover{border-color:var(--violet-lt);transform:translateY(-3px)}.about__roles h3{font-size:16.5px;font-weight:700}.about__roles p{margin-top:8px;font-size:13.8px;color:var(--text-2)}.contact{padding:clamp(100px,11vw,160px) 48px}.contact__card{position:relative;max-width:var(--wrap);margin:0 auto;padding:clamp(44px,5vw,72px);border-radius:var(--r-lg);border:1px solid var(--line);background:radial-gradient(90% 140% at 100% 0%,rgba(91,20,232,.28),transparent 55%),var(--card);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,4vw,56px);overflow:hidden}.contact__title{margin-top:20px;font-family:var(--font-display);font-size:clamp(32px,3.4vw,50px);font-weight:800;line-height:1.22}.contact__main{display:flex;flex-direction:column;align-items:flex-start}.contact__cta{margin-top:clamp(26px,2.6vw,34px)}.contact__sub{margin-top:18px;color:var(--text-2);max-width:480px}.contact__side{align-self:center;display:flex;flex-direction:column;gap:clamp(16px,1.8vw,24px)}.contact__social{position:relative;margin-top:auto;padding-top:clamp(28px,3.4vw,46px)}.contact__social-label{margin-bottom:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;color:var(--muted)}.social__item{position:relative;display:inline-flex;align-items:center;gap:14px;padding:9px 18px 9px 9px;border-radius:16px;border:1px solid var(--line);background:#ffffff09;text-align:left;transition:border-color .4s var(--ease),background-color .4s var(--ease),transform .4s var(--ease)}.social__item:hover,.social__item:focus-visible{border-color:#07c16073;background:#07c16014;transform:translateY(-2px)}.social__icon{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#07c160;box-shadow:0 10px 24px -12px #07c160e6}.social__icon svg{width:28px;height:28px}.social__text{display:flex;flex-direction:column;gap:3px}.social__text b{font-family:var(--font-display);font-size:15px;font-weight:600}.social__text i{font-style:normal;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}.social__qr{position:absolute;left:calc(100% + 16px);bottom:0;z-index:6;width:236px;padding:12px 12px 10px;border-radius:16px;background:#fff;color:#16141d;box-shadow:0 28px 60px -26px #000000f2,0 0 0 1px #ffffff24;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-8px) scale(.97);transform-origin:0 100%;transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}.social__qr:after{content:"";position:absolute;left:-6px;bottom:26px;width:12px;height:12px;border-radius:2px;background:#fff;transform:rotate(45deg)}.social__item:hover .social__qr,.social__item:focus-visible .social__qr,.contact__social.is-open .social__qr{opacity:1;visibility:visible;pointer-events:auto;transform:none}.social__qr img{width:100%;height:auto;border-radius:8px}.social__qr-cap{display:block;padding:9px 2px 2px;font-size:12.5px;line-height:1.5;text-align:center;color:#2c2739}.social__qr-cap i{display:block;font-style:normal;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;color:#7a7390}.contact__list{display:flex;flex-direction:column;gap:0}.contact__list li{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.contact__list li:first-child{border-top:1px solid var(--line)}.contact__list span{font-size:13.5px;color:var(--muted);white-space:nowrap}.contact__list b{font-family:var(--font-display);font-size:15px;font-weight:600;text-align:right}.contact__list-row--stack{flex-direction:column;align-items:stretch;gap:6px}.contact__list-row--stack b{text-align:left;line-height:1.6;font-weight:500;font-size:14.5px}.contact__list a{color:inherit;transition:color .35s var(--ease)}.contact__list a:hover{color:var(--yellow)}.contact__map{position:relative;display:block;border-radius:var(--r-md);border:1px solid var(--line);overflow:hidden;background:#0f0e14;transition:border-color .45s var(--ease),transform .45s var(--ease)}.contact__map img{width:100%;height:100%;aspect-ratio:8 / 5;object-fit:cover;filter:brightness(.52) saturate(.62) contrast(1.1);transition:transform .7s var(--ease),filter .45s var(--ease)}.contact__map:hover{border-color:var(--violet-lt);transform:translateY(-2px)}.contact__map:hover img{transform:scale(1.03);filter:brightness(.76) saturate(.82) contrast(1.08)}.contact__map-tag{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px 7px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#0b0a0ec7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:11.5px;color:var(--text)}.contact__map-tag svg{width:14px;height:14px;color:var(--yellow)}.contact__map-cta{position:absolute;right:12px;top:12px;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#0b0a0ec7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;opacity:.9;transition:background-color .4s var(--ease)}.contact__map:hover .contact__map-cta{border-color:#ffd93b8c;color:var(--yellow)}.to-top{position:fixed;right:clamp(16px,2.2vw,32px);bottom:clamp(16px,2.2vw,32px);z-index:60;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);background:#0b0a0eb8;backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%);color:var(--text);box-shadow:0 22px 46px -26px #000000f2;opacity:0;visibility:hidden;transform:translateY(16px) scale(.9);transition:opacity .45s var(--ease),transform .45s var(--ease),background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),visibility .45s}.to-top.is-visible{opacity:1;visibility:visible;transform:none}.to-top:hover{background:var(--yellow);border-color:var(--yellow);color:#0b0a0e;transform:translateY(-4px)}.to-top__ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px);transform:rotate(-90deg);pointer-events:none}.to-top__ring-bg{fill:none;stroke:#ffffff1a;stroke-width:1.6}.to-top__ring-fill{fill:none;stroke:var(--yellow);stroke-width:1.8;stroke-linecap:round;transition:stroke-dashoffset .3s linear}.to-top__arrow{width:20px;height:20px;transition:transform .4s var(--ease)}.to-top:hover .to-top__arrow{transform:translateY(-3px)}.to-top__tip{position:absolute;right:calc(100% + 14px);padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#0b0a0eeb;font-size:12px;white-space:nowrap;color:var(--text);opacity:0;transform:translate(8px);transition:opacity .35s var(--ease),transform .35s var(--ease);pointer-events:none}.to-top:hover .to-top__tip{opacity:1;transform:none}.footer{border-top:1px solid var(--line);padding:44px 0}.footer__inner{max-width:var(--wrap);margin:0 auto;padding:0 48px;display:flex;align-items:center;flex-wrap:wrap;column-gap:36px;row-gap:22px}.footer__brand{display:flex;align-items:center;gap:14px}.footer__brand img{width:34px;height:auto;filter:drop-shadow(0 6px 14px rgba(60,12,140,.5))}.footer__brand b{display:block;font-family:var(--font-display);font-size:14.5px}.footer__brand span{font-size:12.5px;color:var(--muted)}.footer__nav{display:flex;gap:26px;margin-left:auto}.footer__nav a{font-size:13.5px;color:var(--text-2);transition:color .3s}.footer__nav a:hover{color:var(--text)}.footer__copy{font-size:12.5px;color:var(--muted);white-space:nowrap}.footer__icp{font-size:12.5px;color:var(--muted);white-space:nowrap;transition:color .3s}.footer__icp:hover{color:var(--text-2)}.footer__notice{flex:0 0 100%;margin:0;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.75;color:var(--muted);opacity:.9}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center}.modal__mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#050408d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal__panel{position:relative;z-index:1;width:min(1240px,calc(100vw - 80px));height:min(860px,calc(100vh - 80px));background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;animation:modal-in .45s var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:none}}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;padding:32px 40px 22px;border-bottom:1px solid var(--line)}.modal__en{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.22em;color:var(--violet-lt)}.modal__name{margin-top:10px;display:flex;align-items:baseline;gap:16px;font-family:var(--font-display);font-size:28px;font-weight:800}.modal__count{font-family:var(--font-mono);font-size:12.5px;font-weight:400;color:var(--muted)}.modal__project{margin-top:4px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.modal__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.modal__tags li{padding:4px 11px;border:1px solid var(--line-strong);border-radius:999px;font-size:11.5px;color:var(--text-2)}.modal__close{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;transition:background .3s,border-color .3s}.modal__close:hover{background:var(--violet);border-color:var(--violet)}.modal__close svg{width:18px;height:18px}.modal__grid{overflow-y:auto;padding:28px 40px 40px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:max-content;gap:18px;align-content:start}.modal__item{position:relative;display:block;aspect-ratio:4 / 3;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--card);text-align:left;transition:border-color .4s var(--ease),transform .4s var(--ease)}.modal__item:hover{border-color:var(--violet-lt);transform:translateY(-3px)}.modal__item img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#0b0a0e}.modal__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:12.5px;color:var(--text);background:linear-gradient(to top,rgba(6,5,10,.92),rgba(6,5,10,.5) 62%,transparent)}.modal__idx{font-family:var(--font-mono);font-size:11px;color:var(--violet-lt)}.modal__cap-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal__cap-proj{margin-left:auto;max-width:44%;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--muted)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;background:#040307eb;display:grid;place-items:center}.lightbox__figure{max-width:min(1180px,calc(100vw - 200px))}.lightbox__figure img{max-width:100%;max-height:calc(100vh - 190px);border-radius:var(--r-md);border:1px solid var(--line-strong)}.lightbox__figure figcaption{display:flex;justify-content:space-between;margin-top:16px;font-size:14.5px}.lightbox__figure b{font-weight:600}.lightbox__figure span{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid var(--line-strong);background:#0b0a0eb3;display:grid;place-items:center;transition:background .3s,border-color .3s}.lightbox__nav:hover{background:var(--violet);border-color:var(--violet)}.lightbox__nav svg{width:20px;height:20px}.lightbox__nav--prev{left:44px}.lightbox__nav--next{right:44px}.lightbox__close{position:absolute;top:32px;right:44px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-strong);background:#0b0a0eb3;display:grid;place-items:center}.lightbox__close:hover{background:var(--violet);border-color:var(--violet)}.lightbox__close svg{width:18px;height:18px}@media (min-width: 1680px){:root{--wrap: 1520px}.hero__title{font-size:54px}.hero__logo img{height:clamp(195px,19vh,235px)}.collage__name{font-size:50px}}@media (min-width: 2000px){.hero__inner{max-width:1240px}.hero__logo img{height:clamp(240px,18vh,300px)}.hero__title{font-size:72px}.hero__eyebrow{font-size:14px}.hero__marquee{padding:16px 0 16px 64px;gap:34px}.hero__marquee-label{font-size:12.5px}.partner{width:168px;height:68px}.partner img{height:46px;max-width:128px}}@media (max-width: 1200px){.nav__inner,.hero__inner,.section-head,.projects__row,.services__list,.about__intro,.about__grid,.about__roles,.footer__inner{padding-left:32px;padding-right:32px}.collage-card--half{aspect-ratio:1.12 / 1}.about__intro{grid-template-columns:1fr;gap:8px}.about__roles,.modal__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.projects__row{grid-template-columns:minmax(0,1fr);gap:18px}.collage-card--half:first-child,.collage-card--half:last-of-type{border-radius:var(--r-lg);clip-path:none;aspect-ratio:1.86 / 1}.projects__cut{display:none}.services__list{grid-template-columns:minmax(0,1fr)}.service{padding:24px 4px}.service+.service{border-top:1px solid var(--line)}.service+.service:before{display:none}.service__tags{margin-top:18px;padding-top:0}.contact__card{grid-template-columns:minmax(0,1fr);gap:34px}.contact__side{align-self:stretch}.contact__social{padding-top:28px}.about__grid{grid-template-columns:1fr}}@media (max-width: 900px){:root{--nav-h: 62px;--r-lg: 18px}.section-head,.hero__inner,.projects__row,.services__list,.about__intro,.about__grid,.about__roles,.footer__inner,.nav__inner{padding-left:20px;padding-right:20px}.nav__toggle{display:block}.nav__cta{display:none}.nav__links{position:absolute;left:0;right:0;top:var(--nav-h);margin:0;padding:8px 20px 20px;flex-direction:column;align-items:stretch;gap:0;background:#0a090ef5;backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);border-bottom:1px solid var(--line);box-shadow:0 34px 60px -40px #000000f2;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}.nav__links.is-open{opacity:1;visibility:visible;transform:none}.nav__links a{padding:14px 2px;font-size:16px;border-bottom:1px solid var(--line)}.nav__links a:after{display:none}.nav__links .nav__links-cta{display:inline-block;width:auto;margin-top:16px;padding:12px 24px;border:0;border-radius:999px;background:var(--yellow);color:#0b0a0e;font-size:15px;font-weight:600}.hero__inner{padding:calc(var(--nav-h) + 26px) 20px 34px;row-gap:14px}.hero__logo img{height:clamp(108px,21vw,150px)}.hero__title{font-size:clamp(25px,6.6vw,34px);line-height:1.32}.hero__eyebrow{font-size:11px;letter-spacing:.14em;gap:8px}.hero__cta{gap:10px;flex-wrap:wrap;justify-content:center}.hero__marquee{padding:10px 0 10px 20px;gap:14px}.hero__marquee-label{font-size:10px;letter-spacing:.12em;gap:4px}.hero__marquee-rule{display:none}.hero__marquee-note{font-size:9px;letter-spacing:0;line-height:1.35;max-width:96px;white-space:normal}.hero__marquee-viewport:before,.hero__marquee-viewport:after{width:56px}.partner{width:96px;height:50px}.partner img{max-height:30px;max-width:88px}.section-head__display{font-size:clamp(24px,6.4vw,30px)}.section-head__title{font-size:clamp(27px,6.4vw,34px)}.section-head__sub{font-size:15px}.projects__head{align-items:flex-start}.projects__note{align-items:flex-start;text-align:left}.collage-card--half:first-child,.collage-card--half:last-of-type{aspect-ratio:1.42 / 1}.collage__label{left:18px;bottom:16px;gap:6px}.collage__count{right:18px;top:16px}.collage__open{right:18px;bottom:16px}.collage-card--half .collage__name{font-size:24px}.collage-card--half .collage__meta{display:none}.collage__open{width:38px;height:38px;padding:0;justify-content:center}.collage__open-text{display:none}.contact{padding:clamp(72px,12vw,110px) 20px}.contact__card{padding:24px;gap:28px}.contact__title{font-size:clamp(26px,6.6vw,34px)}.contact__list b{font-size:14px}.contact__social{padding-top:22px;width:100%}.social__item{width:100%}.social__qr{left:50%;bottom:calc(100% + 14px);transform:translate(-50%,10px) scale(.97);transform-origin:50% 100%}.social__item:hover .social__qr,.social__item:focus-visible .social__qr,.contact__social.is-open .social__qr{transform:translate(-50%)}.social__qr:after{left:50%;bottom:-6px;margin-left:-6px}.footer__inner{flex-direction:column;align-items:flex-start;gap:18px;padding-top:8px;padding-bottom:8px}.footer__notice{flex:none;width:100%}.footer__nav{flex-wrap:wrap;gap:10px 22px}.modal__panel{width:100vw;height:100vh;border-radius:0;border:0}.modal__grid{grid-template-columns:minmax(0,1fr);padding:20px}.modal__head{padding:20px}.to-top{width:48px;height:48px;right:16px;bottom:16px}.to-top__ring{top:-5px;right:-5px;bottom:-5px;left:-5px;width:calc(100% + 10px);height:calc(100% + 10px)}.to-top__tip{display:none}}@media (max-width: 560px){.hero__logo img{height:104px}.hero__title{font-size:24px}.projects__row{margin-top:24px}.collage-card--half:first-child,.collage-card--half:last-of-type{aspect-ratio:1.16 / 1}.collage-card--half .collage__name{font-size:21px}.collage-card--half .collage__open{padding:8px 12px;font-size:11px}.contact__card{padding:18px}.contact__map-cta{display:none}.service__name{font-size:19px}.modal__head{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){.hero__bg-tile,.hero__logo img,.hero__marquee-track{animation:none}.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}.line-head{max-width:var(--wrap);margin:clamp(36px,4.2vw,60px) auto 20px;padding:0 48px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px 32px;flex-wrap:wrap}.line-head__title{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:clamp(18px,1.62vw,23px);font-weight:700;letter-spacing:.01em}.line-head__meta{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--muted)}.line-head__meta span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;color:#fff6;margin-right:4px}.line-head__meta b{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--yellow)}.film{max-width:var(--wrap-wide);margin:0 auto;padding:0 clamp(20px,3.2vw,64px)}.collpage .film{max-width:none;padding:0}.film__grid{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:clamp(16px,1.5vw,24px) clamp(12px,1.2vw,18px);margin-top:8px}.film__grid--ten{grid-template-columns:repeat(5,minmax(0,1fr))}.film__grid--ten .poster{grid-column:auto}.poster{grid-column:span 8}.film__grid--7 .poster{grid-column:span 6}.film__grid--7 .poster:nth-child(5){grid-column:4 / span 6}.film__grid--7 .poster:nth-child(6){grid-column:10 / span 6}.film__grid--7 .poster:nth-child(7){grid-column:16 / span 6}.film__grid--8 .poster,.film__grid--8more .poster{grid-column:span 6}.film__grid--8more .poster:nth-child(9){grid-column:10 / span 6}.poster--more .poster__fig{display:flex;align-items:stretch;padding:clamp(20px,2.1vw,30px) clamp(16px,1.9vw,24px);border:1px dashed rgba(255,255,255,.28);background:radial-gradient(130% 86% at 50% 0%,rgba(255,217,59,.075),transparent 64%),var(--card);transition:border-color .45s var(--ease),background .55s var(--ease),box-shadow .55s var(--ease)}.poster--more .poster__fig:after{display:none}.poster__link--more:hover .poster__fig{border-color:#ffd93b94;background:radial-gradient(130% 86% at 50% 0%,rgba(255,217,59,.13),transparent 66%),var(--card);box-shadow:0 20px 48px #00000057}.poster__more-inner{display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%;gap:12px;text-align:center}.poster__more-body{display:flex;flex-direction:column;align-items:center;gap:9px}.poster__more-kicker{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.3em;color:#ffffff52}.poster__more-title{font-family:var(--font-display);font-size:clamp(17px,1.44vw,21px);font-weight:700;letter-spacing:.02em;line-height:1.3;color:var(--text)}.poster__more-rule{width:24px;height:2px;margin:3px 0 1px;border-radius:2px;background:var(--yellow)}.poster__more-note{font-size:12px;line-height:1.8;color:var(--muted)}.poster__more-mail{margin-top:3px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:#ffffff6b;word-break:break-all}.poster__more-cta{margin-top:1px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--yellow)}.poster__more-cta svg{width:14px;height:14px;transition:transform .45s var(--ease)}.poster__link--more:hover .poster__more-cta svg{transform:translate(3px)}.poster__link{display:flex;flex-direction:column;gap:12px;transition:transform .55s var(--ease)}.poster__fig{position:relative;display:block;aspect-ratio:2 / 3;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--card);transition:border-color .45s var(--ease),box-shadow .55s var(--ease)}.poster__fig img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 1.1s var(--ease),filter .6s var(--ease)}.poster__idx{position:absolute;top:12px;left:12px;padding:3px 8px;border-radius:999px;background:#08060c85;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;color:#ffffffd1}.poster__hover{position:absolute;left:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.poster__fig:after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,#08060c00,#08060cc7);opacity:0;transition:opacity .4s var(--ease);pointer-events:none}.poster__link:hover .poster__fig:after,.poster__link:focus-visible .poster__fig:after{opacity:1}.poster__play{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#0b0a0e;box-shadow:0 10px 24px -10px var(--accent)}.poster__play svg{width:15px;height:15px;margin-left:1px}.poster__hover-text{padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#0b0a0e9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;color:var(--text);white-space:nowrap}.poster__label{display:flex;flex-direction:column;gap:4px;padding:0 2px}.poster--designed .poster__hover{left:13px;bottom:auto;top:13px;transform:translateY(-6px)}.poster--designed .poster__link:hover .poster__hover,.poster--designed .poster__link:focus-visible .poster__hover{transform:translateY(0)}.poster--designed .poster__fig:after{display:none}.poster__label--designed{min-height:40px;gap:0;padding-top:2px}.poster__label--designed .poster__role{font-size:12.5px;line-height:1.55;color:var(--text-3, rgba(255, 255, 255, .52))}.poster__en{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster__name{font-family:var(--font-display);font-size:clamp(17px,1.3vw,23px);font-weight:700;line-height:1.2;text-wrap:balance}.poster__role{font-size:12.5px;line-height:1.62;color:#ffffff8f;text-wrap:pretty}.poster__link:hover,.poster__link:focus-visible{transform:translateY(-4px)}.poster__link:hover .poster__fig,.poster__link:focus-visible .poster__fig{border-color:color-mix(in srgb,var(--accent) 62%,transparent);box-shadow:0 32px 56px -38px #000000f2}.poster__link:hover .poster__fig img,.poster__link:focus-visible .poster__fig img{transform:scale(1.04)}.poster__link:hover .poster__hover,.poster__link:focus-visible .poster__hover{opacity:1;transform:none}.games{margin-top:clamp(44px,5vw,76px)}.projects__row--single{grid-template-columns:minmax(0,1fr)}.work{padding:calc(var(--nav-h) + clamp(26px,3.6vw,52px)) 0 clamp(56px,7vw,104px);min-height:100vh}.work__inner{max-width:var(--wrap-wide);margin:0 auto;padding:0 clamp(20px,3.2vw,64px);display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:clamp(28px,3.6vw,60px);align-items:start}.work__side{position:sticky;top:calc(var(--nav-h) + 26px)}.work__back{display:inline-flex;align-items:center;gap:8px;margin-bottom:clamp(22px,3vw,38px);font-size:12.5px;color:var(--muted);transition:color .4s var(--ease),gap .4s var(--ease)}.work__back svg{width:15px;height:15px}.work__back:hover{color:var(--yellow);gap:12px}.work__idx{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;color:var(--accent);margin-bottom:12px}.work__idx span{color:#ffffff4d}.work__name{font-family:var(--font-display);font-size:clamp(36px,4.4vw,62px);font-weight:800;line-height:1.02;letter-spacing:-.01em;text-wrap:balance}.work__en{margin-top:10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.24em;color:var(--muted)}.work__meta{margin-top:clamp(20px,2.4vw,30px);padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.work__meta dt{margin-bottom:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:#ffffff5c}.work__meta dd{margin:0;font-size:13.5px;color:var(--text-2)}.work__intro{margin-top:22px;font-size:13.5px;line-height:1.85;color:var(--text-2);text-wrap:pretty}.work__role{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.work__role-label{display:inline-block;margin-bottom:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:color-mix(in srgb,var(--accent) 80%,#fff)}.work__role-line{margin:0;max-width:34ch;font-size:14px;line-height:1.8;color:var(--text-2);text-wrap:pretty}.work__role-line b{color:#fff;font-weight:600}.work__tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}.work__tags li{padding:5px 11px;border:1px solid var(--line);border-radius:999px;font-size:11px;color:var(--muted)}.work__pager{margin-top:clamp(26px,3.4vw,42px);display:grid;grid-template-columns:1fr 1fr;gap:10px}.work__pager-link{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;transition:border-color .4s var(--ease),background-color .4s var(--ease)}.work__pager-link span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;color:#ffffff57}.work__pager-link b{font-size:12.5px;font-weight:600;color:var(--text-2)}.work__pager-link--next{align-items:flex-end;text-align:right}.work__pager-link:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:#ffffff08}.work__pager-link:hover b{color:var(--text)}.stage{position:relative;aspect-ratio:16 / 9;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-strong);background:#07060a;box-shadow:0 60px 110px -70px #000000f2}.stage__tag{position:absolute;top:14px;left:15px;padding:6px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#08070b80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:#ffffffb3}.stage--empty{display:grid;place-items:center;background:#0a0910}.stage--empty .stage__still-bg{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;width:112%;height:112%;object-fit:cover;filter:blur(38px) brightness(.3) saturate(.45);transform:scale(1.04)}.stage--cover{aspect-ratio:5 / 4}.stage--poster{aspect-ratio:3 / 4;justify-self:center;height:min(72vh,760px);width:auto;max-width:100%}.stage--empty .stage__still{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;margin:auto;width:auto;height:auto;max-width:84%;max-height:calc(100% - 48px);object-fit:contain;filter:drop-shadow(0 18px 40px rgba(0,0,0,.6))}@media (max-width: 1200px){.line-head,.film,.film-coll,.collpage__inner,.work__inner{padding-left:32px;padding-right:32px}}@media (max-width: 1024px){.work__inner{grid-template-columns:minmax(0,1fr);gap:26px}.work__side{position:static}.work__name{font-size:clamp(32px,6.4vw,46px)}.work__role-line{max-width:none}.work__pager{margin-top:22px}.work__back{margin-bottom:18px}}@media (max-width: 900px){.stage--empty{aspect-ratio:auto;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:26px 0 18px}.stage--empty .stage__still{position:static;width:min(58%,210px);height:auto;max-height:none;max-width:none}.stage--poster{height:auto}.line-head,.film,.film-coll,.collpage__inner,.work__inner{padding-left:20px;padding-right:20px}.film__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.poster,.film__grid--8 .poster,.film__grid--8more .poster,.film__grid--8more .poster:nth-child(9),.film__grid--7 .poster,.film__grid--7 .poster:nth-child(5),.film__grid--7 .poster:nth-child(6),.film__grid--7 .poster:nth-child(7){grid-column:auto}.film__grid--8more .poster:nth-child(9){grid-column:1 / -1}.poster--more .poster__fig{aspect-ratio:auto;min-height:156px;padding:22px 18px}.poster__more-inner{gap:10px}.poster__more-body{gap:8px}.line-head{margin-top:32px}.poster__label{left:12px;right:12px;bottom:12px}.poster__idx{top:11px;left:12px}.poster__hover-text{display:none}.work{padding-top:calc(var(--nav-h) + 20px)}.stage{border-radius:var(--r-md)}}.film-coll{max-width:var(--wrap);margin:clamp(30px,4vw,52px) auto 0;padding:0 48px}.fc__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:clamp(22px,2.8vw,36px)}.fc__head-left{display:flex;flex-direction:column;gap:10px}.fc__sub{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.fc__sub span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;color:#fff6;margin-right:4px}.fc__sub b{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--yellow)}.fc__all{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;color:var(--text);white-space:nowrap;transition:border-color .35s var(--ease),color .35s var(--ease),background .35s var(--ease)}.fc__all svg{width:14px;height:14px;transition:transform .35s var(--ease)}.fc__all:hover{border-color:color-mix(in srgb,var(--yellow) 70%,transparent);color:var(--yellow);background:color-mix(in srgb,var(--yellow) 8%,transparent)}.fc__all:hover svg{transform:translate(3px)}.fc__stage{--card-w: clamp(160px, 19.4vw, 286px);--step-ratio: .84;--step: calc(var(--card-w) * var(--step-ratio));position:relative;height:calc(var(--card-w) * 1.5 + 34px);perspective:1600px;cursor:grab;outline:none;touch-action:pan-y;-webkit-user-select:none;user-select:none}.fc{overflow-x:clip}.fc__stage:focus-visible{outline:1px solid color-mix(in srgb,var(--yellow) 55%,transparent);outline-offset:8px;border-radius:12px}.fc__card{position:absolute;top:50%;left:50%;width:var(--card-w);aspect-ratio:2 / 3;margin-left:calc(var(--card-w) / -2);margin-top:calc(var(--card-w) * -.75);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:var(--card);box-shadow:0 34px 64px -40px #000000f2;transition:transform var(--fc-dur, .62s) var(--ease),opacity var(--fc-dur, .5s) var(--ease),border-color .4s var(--ease);will-change:transform}.fc__stage.is-dragging{cursor:grabbing}.fc__card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}.fc__card.is-center{border-color:color-mix(in srgb,var(--accent) 58%,rgba(255,255,255,.18))}.fc__card--more{display:flex;align-items:center;justify-content:center;padding:16px 14px;border-style:dashed;border-color:#ffffff38;background:radial-gradient(120% 78% at 50% 0%,rgba(255,217,59,.16),transparent 64%),repeating-linear-gradient(90deg,rgba(255,255,255,.032) 0 1px,transparent 1px 28px),repeating-linear-gradient(0deg,rgba(255,255,255,.032) 0 1px,transparent 1px 28px),linear-gradient(180deg,#221e30,#191621)}.fc__card--more.is-center{border-color:#ffd93b8c}.fc__more{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:11px;text-align:center}.fc__more-mid{display:flex;flex-direction:column;align-items:center;gap:9px}.fc__more-kicker{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.28em;color:#ffffff85}.fc__more-title{font-family:var(--font-display);font-size:clamp(18px,1.82vw,27px);font-weight:700;line-height:1.34;letter-spacing:.01em;color:#fff}.fc__more-rule{width:24px;height:2px;border-radius:2px;background:var(--yellow)}.fc__line-mail{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.02em;color:var(--muted)}.fc__num{position:absolute;top:10px;left:11px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;color:#ffffffad;text-shadow:0 1px 8px rgba(0,0,0,.65)}.fc__cue{position:absolute;left:50%;bottom:14px;transform:translate(-50%,6px);padding:6px 13px;border-radius:999px;background:#0a0810bd;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:11px;color:#fff;white-space:nowrap;opacity:0;transition:opacity .35s var(--ease),transform .35s var(--ease)}.fc__card.is-center:hover .fc__cue{opacity:1;transform:translate(-50%)}.fc__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:30;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#0c0a149e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;cursor:pointer;opacity:0;transition:opacity .3s var(--ease),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}.fc__stage:hover .fc__nav,.fc__stage:focus-within .fc__nav{opacity:1}.fc__nav:hover{background:var(--yellow);border-color:var(--yellow);color:#1a1206}.fc__nav svg{width:16px;height:16px}.fc__nav--prev{left:38px}.fc__nav--next{right:38px}.fc__caption{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:clamp(18px,2.2vw,28px);text-align:center}.fc__line{margin:0;max-width:720px;font-size:13.5px;line-height:1.7;color:var(--text-2);text-wrap:pretty}.fc__line b{color:#fff;font-weight:600}.fc__count{display:inline-block;margin-right:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:color-mix(in srgb,var(--accent) 72%,#fff)}.fc__dots{display:flex;align-items:center;gap:8px}.fc__dot{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:#ffffff38;cursor:pointer;transition:width .4s var(--ease),background .4s var(--ease)}.fc__dot:hover{background:#ffffff80}.fc__dot.is-active{width:26px;background:var(--yellow)}.fc__dot--more{border-radius:2px;width:5px;height:5px;background:#ffd93b6b}.fc__dot--more:hover{background:#ffd93bbf}.fc__dot--more.is-active{width:18px;background:var(--yellow)}.collpage{padding:calc(var(--nav-h) + clamp(26px,3.6vw,52px)) 0 clamp(56px,7vw,104px);min-height:100vh}.collpage__inner{max-width:var(--wrap-wide);margin:0 auto;padding:0 clamp(20px,3.2vw,64px)}.collpage__back{margin-bottom:clamp(18px,2.4vw,30px)}.collpage__head{margin-bottom:clamp(30px,4vw,52px)}.collpage__kicker{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;color:var(--accent);margin-bottom:12px}.collpage__title{font-family:var(--font-display);font-size:clamp(30px,3.6vw,48px);font-weight:700;line-height:1.08;letter-spacing:-.01em}.collpage__sub{margin-top:14px;max-width:620px;font-size:14px;line-height:1.75;color:var(--muted)}@media (max-width: 1200px){.film-coll{padding-left:32px;padding-right:32px}.fc__stage{--card-w: clamp(150px, 18vw, 232px)}}@media (max-width: 900px){.film-coll{padding-left:20px;padding-right:20px}.fc__stage{--card-w: clamp(132px, 25vw, 184px);height:calc(var(--card-w) * 1.5 + 24px)}.fc__nav{display:none}.fc__head{align-items:flex-start}.fc__all{height:36px;padding:0 15px;font-size:12px}}@media (max-width: 560px){.collpage__kicker{font-size:10px;letter-spacing:.1em}.collpage__sub{font-size:13px}.fc__stage{--card-w: clamp(128px, 40vw, 180px);--step-ratio: .6}.fc__line{font-size:12.5px}}@media (prefers-reduced-motion: reduce){.fc__card{transition:none}}.film-coll--follow{margin-top:clamp(56px,6.4vw,108px)}.stage--gallery{background:#08070c}.stage--tall{aspect-ratio:4 / 3}.gallery__bg{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;width:116%;height:116%;object-fit:cover;filter:blur(30px) brightness(.4) saturate(1.05);transform:scale(1.04)}.gallery__img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;margin:auto;max-width:92%;max-height:88%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 22px 46px rgba(0,0,0,.55))}.gallery__cap{position:absolute;left:15px;bottom:15px;z-index:2;display:inline-flex;max-width:calc(100% - 30px)}.gallery__cap-label{padding:7px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#08070b9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11.5px;color:#ffffffc7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery__nav{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:#0a08108c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd1;opacity:0;transition:opacity .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}.stage--gallery:hover .gallery__nav,.gallery__nav:focus-visible{opacity:1}.gallery__nav:hover{background:#181422db;border-color:var(--accent);color:#fff}.gallery__nav svg{width:18px;height:18px}.gallery__nav--prev{left:14px}.gallery__nav--next{right:14px}.stage__thumbs{display:flex;gap:8px;margin-top:12px;padding-bottom:4px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.stage__thumbs::-webkit-scrollbar{height:4px}.stage__thumbs::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.thumb{display:block;width:84px;aspect-ratio:4 / 3;padding:0;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;opacity:.62;transition:opacity .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb:hover{opacity:1;transform:translateY(-2px)}.thumb.is-active{opacity:1;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}@media (max-width: 900px){.stage--tall{aspect-ratio:3 / 4}.gallery__nav{opacity:1;width:34px;height:34px;margin-top:-17px}.gallery__nav--prev{left:8px}.gallery__nav--next{right:8px}.thumb{width:68px}.film-coll--follow{margin-top:48px}}img,video,canvas{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.guard-notice{position:fixed;left:50%;bottom:28px;z-index:9999;transform:translate(-50%,12px);padding:12px 20px;border-radius:999px;border:1px solid rgba(255,217,59,.42);background:#120c1ef0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--yellow);font-size:13.5px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}.guard-notice.is-on{opacity:1;transform:translate(-50%)}html[data-guard=freeze] img,html[data-guard=freeze] video,html[data-guard=freeze] canvas{filter:blur(18px) saturate(.55);transition:filter .4s var(--ease)}html[data-guard=freeze] body:after{content:"素材受保护 · 刷新页面可继续浏览";position:fixed;left:50%;top:50%;z-index:9998;transform:translate(-50%,-50%);padding:14px 24px;border-radius:10px;border:1px solid rgba(255,217,59,.42);background:#0e0918e6;color:var(--yellow);font-size:14px;letter-spacing:.04em;pointer-events:none}
