/* A visible light follows the actual pointer, above every section. */
.pointer-light{position:fixed;left:0;top:0;width:660px;height:660px;margin:-330px 0 0 -330px;z-index:65;pointer-events:none;border-radius:50%;opacity:0;mix-blend-mode:soft-light;transition:opacity .32s;will-change:transform;contain:strict}
.pointer-light.is-visible{opacity:1}
.pointer-light:before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#fff9d3df 0%,#fff4b68a 13%,#ffe28248 31%,transparent 67%)}
.pointer-light:after{content:'';position:absolute;inset:calc(50% - 24px);border:1px solid #fff4c5a6;border-radius:50%;box-shadow:0 0 24px #fff2af55,inset 0 0 15px #fff2af33}
.intro-replay{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;font-size:13px;font-weight:600;border-bottom:1px solid #59401a66;color:#302713;transition:border-color .25s}
.intro-replay:hover{border-color:#171b1e}.intro-replay svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.6}
html{scrollbar-gutter:stable}
.intro-pending:before{content:'';position:fixed;inset:0;z-index:9998;background:#101416;pointer-events:none}
.intro-active{overflow:hidden}
.intro-pending .hero-copy>*,.intro-active .hero-copy>*,.intro-pending .hero-art,.intro-active .hero-art{animation-play-state:paused!important}
.intro-active .pointer-light{opacity:0!important}
.brand-intro[hidden]{display:none!important}
.brand-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;color:#f0b90b;isolation:isolate}
.brand-intro:before,.brand-intro:after{content:'';position:absolute;top:0;bottom:0;width:50.1%;z-index:-2;background:#101416;transition:transform .75s cubic-bezier(.75,0,.2,1)}
.brand-intro:before{left:0;border-right:1px solid #f0b90b55}.brand-intro:after{right:0;border-left:1px solid #f0b90b55}
.intro-space{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 47%,#d8940028,transparent 52%),radial-gradient(ellipse at 50% 115%,#ad6d0030,transparent 50%),#101416;transition:opacity .5s}
.intro-space:before{content:'';position:absolute;inset:-50%;background:conic-gradient(from 5deg,transparent 0deg,#f0b90b00 40deg,#f0b90b20 41deg,transparent 43deg,transparent 200deg,#f0b90b18 201deg,transparent 203deg);animation:introRays 3.3s ease-out both}
.intro-horizon{position:absolute;left:0;right:0;top:51%;height:1px;background:linear-gradient(90deg,transparent,#f0b90b80,transparent);transform:scaleX(0);box-shadow:0 0 25px 4px #e8a10030;animation:introHorizon 1.6s .2s cubic-bezier(.18,.8,.2,1) both}
.intro-energy{position:absolute;width:min(74vw,800px);aspect-ratio:1;border:1px solid #f0b90b2b;border-radius:50%;box-shadow:0 0 0 35px #f0b90b04,0 0 0 95px #f0b90b03;animation:introEnergy 2.4s .15s cubic-bezier(.15,.8,.25,1) both}
.intro-energy:before,.intro-energy:after{content:'';position:absolute;inset:13%;border:1px solid #f0b90b50;border-radius:50%;transform:rotateX(66deg) rotate(-30deg)}
.intro-energy:after{inset:-16%;border-color:#f0b90b15;transform:rotateX(68deg) rotate(25deg)}
.intro-composition{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;width:min(90vw,800px);text-align:center;perspective:1000px;transition:opacity .4s,transform .65s cubic-bezier(.7,0,.2,1)}
.intro-emblem{width:clamp(150px,20vw,250px);height:auto;overflow:visible;filter:drop-shadow(0 0 27px #f0b90b30);animation:introEmblem 1.6s .1s cubic-bezier(.15,.8,.2,1) both}
.intro-piece{fill:#f0b90b;transform-box:fill-box;transform-origin:center;animation:introAssemble 1.15s var(--piece-delay,0s) cubic-bezier(.16,.85,.25,1) both}
.intro-word{font-family:Boss,Arial,sans-serif;font-size:clamp(74px,12vw,150px);font-weight:700;line-height:1;letter-spacing:.13em;padding-left:.13em;margin-top:23px;color:#f7d66e;text-shadow:0 0 55px #f0b90b19;animation:introWord 1.1s .8s cubic-bezier(.16,.8,.2,1) both}
.intro-line{font-size:clamp(14px,1.6vw,19px);letter-spacing:.14em;line-height:1.6;margin:24px 0 0;color:#ded8c3;animation:introWord .9s 1.1s both}
.intro-signature{position:absolute;bottom:43px;left:24px;right:24px;text-align:center;font-size:10px;font-weight:600;letter-spacing:.25em;color:#b49d60;animation:introWord .8s 1.1s both}
.intro-skip{position:absolute;right:32px;top:27px;min-height:44px;min-width:110px;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 16px;border:1px solid #e3bd5666;border-radius:30px;color:#f4d67a;background:#171b1c99;font-size:13px;z-index:3;backdrop-filter:blur(12px)}
.intro-skip:hover{background:#f0b90b;color:#15191b}.intro-skip:focus-visible{outline-color:#f0b90b;outline-offset:6px}.intro-skip>span:last-child{font-size:18px}
.intro-out:before{transform:translateX(-102%)}.intro-out:after{transform:translateX(102%)}
.intro-out .intro-space,.intro-out .intro-energy,.intro-out .intro-signature{opacity:0;transition:opacity .4s}
.intro-out .intro-energy{animation:none;transform:scale(1.12) rotate(12deg)}.intro-out .intro-signature{animation:none;transform:none}
.intro-out .intro-composition{opacity:0;transform:scale(1.12) translateY(-20px)}.intro-out .intro-skip{opacity:0;pointer-events:none;transition:opacity .15s}
@keyframes introAssemble{from{opacity:0;transform:translate3d(var(--piece-x,0px),var(--piece-y,0px),-140px) rotate(var(--piece-turn,0deg)) scale(.7)}55%{opacity:1}to{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}
@keyframes introEmblem{from{transform:rotateY(-30deg) rotateX(16deg) scale(.85)}to{transform:rotateY(0) rotateX(0) scale(1)}}
@keyframes introWord{from{opacity:0;transform:translateY(25px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes introEnergy{from{opacity:0;transform:scale(.35) rotate(-35deg)}35%{opacity:1}to{opacity:.8;transform:scale(1.12) rotate(12deg)}}
@keyframes introHorizon{to{transform:scaleX(1)}}
@keyframes introRays{from{opacity:0;transform:rotate(-45deg) scale(.7)}50%{opacity:1}to{opacity:.5;transform:rotate(25deg) scale(1.1)}}
@media(max-width:800px){.pointer-light{display:none}.intro-skip{right:18px;top:18px;min-width:105px}.intro-energy{width:110vw}.intro-word{margin-top:22px}.intro-line{max-width:90%;letter-spacing:.07em}.intro-signature{bottom:35px;font-size:9px;letter-spacing:.15em}.intro-replay{font-size:12px}}
@media(prefers-reduced-motion:reduce){.pointer-light{display:none}.brand-intro *{animation:none!important;transition:none!important}.brand-intro:before,.brand-intro:after{transition:none!important}}
.motion-off .pointer-light{display:none}
