/* Only the approved A hero is enhanced. All subsequent concept sections are unchanged. */
.a-hero{overflow:hidden}
.a-hero:before{display:none}
.hero-scene,.hero-scene video,.hero-scene .hero-poster,.hero-atmosphere{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-scene{z-index:-3;background:#090f20}
.hero-scene video,.hero-scene .hero-poster{object-fit:cover;object-position:50% 45%}
.hero-scene video{opacity:0}
.a-hero[data-video-ready=true] video{opacity:1}
.hero-atmosphere{z-index:-2}
.a-hero:after{z-index:-1;pointer-events:none}
.hero-title{position:relative;width:min(620px,65vw);margin-bottom:20px;flex-shrink:0;animation:title-breathe 8s ease-in-out infinite;transform-origin:center}
.hero-title .a-logo{width:100%;margin:0}
.hero-title:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff0cf00 43%,#fff3cfaa 49%,#fffef1cc 50%,#e9d29b00 56%,transparent 65%);background-size:350% 100%;-webkit-mask:url(assets/resonant-rift-3d.png) center/contain no-repeat;mask:url(assets/resonant-rift-3d.png) center/contain no-repeat;mix-blend-mode:screen;animation:title-sweep 3.2s ease-in-out infinite;pointer-events:none}
.hero-star{position:absolute;left:51%;top:52%;width:160px;height:160px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#fff 0%,#efffffde 4%,#9fe5ff80 14%,#7ecaff25 35%,transparent 66%);mix-blend-mode:screen;pointer-events:none;animation:star-light 3.2s ease-in-out infinite}
.hero-star:before,.hero-star:after{content:"";position:absolute;left:50%;top:50%;background:linear-gradient(90deg,transparent,#d8f6ff,#fff,#d8f6ff,transparent);transform:translate(-50%,-50%);box-shadow:0 0 16px #c1f4ff,0 0 35px #7ccaff}
.hero-star:before{width:150px;height:2px}.hero-star:after{height:106px;width:2px;background:linear-gradient(transparent,#d8f6ff,#fff,#d8f6ff,transparent)}
.a-hero[data-animating=false] .hero-title,.a-hero[data-animating=false] .hero-title:before,.a-hero[data-animating=false] .hero-star{animation-play-state:paused}
.a-hero[data-motion=false] .hero-title,.a-hero[data-motion=false] .hero-title:before,.a-hero[data-motion=false] .hero-star{animation:none}
.a-hero[data-motion=false] .hero-star{opacity:0}
@keyframes title-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes title-sweep{0%,22%{background-position:100% 0;opacity:0}28%{opacity:.7}48%{background-position:0 0;opacity:0}100%{background-position:0 0;opacity:0}}
@keyframes star-light{0%,8%,42%,100%{opacity:0;transform:translate(-50%,-50%) scale(.6)}22%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}31%{opacity:.48;transform:translate(-50%,-50%) scale(.95)}65%{opacity:.65;transform:translate(-50%,-50%) scale(.82)}78%{opacity:0;transform:translate(-50%,-50%) scale(.65)}}
@media(max-width:767px){.hero-title{width:min(490px,100%);margin-top:40px}.hero-scene video,.hero-scene .hero-poster{object-position:50% 50%}}
@media(prefers-reduced-motion:reduce){.hero-title,.hero-title:before,.hero-star{animation:none!important}.hero-star{opacity:0!important}}

/* Brighter, more frequent fragments requested by Owner; no layout movement. */
.hero-sparks{position:absolute;inset:-12% -7%;pointer-events:none;mix-blend-mode:screen}
.hero-sparks i{position:absolute;width:var(--spark-size);height:var(--spark-size);border-radius:50%;background:#f4fdff;box-shadow:0 0 9px 3px #b3eaffb0,0 0 22px 8px #79bdff40;opacity:0;animation:fragment-flash 3.2s ease-in-out var(--spark-delay) infinite}
.hero-sparks i:after{content:"";position:absolute;left:50%;top:50%;width:calc(var(--spark-size)*5);height:1px;transform:translate(-50%,-50%) rotate(-25deg);background:linear-gradient(90deg,transparent,#fff,transparent)}
@keyframes fragment-flash{0%,28%,100%{opacity:0;transform:scale(.5) translateY(3px)}12%{opacity:.95;transform:scale(1.4) translateY(0)}20%{opacity:.35;transform:scale(.9) translateY(-2px)}}
.a-hero[data-animating=false] .hero-sparks i{animation-play-state:paused}
.a-hero[data-motion=false] .hero-sparks{display:none}
@media(prefers-reduced-motion:reduce){.hero-sparks{display:none!important}}

/* Owner-selected option01: the existing game's blue/gold carved button and Cinzel. */
@font-face{font-family:Cinzel;src:url(assets/cinzel-black.ttf) format('truetype');font-style:normal;font-weight:900;font-display:swap}
.hero-title .a-logo{filter:brightness(1.12) saturate(1.08) drop-shadow(0 8px 20px #070c17)}
.a-hero>p{font:900 15px/1.65 Cinzel,Georgia,serif;color:#fff0bd;letter-spacing:.16em;text-shadow:0 2px 3px #050b18,0 0 9px #070c17}
.a-hero .eyebrow{color:#bd9856}
.a-lower h1 span{display:inline-block;color:#e1bd77;background:linear-gradient(180deg,#f5dfae 7%,#c49a52 46%,#f0d49a 54%,#bd8d42 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 1px #100d15) drop-shadow(0 0 9px #0009)}
.a-hero>.game-cta{position:relative;display:grid;place-items:center;width:370px;height:84px;flex-shrink:0;margin:20px auto 0;isolation:isolate;background:none;border:0;-webkit-tap-highlight-color:transparent}
.game-cta .cta-frame{position:absolute;left:0;top:50%;width:100%;max-width:none;height:auto;transform:translateY(-50%);z-index:-1;pointer-events:none;filter:drop-shadow(0 5px 10px #0009)}
.game-cta .cta-label{font:900 17px/1 Cinzel,Georgia,serif;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;position:relative;top:-1px;color:#eed79d;text-shadow:0 1px 0 #6d4a1c,0 2px 1px #05091b,0 -1px 0 #fff0be55}
.game-cta:hover .cta-frame{filter:brightness(1.16) drop-shadow(0 0 13px #deb36955)}
.game-cta:active{transform:translateY(1px)}
@media(max-width:1000px){.a-hero>.game-cta{width:310px;height:78px}.game-cta .cta-label{font-size:15px}}
@media(max-width:767px){.a-hero>p{font-size:12px;letter-spacing:.13em}.a-hero>.game-cta{width:min(360px,100%);height:70px;margin:20px auto 0}.game-cta .cta-label{font-size:16px}}
@media(max-width:380px){.game-cta .cta-label{font-size:15px}}

.hero-retry{position:absolute;bottom:18px;right:28px;z-index:2;border:1px solid #dfbf7b;background:#091225;color:#ffe8aa;font:700 13px Cinzel,serif;padding:12px 20px}.hero-retry[hidden]{display:none}

/* Native anchors land beneath the restored persistent navigation, not in hero's tail. */
html{scroll-padding-top:0}
.hero-nav{position:fixed;inset:0 0 auto;height:64px;z-index:5;display:grid;place-items:center;background:#080e1bf5;border-bottom:1px solid #b9995940}
.hero-nav nav{display:flex;align-items:center;justify-content:center;gap:clamp(24px,4vw,64px)}
.hero-nav a{display:grid;place-items:center;min-height:44px;font:700 12px/1.2 Cinzel,Georgia,serif;letter-spacing:.08em;color:#e9cc91}
.hero-nav a:hover{color:#fff0bd;text-shadow:0 0 12px #d9af64aa}
.theme-a .section{scroll-margin-top:64px}
#rhythm{scroll-margin-top:0;padding-top:84px;padding-bottom:24px;min-height:100svh}
#rhythm .a-section-title{max-width:none;text-align:center}
#rhythm .a-section-title h2{font-size:clamp(30px,3vw,42px)}
#rhythm .a-section-title p{margin:8px auto 0;max-width:none}
#rhythm .beat-shell{margin-top:22px}
#rhythm .fine{margin:16px auto 0;text-align:center;max-width:90ch}
@media(max-width:767px){.hero-nav a{font-size:10px;letter-spacing:.04em}#rhythm{padding-top:90px}#rhythm .beat-shell{margin-top:22px}}

/* Source artwork is stationary; the transparent canvas owns moving crystal/VFX layers. */
#rhythm .rhythm-stage{height:auto;aspect-ratio:1672/941;background:#0b1221}
.rhythm-poster{width:100%;height:100%;object-fit:contain}
#rhythm-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.rhythm-stage[data-ready=true] #rhythm-canvas{opacity:1}
#rhythm .beat-key{position:relative;min-height:112px;padding:10px;gap:7px;overflow:hidden;transition:background .2s,box-shadow .2s;touch-action:manipulation}
#rhythm .beat-key[data-beat=hold]{touch-action:none}
#rhythm .gesture-crystal{width:72px;height:48px;object-fit:contain;filter:drop-shadow(0 0 6px #ffffff22)}
#rhythm .beat-key:disabled{opacity:.5;cursor:wait}
#rhythm .beat-key.has-target{box-shadow:inset 0 -2px var(--note-color);background:#142138}
#rhythm .beat-key.is-engaged,#rhythm .beat-key.is-selected{box-shadow:inset 0 0 0 2px var(--note-color),inset 0 0 32px #d1c8ff16}
#rhythm .beat-key:after{content:"";position:absolute;left:0;bottom:0;height:5px;width:calc(var(--progress,0)*100%);background:var(--note-color);box-shadow:0 0 14px var(--note-color);pointer-events:none}
#rhythm .beat-key:first-child{--note-color:#6ce9ff}
#rhythm .beat-key:nth-child(2){--note-color:#ffe3a0}
#rhythm .beat-key:nth-child(3){--note-color:#ff5676}
#rhythm .beat-key:nth-child(4){--note-color:#ffe198}
#rhythm-caption{margin:10px auto 0;text-align:center;max-width:60ch;color:#f0d6a0;font-size:14px}
#rhythm .fine{margin-top:5px}

.rhythm-score{position:absolute;right:20px;top:18px;padding:8px 13px;background:#07101cbb;border:1px solid #e1c48c66;color:#ead4a6;font:700 11px Cinzel,Georgia,serif;letter-spacing:.08em;pointer-events:none}
.rhythm-score output{font-size:20px;margin-left:12px;color:#fff0c7}
.rhythm-stage.trace-ready{cursor:crosshair}
#rhythm .wrap{width:100%;max-width:1440px}
@media(max-width:767px){.rhythm-score{right:9px;top:9px;padding:5px 7px;font-size:8px}.rhythm-score output{font-size:14px;margin-left:7px}}

/* Fit the complete rhythm panel below the nav, without cropping the artwork. */
#rhythm{padding:76px 24px 12px;min-height:100svh}
#rhythm .wrap{max-width:none}
#rhythm .a-section-title h2{font-size:clamp(24px,2.5vw,36px);line-height:1.15}
#rhythm .a-section-title p{font-size:14px;line-height:1.4;margin-top:6px}
#rhythm .beat-shell{width:min(100%,calc((100svh - 312px)*1.7768));margin:12px auto 0}
#rhythm .beat-key{min-height:92px;padding:8px;gap:4px}
#rhythm .gesture-crystal{width:132px;height:28px;max-width:88%}
#rhythm .beat-key>span{font:900 19px/1.2 Cinzel,Georgia,serif;color:#ffedc3}
#rhythm .beat-key small{font-size:13px;line-height:1.3;font-weight:600}
#rhythm-caption{font-size:13px;line-height:1.35;margin:8px auto 0;max-width:90ch;min-height:2.7em}
#rhythm .fine{display:none}
@media(max-width:767px){
 #rhythm{padding:76px 14px 12px}
 #rhythm .a-section-title h2{font-size:24px}
 #rhythm .beat-shell{width:min(100%,calc((100svh - 390px)*1.7768));min-width:min(100%,280px)}
 #rhythm .beat-key{min-height:80px;padding:6px}
 #rhythm .gesture-crystal{width:116px;height:24px}
 #rhythm .beat-key>span{font-size:17px}
 #rhythm .beat-key small{font-size:12px}
}
@media(max-height:540px) and (min-width:768px){#rhythm .beat-shell{width:min(100%,700px)}}
/* Section-local soundtrack controls: blue enamel, gold engraving, explicit state. */
.music-controls{position:fixed;top:76px;right:22px;z-index:6;display:flex;gap:8px;align-items:center;padding:5px;background:#081326e8;border:1px solid #b695544f;border-radius:3px;box-shadow:0 3px 20px #03081180}
.music-controls[hidden],.music-controls button[hidden]{display:none}
.music-controls button{min-height:42px;display:flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #b89650;background:linear-gradient(150deg,#182b45,#091322);color:#f6dfa7;font:700 11px/1.3 Cinzel,Georgia,serif;cursor:pointer;box-shadow:inset 0 0 0 2px #091322,inset 0 0 12px #b6955420}
.music-controls button:hover,.music-controls button:focus-visible{color:#fff7d8;border-color:#ffe5a1;outline:2px solid #f1d08b;outline-offset:2px}
.music-controls button[aria-pressed="true"]{background:#493a20;color:#ffe9b3;border-color:#ffe5a1}
.music-controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.music-controls .mute-slash{opacity:0;transition:opacity .2s}
.music-mute[aria-pressed="true"] .mute-slash{opacity:1}
.music-controls .music-subdued{filter:grayscale(1);opacity:.6}
@media(min-width:1024px){.music-controls{top:10px}.hero-nav nav{padding-right:320px;padding-left:24px}}
@media(max-width:767px){.music-controls{top:68px;right:14px;gap:5px;padding:3px}.music-controls button{font-size:9px;padding:5px 7px;min-height:36px}.music-controls svg{width:18px;height:18px}#rhythm{padding-top:120px}#rhythm .beat-shell{width:min(100%,calc((100svh - 434px)*1.7768))}}

@media(min-width:768px) and (max-width:1023px){#rhythm{padding-top:132px}#rhythm .beat-shell{width:min(100%,calc((100svh - 368px)*1.7768))}}

/* Download finale: original game studio artwork, inactive store placeholders. */
#download{min-height:580px;padding:88px 24px 64px;text-align:center}
#download .center{width:100%;max-width:1000px;margin:auto}
.store-downloads{display:flex;justify-content:center;align-items:center;gap:24px;margin:38px auto 12px;flex-wrap:wrap}
.store-downloads button{padding:0;border:0;background:transparent;border-radius:14px;cursor:default;opacity:1;box-shadow:0 8px 28px #0004}
.store-downloads img{width:230px;height:70px;object-fit:contain}
#download .release-note{margin:10px auto 32px;font-size:13px;color:#d1bd95;letter-spacing:.05em}
.studio-signature>p{margin:0 auto 12px;color:#c9bdab;font:12px Georgia,serif}
.studio-lockup{display:flex;align-items:center;justify-content:center;gap:18px}
.studio-lockup .studio-icon{width:64px;height:64px;object-fit:contain;border-radius:13px}
.studio-lockup .studio-name{width:220px;height:auto}
.studio-lockup span{display:block;margin-top:12px;color:#fff;font:700 10px Arial,sans-serif;letter-spacing:.45em;text-align:center}
.product-footer{justify-content:center;flex-direction:column;gap:18px;padding:28px 24px;background:#080e1b;text-align:center}
.product-footer p{margin:0;max-width:none;font-size:12px;color:#a9afbd}.product-footer nav{justify-content:center;flex-wrap:wrap;gap:28px}.product-footer a{font-size:13px;color:#d8cba9;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){#download{padding:64px 20px 48px;min-height:0}#download h2{font-size:32px}.store-downloads{gap:14px}.store-downloads img{width:160px;height:50px}.studio-lockup{gap:14px}.studio-lockup .studio-name{width:190px}.studio-lockup .studio-icon{width:56px;height:56px}.product-footer{align-items:center}}

#download h2{margin-left:auto;margin-right:auto;max-width:none}

.nav-downloads{position:absolute;right:22px;top:11px;display:flex;gap:8px}
.hero-nav .nav-downloads a{width:40px;min-height:40px;border:1px solid #b99a6066;border-radius:50%;background:linear-gradient(145deg,#20334c,#0a1424);color:#ecd096;box-shadow:inset 0 1px 1px #f6d99b26,0 3px 12px #0004}
.nav-downloads svg{width:21px;height:23px;fill:currentColor}.hero-nav .nav-downloads a:hover{border-color:#ffe6ad;background:#293950;color:#fff0c8}
@media(min-width:1024px){.music-controls{right:126px}.hero-nav nav{padding-right:430px}}
@media(max-width:1023px){.hero-nav nav{width:100%;padding-right:112px;padding-left:14px;gap:clamp(10px,2vw,24px)}.nav-downloads{right:14px}}
@media(max-width:600px){.hero-nav nav{padding-left:10px;padding-right:90px;gap:12px}.hero-nav nav a{font-size:9px;letter-spacing:0}.nav-downloads{right:10px;top:15px;gap:6px}.hero-nav .nav-downloads a{width:32px;min-height:32px}.nav-downloads svg{width:17px;height:19px}}

/* Owner review V6: engraved icon controls and a clear four-chapter navigation. */
.hero-nav nav{padding:0 240px 0 24px;gap:clamp(22px,3vw,48px)}
.hero-nav nav a{position:relative;color:#fff0cb;font-size:14px;font-weight:900;letter-spacing:.045em;text-shadow:0 1px 3px #000}
.hero-nav nav a::after{content:'';position:absolute;bottom:2px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,#ffe3a1 20%,#ffe3a1 80%,transparent);transform:scaleX(0);transition:transform .2s}
.hero-nav nav a[aria-current=location]{color:#fff8df;text-shadow:0 0 15px #d4a34366}
.hero-nav nav a[aria-current=location]::after{transform:scaleX(1)}
.music-controls{top:10px;right:126px;padding:0;gap:8px;background:none;border:0;box-shadow:none}
.music-controls button{position:relative;width:42px;height:42px;min-height:42px;padding:9px;justify-content:center;border-radius:50%;border-color:#d6b77588;background:linear-gradient(145deg,#233a54,#0b1628);box-shadow:inset 0 0 0 3px #0c1729,inset 0 0 0 4px #ad895833,0 4px 12px #0004}
.music-controls button[aria-pressed=true]{background:linear-gradient(145deg,#35455a,#17263d);border-color:#ffe0a0;color:#fff0bf}
.music-controls svg{width:23px;height:23px;flex-shrink:0;stroke-width:1.6}
.music-controls .music-mute .mute-slash{opacity:1}
.music-controls .music-mute[aria-pressed=true] .mute-slash{opacity:0}
.music-controls .once-mark{position:absolute;right:3px;bottom:1px;width:14px;height:14px;background:#101d30;border:1px solid #c9a66d;border-radius:50%;font:700 10px/12px Georgia,serif;color:#fff0bc}
.music-controls .music-loop[aria-pressed=true] .once-mark{display:none}
.stage-eyebrow{color:#f7d99a!important;letter-spacing:.25em;font:700 13px Cinzel,serif;margin:0 auto 20px!important}
@media(max-width:1023px){
 .hero-nav{height:108px;align-items:end}.hero-nav nav{height:48px;width:100%;padding:0 12px;gap:clamp(15px,4vw,36px)}
 .hero-nav nav a{font-size:12px;min-height:44px;letter-spacing:.02em}.hero-nav nav a::after{bottom:3px}
 .nav-downloads{top:10px;right:14px}.hero-nav .nav-downloads a{width:40px;min-height:40px}.nav-downloads svg{width:21px;height:23px}
 .music-controls{top:9px;right:116px;gap:8px}.music-controls button{width:42px;height:42px;min-height:42px;padding:9px}.music-controls svg{width:23px;height:23px}
 #rhythm{padding-top:124px}.theme-a #download{scroll-margin-top:108px}
}
@media(max-width:400px){.hero-nav nav{gap:8px;padding:0 8px}.hero-nav nav a{font-size:12px;letter-spacing:0}}

/* Owner V7: centered navigation; scene-owned audio; luminous store marks. */
.hero-nav nav{padding:0;gap:clamp(24px,3vw,48px);margin-inline:auto;justify-content:center}
.hero-nav nav a{font-size:16px;font-weight:700;letter-spacing:.035em;color:#d8e5f2;text-shadow:none}
.hero-nav nav a[aria-current=location]{color:#f0d296;text-shadow:none}
#top,.rhythm-stage{position:relative}
#top .music-controls,.rhythm-stage .music-controls{position:absolute;top:84px;right:24px;z-index:12}
.rhythm-stage .music-controls{top:70px;right:18px}
.music-controls .once-mark{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:12px;height:14px;border:0;border-radius:0;background:transparent;font:700 12px/14px Georgia,serif}
#rhythm-caption{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hero-nav .nav-downloads{top:8px}
.hero-nav .nav-downloads a{width:48px;min-height:48px;background:linear-gradient(145deg,#35465e,#101c30 70%);box-shadow:inset 0 1px 2px #ffe6a566,0 0 14px #e6bb5733;animation:store-breathe 5s ease-in-out infinite}
.hero-nav .nav-downloads a:nth-child(2){animation-delay:-2.5s}
.nav-downloads svg{width:27px;height:28px;filter:drop-shadow(0 0 4px #f2cd7777)}
.nav-downloads svg path{fill:url(#store-gold)}
@keyframes store-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.065)}}
@media(max-width:1023px){.hero-nav nav{padding:0 8px;gap:18px}.hero-nav nav a{font-size:13px;letter-spacing:0}#top .music-controls{top:126px;right:16px}.hero-nav .nav-downloads a{width:44px;min-height:44px}}
@media(max-width:400px){.hero-nav nav{gap:10px}.hero-nav nav a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-nav .nav-downloads a{animation:none}}
