/* PBN v2 — BASEBALL editorial theme
   Navy + warm white + classic red, scoreboard details, editorial type.
   MODERN SITE WITH HISTORICAL SOUL. */
:root{
  --navy:#071A2B; --white:#F5F2EA; --red:#B3262D; --steel:#536D82;
  --graph:#25292C; --sand:#C7B58A;
  --ink:#16222c; --line:#e3ddcf; --muted:#6b7682;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--white); color:var(--ink);
  font-family:'Source Serif 4',Georgia,serif; font-size:18px; line-height:1.65;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px}
.muted{color:var(--muted)}

/* ---- scoreboard / labels ---- */
.kicker{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.12em;
  font-size:.72rem; font-weight:600; color:var(--steel)}
.kicker.red{color:var(--red)}

/* ---- masthead ---- */
.masthead-top{background:var(--navy); color:var(--white)}
.masthead-row{display:flex; align-items:center; justify-content:space-between; padding:16px 22px}
.brand{display:flex; align-items:center; gap:14px; color:var(--white)}
.brand-mark{color:var(--red); font-size:1.5rem; transform:translateY(1px)}
.brand-name{font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.04em; font-size:1.18rem; line-height:1.05; display:block}
.brand-tag{display:block; font-family:'Inter',sans-serif; font-size:.72rem; color:#aebccb;
  text-transform:uppercase; letter-spacing:.1em; margin-top:3px}
