/* Points & Pennants public site. Approved newspaper style: cream #F4EFE6, navy #0F1A2B, ember #C4492B.
   Playfair Display (display), Source Serif 4 (text), Libre Franklin (labels). No team logos or marks.
   Contrast notes (WCAG 2.x on cream): navy 15.2; ember #C4492B 4.23 = large type and rules only;
   small ember text uses #A8391D (5.61). On navy: cream 15.2, ember-light #E8836A 6.56. */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/playfair-display.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url(fonts/playfair-display-italic.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-italic.woff2) format('woff2')}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/libre-franklin.woff2) format('woff2')}
:root{color-scheme:light;--cream:#F4EFE6;--paper:#FAF6EF;--navy:#0F1A2B;--ember:#C4492B;--ember-text:#A8391D;--ember-on-navy:#E8836A;--muted:#47505B;--rule:#CFC7B9;--rule-soft:#E2DACD;
 --accent:var(--ember);--accent-text:var(--ember-text);--accent-2:var(--navy);
 --display:'Playfair Display',Georgia,'Times New Roman',serif;--text:'Source Serif 4',Georgia,serif;--label:'Libre Franklin','Helvetica Neue',Arial,sans-serif}
.t-rate-room{--accent:#C4492B;--accent-text:#A8391D;--accent-2:#0F1A2B;--accent-large:#0F1A2B}
.t-lions{--accent:#0076B6;--accent-text:#00527E;--accent-2:#B0B7BC;--accent-large:#0076B6}
.t-tigers{--accent:#0C2340;--accent-text:#0C2340;--accent-2:#FA4616;--accent-large:#0C2340}
.t-pistons{--accent:#C8102E;--accent-text:#B00E28;--accent-2:#1D42BA;--accent-large:#C8102E}
.t-red-wings{--accent:#CE1126;--accent-text:#B30F21;--accent-2:#CE1126;--accent-large:#CE1126}
.t-research{--accent:#C4492B;--accent-text:#A8391D;--accent-2:#0F1A2B;--accent-large:#0F1A2B}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--navy);font:18px/1.6 var(--text)}
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration-color:var(--ember);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible{outline:3px solid var(--ember);outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:var(--navy);color:var(--cream);padding:8px 12px;z-index:9}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
.label,.kicker,.meta,.nav,.dateline,.btn,.badge{font-family:var(--label)}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin:0 0 .5rem}
.meta{font-size:.78rem;color:var(--muted);letter-spacing:.02em}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.12;margin:0 0 .5rem;letter-spacing:-.01em}
p{margin:0 0 1rem}
/* ---- masthead ---- */
.dateline{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 0 8px;border-bottom:1px solid var(--rule)}
.masthead{text-align:center;padding:18px 0 12px}
.masthead .logo{display:block;max-width:720px;margin:0 auto;color:var(--navy)}
.masthead .logo svg{width:100%;height:auto;display:block}
.motto{font-style:italic;color:var(--muted);font-size:1rem;margin:.6rem 0 0}
.mast-rule{border:0;border-top:3px double var(--navy);margin:0}
.nav{display:flex;gap:4px 20px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding:11px 2px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--navy);-webkit-overflow-scrolling:touch}
.nav::-webkit-scrollbar{display:none}
.nav a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--ember)}
.slim-mast{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0 10px}
.slim-mast .logo{width:min(330px,70vw);color:var(--navy)}.slim-mast .logo svg{width:100%;height:auto;display:block}
.slim-mast .show-tag{font-family:var(--label);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);text-align:right}
/* ---- lead ---- */
.front{display:grid;gap:26px;padding:22px 0 8px}
.lead .kicker{font-size:.76rem}
.lead h1{font-size:clamp(2.1rem,8.4vw,3.9rem);line-height:1.04;letter-spacing:-.025em;margin-bottom:.8rem}
.lead h1 a{text-decoration:none}
.dek{font-size:1.18rem;line-height:1.5;color:#1d2838}
.lead-media{display:grid;gap:16px;margin:18px 0 6px}
.lead-media img{border:1px solid var(--rule)}
.player{background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--accent);padding:14px 14px 12px}
.player .label{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}
.player audio{width:100%;display:block;height:44px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--navy);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--navy);background:transparent}
.btn.solid{background:var(--navy);color:var(--cream)}
.btn:hover{background:var(--navy);color:var(--cream)}
.rail{border-top:3px solid var(--navy);padding-top:10px}
.rail h2{font-family:var(--label);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px}
.rail-item{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.rail-item img{width:72px;height:72px;border:1px solid var(--rule)}
.rail-item h3{font-size:1.08rem;line-height:1.22;margin:2px 0 4px}
.rail-item .kicker{margin:0;font-size:.66rem}
.rail-item:hover h3{text-decoration:underline;text-decoration-color:var(--accent)}
/* ---- section heads ---- */
.sect{padding:28px 0 6px}
.sect-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:3px double var(--navy);border-bottom:1px solid var(--navy);padding:8px 0;margin-bottom:18px}
.sect-head h2{font-size:1.5rem;margin:0}
.sect-head a{font-family:var(--label);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
/* ---- research band ---- */
.band{background:var(--navy);color:var(--cream);margin:30px 0 0}
.band a{color:var(--cream);text-decoration-color:var(--ember-on-navy)}
.band .inner{display:grid;gap:22px;padding:30px 0}
.band .kicker{color:var(--ember-on-navy)}
.band h2{font-size:clamp(1.9rem,6.6vw,3rem);color:var(--cream);line-height:1.06}
.band .dek{color:#E9E3D8}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#33415a;border:1px solid #33415a;margin:18px 0}
.stat{background:var(--navy);padding:12px 10px}
.stat b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(1.5rem,6vw,2.3rem);line-height:1;color:var(--cream)}
.stat span{display:block;font-family:var(--label);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:#C9C2B6;margin-top:6px;line-height:1.35}
.band .btn{border-color:var(--cream);color:var(--cream)}.band .btn:hover,.band .btn.solid{background:var(--cream);color:var(--navy)}
.band-portrait{display:flex;align-items:flex-end;gap:14px}
.band-portrait img{width:120px;background:var(--cream);border-bottom:3px solid var(--ember)}
.band-portrait p{font-size:.92rem;color:#D9D2C6;margin:0}
.fine{font-family:var(--label);font-size:.72rem;letter-spacing:.04em;color:#C9C2B6}
/* ---- show rows ---- */
.rows{display:grid;gap:0}
.row{display:grid;gap:14px;padding:18px 0 20px;border-bottom:1px solid var(--rule);position:relative}
.row::before{content:"";position:absolute;left:0;top:0;width:56px;height:4px;background:var(--accent)}
.row::after{content:"";position:absolute;left:56px;top:0;width:28px;height:4px;background:var(--accent-2)}
.t-red-wings.row::after{background:repeating-linear-gradient(90deg,#fff 0 4px,#CE1126 4px 8px)}
.row-show{padding-top:10px}
.row-show h3{font-size:1.75rem;color:var(--accent-large);margin:0}
.row-show h3 a{text-decoration:none;color:inherit}
.row-show p{font-size:.95rem;color:var(--muted);margin:.3rem 0 0}
.row-ep{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}
.row-ep img{width:96px;height:96px;border:1px solid var(--rule)}
.row-ep h4{font-size:1.28rem;line-height:1.18;margin:0 0 .35rem}
.row-ep h4 a{text-decoration:none}.row-ep h4 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.row-ep p{font-size:.95rem;line-height:1.5;margin:0 0 .5rem}
.links{font-family:var(--label);font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:6px 16px}
.links a{color:var(--accent-text)}
.coming{font-family:var(--label);font-size:.78rem;color:var(--muted);padding:14px 0 0}
/* ---- columns (blogs) ---- */
.cols{display:grid;gap:0}
.col{padding:16px 0;border-bottom:1px solid var(--rule)}
.col h3{font-size:1.3rem;line-height:1.18;margin:0 0 .4rem}
.col h3 a{text-decoration:none}.col h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.col p{font-size:.96rem;line-height:1.5;margin:0 0 .4rem}
.col .kicker{border-top:3px solid var(--accent);padding-top:8px;display:inline-block}
/* ---- hosts ---- */
.hosts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.host img{background:var(--cream);border-bottom:3px solid var(--navy);aspect-ratio:3/4;object-fit:cover;width:100%}
.host h3{font-size:1.15rem;margin:.5rem 0 .1rem}
.host p{font-family:var(--label);font-size:.72rem;line-height:1.4;color:var(--muted);margin:0}
/* ---- footer ---- */
.foot{border-top:3px double var(--navy);margin-top:40px;padding:22px 0 40px;font-family:var(--label);font-size:.82rem;line-height:1.6;color:var(--muted)}
.foot .logo{width:min(300px,75vw);color:var(--navy);margin-bottom:10px}.foot .logo svg{width:100%;height:auto;display:block}
.foot strong{color:var(--navy)}
.foot .nav{border:0;padding:6px 0 10px;flex-wrap:wrap;white-space:normal}
.foot p{margin:0 0 .45rem}
/* ---- inner pages ---- */
.page-head{padding:22px 0 10px;border-bottom:1px solid var(--rule);margin-bottom:22px}
.page-head h1{font-size:clamp(2.1rem,8vw,3.6rem);line-height:1.05;letter-spacing:-.02em;color:var(--accent-large,var(--navy))}
.page-head .dek{max-width:42ch}
.show-top{display:grid;gap:20px;align-items:start}
.show-top img{border:1px solid var(--rule);max-width:360px}
.subscribe{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.subscribe .btn[aria-disabled]{border-color:var(--rule);color:var(--muted);cursor:default}
.subscribe .btn[aria-disabled]:hover{background:transparent;color:var(--muted)}
.ep-list{list-style:none;padding:0;margin:0}
.ep-list li{border-top:3px solid var(--accent);padding:14px 0 18px}
.notice{font-family:var(--label);font-size:.86rem;border-left:3px solid var(--accent);padding:6px 0 6px 14px;margin:20px 0;color:var(--navy)}
.notice strong{letter-spacing:.02em}
.episode{display:grid;gap:22px}
.episode .cover img{border:1px solid var(--rule)}
.episode h1{font-size:clamp(2rem,7.6vw,3.4rem)}
/* article */
.post{max-width:720px;margin:0 auto}
.post header{border-bottom:1px solid var(--rule);padding:22px 0 14px;margin-bottom:22px}
.post header h1{font-size:clamp(2.1rem,8vw,3.5rem);line-height:1.05;letter-spacing:-.02em;color:var(--accent-large)}
.post header .rule{height:4px;width:84px;background:var(--accent);box-shadow:28px 0 0 var(--accent-2);margin:0 0 14px}
.post .body p,.post .body li{font-size:1.08rem;line-height:1.7}
.post .body h2{font-size:1.55rem;margin:2rem 0 .7rem;padding-bottom:.3rem;border-bottom:2px solid var(--accent)}
.post .body h3{font-size:1.25rem;margin:1.6rem 0 .5rem}
.post .body a{overflow-wrap:anywhere;color:var(--accent-text)}
.post .body table{border-collapse:collapse;width:100%;font-family:var(--label);font-size:.86rem;margin:1rem 0;display:block;overflow-x:auto}
.post .body th,.post .body td{border-bottom:1px solid var(--rule);padding:8px 6px;text-align:left;vertical-align:top}
.post .body blockquote{margin:1.4rem 0;padding:0 0 0 16px;border-left:3px solid var(--accent);font-style:italic}
.post .listen{margin:26px 0}
.crumbs{font-family:var(--label);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding-top:14px;color:var(--muted)}
.crumbs a{color:var(--muted)}
/* research article wrapper: Sterling's own markup, re-skinned with P&P type and palette; figures and wording untouched */
.paper-wrap{max-width:780px;margin:0 auto}
.paper-intro{padding:20px 0 6px}
@media (min-width:700px){
 body{font-size:19px}
 .wrap{padding:0 28px}
 .lead-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
 .row{grid-template-columns:240px minmax(0,1fr);gap:28px}
 .row-ep{grid-template-columns:132px 1fr;gap:18px}.row-ep img{width:132px;height:132px}
 .cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px}
 .col{border-bottom:0;border-top:1px solid var(--rule);padding:16px 0}
 .hosts{gap:22px}
 .band .inner{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:end;padding:44px 0}
 .band-portrait{flex-direction:column;align-items:flex-start}.band-portrait img{width:200px}
 .show-top{grid-template-columns:300px minmax(0,1fr)}
 .episode{grid-template-columns:minmax(0,1fr) 320px}
 .episode .cover{order:2}
}
@media (min-width:1000px){
 .front{grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);gap:40px}
 .front .rail{border-top:0;border-left:1px solid var(--rule);padding:0 0 0 26px}
 .front .rail h2{border-top:3px solid var(--navy);padding-top:10px}
 .lead h1{font-size:4.1rem}
 .rows{grid-template-columns:1fr 1fr;gap:0 40px}
 .row{grid-template-columns:1fr;gap:12px}
}
@media print{.nav,.player,.actions,.subscribe{display:none}}
.band{width:100vw;margin-left:calc(50% - 50vw)}
.band .inner{max-width:1180px;margin:0 auto}
.masthead .logo img,.slim-mast .logo img,.foot .logo img{width:100%;height:auto}
img{height:auto}
.rail-item img,.row-ep img{height:auto;aspect-ratio:1/1;object-fit:cover}
@media (min-width:700px){.lead-media{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}
.band .inner{padding:30px 18px}
@media (min-width:700px){.band .inner{padding:44px 28px}}
.foot .logo,.slim-mast .logo,.masthead .logo{display:block}
.hosts{max-width:900px}
.host img{aspect-ratio:1/1;object-fit:cover;object-position:top}
/* ===================== v2 tabbed layout ===================== */
.tabs{position:sticky;top:0;z-index:20;background:var(--cream);border-top:3px double var(--navy);border-bottom:1px solid var(--navy)}
.tabs-in{max-width:1180px;margin:0 auto;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 10px;scroll-snap-type:x proximity}
.tabs-in::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;scroll-snap-align:center;font-family:var(--label);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--navy);padding:13px 11px 11px;border-bottom:3px solid transparent;min-height:46px;display:flex;align-items:center}
.tab:hover{border-bottom-color:var(--rule)}
.tab[aria-current]{border-bottom-color:var(--ember);color:var(--navy);background:var(--paper)}
.tab-lions[aria-current]{border-bottom-color:#0076B6}.tab-tigers[aria-current]{border-bottom-color:#FA4616}
.tab-pistons[aria-current]{border-bottom-color:#C8102E}.tab-red-wings[aria-current]{border-bottom-color:#CE1126}
@media (min-width:1000px){.tabs-in{justify-content:center;gap:10px}}
.masthead.compact{padding:14px 0 10px}.masthead.compact .logo{max-width:560px}
.masthead.compact .motto{margin-top:.4rem;font-size:.95rem}
.slim-mast{padding:10px 0 8px}
/* home */
.home-intro{padding:20px 0 4px}
.home-intro h1{font-size:clamp(2rem,8vw,3.2rem);line-height:1.05;letter-spacing:-.02em}
.home-intro .dek{margin-bottom:0}
.home-latest{padding-top:18px}
.home-grid{display:grid;gap:10px}
.home-card{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:center;text-decoration:none;background:var(--paper);border:1px solid var(--rule);border-left:5px solid var(--accent);padding:10px}
.home-card img{width:84px;height:84px;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--rule-soft)}
.hc-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.hc-body .kicker{margin:0;font-size:.66rem}
.hc-title{font-family:var(--display);font-size:1.12rem;line-height:1.2;color:var(--navy)}
.hc-go{font-family:var(--label);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}
.home-card:hover .hc-title{text-decoration:underline;text-decoration-color:var(--accent)}
.home-research{background:var(--navy);color:var(--cream);margin:24px 0 0;padding:22px 18px}
.home-research a{color:var(--cream);text-decoration-color:var(--ember-on-navy)}
.home-research .kicker{color:var(--ember-on-navy)}
.home-research h2{font-size:clamp(1.6rem,6vw,2.4rem);color:var(--cream)}
.home-research .dek{color:#E9E3D8;font-size:1.02rem}
.home-research .btn{border-color:var(--cream);color:var(--cream)}.home-research .btn:hover,.home-research .btn.solid{background:var(--cream);color:var(--navy)}
@media (min-width:700px){.home-grid{grid-template-columns:1fr 1fr}.home-research{padding:30px}}
@media (min-width:1000px){.home-grid{grid-template-columns:repeat(3,1fr)}.home-grid .home-card:first-child{grid-column:span 1}}
/* tab pages */
.tab-head{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:20px 0 14px;border-bottom:1px solid var(--rule)}
.tab-head.plain{grid-template-columns:1fr}
.tab-cover{width:96px;height:96px;border:1px solid var(--rule)}
.tab-head h1{font-size:clamp(2.2rem,9vw,3.6rem);line-height:1;letter-spacing:-.02em;color:var(--accent-large,var(--navy));margin:0 0 .3rem}
.tab-head .dek{font-size:1rem;margin:0}
.jump{display:flex;gap:6px 16px;flex-wrap:wrap;font-family:var(--label);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:12px 0 0}
.jump a{color:var(--accent-text)}
@media (min-width:700px){.tab-head{grid-template-columns:160px 1fr;gap:24px}.tab-cover{width:160px;height:160px}}
.tbl-h{font-family:var(--label);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:16px 0 6px;color:var(--muted)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:2px solid var(--accent)}
table.figs,table.stand{width:100%;border-collapse:collapse;font-family:var(--label);font-size:.9rem}
table.figs th,table.figs td,table.stand th,table.stand td{padding:10px 8px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
table.figs thead th,table.stand thead th{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;background:var(--paper)}
table.figs tbody th{font-weight:700;color:var(--navy)}
table.figs td.num{font-family:var(--display);font-size:1.35rem;font-weight:500;white-space:nowrap;color:var(--navy)}
.num{text-align:right!important}
.basis{display:block;font-weight:400;font-size:.74rem;color:var(--muted);margin-top:2px;line-height:1.35}
td.src{font-size:.82rem}td.src a{color:var(--accent-text)}
tr.computed td.num{font-style:italic}
table.stand{font-size:.92rem}
table.stand tbody th{font-weight:600;white-space:nowrap}
table.stand td{white-space:nowrap;font-variant-numeric:tabular-nums}
table.stand tr.hl{background:var(--paper);box-shadow:inset 4px 0 0 var(--accent)}
table.stand tr.hl th,table.stand tr.hl td{font-weight:800;color:var(--accent-text)}
.tbl-note{margin-top:8px}
.ep-card{display:grid;gap:14px}
.ep-card .ep-img img{width:100%;max-width:220px;border:1px solid var(--rule)}
.ep-card h3{font-size:1.5rem;line-height:1.15}
.ep-card h3 a{text-decoration:none}
@media (min-width:700px){.ep-card{grid-template-columns:220px 1fr;gap:24px}}
.col.solo{border:0;padding-top:0}
.nm-short{display:none}
@media (max-width:560px){.nm-full{display:none}.nm-short{display:inline}table.stand th,table.stand td{padding:9px 5px}table.stand{font-size:.86rem}
 .sect-head{flex-wrap:wrap}.sect-head .meta{flex-basis:100%}}
