body{margin:0}
a{color:#111111}a:hover{color:#5E5E5A}
@keyframes rise{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes slidex{from{opacity:0.15;transform:translateX(-10%)}to{opacity:1;transform:none}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rise{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.d2{animation-delay:.25s}.d3{animation-delay:.45s}
.marquee{display:flex;width:max-content;animation:marquee 60s linear infinite}
.marquee:hover{animation-play-state:paused}
.row{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.row:hover{transform:translateX(16px)}
.btn{transition:background-color .35s,color .35s}
.btn:hover{background-color:#F7F7F5;color:#111111 !important}
@supports (animation-timeline: view()){
.slide{animation:slidex linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
}
@media (prefers-reduced-motion: reduce){.rise,.slide,.reveal,.marquee{animation:none !important}.row,.btn{transition:none}}
.logo{display:inline-flex;align-items:center}
.lw{display:inline-block;overflow:hidden;height:1.1em;line-height:1.1}
.l{display:inline-block;text-shadow:0 1.1em currentColor;animation:logoUp .9s cubic-bezier(.2,.7,.2,1) backwards;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.lw+.lw .l{animation-delay:.14s;transition-delay:.07s}
.logo:hover .l,.logo:focus-visible .l{transform:translateY(-1.1em)}
@keyframes logoUp{from{transform:translateY(110%)}}
@media (prefers-reduced-motion: reduce){.l{animation:none;transition:none}}
.intro{position:fixed;inset:0;z-index:100;background:#0B0B0B;overflow:hidden;pointer-events:none;font-family:'Inter Tight',sans-serif;animation:introOut .6s cubic-bezier(.76,0,.24,1) 3.05s forwards}
@keyframes introOut{to{transform:translateY(-100%);visibility:hidden}}
.sc{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0}
.sc-b{background:#F2F0EA;color:#111111;animation:showB 3.6s linear both}
.sc-c{background:#0B0B0B;color:#F2F0EA;animation:showC 3.6s linear both}
.sc-d{background:#F2F0EA;color:#111111;flex-direction:column;gap:22px;animation:showD 3.6s linear both}
@keyframes showB{0%,25.9%{opacity:0}26%,44.9%{opacity:1}45%,100%{opacity:0}}
@keyframes showC{0%,44.9%{opacity:0}45%,61.9%{opacity:1}62%,100%{opacity:0}}
@keyframes showD{0%,61.9%{opacity:0}62%,100%{opacity:1}}
.dot{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#F2F0EA;transform:scale(0);animation:dot 3.6s cubic-bezier(.7,0,.3,1) both}
@keyframes dot{0%{transform:scale(0)}6%{transform:scale(1)}13%{transform:scale(1)}26%{transform:scale(260)}26.1%,100%{transform:scale(0)}}
.big{margin:0;font-weight:600;font-size:clamp(44px,10.5vw,176px);letter-spacing:-.04em;line-height:1;white-space:nowrap}
.t-ind{animation:tInd 3.6s linear both}
@keyframes tInd{0%,26%{transform:translateX(-70vw) scaleX(2.4)}32%{transform:translateX(3vw) scaleX(.86)}35%{transform:translateX(-.6vw) scaleX(1.03)}38%,100%{transform:none}}
.t-next{animation:tNext 3.6s linear both}
@keyframes tNext{0%,45%{transform:translateX(80vw) skewX(-18deg);filter:blur(10px)}51%{transform:translateX(-1.5vw) skewX(4deg);filter:blur(0)}54%,100%{transform:none;filter:blur(0)}}
.speed{position:absolute;left:100%;width:34vw;height:1px;background:#F2F0EA;opacity:0;animation:speed 3.6s linear both}
@keyframes speed{0%,45%{transform:translateX(0);opacity:0}46%{opacity:.9}53%{transform:translateX(-190vw);opacity:.9}53.1%,100%{opacity:0}}
.drop{display:flex}
.dl{display:inline-block;animation:dropI 3.6s linear both}
.dl+.dl{animation-name:dropN}
@keyframes dropI{0%,62%{transform:translateY(-70vh) rotate(-14deg)}68%{transform:translateY(4%) rotate(2deg)}71%,100%{transform:none}}
@keyframes dropN{0%,64%{transform:translateY(-70vh) rotate(12deg)}70%{transform:translateY(4%) rotate(-2deg)}73%,100%{transform:none}}
.d-in{font-size:clamp(96px,20vw,320px);letter-spacing:-.03em}
.bar{width:min(46vw,520px);height:4px;background:#111111;transform:scaleX(0);transform-origin:left;animation:bar 3.6s cubic-bezier(.7,0,.2,1) both}
@keyframes bar{0%,70%{transform:scaleX(0)}78%,100%{transform:scaleX(1)}}
.cap{margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:13px;letter-spacing:.2em;opacity:0;animation:cap 3.6s ease both}
@keyframes cap{0%,74%{opacity:0;transform:translateY(6px)}80%,100%{opacity:1;transform:none}}
.vf{position:absolute;inset:18px;mix-blend-mode:difference;color:#FFFFFF;font-size:11px;font-weight:600;letter-spacing:.06em;opacity:0;animation:vf 3.6s linear both}
@keyframes vf{0%,3%{opacity:0}6%,100%{opacity:1}}
.vf i{position:absolute;width:14px;height:14px;border-color:#FFFFFF;border-style:solid;border-width:0}
.vf i:nth-child(1){left:0;top:0;border-left-width:1px;border-top-width:1px}
.vf i:nth-child(2){right:0;top:0;border-right-width:1px;border-top-width:1px}
.vf i:nth-child(3){left:0;bottom:0;border-left-width:1px;border-bottom-width:1px}
.vf i:nth-child(4){right:0;bottom:0;border-right-width:1px;border-bottom-width:1px}
.vf b{position:absolute;font-weight:600}
.vf .tl{left:24px;top:3px}.vf .tr{right:24px;top:3px}.vf .bl,.vf .bl2,.vf .bl3{left:24px;bottom:3px;opacity:0}.vf .br{right:24px;bottom:3px}
.vf .bl{animation:showB 3.6s linear both}.vf .bl2{animation:showC 3.6s linear both}.vf .bl3{animation:showD 3.6s linear both}
.has-intro .rise{animation-delay:3.55s}.has-intro .rise.d2{animation-delay:3.75s}.has-intro .rise.d3{animation-delay:3.95s}
.has-intro .l{animation-delay:3.45s}.has-intro .lw+.lw .l{animation-delay:3.6s}
html.seen .intro{display:none}
html.seen .has-intro .rise{animation-delay:0s}html.seen .has-intro .rise.d2{animation-delay:.25s}html.seen .has-intro .rise.d3{animation-delay:.45s}
html.seen .has-intro .l{animation-delay:0s}html.seen .has-intro .lw+.lw .l{animation-delay:.14s}
@media (prefers-reduced-motion: reduce){.intro{display:none}}
.site-header{-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.hero-t{--base:.1s}
.has-intro .hero-t{--base:3.45s}
html.seen .has-intro .hero-t{--base:.1s}
.ln{display:inline-block;overflow:hidden;padding:0 .04em .16em 0;margin-bottom:-.16em;vertical-align:top}
.ch{display:inline-block;animation:chUp .9s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--base) + var(--i) * 45ms);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ch:hover{transform:translateY(-12%)}
@keyframes chUp{from{transform:translateY(108%) rotate(8deg)}}
.x{display:inline-block;color:#8A8A85;animation:xIn .8s cubic-bezier(.2,.8,.2,1) backwards,xSpin 10s linear infinite;animation-delay:calc(var(--base) + .55s),calc(var(--base) + 1.35s)}
@keyframes xIn{from{transform:scale(0) rotate(-180deg)}}
@keyframes xSpin{to{transform:rotate(360deg)}}
.reveal-x{animation:clipX 1.1s cubic-bezier(.7,0,.2,1) backwards;animation-delay:calc(var(--base) + .9s)}
@keyframes clipX{from{clip-path:inset(0 100% 0 0)}}
.fadeup{animation:rise 1s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--base) + 1.4s)}
@supports (animation-timeline: scroll()){.hero-big{animation:heroPar linear both;animation-timeline:scroll(root);animation-range:0 700px}}
@keyframes heroPar{to{transform:translateY(-70px);opacity:.3}}
@media (prefers-reduced-motion: reduce){.ch,.x,.reveal-x,.fadeup,.hero-big{animation:none !important}}
.btn-dark{transition:background-color .35s,color .35s}
.btn-dark:hover{background-color:#F7F7F5 !important;color:#111111 !important}