.scorestrip{display:flex; gap:10px}
.scorestrip .sb{display:flex; flex-direction:column; align-items:center; min-width:46px;
  background:#0d2638; border:1px solid #1c3a52; border-radius:4px; padding:5px 8px}
.scorestrip .sb b{font-family:'Inter',sans-serif; font-size:.56rem; letter-spacing:.14em; color:#8aa0b4}
.scorestrip .sb i{font-family:'Oswald',sans-serif; font-style:normal; font-size:1.05rem; color:var(--sand)}

.mainnav{background:#0d2638; border-bottom:3px solid var(--red)}
.navrow{display:flex; gap:4px; flex-wrap:wrap; padding:0 22px}
.mainnav a{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.06em;
  font-size:.82rem; color:#cdd8e2; padding:12px 14px; border-bottom:3px solid transparent; margin-bottom:-3px}
.mainnav a:hover{color:#fff; border-color:var(--sand)}
.mainnav .nav-home{color:#fff}

/* ---- lead / featured ---- */
main{padding:30px 0 50px}
.lead{display:grid; grid-template-columns:1.35fr 1fr; gap:0; margin:6px 0 40px;
  border:1px solid var(--line); background:#fff}
.lead-media{position:relative; min-height:360px; background:var(--navy); overflow:hidden}
.lead-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0}
.lead-overlay{position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(7,26,43,.08))}
.lead-copy{padding:34px 34px}
.lead-title{font-size:2.5rem; line-height:1.07; margin:.3rem 0 .6rem; font-weight:700; letter-spacing:-.01em}
.lead-dek{font-size:1.1rem; color:#3c4752; margin:0 0 1rem}

/* ---- bands / grids ---- */
.band{margin:34px 0}
.band-head{display:flex; align-items:baseline; justify-content:space-between;
  border-bottom:2px solid var(--navy); padding-bottom:8px; margin-bottom:22px}
.band-head h2{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.03em;
  font-size:1.35rem; margin:0}
.more{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.78rem; color:var(--red)}
.grid{display:grid; gap:26px}
.grid-3{grid-template-columns:repeat(3,1fr)}

/* ---- cards ---- */
.card{background:#fff; border:1px solid var(--line)}
.card-img{display:block; aspect-ratio:16/10; background:var(--navy); overflow:hidden; position:relative}
.card-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease}
.card:hover .card-img img{transform:scale(1.03)}
.img-ph{position:absolute; inset:0; display:grid; place-items:center;
  background:repeating-linear-gradient(45deg,#0a2135,#0a2135 12px,#0d2638 12px,#0d2638 24px)}
.img-ph .diamond{color:var(--sand); font-size:2rem; opacity:.55}
.img-ph.big .diamond{font-size:4rem}
.card-body{padding:16px 18px 20px}
.card-title{font-size:1.28rem; line-height:1.18; margin:.35rem 0 .4rem; font-weight:700}
.card-title a:hover{color:var(--red)}
.card-dek{color:#4a5560; font-size:1rem; margin:0 0 .7rem}
.card-meta{font-family:'Inter',sans-serif; font-size:.8rem; color:var(--muted); display:flex; align-items:center; gap:8px}
.card-meta .dot{opacity:.5}
.card-meta .arrow{margin-left:auto; color:var(--red); transition:transform .25s}
.card:hover .card-meta .arrow{transform:translateX(4px)}

/* ---- section head ---- */
.sec-head{border-bottom:2px solid var(--navy); padding-bottom:16px; margin-bottom:26px}
.sec-head h1{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:2.1rem; margin:.3rem 0 .3rem}
.sec-dek{color:#4a5560; max-width:60ch; margin:0}
.empty{color:var(--muted); padding:40px 0}

/* ---- article ---- */
.crumbs{font-family:'Inter',sans-serif; font-size:.82rem; color:var(--muted); margin-bottom:14px}
.crumbs a:hover{color:var(--red)}
.article{max-width:760px}
.art-head h1{font-size:2.4rem; line-height:1.1; margin:.4rem 0 .5rem; font-weight:700; letter-spacing:-.01em}
.art-dek{font-size:1.2rem; color:#3c4752; margin:0 0 1rem}
.art-meta{font-family:'Inter',sans-serif; font-size:.85rem; color:var(--muted); display:flex; gap:8px; align-items:center;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 0; margin-bottom:22px}
.art-hero{margin:0 0 24px}
.art-hero img{width:100%; aspect-ratio:16/9; object-fit:cover; background:var(--navy)}
.art-body{font-size:1.14rem; line-height:1.78}
.art-body p{margin:0 0 1.15rem}
.art-body h2{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.02em; font-size:1.4rem; margin:2rem 0 .7rem}
.art-body a{color:var(--red); text-decoration:underline; text-underline-offset:2px}

/* ---- comments ---- */
.comments{margin-top:44px; border-top:2px solid var(--navy); padding-top:18px}
.comments h2{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:1.2rem}
.comment{border-bottom:1px solid var(--line); padding:14px 0}
.c-head{display:flex; align-items:baseline; gap:10px}
.c-name{font-family:'Inter',sans-serif; font-weight:600; font-size:.95rem}
.c-ago{font-family:'Inter',sans-serif; font-size:.75rem; color:var(--muted)}
.c-text{margin:.3rem 0 0; color:#39434d}

/* ---- footer ---- */
.site-footer{background:var(--navy); color:#c6d2dd; margin-top:40px}
.foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; padding:40px 22px 24px}
.foot-brand .brand-name{color:#fff; font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:1.15rem}
.foot-nav h4{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.08em;
  font-size:.78rem; color:var(--sand); margin:0 0 10px}
.foot-nav a{display:block; font-family:'Inter',sans-serif; font-size:.9rem; color:#b4c2cf; padding:3px 0}
.foot-nav a:hover{color:#fff}
.foot-legal{border-top:1px solid #16344b; padding:16px 22px; font-family:'Inter',sans-serif; font-size:.78rem; color:#8aa0b4}

/* ---- responsive ---- */
@media(max-width:900px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .lead{grid-template-columns:1fr} .lead-media{min-height:240px; position:relative}
  .lead-title{font-size:2rem}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  body{font-size:17px}
  .grid-3{grid-template-columns:1fr}
  .scorestrip{display:none}
  .foot-grid{grid-template-columns:1fr}
  .art-head h1{font-size:1.8rem}
}

/* ============ PORTAL COMPONENTS (same theme) ============ */
.grid-4{grid-template-columns:repeat(4,1fr)}
.masthead-right{display:flex; align-items:center; gap:16px}
.search{display:flex; align-items:center; background:#0d2638; border:1px solid #1c3a52; border-radius:5px; overflow:hidden}
.search input{background:transparent; border:0; color:#e7eef4; font-family:'Inter',sans-serif; font-size:.82rem; padding:8px 10px; width:210px; outline:none}
.search input::placeholder{color:#7f97ac}
.search button{background:var(--red); color:#fff; border:0; padding:8px 12px; font-size:1rem; cursor:pointer}
.search.big{max-width:520px; margin-top:14px; border-color:var(--line); background:#fff}
.search.big input{color:var(--ink); width:100%} .search.big button{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.8rem; letter-spacing:.06em}
.foot-brand .small{font-size:.78rem; margin-top:8px}

/* home split + sidebar */
.home-split{display:grid; grid-template-columns:1fr 320px; gap:34px; margin:34px 0}
.side-box{background:#fff; border:1px solid var(--line); padding:18px 18px 10px; margin-bottom:22px}
.side-h{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:.95rem; border-bottom:2px solid var(--red); padding-bottom:8px; margin:0 0 10px}
.hl-list{list-style:none; margin:0; padding:0}
.hl-list li{border-bottom:1px solid var(--line); padding:9px 0}
.hl-list li:last-child{border-bottom:0}
.hl-list a{display:block; font-family:'Source Serif 4',serif; font-weight:600; line-height:1.25; font-size:1rem}
.hl-list a:hover{color:var(--red)}
.hl-kick{display:block; font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.62rem; letter-spacing:.12em; color:var(--steel); margin-bottom:2px}

/* dark bands */
.dark-band{background:var(--navy); color:#d7e0e8; margin:34px -22px; padding:28px 22px}
.dark-band .band-head{border-color:#1c3a52}
.band-head.light h2{color:#fff} .more.light{color:var(--sand)}
.sg-h{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.85rem; letter-spacing:.06em; color:var(--sand); margin:0 0 10px}
.scores-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px}
.gamerow{display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid #16344b; font-family:'Inter',sans-serif; font-size:.85rem}
.gamerow:last-child{border-bottom:0}
.g-date{color:#8aa0b4; width:46px; font-size:.78rem}
.g-teams{display:flex; align-items:center; gap:8px; flex:1}
.g-t b{font-family:'Oswald',sans-serif; color:#fff; margin-left:4px}
.g-at{color:#6b8398; font-size:.75rem}
.g-status{color:#8aa0b4; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em}
.mini-std h4{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.85rem; letter-spacing:.06em; color:var(--sand); margin:0 0 8px}
.mini-std table{width:100%; border-collapse:collapse; font-family:'Inter',sans-serif; font-size:.82rem}
.mini-std td{padding:5px 4px; border-bottom:1px solid #16344b; text-align:center; color:#cdd8e2}
.mini-std td.ms-team{text-align:left}
.dark-band .tbadge{color:#e7eef4}

/* team / player cards */
.teamgrid,.playergrid{gap:16px}
.teamcard{display:flex; align-items:stretch; background:#fff; border:1px solid var(--line); overflow:hidden}
.tc-bar{width:6px; flex:0 0 6px}
.tc-abbr{font-family:'Oswald',sans-serif; font-weight:700; font-size:1.5rem; display:flex; align-items:center; justify-content:center; width:70px; flex:0 0 70px; background:#faf8f2}
.tc-body{padding:12px 14px; display:flex; flex-direction:column; gap:2px; position:relative; flex:1}
.tc-name{font-family:'Oswald',sans-serif; text-transform:uppercase; font-weight:600; font-size:1.02rem; line-height:1.05}
.tc-meta{font-family:'Inter',sans-serif; font-size:.74rem; color:var(--muted)}
.tc-rec{position:absolute; right:14px; top:12px; font-family:'Oswald',sans-serif; font-size:1.05rem; color:var(--navy)}
.teamcard:hover .tc-name{color:var(--red)}
.playercard{display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); padding:12px 14px}
.pc-num{font-family:'Oswald',sans-serif; font-weight:700; font-size:.9rem; background:var(--navy); color:var(--sand); width:40px; height:40px; display:flex; align-items:center; justify-content:center; flex:0 0 40px}
.pc-body{flex:1; display:flex; flex-direction:column}
.pc-name{font-family:'Source Serif 4',serif; font-weight:700; line-height:1.1}
.pc-team{font-family:'Inter',sans-serif; font-size:.74rem; color:var(--muted)}
.pc-stat{text-align:center} .pc-stat b{display:block; font-family:'Oswald',sans-serif; font-size:1.15rem; color:var(--navy)} .pc-stat i{font-style:normal; font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted)}
.playercard:hover .pc-name{color:var(--red)}

/* badges */
.tbadge{display:inline-flex; align-items:center; gap:7px; font-family:'Inter',sans-serif; font-size:.88rem; font-weight:600}
.tbadge:hover{color:var(--red)} .tdot{width:10px; height:10px; border-radius:50%; display:inline-block}

/* legend strip / cards */
.legend-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.legend-chip{background:#0d2638; border:1px solid #1c3a52; padding:14px; display:flex; flex-direction:column; gap:3px}
.lc-era,.lg-era{font-family:'Oswald',sans-serif; font-size:.68rem; letter-spacing:.1em; color:var(--sand); text-transform:uppercase}
.lc-name{font-family:'Source Serif 4',serif; font-weight:700; color:#fff; font-size:1.1rem}
.lc-pos{font-family:'Inter',sans-serif; font-size:.74rem; color:#9fb2c2}
.legend-chip:hover .lc-name{color:var(--sand)}
.legendgrid{gap:16px}
.legendcard{background:#fff; border:1px solid var(--line); border-left:4px solid var(--navy); padding:16px; display:flex; flex-direction:column; gap:4px}
.lg-name{font-family:'Source Serif 4',serif; font-weight:700; font-size:1.25rem}
.lg-meta{font-family:'Inter',sans-serif; font-size:.78rem; color:var(--muted)}
.legendcard:hover .lg-name{color:var(--red)}

/* explore / hub tiles */
.explore-grid,.hubgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.ex-tile,.hub-tile{display:flex; align-items:center; justify-content:space-between; background:#fff; border:1px solid var(--line); padding:16px 18px; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:.92rem; color:var(--navy)}
.ex-tile span,.hub-tile .arrow{color:var(--red)}
.ex-tile:hover,.hub-tile:hover{border-color:var(--navy); background:#faf8f2}
.hubgrid{grid-template-columns:repeat(3,1fr); margin-bottom:10px}

/* section head extras */
.div-h{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.03em; font-size:1.3rem; border-bottom:2px solid var(--navy); padding-bottom:8px; margin:34px 0 20px}

/* profile pages */
.profile-head{display:flex; gap:22px; align-items:center; background:var(--navy); color:#fff; padding:28px 26px; margin:6px 0 26px; border-left:8px solid var(--team,#B3262D)}
.ph-abbr{font-family:'Oswald',sans-serif; font-weight:700; font-size:2.6rem; color:var(--team,#fff); background:#0d2638; width:96px; height:96px; display:flex; align-items:center; justify-content:center; flex:0 0 96px}
.ph-copy .kicker{color:var(--sand)}
.ph-copy h1{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:2.1rem; margin:.2rem 0}
.ph-meta{font-family:'Inter',sans-serif; font-size:.85rem; color:#aebccb; margin:0}
.ph-stats{display:flex; gap:26px; margin-top:12px}
.pstat b{font-family:'Oswald',sans-serif; font-size:1.5rem; color:#fff; display:block}
.pstat i{font-style:normal; font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:#9fb2c2}
.profile-body{display:grid; grid-template-columns:1fr 300px; gap:34px}
.block{margin-bottom:30px}
.block h2{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:1.2rem; border-bottom:2px solid var(--navy); padding-bottom:7px; margin:0 0 14px}
.prose{font-size:1.08rem; line-height:1.7} .prose p{margin:0 0 1rem}
.rosterlist{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.rp{display:flex; align-items:center; gap:10px; border:1px solid var(--line); padding:9px 12px; background:#fff}
.rp-pos{font-family:'Oswald',sans-serif; font-size:.72rem; color:#fff; background:var(--navy); padding:2px 6px; min-width:34px; text-align:center}
.rp-name{flex:1; font-weight:600} .rp-class{font-family:'Inter',sans-serif; font-size:.74rem; color:var(--muted)}
.rp:hover .rp-name{color:var(--red)}
.tick{list-style:none; margin:0; padding:0} .tick li{padding:6px 0 6px 22px; position:relative; border-bottom:1px solid var(--line)}
.tick li:before{content:"◆"; color:var(--red); position:absolute; left:0; font-size:.7rem; top:9px}
.tick.small li{font-size:.9rem}
.timeline{border-left:2px solid var(--line); margin-left:6px}
.tl-row{position:relative; padding:0 0 16px 20px}
.tl-row:before{content:""; width:10px; height:10px; background:var(--red); border-radius:50%; position:absolute; left:-6px; top:4px}
.tl-year{font-family:'Oswald',sans-serif; font-weight:700; color:var(--navy); margin-right:8px}
.statbox .statline{width:100%; border-collapse:collapse}
.statline th{text-align:left; font-family:'Inter',sans-serif; font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; padding:7px 0; border-bottom:1px solid var(--line); font-weight:600}
.statline td{text-align:right; font-family:'Oswald',sans-serif; font-size:1.05rem; color:var(--navy); padding:7px 0; border-bottom:1px solid var(--line)}

/* tables: standings / records */
.stdtable,.rectable{width:100%; border-collapse:collapse; margin-bottom:20px; background:#fff; border:1px solid var(--line)}
.stdtable th,.stdtable td,.rectable td{padding:11px 12px; text-align:center; font-family:'Inter',sans-serif; font-size:.92rem; border-bottom:1px solid var(--line)}
.stdtable th{background:var(--navy); color:#fff; font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.72rem; letter-spacing:.06em}
.stdtable th.l,.stdtable td.l,.rectable td.l{text-align:left}
.stdtable tr:hover td{background:#faf8f2}
.rectable td.v{font-family:'Oswald',sans-serif; font-size:1.05rem; color:var(--red); font-weight:600}
.rectable td.y{color:var(--muted)}
.gamelist{background:#fff; border:1px solid var(--line); padding:4px 18px}
.gamelist .gamerow{border-color:var(--line); color:var(--ink)}
.gamelist .g-date{color:var(--muted)} .gamelist .g-t b{color:var(--navy)} .gamelist .g-status{color:var(--muted)}

/* leaders */
.leadgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:10px}
.leadbox{background:#fff; border:1px solid var(--line); padding:14px}
.leadbox h4{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.85rem; color:var(--navy); border-bottom:2px solid var(--red); padding-bottom:6px; margin:0 0 8px}
.leadbox ol{margin:0; padding:0; list-style:none; counter-reset:ld}
.leadbox li{counter-increment:ld}
.leadbox li a{display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--line); font-family:'Inter',sans-serif; font-size:.86rem}
.leadbox li a:before{content:counter(ld); font-family:'Oswald',sans-serif; color:var(--muted); width:16px}
.ld-name{flex:1; font-weight:600} .ld-team{color:var(--muted); font-size:.74rem} .ld-val{font-family:'Oswald',sans-serif; color:var(--navy); font-size:1rem}
.leadbox li a:hover .ld-name{color:var(--red)}

/* rivalries / seasons */
.rivalry{display:block; background:#fff; border:1px solid var(--line); padding:20px; margin-bottom:16px; border-left:4px solid var(--red)}
.rivalry h2{font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:1.3rem; margin:0 0 10px}
.riv-teams{display:flex; align-items:center; gap:16px} .riv-teams.big{font-size:1.2rem; margin:12px 0 20px}
.vs{font-family:'Oswald',sans-serif; color:var(--red); text-transform:uppercase; font-size:.8rem}
.seasonlist{background:#fff; border:1px solid var(--line)}
.season-row{display:flex; align-items:center; gap:18px; padding:14px 18px; border-bottom:1px solid var(--line)}
.season-row:last-child{border-bottom:0}
.sr-year{font-family:'Oswald',sans-serif; font-weight:700; font-size:1.3rem; color:var(--navy); width:70px}
.sr-champ{flex:1; font-family:'Inter',sans-serif} .season-row .arrow{color:var(--red)}
.season-row:hover{background:#faf8f2}
.season-champ{display:flex; gap:40px; background:#fff; border:1px solid var(--line); padding:18px; margin-bottom:22px}
.season-champ b{display:block; font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.7rem; letter-spacing:.08em; color:var(--muted); margin-bottom:6px}

/* glossary */
.glossary{column-count:2; column-gap:34px}
.gl-item{break-inside:avoid; margin-bottom:18px; padding-bottom:4px}
.gl-item h3{font-family:'Oswald',sans-serif; font-size:1rem; color:var(--navy); margin:0 0 4px}
.gl-item p{margin:0; font-size:.95rem; color:#3c4752}

/* misc */
.art-tags{margin:20px 0; font-family:'Inter',sans-serif; font-size:.9rem; color:var(--muted)}
.backlink{margin-top:26px} .backlink a{color:var(--red); font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:.82rem}
.hs-main{margin-top:0}

@media(max-width:1000px){
  .home-split{grid-template-columns:1fr} .profile-body{grid-template-columns:1fr}
  .grid-4,.leadgrid,.legend-strip,.explore-grid{grid-template-columns:repeat(2,1fr)}
  .scores-grid{grid-template-columns:1fr; gap:22px} .hubgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .grid-4,.leadgrid,.legend-strip,.explore-grid,.hubgrid,.rosterlist{grid-template-columns:1fr}
  .glossary{column-count:1}
  .masthead-right .scorestrip{display:none} .search input{width:150px}
  .profile-head{flex-direction:column; text-align:center} .teamgrid,.playergrid{gap:12px}
  .dark-band{margin-left:-22px; margin-right:-22px}
}

/* ============ IMAGE / MEDIA COMPONENTS ============ */
.topstories{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin:30px 0 10px}

/* team card = media card (override earlier flex rules) */
.teamcard{display:block; flex-direction:unset}
.tc-media{position:relative; display:block; height:132px; background-size:cover; background-position:center}
.tc-media:after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,26,43,.12),rgba(7,26,43,.78))}
.tc-abbr{position:absolute; left:14px; bottom:10px; z-index:1; width:auto; flex:none; background:none;
  font-family:'Oswald',sans-serif; font-weight:700; font-size:1.7rem; color:#fff; display:block; text-shadow:0 1px 5px rgba(0,0,0,.55)}
.tc-rec{position:absolute; right:12px; top:12px; z-index:1; font-family:'Oswald',sans-serif; color:#fff;
  background:rgba(7,26,43,.72); padding:2px 9px; font-size:.95rem}
.tc-body{display:block; padding:12px 14px}
.tc-name{display:block; font-family:'Oswald',sans-serif; text-transform:uppercase; font-weight:600; font-size:1.02rem; line-height:1.1}
.teamcard:hover .tc-name{color:var(--red)}

/* player card photo */
.pc-photo{position:relative; width:52px; height:52px; flex:0 0 52px; background-size:cover; background-position:center; background-color:var(--navy)}
.pc-photo .pc-num{position:absolute; left:0; bottom:0; width:auto; height:auto; background:rgba(7,26,43,.8); color:var(--sand);
  font-family:'Oswald',sans-serif; font-size:.64rem; padding:1px 5px; display:block}

/* profile head background image */
.profile-head.has-img{background-size:cover; background-position:center}
.profile-head.has-img:before{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,26,43,.94),rgba(7,26,43,.70))}
.profile-head{position:relative; overflow:hidden}
.profile-head>*{position:relative; z-index:1}

/* legend chip with vintage photo */
.legend-chip{position:relative; overflow:hidden; background-size:cover; background-position:center; min-height:120px; justify-content:flex-end}
.legend-chip .lc-ov{position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,26,43,.35),rgba(7,26,43,.9)); z-index:0}
.legend-chip>*{position:relative; z-index:1}

/* legend index card media */
.legendcard{padding:0; overflow:hidden}
.legendcard .lg-media{display:block; height:150px; background-size:cover; background-position:center; position:relative}
.legendcard .lg-media:after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,26,43,.1),rgba(7,26,43,.55))}
.legendcard .lg-body{display:block; padding:14px 16px}

img{background:#ece4d4}

/* ============ BASEBALL HEADER BACKGROUND (theme signal) ============ */
.masthead-top{position:relative; background-color:var(--navy);
  background-image:linear-gradient(rgba(7,26,43,.88),rgba(7,26,43,.93)), url('/assets/img/stadium2.jpg');
  background-size:cover; background-position:center 40%}
.masthead-row{position:relative; z-index:1}
/* readability safety on profile heroes */
.profile-head.has-img:before{background:linear-gradient(90deg,rgba(7,26,43,.95),rgba(7,26,43,.74))}
.ph-copy h1{color:#fff}

/* ===== FASE 2 — pagina xfsearch (articolo + commento + blocco link) ===== */
.xfs{display:grid;grid-template-columns:1fr;gap:2rem;max-width:860px}
.xfs-article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.6rem 1.8rem;box-shadow:0 1px 3px rgba(7,26,43,.05)}
.xfs-head .kicker{color:var(--red)}
.xfs-head h1{font-family:'Oswald',sans-serif;font-weight:700;line-height:1.08;margin:.3rem 0 .5rem;color:var(--navy)}
.xfs-byline{color:var(--muted);font-size:.9rem;margin:0 0 1.1rem}
.xfs-media{margin:0 0 1.2rem;border-radius:8px;overflow:hidden}
.xfs-media img{width:100%;height:auto;display:block}
.xfs-body p{font-family:'Source Serif 4',Georgia,serif;font-size:1.06rem;line-height:1.72;margin:0 0 1.1rem;color:var(--ink)}
.xfs-comments{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.xfs-comments h3{font-family:'Oswald',sans-serif;font-size:1rem;letter-spacing:.03em;text-transform:uppercase;color:var(--steel);margin:0 0 .8rem}
.xcom{background:#faf8f2;border:1px solid var(--line);border-radius:8px;padding:.9rem 1.1rem}
.xcom-who{font-weight:700;color:var(--navy);margin-right:.6rem}
.xcom-when{color:var(--muted);font-size:.82rem}
.xcom-text{margin:.4rem 0 0;color:var(--ink)}
.xnet{background:#faf8f2;border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.3rem}
.xnet h4{font-family:'Oswald',sans-serif;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem}
.xnet-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .9rem}
.xnet-list li{font-size:.82rem;line-height:1.5}
.xnet-list a{color:var(--steel);text-decoration:none}
.xnet-list a:hover{color:var(--red);text-decoration:underline}
