:root{--tq:#19e3d6;--vi:#8b5cf6;--mg:#ff2fb3;--grad:linear-gradient(100deg,var(--tq),var(--vi) 50%,var(--mg))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img{display:block;max-width:100%}a{color:inherit}
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.kin .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}.kin .w>span{display:inline-block;transform:translateY(110%);transition:transform 1s cubic-bezier(.2,.8,.1,1)}.kin.in .w>span{transform:none}
.cur{position:fixed;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:999;transition:width .25s,height .25s,left .25s,top .25s}
.cur.big{width:64px;height:64px;left:-32px;top:-32px}.cur::after{content:attr(data-l);position:absolute;inset:0;display:grid;place-items:center;font:600 10px/1 system-ui;color:#000;letter-spacing:.1em}
.prog{position:fixed;top:0;left:0;right:0;height:3px;background:var(--grad);transform-origin:0 50%;transform:scaleX(0);z-index:200}
.mag{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.bgv{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none}
.lb{border:0;padding:0;width:min(1100px,94vw);background:#0b0b10;color:#fff;border-radius:18px;overflow:hidden}.lb::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(8px)}
.lbf iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.lbm{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:16px 20px;font:14px system-ui}.lbm a{color:var(--tq)}
.lbx{position:absolute;right:10px;top:10px;z-index:2;background:#000a;color:#fff;border:0;border-radius:50%;width:36px;height:36px;cursor:pointer}
.lang button{background:none;border:0;color:inherit;opacity:.5;cursor:pointer;font:inherit;padding:4px 6px}.lang button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:4px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:999;background:#fff;color:#000;padding:8px}
:focus-visible{outline:2px solid var(--tq);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv,.kin .w>span{opacity:1;transform:none}html{scroll-behavior:auto}}
.tile.in,.pc.in{transform:perspective(1000px) rotateX(var(--rx,0)) rotateY(var(--ry,0))}
.tile .bgv{transform:translate(-50%,-50%) scale(1.35)}.tile>img{position:relative;z-index:2;transition:opacity .8s,transform 1s}.tile.playing>img{opacity:0}
/* hero reel layer */
.hbg{position:absolute;inset:0;overflow:hidden;background:#000}
.hbg .hposter{position:absolute;inset:0;background:center/cover no-repeat;transition:opacity 1.2s}
.hbg .hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.hbg .hv.on{opacity:1}
.hbg.playing .hposter{opacity:0}

/* overrides: no custom cursor, text always visible, clear hero video */
.cur{display:none!important}html,body{cursor:auto}.mag{transform:none!important}
.rv,.rv.in,.kin,.kin .w>span{opacity:1!important;transform:none!important;transition:none!important}
.grain{display:none!important}
.hero::after,.hero.c::after{background:linear-gradient(0deg,rgba(5,5,7,.45) 0,rgba(5,5,7,.12) 45%,transparent 70%),linear-gradient(180deg,rgba(5,5,7,.25) 0,transparent 18%)!important}
.hbg .hv,.hbg .hposter{filter:none!important}.glow{opacity:.5}
.hero.c h1,.hero.c p.lead,.hero.c .logo{text-shadow:0 2px 24px rgba(0,0,0,.55)}
