/* Vector controls stay monochrome on platforms with emoji arrow fonts. */
.ui-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.button .ui-icon{width:19px;height:19px}.icon-button .ui-icon{width:18px;height:18px;stroke-width:1.75}
.dialog-close{display:grid;place-items:center}.dialog-close .ui-icon{width:22px;height:22px}
.season-strip b{display:inline-flex;vertical-align:middle}.nav-cta>span{display:flex;align-items:center}

/* Reading sizes and touch targets for phones; editorial headings keep their scale. */
@media(max-width:700px){
 body{font-size:16px;line-height:1.65}
 .nav-shell{gap:12px}.nav-cta{font-size:13px;gap:8px;min-height:44px;align-items:center}
 .menu-toggle{width:44px;height:44px;align-items:center;flex-shrink:0}
 .eyebrow,.hero-copy .eyebrow,.hero-meta,.hero-whisper>span,.hero-finale>span{font-size:12px;letter-spacing:.1em}
 .hero-meta{top:95px}.hero-copy{top:23%}.hero-copy .eyebrow{max-width:300px;line-height:1.5;margin-bottom:14px}
 .hero-intro{font-size:16px;line-height:1.65;margin-top:20px}
 .hero-copy .button,.closing .button,.button,.button.outline{font-size:14px;min-height:50px}
 .hero-copy .button{margin-top:20px}.hero-finale small{font-size:16px;max-width:290px}
 .scroll-cue{font-size:11px;letter-spacing:.08em}.motion-toggle{font-size:13px;min-height:44px;padding:9px 12px}
 .hero-bottom{gap:14px}.hero-bottom .scroll-line{height:34px}
 .season-strip{font-size:11px;line-height:1.7;letter-spacing:.08em;flex-wrap:wrap;gap:10px;padding:20px}
 .season-strip>span:last-child{margin-left:auto}.season-strip .ui-icon{width:18px;height:18px}
 .small-note{font-size:14px;max-width:175px;line-height:1.6}
 .story-top{gap:20px;flex-wrap:wrap}.story-text>p:not(.story-punch){font-size:17px;line-height:1.85}
 .story-photo figcaption{font-size:11px;line-height:1.6;gap:12px}
 .manifesto-inner>p:not(.eyebrow){font-size:16px;line-height:1.8;margin-left:12%;max-width:300px}
 .manifesto-foot{font-size:11px;line-height:1.7;letter-spacing:.08em}
 .section-head>p,.calendar-intro p,.squad-heading>p{font-size:16px;line-height:1.8;max-width:none}
 .next-inner{padding:24px 16px}.next-top{font-size:11px;line-height:1.6;letter-spacing:.04em;flex-direction:column;gap:6px}
 .next-top>span:last-child{padding-left:16px;color:#c2d3b8}
 .next-main{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);gap:10px;padding:30px 0}
 .team-block{min-width:0}.team-block h3{font-size:18px;line-height:1.2;overflow-wrap:break-word}
 .team-block p{font-size:12px;line-height:1.5}.crest-large{width:58px;height:68px}
 .kickoff strong{font-size:42px}.kickoff>span{font-size:12px;letter-spacing:0}.kickoff small{font-size:12px;line-height:1.5;display:block}
 .venue-line{font-size:14px;line-height:1.65;max-width:100%}.venue-line svg{width:20px;height:20px}
 .next-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
 .next-actions .button{font-size:14px;min-height:52px;padding:8px 8px 8px 16px;gap:10px}
 .next-actions .button span{width:32px;height:32px;flex-shrink:0}
 .countdown-strip{padding:18px 14px 14px;flex-wrap:wrap;gap:10px;font-size:11px;line-height:1.6}
 .countdown{gap:14px;margin-left:auto}.countdown strong{font-size:23px}.countdown small{font-size:12px}
 .data-note{font-size:13px;line-height:1.8;gap:7px;margin-top:20px}
 .text-button,.calendar-intro .text-button{font-size:14px;line-height:1.6;min-height:44px;gap:10px}
 .segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .segmented button{font-size:14px;min-height:46px;padding:10px 12px}
 .segmented button span{display:inline;font-size:12px}.month-label{font-size:14px;gap:12px}
 .month-label select{font-size:16px;min-height:48px;max-width:none;padding:11px 32px 11px 12px}
 .calendar-caption{font-size:11px;letter-spacing:.04em;line-height:1.6;gap:15px}
 .calendar-caption span:last-child{max-width:140px}
 .fixture{grid-template-columns:40px minmax(0,1fr) 52px 44px;gap:10px;padding:24px 0}
 .match-date{font-size:11px;letter-spacing:.02em}.match-date b{font-size:34px}
 .fixture-teams{font-size:14px;line-height:1.45;gap:14px}.fixture-team{gap:7px}
 .crest-small{width:24px;height:28px}.fixture-teams>.vs{font-size:10px}
 .fixture-time strong{font-size:16px}.tag{font-size:10px;letter-spacing:.02em}
 .icon-button{width:44px;height:44px;min-height:44px}.fixture-actions{gap:8px}
 .fixture .past-label{font-size:12px}.calendar-footnote{font-size:13px;line-height:1.8}
 .checklist-inner>p,.checklist-inner .check-status{font-size:14px;line-height:1.8}
 #checklist label{font-size:16px;min-height:54px}#checklist input{width:21px;height:21px;flex-shrink:0}
 .checklist-inner .text-button{font-size:14px}.support-notes p{font-size:16px;line-height:1.8}
 .support-notes h3{font-size:21px}.breaks .eyebrow{font-size:12px}.breaks p{font-size:16px}.breaks p span{font-size:14px}
 .closing p:not(.eyebrow){font-size:16px;line-height:1.8}
 .footer-top>p,.club-link{font-size:14px;line-height:1.7}.footer-top>p{max-width:none}
 .footer-bottom{font-size:11px;line-height:1.7}.plain-button{font-size:13px;min-height:44px}
 .brand span{font-size:10px}.brand strong{font-size:22px}
 .squad-heading h2{font-size:37px}.roster-heading{align-items:start;flex-wrap:wrap;gap:8px}
 .roster-heading p{font-size:16px}.roster-heading>span{font-size:11px;line-height:1.6;letter-spacing:.08em}
 .squad-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
 .player-tile{padding:20px 5px}.player-tile>span,.keeper-tile>span,.staff-tile>span{font-size:16px;white-space:normal;text-align:center;line-height:1.5}
 .player-tile small{font-size:12px;line-height:1.5}.roster-group h3{font-size:18px}
 .jersey-visual{width:67px}.keeper-tile .jersey-visual{width:74px}
 .spotlight-top span{font-size:10px;line-height:1.7;letter-spacing:.05em}.spotlight-caption .eyebrow{font-size:11px}
 .spotlight-caption>p,.spotlight-staff .spotlight-caption>p{font-size:20px;line-height:1.35}
 .spotlight-season{font-size:10px}.shirt-spotlight{position:relative;top:auto}
 dialog{padding:42px 22px 28px}.dialog-close{width:44px;height:44px}
 .dialog-meta{gap:20px;flex-wrap:wrap}.dialog-meta small{font-size:12px}.dialog-meta strong{font-size:17px}
 .dialog-venue{font-size:16px}.dialog-venue p,.dialog-note{font-size:14px;line-height:1.8}
 .dialog-actions{display:grid;grid-template-columns:1fr;width:100%}.dialog-actions .button{font-size:14px;min-height:52px;width:100%;margin:0}
 .dialog-footer{flex-wrap:wrap;gap:12px}.dialog-footer button{font-size:14px;min-height:44px}
 #about-dialog p:not(.eyebrow){font-size:16px;line-height:1.8}.toast,.loading,.empty p{font-size:14px}
}
@media(max-width:360px){.nav-cta{display:none}.menu-toggle{margin-left:auto}}
@media(max-width:420px){
 .next-actions{grid-template-columns:1fr}.team-block h3{font-size:17px}
 .hero-copy{top:22%}.hero-copy h1{font-size:clamp(64px,19vw,80px)}
 .hero-copy .eyebrow{font-size:11px;max-width:280px}.hero-copy .button{font-size:13px}
 .hero-bottom .scroll-cue{max-width:170px;font-size:10px}.hero-bottom .motion-toggle{font-size:12px;padding:8px 10px}
}
