/* Mobile cards use native swipe and snap. Desktop layouts retain their grids. */
.slider-controls{display:none}
@media(max-width:639px){
  .hero{padding-block:1.4rem;gap:1rem}
  .hero h1{font-size:clamp(2.9rem,12.6vw,4.7rem);line-height:1.08}
  .hero-copy>p:first-of-type{font-size:1rem;margin-bottom:.35rem}
  .hero-copy .muted,.hero-copy .hero-bonus{font-size:.875rem}
  .hero-copy .button{margin-top:.8rem}
  .live-banner{padding:.5rem 1.25rem;gap:.15rem;font-size:.75rem;text-align:center}
  .live-banner strong{display:none}.live-banner a{display:none}
  .match-strip{gap:.5rem;padding-block:.8rem}.match-info{gap:.35rem .75rem}
  .has-entries .showcase{display:none}
  .gallery-section,.participate{padding-top:2rem}
  .section-head{gap:.75rem}.section-head h2,.prizes h2{font-size:2rem}
  .section-description{font-size:.875rem}.gallery-tools{margin-block:1rem}
  .filters{gap:1rem}.filter{font-size:.875rem}
  .format-note{font-size:.875rem;line-height:1.5;margin-bottom:1rem}
  .poster-grid,.prize-grid,.steps,.finalists-grid{
    display:flex;columns:auto;grid-template-columns:none;gap:.85rem;
    overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;
    padding:.3rem .15rem .85rem;margin-inline:-.15rem;
    overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#4c6395 #1a2130;
  }
  .poster-grid>.gallery-card,.prize-grid>.prize-card,.steps>article,.finalists-grid>article{
    flex:0 0 86%;min-width:0;scroll-snap-align:start;margin-bottom:0;
  }
  .single-slide>.gallery-card{flex-basis:100%}
  .gallery-card .poster-frame{height:20rem;aspect-ratio:auto!important;background:#1a2130}
  .gallery-card .poster-art{object-fit:contain}
  .gallery-card .poster-caption b{font-size:1.05rem}.gallery-card .card-meta{font-size:.75rem}
  .marquee{overflow-x:auto;scroll-snap-type:x mandatory;--poster-width:76vw;overscroll-behavior-x:contain}
  .marquee-track{animation:none!important;transform:none!important;will-change:auto;padding:.5rem 1.25rem .75rem}
  .marquee-group[aria-hidden=true]{display:none}.marquee-group .tape-card{padding-top:0;scroll-snap-align:start}
  .motion-toggle{display:none}.tape-card .poster-frame{height:20rem;aspect-ratio:auto!important}.tape-card .poster-art{object-fit:contain}
  .showcase>.slider-controls{margin-inline:1.25rem}
  .slider-controls{display:flex;justify-content:flex-end;align-items:center;gap:.35rem;margin-top:.35rem}
  .slider-hint{margin-right:auto;font-size:.8rem;color:var(--muted)}
  .slider-controls button{width:2.75rem;min-height:2.75rem;border:1px solid #515e7a;font-size:1.25rem}
  .slider-controls button:disabled{opacity:.3}.slider-position{min-width:3rem;text-align:center;font-size:.875rem;font-variant-numeric:tabular-nums}
  .daily-section{margin-top:2rem}.daily-art{display:none}.daily-copy{padding:1.25rem}
  .daily-copy h2{font-size:2rem;margin-top:.5rem}.daily-copy>p:not(.eyebrow){font-size:.875rem;line-height:1.55;margin-top:.75rem}
  .daily-note{margin-block:.8rem .4rem;padding-block:.75rem}.daily-note p{font-size:.875rem}.daily-note>span{font-size:1.4rem}
  .prizes{padding-block:2rem}.prizes-heading{gap:.65rem;margin-bottom:1rem}.prizes-heading h2{margin-top:.5rem}
  .prizes-heading>p,.prizes-footer p{font-size:.875rem;line-height:1.5}
  .prize-place{padding:1rem 1rem 0}.prize-place>span{font-size:2rem}.prize-place h3{font-size:1.3rem}
  .prize-visual{height:14rem;margin:.2rem .7rem 0}.prize-body{padding:.75rem 1rem 1rem}
  .prize-ticket{gap:.5rem;padding:.65rem}.prize-ticket strong{font-size:1.15rem;padding-right:.5rem}
  .prize-ticket>span{font-size:.95rem}.prize-ticket small{font-size:.6rem}
  .prize-body ul{font-size:.875rem;line-height:1.5;margin:.75rem 0}.prize-body li+li{margin-top:.35rem}
  .prize-store{font-size:.8rem}.prizes-footer{gap:.8rem;padding-top:1rem}.ticket-credit{margin-top:.75rem;font-size:.65rem}
  .steps{margin-top:1rem}.steps article{background:#1a2130;padding:1rem;border-top:2px solid #3158af}
  .steps h3{font-size:1.3rem;margin-top:.45rem}.steps p{font-size:.9rem;line-height:1.55;margin-top:.5rem;max-width:none}
  .participant-bonus{margin-top:1.25rem;padding:1rem;gap:.75rem}.bonus-number{font-size:2rem}
  .participant-bonus h3{font-size:1.2rem}.participant-bonus p,.participant-bonus small{font-size:.875rem;line-height:1.5}
  .required-line{margin-top:1rem;padding-block:.75rem}.required-label{font-size:.75rem}
  .finalists{padding-block:2rem}.finalists h2{font-size:2rem}.finalist-image img{height:20rem}.finalists-grid p{font-size:.875rem}
  .final-cta{margin-top:1.5rem;padding:1.4rem}.final-cta h2{font-size:2rem}
  .footer{padding-block:1.5rem;gap:1rem}.prototype-note{font-size:.75rem}.footer-links a,.footer-links button{font-size:.8rem}
  .text-dialog{padding:1.25rem}.upload-dialog>p.muted{font-size:.9rem;line-height:1.55}
  .form-fields label,.email-field,.checkbox-row,.form-footnote,.email-field small{font-size:.875rem}
  .verify-card{margin:2rem 1.25rem;padding:0}.verify-card h1{font-size:2.5rem}
}
/* Recovery and verification are full user forms, including on touch screens. */
.verify-card form{display:grid;gap:1rem;min-width:0}
.verify-card form label{display:grid;gap:.5rem;font-size:1rem;line-height:1.5}
.verify-card input[type=email]{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:3rem;padding:.75rem;border:1px solid #65708a;background:#1d283b;color:#f3f1ec;font:inherit;border-radius:0}
.verify-card input[type=email]:focus-visible{outline:2px solid #aac3ff;outline-offset:3px}
.verify-card form .button{min-height:3rem;justify-content:center;white-space:normal}
