/* Shared sticky navigation and layouts from narrow phones to desktop. */
html{scroll-padding-top:105px}
.site-header{position:sticky;top:0;z-index:100;background:var(--ink);box-shadow:0 2px 12px #00000018;padding-top:env(safe-area-inset-top,0px)}
.hero-band{background:var(--ink);color:#fff}
.nav{min-width:0}
.nav nav,.nav ul,.hero>*,.ticket>*,.col,.page-body,.row>*{min-width:0}
.nav nav a{display:flex;align-items:center;justify-content:center;min-height:44px}
.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.tips{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.ticket{grid-template-columns:116px minmax(0,1fr)}
.ticket h3,.terms,.sub,.disc,.page-body p,.page-body li,details p{overflow-wrap:anywhere}
.off{overflow-wrap:normal}
.btn{min-height:48px;display:flex;align-items:center;justify-content:center}
summary{min-height:44px;line-height:1.5;padding:7px 0}
footer a:not(.logo){display:inline-block;padding:7px 0;min-height:38px}
footer .row>div:first-child{max-width:100%!important;width:340px}
img{max-width:100%;height:auto}
@media(max-width:760px){
 html{scroll-padding-top:145px}
 .wrap{padding-left:20px;padding-right:20px}
 .site-header .nav{flex-direction:column;align-items:stretch;gap:4px;padding:10px 0 5px}
 .site-header .logo{align-self:flex-start;font-size:28px;min-height:40px}
 .site-header nav{width:100%}
 .site-header .nav ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;font-size:14px}
 .site-header .nav ul a{min-height:44px;padding:8px 2px;border-radius:5px}
 .site-header .nav ul a:hover,.site-header .nav ul a:focus-visible{background:#ffffff12}
 .hero{padding:30px 0 40px;gap:24px;grid-template-columns:minmax(0,1fr)}
 .hero h1{font-size:clamp(1.8rem,6.5vw,2.6rem);line-height:1.15}
 .hero p{font-size:16px}
 .badge{width:min(260px,100%);min-height:95px;padding:18px 24px}
 section{padding:38px 0}
 .grid{gap:18px}
 .ticket{grid-template-columns:96px minmax(0,1fr)}
 .body{padding:17px}
 .cols{gap:24px}
 .tips{gap:16px}
 footer{padding:32px 0 24px}
 footer .row{gap:24px}
 footer .row>div:not(:first-child){flex:1 1 180px}
 .page-body h1{overflow-wrap:anywhere}
}
@media(max-width:380px){
 .wrap{padding-left:16px;padding-right:16px}
 .site-header .nav ul{font-size:13px;gap:2px}
 .ticket{grid-template-columns:82px minmax(0,1fr)}
 .off{font-size:1.35rem;line-height:1.15}
 .off small{font-size:.7rem}
 .body{padding:14px}
 .ticket h3{font-size:1rem}
 .btn{padding:12px;font-size:.95rem}
 .tag{font-size:.7rem;padding:3px 8px}
 footer .row>div:not(:first-child){flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
