/* MWR homepage polish; existing artwork and simple event navigation. */
.registration-chip { align-self: flex-start; font-size: 11px; color: #bdd8ce; padding: 3px 7px; margin: 0 0 10px; border: 1px solid #355248; border-radius: 4px; background: #142b25; }
.registration-chip.state-waitlist { color: #edce9c; border-color: #6a5536; background: #2c251b; }
.registration-chip.state-full, .registration-chip.state-closed, .registration-chip.state-past { color: #bdcad8; border-color: #47576a; background: #202b39; }
main { max-width: 1040px; padding-top: 26px; }
header.top { padding-top: 12px; padding-bottom: 12px; }
.seal { width: 74px; height: 74px; }
.brand .service { letter-spacing: .21em; }
.brand h1 { letter-spacing: .07em; }
.brand .mwr { letter-spacing: .11em; }
.header-stats { border-color: rgba(168,190,211,.24); }
.header-stats .stat-num { color: #d9e6f4; text-shadow: none; }
.hub-hero { padding: 24px; margin-bottom: 20px; border-color: rgba(197,165,114,.25); }
.hub-hero .egl-top { display: none; }
.hub-hero h2 { margin-top: 0; font-family: 'Russo One',system-ui,sans-serif; font-weight: 400; font-size: clamp(27px,4vw,39px); letter-spacing: .045em; background: none; -webkit-text-fill-color: #e7f1fb; color: #e7f1fb; filter: none; }
.hub-hero .tagline { margin: 10px auto 0; max-width: 600px; color: #bdcad8; font-size: 15px; letter-spacing: .015em; line-height: 1.55; }
.filter-bar { margin-bottom: 24px; }
.filter-btn { font-size: 11px; letter-spacing: .05em; }
.filter-btn.active { box-shadow: none; }
.events-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.events-heading .section-title { flex: 1; margin: 0; white-space: nowrap; font-size: 13px; letter-spacing: .14em; }
.events-heading .past-link-wrap { margin: 0 !important; text-align: right !important; font-size: 12px !important; }
.events-heading .past-link-wrap a { text-decoration-color: rgba(197,165,114,.45); text-underline-offset: 4px; }
.event-card { padding: 20px; border-left-width: 3px; background: linear-gradient(165deg,rgba(18,28,43,.96),rgba(8,15,25,.96)); }
.event-card .type-pill { font-size: 9px; letter-spacing: .08em; }
.event-card .game-tag { font-size: 10px; letter-spacing: .12em; margin-bottom: 7px; }
.event-card h3 { font-size: 19px; letter-spacing: .015em; line-height: 1.35; margin-bottom: 10px; }
.event-card .date { color: #e0eaf5 !important; font-size: 13px; letter-spacing: .025em; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(162,185,207,.16); }
.event-card .meta { font-size: 13px; line-height: 1.5; gap: 7px 14px; color: #acbbcd; }
.event-card .meta span strong { color: #d9e4ef; font-weight: 550; }
.event-card .desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.55; margin: 12px 0 16px; color: #acbbcd; }
.event-card .spots-pill { margin-top: 12px; font-size: 11px; }
.event-card .cta { padding-top: 16px; }
.event-card .cta-label { font-size: 10px; letter-spacing: .08em; min-height: 40px; display: inline-flex; align-items: center; color: #b6dff8 !important; background: #102331; border-color: #405e75 !important; }
.event-card .cta-arrow { color: #b6dff8 !important; }
.event-card:hover { transform: translateY(-3px); }
.arcade-launch-face { flex-direction: column; gap: 5px; min-height: 106px; }
.arcade-launch-title { font-family: 'Russo One',system-ui,sans-serif; font-weight: 400; letter-spacing: .045em; color: #f4e3b9; text-shadow: 0 2px 0 #b23140,0 3px 0 #03070b; animation: none; }
.arcade-launch-subtitle { color: #cbbfa5; font-size: 12px; letter-spacing: .05em; }
.arcade-launch-subtitle span { margin-left: 8px; }
.info-card p { color: #bdcad8; }
/* Keep the branding readable on tablets and open foldable phones. */
@media (min-width:641px) and (max-width:1023px) {
    header.top { display: grid; grid-template-columns: 64px minmax(0,1fr) 96px; padding: 16px 20px; gap: 12px 16px; }
    .header-branding { display: contents; }
    .seal { grid-column: 1; grid-row: 1; width: 64px; height: 64px; }
    .brand { grid-column: 2; grid-row: 1; }
    .brand .service { font-size: 9px; letter-spacing: .16em; }
    .brand h1 { font-size: clamp(18px,2.6vw,24px); letter-spacing: .04em; }
    .brand .mwr { font-size: 10px; letter-spacing: .08em; }
    .uscg-logo { grid-column: 3; grid-row: 1; width: 96px; max-width: 96px; height: 58px; padding: 0; border: 0; margin: 0; }
    .header-stats { grid-column: 1/-1; grid-row: 2; width: 100%; justify-content: center; margin: 0; }
}
@media (max-width:640px) {
    header.top { display: grid; grid-template-columns: 46px minmax(0,1fr) 48px; padding: 12px 14px; gap: 10px; }
    .header-branding { display: contents; }
    .seal { width: 46px; height: 46px; }
    .brand .service { font-size: 8px; letter-spacing: .1em; }
    .brand h1 { font-size: 13px; letter-spacing: .03em; }
    .brand .mwr { font-size: 7px; letter-spacing: .05em; }
    .uscg-logo { grid-row: 1; grid-column: 3; width: 48px; max-width: 48px; height: 30px; margin: 0; padding: 0; }
    .header-stats { grid-column: 1/-1; padding: 6px; margin: 0; gap: 12px; }
    .header-stats .stat-num { font-size: 12px; }
    .header-stats .stat-label { font-size: 8px; }
    .header-stats .stat-divider { height: 24px; }
    main { padding: 18px 14px 40px; }
    .hub-hero { padding: 22px 18px; margin-bottom: 18px; }
    .hub-hero h2 { font-size: 28px; }
    .hub-hero .tagline { font-size: 14px; }
    .filter-bar { padding: 5px; margin-bottom: 22px; }
    .filter-btn { font-size: 10px; }
    .events-heading { margin-bottom: 16px; gap: 8px; }
    .events-heading .section-title { font-size: 11px; }
    .events-heading .section-title::after { display: none; }
    .events-heading .past-link-wrap { font-size: 11px !important; }
    .event-card { padding: 18px; }
    .event-card h3 { font-size: 19px; }
    .event-card .cta-label { min-height: 44px; }
}
@media(prefers-reduced-motion:reduce) { .event-card:hover { transform:none; } }
