/* Game-first hierarchy, expressive photography and restrained LSU color. */
.front-mast { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; }
.front-mast h1 { font:800 2.25rem/1 'Barlow Condensed',Arial,sans-serif; color:var(--home-ink); margin:0; }
.front-mast > span { font-size:.6875rem; font-weight:700; letter-spacing:1.8px; color:var(--muted); }
.front-scorebar.home-game { display:grid; grid-template-columns:150px minmax(260px,1fr) minmax(130px,.7fr) auto; gap:14px 26px; align-items:center; padding:18px 24px 12px; margin-bottom:26px; border-top:3px solid var(--home-gold); }
.front-game-status > span { display:block; color:var(--home-gold); font-size:.75rem; font-weight:700; letter-spacing:1.5px; }
.front-game-status > small { display:block; color:#dfd5e7; font-size:.75rem; margin-top:4px; }
.front-live .front-game-status > span:before { content:''; display:inline-block; width:7px; height:7px; border-radius:50%; background:#afe0bb; margin-right:8px; }
.front-teams { display:flex; align-items:center; gap:18px; min-width:0; }
.front-teams > div { display:flex; align-items:center; gap:12px; min-width:0; }
.front-teams img { width:38px; height:38px; object-fit:contain; flex:none; }
.front-teams b { font:600 1.5rem/1 'Barlow Condensed',Arial,sans-serif; }
.front-teams strong { font:700 2.25rem/1 'Barlow Condensed',Arial,sans-serif; font-variant-numeric:tabular-nums; }
.front-vs { color:#b6a3ca; font-size:.875rem; }
.front-game-place span,.front-game-place small { display:block; font-size:.75rem; color:#dfd5e7; }
.front-game-place small { margin-top:3px; color:#c7b8d6; }
.front-score-link { display:flex; align-items:center; gap:14px; min-height:46px; background:var(--home-gold); color:var(--home-ink); padding:10px 16px; font-size:.8125rem; font-weight:700; white-space:nowrap; }
.front-score-link:hover { background:#f9e8b1; color:var(--home-ink); }
.front-scorebar .front-score-source { grid-column:1/-1; border-top:1px solid #62516f; margin:0; padding-top:8px; font-size:.6875rem; line-height:1.5; color:#cfc2dc; }
.front-top { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr); gap:30px; }
.front-top > div,.front-headlines { min-width:0; }
.front-hero { isolation:isolate; position:relative; display:flex; align-items:end; min-height:530px; background:#211633; overflow:hidden; }
.front-hero:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#0b07151a 5%,#0b07154d 32%,#0b0715ed 88%); z-index:-1; }
.front-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.front-hero-copy { padding:32px; width:100%; min-width:0; }
.front-label { display:inline-block; color:#211633; background:#ead181; font-size:.6875rem; letter-spacing:1px; line-height:1.4; font-weight:800; padding:6px 9px; }
.front-hero h2 { color:#fff; font:700 clamp(2rem,3.2vw,3rem)/1.08 'Barlow Condensed',Arial,sans-serif; text-wrap:balance; margin:16px 0; max-width:24ch; }
.front-hero h2 a { color:#fff; }
.front-hero h2 a:hover { color:#f6dfa0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.front-hero-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:#e1d9e8; font-size:.75rem; }
.front-hero-button { display:inline-flex; align-items:center; gap:20px; color:#f4db93; font-size:.875rem; font-weight:600; min-height:48px; margin-top:12px; border-bottom:1px solid #b4a07b; }
.front-hero-button:hover { color:#fff; border-color:#fff; }
.front-deck { display:flex; gap:20px; justify-content:space-between; align-items:start; padding:18px 0; border-bottom:1px solid var(--line); }
.front-deck > p { margin:0; color:var(--muted); font:1rem/1.7 Georgia,serif; max-width:66ch; }
.front-deck button { flex:none; }
.front-headlines .home-section-head { border-bottom:3px solid var(--home-ink); padding-bottom:10px; margin-bottom:0; }
.front-headlines .home-section-head h2 { font-size:1.75rem; }
.front-headlines > article { display:flex; gap:16px; padding:24px 0; border-bottom:1px solid var(--line); }
.front-story-number { font:600 1.375rem/1 'Barlow Condensed',Arial,sans-serif; color:#87718f; padding-top:3px; }
.front-headlines h3 { font:700 1.625rem/1.15 'Barlow Condensed',Arial,sans-serif; margin:10px 0 0; text-wrap:balance; }
.front-headlines h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.front-headlines .desk-byline { font-size:.6875rem; }
.front-next { border-left:3px solid #c7a84f; margin-top:24px; padding:0 0 0 18px; }
.front-next h2 { font-size:1.5rem; margin:6px 0; }
.front-next p { font-size:.8125rem; color:var(--muted); margin:0; }
.front-feature-section { padding-top:30px; }
.front-feature-section .home-section-head { margin-bottom:0; border:0; }
.front-feature-section .home-section-head h2 { margin-top:4px; font-size:2.25rem; }
.front-edition .home-featured { margin-top:10px; border-top:1px solid var(--line); padding-top:24px; }
.front-team-summary { background:#eeebf1; padding:20px 24px; border-left:3px solid var(--purple); }
.front-team-summary .desk-team-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.front-team-summary .desk-team-facts > div { display:block; margin:0; }
.front-team-summary .desk-team-facts span { display:block; font-size:.75rem; margin-bottom:5px; }
.front-team-summary .desk-team-facts b { font:600 1.5rem/1.15 'Barlow Condensed',Arial,sans-serif; }
.front-edition .home-guide { background:#211633; color:#fff; border-top:3px solid #ead181; }
.front-edition .home-guide h2 { color:#fff; }
.front-edition .home-guide .home-eyebrow,.front-edition .home-guide-number { color:#ead181; }
.front-edition .home-guide > p,.front-edition .home-guide-link small { color:#cec2d9; }
.front-edition .home-guide-link { border-color:#554361; }
.front-edition .home-guide-link:hover { color:#f4db93; }
@media(max-width:1100px) {
 .front-scorebar.home-game { grid-template-columns:120px minmax(240px,1fr) auto; gap:12px 18px; }
 .front-game-place { display:none; }
 .front-top { grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr); gap:24px; }
 .front-hero { min-height:560px; }
 .front-hero-copy { padding:26px; }
}
@media(max-width:760px) {
 .front-mast { padding:16px 0; }
 .front-mast h1 { font-size:1.875rem; }
 .front-mast > span { font-size:.625rem; letter-spacing:1px; }
 .front-top { grid-template-columns:1fr; gap:26px; }
 .front-hero { min-height:460px; }
 .front-hero-copy { padding:26px; }
 .front-hero h2 { font-size:2.5rem; }
 .front-scorebar.home-game { grid-template-columns:1fr auto; gap:12px 16px; padding:16px 18px 10px; margin-bottom:22px; }
 .front-game-status { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:12px; }
 .front-game-status > small { margin-top:0; }
 .front-teams { gap:12px; }
 .front-teams > div { gap:8px; }
 .front-teams img { width:28px; height:28px; }
 .front-teams strong { font-size:1.875rem; }
 .front-teams b { font-size:1.25rem; }
 .front-score-link { padding:8px 12px; gap:10px; }
 .front-deck { flex-wrap:wrap; gap:8px; }
 .front-deck button { margin-left:auto; }
 .front-headlines > article { padding:20px 0; }
 .front-headlines h3 { font-size:1.75rem; }
 .front-feature-section { padding-top:26px; }
 .front-feature-section .home-section-head h2 { font-size:1.875rem; }
}
@media(max-width:540px) {
 .front-mast > span { display:none; }
 .front-scorebar.home-game { grid-template-columns:1fr; }
 .front-teams { justify-content:space-between; gap:10px; }
 .front-teams > div { gap:10px; }
 .front-teams b { font-size:1.375rem; }
 .front-teams strong { font-size:2rem; }
 .front-score-link { justify-content:space-between; min-height:44px; font-size:.8125rem; }
 .front-hero { min-height:430px; }
 .front-hero-copy { padding:22px; }
 .front-hero h2 { font-size:2.125rem; line-height:1.1; }
 .front-scorebar .front-score-source { font-size:.625rem; }
 .front-team-summary .desk-team-facts { grid-template-columns:1fr; gap:12px; }
 .front-team-summary .desk-team-facts > div { display:flex; justify-content:space-between; gap:16px; align-items:center; }
 .front-team-summary .desk-team-facts b { font-size:1.25rem; }
}
