:root{--p:0}html{scrollbar-gutter:stable}html.intro-lock,html.intro-lock body{overflow:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}html,body{background:#050505;margin:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage{--k:.8;--h:min(38vh,42vw);color:#f4f4f2;width:100%;height:100dvh;min-height:520px;font-family:var(--sans);background:#050505;position:relative;overflow:hidden}.stage *,.stage :before,.stage :after{box-sizing:border-box}.scene{position:absolute;inset:0}.backdrop{position:absolute;inset:0;overflow:hidden}.sky{background:radial-gradient(110% 70% at 50% 118%,#1c1c1c 0%,#1c1c1c00 62%),linear-gradient(#030303 0%,#0a0a0a 100%);position:absolute;inset:0}.hero{opacity:0;animation:fade-in calc(var(--k)*.9s) calc(var(--k)*2.2s) ease-in-out both;position:absolute;inset:0;overflow:hidden}.kb{object-fit:cover;object-position:50% 50%;transform-origin:50% 42%;width:100%;height:100%;animation:kb calc(var(--k)*22s) calc(var(--k)*2.2s) cubic-bezier(.25,.6,.3,1) both;position:absolute;inset:0}.xy-from-auth .kb{transform:scale(var(--hero-scale,1.08));animation:none}.scrim{background:radial-gradient(62% 48% at 50% 40%,#00000080 0%,#0003 60%,#0000 100%),linear-gradient(#0000006b 0%,#0000 28% 60%,#000000a8 100%);position:absolute;inset:0}.title-pos{pointer-events:none;z-index:60;position:fixed;inset:0}.title-follow{transform-origin:var(--ox,50%) var(--oy,50%);transform:translate(calc(var(--dx,0px)*var(--p)),calc(var(--dy,0px)*var(--p))) scale(calc(1 + (var(--s,1) - 1)*var(--p)));will-change:transform;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mark-rest .title-wrap{animation:none;transform:translateY(-14vh)scale(.62)}.mark-measuring .title-follow{visibility:hidden}.title-wrap{animation:title-up calc(var(--k)*.8s) calc(var(--k)*2.3s) cubic-bezier(.6,0,.2,1) both;position:relative}.title-shift{width:calc(var(--h)*2.06);height:var(--h);animation:shift calc(var(--k)*.5s) calc(var(--k)*1.7s) cubic-bezier(.65,0,.25,1) both;view-transition-name:xy-mark;position:relative}.title-svg{z-index:1;color:#f4f4f2;width:100%;height:100%;animation:tone calc(var(--k)*.8s) calc(var(--k)*2.2s) ease both;display:block;position:relative;overflow:visible}.p-fill{fill:currentColor}.p-trace{fill:none;stroke:#fff;stroke-width:5px;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px}.ri-trace{animation:trace calc(var(--k)*.55s) calc(var(--k)*1s) cubic-bezier(.45,.05,.35,1) both,fade-out calc(var(--k)*.3s) calc(var(--k)*1.55s) ease both}.ri-fill{opacity:0;animation:fade-in calc(var(--k)*.4s) calc(var(--k)*1.2s) ease both}.sheng-trace{animation:trace calc(var(--k)*.55s) calc(var(--k)*1.15s) cubic-bezier(.45,.05,.35,1) both,fade-out calc(var(--k)*.3s) calc(var(--k)*1.7s) ease both}.sheng-fill{opacity:0;animation:fade-in calc(var(--k)*.4s) calc(var(--k)*1.4s) ease both}.xing{transform-box:fill-box;transform-origin:50%;animation:pop calc(var(--k)*.5s) calc(var(--k)*1.6s) ease-out both}.yuan-trace{animation:trace calc(var(--k)*.55s) calc(var(--k)*1.8s) cubic-bezier(.45,.05,.35,1) both,fade-out calc(var(--k)*.3s) calc(var(--k)*2.35s) ease both}.yuan-fill{opacity:0;animation:fade-in calc(var(--k)*.4s) calc(var(--k)*2.05s) ease both}.flash{width:calc(var(--h)*1.7);height:calc(var(--h)*1.7);margin:calc(var(--h)*-.85) 0 0 calc(var(--h)*-.85);opacity:0;mix-blend-mode:screen;pointer-events:none;z-index:0;animation:bloom calc(var(--k)*.8s) calc(var(--k)*1.6s) ease-out both;background:radial-gradient(circle,#ffffff4d 0%,#ffffff14 38%,#0000 68%);border-radius:50%;position:absolute;top:48.7%;left:23.79%}.ico{width:calc(var(--h)*.48);height:calc(var(--h)*.48);margin:calc(var(--h)*-.24) 0 0 calc(var(--h)*-.24);z-index:2;animation:pop calc(var(--k)*.5s) calc(var(--k)*1.6s) ease-out both;position:absolute;top:23.4%;left:24.08%}.lead,.ghost,.fx,.fy,.fr{position:absolute;inset:0}.lead{--lag:0s}.g1{--lag:40ms;--ga:.32}.g2{--lag:80ms;--ga:.18}.g3{--lag:.12s;--ga:.09}.ghost{opacity:0;animation:ghost calc(var(--k)*.9s) calc(var(--k)*(.1s + var(--lag))) linear both}.fx{animation:fx calc(var(--k)*.9s) calc(var(--k)*(.1s + var(--lag))) cubic-bezier(.25,.35,.2,1) both}.fy{animation:fy calc(var(--k)*.9s) calc(var(--k)*(.1s + var(--lag))) cubic-bezier(.15,.6,.25,1) both}.fr{animation:spin calc(var(--k)*1.1s) calc(var(--k)*(.1s + var(--lag))) cubic-bezier(.2,.6,.3,1) both}.star-svg{width:100%;height:100%;display:block;overflow:visible}.flare{animation:flare calc(var(--k)*.45s) calc(var(--k)*1s) cubic-bezier(.2,.9,.25,1.12) both;position:absolute;inset:0}.lead .star-svg{animation:tone calc(var(--k)*.8s) calc(var(--k)*2.2s) ease both}.ripple{width:calc(var(--h)*.16);height:calc(var(--h)*.16);margin:calc(var(--h)*-.08) 0 0 calc(var(--h)*-.08);opacity:0;animation:ripple calc(var(--k)*.8s) calc(var(--k)*1s) cubic-bezier(.2,.6,.3,1) both;border:1px solid #ffffffbf;border-radius:50%;position:absolute;top:50%;left:50%}.fade-bottom{background:linear-gradient(#05050500 0%,#050505 100%);height:20%;position:absolute;bottom:-1px;left:0;right:0}.scroll-hint{z-index:3;cursor:pointer;-webkit-tap-highlight-color:transparent;width:44px;height:48px;opacity:var(--hint,1);animation:hint-show 0s calc(var(--k)*3.2s) both;background:0 0;border:0;border-radius:8px;margin:0 0 0 -22px;padding:0;position:absolute;bottom:24px;left:50%}.scroll-hint:focus-visible{outline-offset:2px;outline:2px solid #fff}.hint-line{opacity:0;width:1px;height:40px;animation:fade-in .6s calc(var(--k)*3.2s) ease-out both;background:#ffffff47;position:absolute;top:4px;left:21.5px;overflow:hidden}.hint-dot{background:linear-gradient(#fff0,#fff);width:100%;height:14px;animation:2.4s ease-in-out infinite hint-flow;position:absolute;top:0;left:0}.subtitle{margin:calc(var(--h)*.1 + var(--h)*.0084) auto 0;width:calc(var(--h)*.7107);height:calc(var(--h)*.0511);fill:#f4f4f2;opacity:calc(1 - var(--p)*2.5);filter:drop-shadow(0 1px 12px #0009);display:block;position:absolute;top:100%;left:0;right:0;overflow:visible}.sub-letter{opacity:0;animation:sub calc(var(--k)*.6s) calc(var(--k)*2.6s) ease-out both}.dock{height:var(--dock-h);z-index:50;visibility:hidden;font-family:var(--sans);background:linear-gradient(rgba(255,255,255,calc(.08*var(--p))),rgba(255,255,255,calc(.08*var(--p)))),rgba(5,5,5,calc(.25*var(--p)));-webkit-backdrop-filter:blur(calc(24px*var(--p)));backdrop-filter:blur(calc(24px*var(--p)));box-shadow:inset 0 -1px 0 rgba(255,255,255,calc(.1*var(--p)));view-transition-name:site-dock;position:fixed;top:0;left:0;right:0}.dock.is-on{visibility:visible}.dock-nav{align-items:center;column-gap:var(--dock-gap);height:100%;padding:0 var(--dock-pad);grid-template-columns:1fr auto 1fr;display:grid}.dock-link{color:#fff;font-size:var(--dock-fs);letter-spacing:var(--dock-ls);white-space:nowrap;opacity:var(--p);text-shadow:0 1px 8px #00000073;align-items:center;padding:14px 2px;line-height:1.7;text-decoration:none;display:inline-flex;position:relative}.dock-link:after{content:"";background:currentColor;height:1px;transition:transform .25s;position:absolute;bottom:11px;left:0;right:0;transform:scaleX(0)}.dock-link:hover:after{transform:scaleX(1)}.dock-left{justify-self:end}.dock-right{justify-self:start}.dock-logo{width:calc(var(--logo-h)*2.2);height:var(--dock-h);border-radius:8px;display:block}.dock-link:focus-visible,.dock-logo:focus-visible{outline-offset:3px;outline:2px solid #fff}.dock-logo:focus-visible{outline-offset:-8px}.about{color:#f4f4f2;font-family:var(--sans);background:#050505;padding:96px clamp(24px,3vw,56px) 160px;position:relative;overflow:hidden}.about *,.about :before,.about :after{box-sizing:border-box}.about-inner{flex-direction:column;gap:96px;display:flex;position:relative}.about-title{text-align:center;font-family:var(--serif);letter-spacing:.12em;margin:0 0 -32px;font-size:clamp(34px,5vw,56px);font-weight:700}.about-title:lang(en){letter-spacing:.04em}.is-armed .reveal:not(.is-in){opacity:0;transform:translateY(24px)}.reveal.is-in{animation:.6s ease-out both reveal-in}.card{border:1px solid #ffffff1a;border-radius:20px;grid-template-columns:3fr 2fr;align-self:flex-start;width:min(100%,clamp(1120px,72vw,1480px));display:grid;overflow:hidden}.card.is-flip{grid-template-columns:2fr 3fr;align-self:flex-end}.card.is-flip .card-media{order:2}.card-media{aspect-ratio:16/10;position:relative;overflow:hidden}.card-img{object-fit:cover;width:100%;height:100%;transition:transform 1s;display:block;position:absolute;inset:0}@media (hover:hover) and (prefers-reduced-motion:no-preference){.card:hover .card-img{transform:scale(1.03)}}.ph{background:linear-gradient(calc(120deg + var(--ph,0)*40deg),#3a3a41 0%,#1d1d21 55%,#2d2d33 100%)}div.card-img.ph{color:#ffffff73;letter-spacing:.1em;justify-content:center;align-items:center;font-size:15px;display:flex}div.card-img.ph:lang(en){letter-spacing:.04em}.card-body{align-items:center;display:flex;position:relative;overflow:hidden}.card-fog{position:absolute;inset:0;overflow:hidden}.card-fog img,.card-fog>.ph{object-fit:cover;filter:blur(44px)brightness(.5)saturate(1.15);width:calc(100% + 120px);height:calc(100% + 120px);position:absolute;top:-60px;left:-60px}.card-fog:after{content:"";background:#05050540;position:absolute;inset:0}.card-text{text-align:left;padding:clamp(24px,4vw,48px);position:relative}.card-title{font-family:var(--serif);margin:0 0 14px;font-size:clamp(24px,2.6vw,32px);font-weight:700;line-height:1.3}.card-desc{color:#f4f4f2d1;margin:0;font-size:16px;line-height:1.85}@media (width<=760px){.about{padding:72px 16px 112px}.about-inner{gap:56px}.about-title{margin-bottom:-16px}.card,.card.is-flip{grid-template-columns:1fr}.card.is-flip .card-media{order:0}}.is-skip .anim{animation-duration:10ms!important;animation-iteration-count:1!important;animation-delay:-1s!important}.is-skip .kb{animation-delay:0s!important}@media (prefers-reduced-motion:reduce){.anim{animation-duration:10ms!important;animation-iteration-count:1!important;animation-delay:-1s!important}.kb,.star{animation:none!important}.hint-dot{animation:none;transform:translateY(13px)}}@media (width<=640px),(aspect-ratio<=3/4){.stage{--h:min(30vh,42vw)}.title-wrap{animation-name:title-up-m}.mark-rest .title-wrap{transform:translateY(-11vh)scale(.84)}}@keyframes hint-flow{0%{opacity:0;transform:translateY(-14px)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(40px)}}@keyframes reveal-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes hint-show{0%{visibility:hidden}to{visibility:visible}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes kb{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes title-up{0%{transform:translateY(0)scale(1)}to{transform:translateY(-14vh)scale(.62)}}@keyframes title-up-m{0%{transform:translateY(0)scale(1)}to{transform:translateY(-11vh)scale(.84)}}@keyframes shift{0%{transform:translate(25.73%)}to{transform:translate(0)}}@keyframes tone{0%{filter:drop-shadow(0 0 #0000)}to{filter:drop-shadow(0 calc(var(--h)*.012) calc(var(--h)*.05) #000000c7)}}@keyframes trace{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes bloom{0%{opacity:0;transform:scale(.15)}30%{opacity:.85}to{opacity:0;transform:scale(1.1)}}@keyframes fx{0%{transform:translate(-75vmax)}to{transform:translate(0)}}@keyframes fy{0%{transform:translateY(-38vmax)}to{transform:translateY(0)}}@keyframes spin{0%{transform:rotate(-740deg)scale(1.5)}70%{transform:rotate(8deg)scale(1.08)}82%{transform:rotate(-4deg)scale(.97)}92%{transform:rotate(1.5deg)scale(1.01)}to{transform:rotate(0)scale(1)}}@keyframes flare{0%{transform:scaleX(.4)}to{transform:scaleX(1)}}@keyframes ghost{0%{opacity:0}10%{opacity:var(--ga)}62%{opacity:var(--ga)}88%{opacity:0}to{opacity:0}}@keyframes ripple{0%{opacity:0;transform:scale(.2)}15%{opacity:.9}to{opacity:0;transform:scale(5)}}@keyframes sub{0%{opacity:0;transform:translateX(calc((var(--i) - 3.5)*480px))}to{opacity:.9;transform:translate(0)}}
