html{overflow-x:hidden}img,svg,video{max-width:100%;height:auto}.hero-grid>*,.scene-stage>*,.pujo-route>*,.magnets>*{min-width:0}
@media(max-width:720px){header{flex-wrap:wrap;gap:12px}.brand{min-width:0}.lang-toggle{margin-left:auto}.door-link,.scene-tab,.main-cta,.artist-note a{min-height:44px}.hero,.hero-grid{min-height:0}.festival-wheel{width:min(86vw,430px)}.deck{font-size:16px}}
@media(max-width:430px){header{padding:11px 16px}.brand{font-size:12px;letter-spacing:1px}.brand-mark{width:32px;height:32px}.hero-grid,.scene-picker,.pujo-route,.magnets,.hello{padding-right:18px;padding-left:18px}.hero h1{font-size:clamp(48px,16vw,60px);line-height:.9;letter-spacing:-2px;overflow-wrap:anywhere}.deck{margin-top:22px;font-size:15px}.main-cta{width:100%;gap:18px}.festival-wheel{width:82vw}.badge{font-size:8px}.scene-card{min-height:0;padding:34px 20px}.scene-card h3{font-size:clamp(38px,12vw,48px)}.route-line a{grid-template-columns:34px minmax(0,1fr);gap:9px}.route-line b{font-size:21px}.picker-heading h2,.route-copy h2,.magnet-main h2,.hello h2{font-size:clamp(37px,12vw,44px);overflow-wrap:anywhere}.artist-note{margin-right:18px;margin-left:18px;padding:22px 18px}footer{padding-right:18px;padding-left:18px}}
