/* The first screen pairs pool identity with an actual football matchup. */
.hero-copy .hero-subhead { max-width:440px; }
.hero h1 { font-size:clamp(62px,6.45vw,104px); line-height:.96; }
.hero-copy > .eyebrow { margin-bottom:25px; }
.hero-team-button { display:inline-flex; gap:10px; align-items:center; padding:11px 0; background:none; border:0; color:#fff1e6; font:750 13px/1.5 var(--font-body); cursor:pointer; border-bottom:1px solid #98627b; }
.hero-team-button span { color:#f4bfd8; font-size:18px; }
.hero-team-button:hover { color:#f59cbf; }
.hero-team-button:focus-visible { outline:3px solid #ecc080; outline-offset:6px; }
.brand-stage { max-width:540px; min-height:650px; }
.hero-crest { width:92%; margin:0 auto; }
.brand-stage .game-ticket.opening-ticket { max-width:430px; margin:-38px auto 0; transform:rotate(-3deg); padding:0; border-radius:10px; }
.opening-top { display:flex; gap:15px; justify-content:space-between; padding:13px 20px; color:#e1bc80; border-bottom:1px solid #715141; font-size:9px; font-weight:800; letter-spacing:.12em; }
.opening-time { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px; font-size:11px; color:#c9bdc7; padding:15px 15px 0; margin:0; }
.opening-time b { color:#f4e3ed; font-weight:750; }
.opening-time > span { border-left:1px solid #735963; padding-left:7px; }
.opening-teams { display:grid; grid-template-columns:1fr 28px 1fr; gap:7px; align-items:center; padding:17px 20px 11px; }
.opening-team { display:flex; align-items:center; flex-direction:column; gap:6px; min-width:0; }
.opening-team-mark { display:grid; place-items:center; width:77px; height:70px; border-radius:14px; background:linear-gradient(145deg,#fffbfd,#b5a9bb); border:1px solid #fffe; box-shadow:inset 0 1px 0 #fff,0 4px 0 #7f6e83,0 13px 18px #0007; margin-bottom:7px; transform:perspective(300px) rotateX(7deg); }
.opening-team-mark img { width:68px; height:68px; object-fit:contain; filter:drop-shadow(0 6px 3px #140b234d); }
.opening-team strong { color:#fff1f7; font-size:18px; font-weight:750; line-height:1.25; letter-spacing:-.03em; }
.opening-line { color:#f393be; font-family:var(--font-display); font-size:25px; line-height:1; }
.opening-versus { color:#987a8c; font-size:9px; text-align:center; letter-spacing:.1em; }
.opening-source { text-align:center; margin:0; padding:3px 12px 15px; font-size:10px; color:#c0a7b6; }
.opening-footer { border-top:1px dashed #826648; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 20px; font-size:11px; }
.opening-status { color:#f1d291; line-height:1.4; }
.opening-status.is-live::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:#a8d6a4; margin-right:6px; }
.opening-footer a { color:#fff2df; white-space:nowrap; font-weight:800; text-decoration:none; }
.opening-footer a:hover { text-decoration:underline; }
.opening-footer a:focus-visible { outline:2px solid #efc880; outline-offset:5px; }
.opening-score { font:40px/1 var(--font-display); color:#fff5ea; }
.opening-score-source { display:block; text-align:center; font-size:9px; color:#c3b0bc; padding:0 12px 12px; }
.brand-stage .ticket-tab { margin-top:17px; }
@media(min-width:1101px){.hero-inner{padding-top:145px;padding-bottom:95px}.hero{min-height:1010px;max-height:none;height:auto}.hero-sponsor{margin-top:24px}.hero-note{margin-top:16px}}
@media(max-width:1100px){.brand-stage{min-height:0}.hero-crest{width:95%}.brand-stage .game-ticket.opening-ticket{max-width:390px}.hero h1{font-size:clamp(57px,7vw,84px)}}
@media(max-width:760px){.hero h1{font-size:clamp(55px,12.5vw,84px)}.hero-inner{padding-bottom:90px}.brand-stage{margin-top:25px}.hero-crest{width:100%}.brand-stage .game-ticket.opening-ticket{width:92%;margin-top:-28px;transform:rotate(-2deg)}.hero-copy .hero-subhead{font-size:15px}.opening-team strong{font-size:17px}.opening-top{padding:12px 16px}}
@media(max-width:380px){.opening-teams{padding-inline:12px}.opening-team-mark{width:65px;height:60px}.opening-team-mark img{width:59px;height:59px}.opening-time{font-size:10px;gap:6px}.opening-source{font-size:9px}.opening-footer{padding:12px 14px;font-size:10px}.opening-team strong{font-size:16px}.opening-line{font-size:23px}.hero h1{font-size:55px}}
@media(prefers-reduced-motion:reduce){.opening-team-mark{transform:none}}
.motion-off .opening-team-mark { transform:none; }
@media (min-width:1101px) and (max-height:820px) {
 .hero { min-height:760px; height:100svh; max-height:none; }
 .hero-inner { padding:95px 0 65px; }
 .hero h1 { font-size:clamp(66px,5.7vw,90px); }
 .brand-stage { min-height:0; }
 .hero-crest { width:73%; }
 .brand-stage .game-ticket.opening-ticket { max-width:400px; margin-top:-30px; }
 .opening-top { padding:10px 17px; }
 .opening-time { padding-top:10px; }
 .opening-teams { padding-top:12px; padding-bottom:8px; }
 .opening-team-mark { width:61px; height:55px; margin-bottom:5px; }
 .opening-team-mark img { width:57px; height:57px; }
 .opening-team strong { font-size:16px; }
 .opening-line { font-size:23px; }
 .opening-source { padding-bottom:10px; }
 .opening-footer { padding:11px 17px; }
 .brand-stage .ticket-tab { display:none; }
 .hero-bottom { bottom:20px; }
 .hero-copy > .eyebrow { margin-bottom:22px; }
 .hero-subhead { margin-top:22px; }
 .hero-actions { margin-top:25px; }
 .hero-sponsor { margin-top:20px; }
}
.hero-team-button img { width:30px; height:30px; object-fit:contain; filter:drop-shadow(0 3px 1px #0005); }
.fan-home { background:#151016; padding:24px max(16px,4vw); }
.fan-home > [data-fan-zone] { max-width:1400px; margin:auto; }
@media(max-width:600px){.fan-home{padding:20px 12px}}
