/* RFF Royal Signature cinematic stage — progressive enhancement */
.hero{perspective:900px}
.stadium-architecture{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.stadium-ring{position:absolute;left:50%;bottom:-28vw;width:130vw;height:65vw;border-radius:50%;transform:translateX(-50%) rotateX(67deg);border:clamp(12px,3vw,45px) solid #e8a73f22;box-shadow:0 0 0 8px #29c1f610,0 0 95px #29c1f62b,inset 0 0 85px #e6121644;animation:stadium-arrive 2.2s cubic-bezier(.2,.8,.2,1) both}
.stadium-pitch{position:absolute;left:50%;bottom:-22%;width:110vw;height:48%;transform:translateX(-50%) rotateX(66deg);border:2px solid #d2f4ff38;background:repeating-linear-gradient(90deg,#184c3830 0 12%,#0c392a45 12% 24%);box-shadow:0 0 80px #0e7b7644}
.stadium-pitch:before{content:"";position:absolute;inset:15% 10%;border:2px solid #e5fff33d;border-radius:3px}
.stadium-pitch:after{content:"";position:absolute;width:18%;aspect-ratio:1;border:2px solid #e5fff33d;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}
.stadium-rays{position:absolute;inset:0;background:conic-gradient(from 180deg at 50% 12%,transparent 0deg,#e8a73f1a 18deg,transparent 32deg,#29c1f61c 55deg,transparent 75deg,#e612161a 100deg,transparent 130deg);mix-blend-mode:screen;animation:ray-shift 12s ease-in-out infinite alternate}
.stadium-particles{position:absolute;inset:0;background-image:radial-gradient(circle,#ffdb8c 1px,transparent 2px),radial-gradient(circle,#29c1f6 1px,transparent 2px);background-size:103px 113px,151px 127px;background-position:11px 17px,45px 73px;opacity:.35;mask-image:linear-gradient(90deg,transparent,#000 20% 80%,transparent);animation:particle-drift 16s linear infinite}
.crest-frame{position:relative;isolation:isolate}
.crest-frame:before,.crest-frame:after{content:"";position:absolute;inset:-13%;border:1px solid #e8a73f88;border-radius:50%;box-shadow:0 0 25px #e8a73f55;animation:halo-rotate 12s linear infinite;pointer-events:none}
.crest-frame:after{inset:-22%;border:1px dashed #29c1f666;animation-direction:reverse;animation-duration:18s}
.hero h1{animation:headline-enter 1.1s .35s both}
.hero .eyebrow,.hero p,.hero .actions{animation:headline-enter 1s .65s both}
.hero .gold{position:relative;overflow:hidden}
.hero .gold:after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 38%,#fff8 48%,transparent 58%);transform:translateX(-130%) rotate(12deg);animation:gold-sweep 5s 2s ease-in-out infinite;pointer-events:none}
@keyframes stadium-arrive{from{opacity:0;transform:translateX(-50%) rotateX(67deg) scale(.55)}to{opacity:1;transform:translateX(-50%) rotateX(67deg) scale(1)}}
@keyframes ray-shift{from{transform:rotate(-7deg);opacity:.3}to{transform:rotate(7deg);opacity:.75}}
@keyframes particle-drift{to{background-position:114px -96px,-106px -54px}}
@keyframes halo-rotate{to{transform:rotate(360deg)}}
@keyframes headline-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes gold-sweep{0%,65%,100%{transform:translateX(-130%) rotate(12deg)}80%{transform:translateX(130%) rotate(12deg)}}
@media(max-width:650px){.stadium-ring{width:185vw;height:105vw;bottom:-40vw}.stadium-pitch{width:170vw;bottom:-12%}.stadium-rays{opacity:.55}.crest-frame:after{inset:-14%}}
@media(prefers-reduced-motion:reduce){.stadium-ring,.stadium-rays,.stadium-particles,.crest-frame:before,.crest-frame:after,.hero h1,.hero .eyebrow,.hero p,.hero .actions,.hero .gold:after{animation:none!important}}