/* Supplied PDF wordmarks: source lettering takes priority over generic text. */
.hero--poster .hero-intro{font-family:var(--display);font-weight:900;font-size:24px;line-height:1.5;margin-bottom:14px;color:var(--yellow);text-align:center}
.pdf-event-art{max-width:610px;margin-inline:auto}
.pdf-event-logo{width:94%;height:auto;margin:0 auto 8px}
.pdf-rally-band{background:#fff000;border:3px solid var(--dark);padding:8px 18px;box-shadow:5px 5px 0 var(--dark);transform:rotate(-1deg)}
.pdf-rally-band img{width:100%;height:auto}
.hero--poster .formal-name{text-align:center;margin-top:12px}
.pdf-guide-art{width:min(760px,100%);height:auto;margin:0 auto 32px;border:2px solid var(--green)}
.pdf-shops-art{width:min(360px,70%);height:auto;margin:0 auto 28px}
.pdf-shop-name{width:100%;height:auto;max-width:480px;margin-bottom:10px}
.access-list>li{grid-template-columns:minmax(0,1fr)}
.access-list>li>span{display:none}
.access-list>li>.access-links{grid-column:1}
.access-list>li>div{min-width:0}
.access-list .pdf-shop-name{margin-bottom:12px}
.player-name,.pending-short{font-family:var(--display);font-weight:900}
#shop-title{margin-bottom:16px}
#shop-title .pdf-shop-name{max-width:100%;margin-bottom:0}
.hero--poster .hero-eating{position:absolute;width:100%;height:auto;top:22%;left:0;border:0;box-shadow:none;z-index:2}
.hero--poster .hero-slogan{top:4%;left:0;font-size:25px;z-index:3}
.hero--poster .hero-visual>p{bottom:8%;left:8%;z-index:3}
.pdf-prize-title{width:min(330px,85%);height:auto;margin:16px auto 0}
#prize .section-heading{margin-bottom:24px}
/* Quiet entrance: a small upward fade, no bounce, zoom or rotating decoration. */
@media(prefers-reduced-motion:no-preference){
 .motion-enabled .pdf-event-logo.reveal-in{animation:hero-soft-arrive 900ms ease-out both}
 .motion-enabled .pdf-rally-band.reveal-in{animation:hero-band-fade 800ms ease-out 120ms both}
 .motion-enabled .hero--poster .hero-eating.reveal-in{animation:hero-soft-arrive 900ms ease-out 240ms both}
 .motion-enabled .hero--poster .hero-slogan>span.reveal-in{animation:hero-simple-fade 800ms ease-out 240ms both}
 .motion-suspended .hero--poster .reveal-in{animation-play-state:paused!important}
}
@keyframes hero-soft-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes hero-band-fade{from{opacity:0;transform:translateY(8px) rotate(-1deg)}to{opacity:1;transform:rotate(-1deg)}}
@keyframes hero-simple-fade{from{opacity:0}to{opacity:1}}
@media(max-width:900px){
 .hero--poster .hero-intro{font-size:20px;margin-bottom:10px}
 .pdf-event-logo{width:90%;max-width:390px;margin-bottom:8px}
 .pdf-rally-band{padding:6px 10px;border-width:2px;box-shadow:3px 4px 0 var(--dark)}
 .hero--poster .hero-visual{height:auto;min-height:0;padding:12px 0 18px}
 .hero--poster .hero-eating{position:relative;width:82%;margin-left:auto;top:auto;left:auto}
 .hero--poster .hero-slogan{top:28px;left:0;font-size:clamp(14px,3.6vw,20px)}
 .hero--poster .hero-team-stamp{display:none}
 .hero--poster .hero-visual>p{bottom:0;left:0;font-size:11px}
 .pdf-prize-title{width:min(280px,85%)}
 .pdf-guide-art{margin-bottom:26px}
 .pdf-shops-art{margin-bottom:22px}
 .access-list .pdf-shop-name{width:100%;max-width:480px}
}
@media(max-width:359px){.hero--poster .hero-intro{font-size:18px}}

/* Two small background motifs; only transforms move, never text or layout. */
.hero-drift{position:absolute;width:42px;height:42px;pointer-events:none;color:var(--yellow);opacity:.42;z-index:0}
.hero-drift--star{left:1%;top:39%}
.hero-drift--ball{right:0;top:73%;width:54px;height:54px;color:var(--cream);opacity:.28}
@media(prefers-reduced-motion:no-preference){
 .motion-enabled .hero--poster .art-rays{animation:hero-rays-turn 100s linear infinite;animation-play-state:paused;transform-origin:center;transform-box:view-box}
 .motion-enabled .hero-drift{animation:hero-background-drift 9s ease-in-out infinite alternate;animation-play-state:paused}
 .motion-enabled .hero-drift--ball{animation-duration:11s;animation-delay:-4s}
 .motion-enabled .hero--poster .art-rays.is-onstage,.motion-enabled .hero-drift.is-onstage{animation-play-state:running}
 .motion-suspended .hero--poster .art-rays,.motion-suspended .hero-drift{animation-play-state:paused!important}
}
@keyframes hero-rays-turn{to{transform:rotate(360deg)}}
/* Keep the formal CMS title available to assistive technology, without visual duplication. */
#hero-title.formal-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes hero-background-drift{from{transform:translateY(5px) rotate(-4deg)}to{transform:translateY(-7px) rotate(4deg)}}
@media(max-width:900px){
 .hero-drift--star{width:24px;height:24px;left:3%;top:50%}
 .hero-drift--ball{width:30px;height:30px;right:-2%;top:62%}
 .motion-enabled .hero--poster .art-rays{animation-duration:120s}
}
