.nfl-hero { min-height:100vh; min-height:100svh; }
.nfl-content { position:relative; z-index:3; width:min(100%, 660px); margin-inline:auto; color:#0c2337; }
.nfl-back { font-size:.84rem; color:#244b68; }
.nfl-content h1 { margin:14px 0 10px; font:750 clamp(3rem,6.4vw,6rem)/.99 Inter,system-ui,sans-serif; letter-spacing:-.065em; }
.nfl-intro { max-width:57ch; font-size:clamp(1rem,1.55vw,1.22rem); line-height:1.5; color:#1a3c53; }
#sim { margin-top:24px; padding:clamp(18px,3vw,30px); background:rgba(250,253,255,.95); border:1px solid #aac6da; border-radius:18px; box-shadow:0 14px 50px #1949691a; }
.modes { display:inline-flex; gap:3px; padding:3px; border:1px solid #a9c5d6; border-radius:8px; background:#e5eff6; }
.modes label { position:relative; padding:7px 14px; border-radius:5px; font-weight:600; font-size:.88rem; cursor:pointer; }
.sr,.modes input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.modes label:has(:checked) { background:#102f48; color:#fff; }
.modes label:has(:focus-visible), .nfl-content :focus-visible { outline:3px solid #217ab3; outline-offset:3px; }
.nfl-teams { display:flex; flex-wrap:wrap; gap:14px; margin:20px 0; }
.nfl-teams label { flex:1 1 210px; min-width:0; font-size:.9rem; font-weight:650; }
.nfl-teams input { display:block; width:100%; padding:11px 12px; margin-top:5px; color:#102f48; background:#fff; border:1px solid #8faaba; border-radius:6px; font:inherit; font-size:1rem; font-weight:400; }
.nfl-example { display:block; margin:-11px 0 20px; border:0; background:transparent; color:#18577f; cursor:pointer; font:inherit; font-size:.86rem; text-decoration:underline; text-underline-offset:3px; }
#continue { padding:11px 17px; color:white; background:#102f48; border:0; border-radius:7px; cursor:pointer; font:600 1rem/1.4 Inter,system-ui,sans-serif; }
#continue:hover { background:#145782; }
.nfl-cost { margin-top:9px; font-size:.82rem; color:#405a6d; }
.nfl-guide { max-width:1160px; margin:auto; padding:0 clamp(18px,4vw,48px); color:#102b42; }
.nfl-feature { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(28px,5vw,72px); padding:clamp(40px,6vw,80px) 0; border-bottom:1px solid #c6d9e5; }
.nfl-story h2,.nfl-reading h2 { font-size:clamp(1.7rem,3vw,2.75rem); line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
.nfl-story h3 { margin:22px 0 6px; font-size:1.15rem; line-height:1.3; }
.nfl-story p,.nfl-reading p { margin-top:12px; line-height:1.66; }
.nfl-figure { min-width:0; margin:0; }
.nfl-figure img { width:100%; height:auto; display:block; border-radius:12px; }
.nfl-figure figcaption,.nfl-story .nfl-source { color:#405d71; font-size:.875rem; margin:10px 0 0; line-height:1.55; }
.nfl-guide a { color:#145681; text-decoration:underline; text-underline-offset:3px; }
.nfl-reading { max-width:760px; margin:0 auto; padding:clamp(40px,6vw,72px) 0; }
.nfl-reading h2 { margin-bottom:22px; }
.nfl-reading details { padding:15px 0; border-bottom:1px solid #c6d9e5; }
.nfl-reading summary { font-weight:650; cursor:pointer; }
@media(max-width:800px) {
  .nfl-feature { grid-template-columns:1fr; }
  .nfl-film .nfl-figure { order:1; }
  .nfl-feature .nfl-figure { width:min(100%,600px); }
}
@media(max-width:640px) {
  .nfl-hero { padding:88px 18px 36px; }
  .nfl-content h1 { margin-top:10px; }
}

.nfl-console-guide { padding:clamp(40px,6vw,80px) 0; border-bottom:1px solid #c6d9e5; }
.nfl-console-guide > p { max-width:64ch; }
.nfl-console-guide figure { margin:24px 0; }
.nfl-console-guide figure img { border:1px solid #aac6da; }
.nfl-console-guide figure > a { display:block; cursor:zoom-in; }
.nfl-console-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:0; list-style:none; }
.nfl-console-steps h3 { margin:0; }
.nfl-console-steps p { margin-top:6px; }
@media(max-width:740px) {
  .nfl-console-steps { grid-template-columns:1fr; gap:18px; }
}
