/* Festival Simulator – visual polish, original logo retained (only transparent backing). */
:root {color-scheme: dark;}
html {scroll-padding-top: 104px;}
body {min-width: 280px;}
img {height:auto;}
.hero-copy {min-width:0;}
.hero-logo {
  display:block; width:clamp(175px, 17.5vw, 226px); height:auto;
  object-fit:contain; object-position:left center;
  margin:0 0 16px -8px; mix-blend-mode:normal;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.36));
}
.hero-layout {min-width:0;}
.hero-visual img {aspect-ratio:16/9;object-fit:cover;}
.site-header nav a, .footer-main nav a {display:inline-flex;align-items:center;min-height:44px;}
.site-header nav a:focus-visible, .footer-main nav a:focus-visible,
.store-button:focus-visible, .header-cta:focus-visible,
.wordmark:focus-visible {outline:3px solid #dcfa2d;outline-offset:4px;border-radius:3px;}
.hero-visual figcaption {line-height:1.4;}
.hero-note,.footer-bottom,.site-footer .trademark {color:#aab6c6!important;}
.page h1,.page h2,.detail-card h3 {overflow-wrap:normal;hyphens:auto;}
.page a:focus-visible,.page .back:focus-visible {outline:3px solid #dfff52;outline-offset:4px;}
.faq summary {min-height:44px;align-items:center;}
.faq details summary:focus-visible {border-radius:4px;}
.faq details p {margin-bottom:6px;}
.gallery .image-frame img, .story figure img {display:block;}
.gallery figcaption {line-height:1.45;}
@media (max-width:1100px) {
  .hero-logo {width:clamp(167px,23vw,218px);margin:0 0 14px -6px;}
}
@media (min-width:701px) and (max-width:950px){
  .gallery {grid-template-columns:repeat(2,minmax(0,1fr));}
  .story,.story.reverse {grid-template-columns:1fr;gap:22px;}
  .story.reverse .story-copy,.story.reverse figure {order:initial;}
}
@media (max-width:760px) {
  html {scroll-padding-top:122px;}
  .header-inner {flex-wrap:wrap;column-gap:10px;row-gap:0;min-height:0;padding-top:8px;}
  .header-inner .wordmark {min-height:40px;display:inline-flex;align-items:center;}
  .header-inner .header-actions {margin-left:auto;}
  .site-header nav {
    display:flex;order:3;flex:0 0 100%;gap:6px;
    overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain;
    padding:1px 0 4px;margin:0;white-space:nowrap;
  }
  .site-header nav a {flex:0 0 auto;min-height:38px;padding:7px 11px;font-size:12px;color:#e2eaf2;}
  .site-header nav a:hover,.site-header nav a:focus-visible {background:#1b2633;border-radius:5px;}
  .hero-layout {padding-top:24px;gap:22px;}
  .hero-logo {width:clamp(156px,43vw,205px);height:auto;margin:0 0 10px -7px;}
  .hero h1 {margin-top:12px;}
  .hero-visual {width:100%;}
  .hero-visual figcaption {font-size:10px;}
  .footer-main nav a {min-height:42px;}
  .quick-fact strong {overflow-wrap:anywhere;}
}
@media (max-width:420px) {
  .site-header nav {gap:2px;}
  .site-header nav a {padding-inline:8px;font-size:11px;}
  .hero-logo {width:clamp(148px,47vw,177px);margin-left:-7px;}
  .hero h1 {font-size:clamp(35px,9.4vw,43px);}
  .hero-lead {font-size:15px;line-height:1.65;}
  .quick-facts-inner {grid-template-columns:repeat(2,minmax(0,1fr));}
  .detail-card {padding:20px;}
}
@media (max-width:340px) {
  .wordmark {font-size:9px;}
  .header-actions {gap:3px;}
  .language-option {min-width:32px;}
  .hero-logo {width:145px;}
  .hero h1 {font-size:34px;}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto!important;}
  *,*::before,*::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
@media (forced-colors: active) {
  .store-button, .header-cta, .language-option {border:1px solid ButtonText;}
  .site-header nav a {color:LinkText;}
}

.page ul {padding-left:1.5rem;color:#e0dcec;line-height:1.75;}
.page li {margin-bottom:8px;}
.skip-link {position:absolute;top:-90px;left:12px;z-index:200;padding:10px 14px;background:#dffa2d;color:#101010;font-weight:800;border-radius:4px;}
.skip-link:focus {top:12px;}
.page .legal-top {flex-wrap:wrap;}
