
:root{
  --bg:#FBF9F4; --panel:#FFFFFF; --panel2:#F6F2EA; --line:#F0EDE5; --line2:#E6E1D5;
  --text:#0E0B07; --mut:#544D40; --mut2:#8A8270;
  --acc:#1547E8; --acc-deep:#091FA8; --acc-soft:#EEF2FF; --hot:#E64A19; --good:#1f8f4a;
  --warn:#A06800; --warn-bg:#FFF7E8;
  --wordmark:'Fraunces',Georgia,serif; --display:'Space Grotesk',-apple-system,sans-serif;
  --body:'Source Serif 4','Iowan Old Style','Charter',Georgia,serif;
  --mono:'JetBrains Mono','Space Mono',ui-monospace,monospace;
  --shadow:0 1px 2px rgba(14,11,7,.05),0 14px 34px -16px rgba(14,11,7,.18);
}
body{background:
  radial-gradient(circle at 82% -6%, rgba(21,71,232,.04), transparent 40%),
  repeating-linear-gradient(0deg, transparent 0 23px, rgba(14,11,7,.02) 23px 24px),
  var(--bg);}
.scoop{background:transparent; color:var(--acc); border:1px solid var(--acc);}
.card:hover{border-color:var(--acc); box-shadow:var(--shadow); transform:translateY(-2px);}
.btn-primary{background:var(--text); color:var(--bg);} .btn-primary:hover{background:var(--acc);}
.btn-ghost{border:1px solid var(--line2); color:var(--text);} .btn-ghost:hover{border-color:var(--acc); color:var(--acc);}
.ticker{background:#0E0B07; color:#CFC8B8;} .ticker b{color:#FBF9F4;} .ticker .tk-label{background:var(--acc); color:#fff;}
.fallback{background:linear-gradient(135deg,#403B33,#0E0B07);}
h1,h2,h3,h4{font-family:var(--display); letter-spacing:-.01em;}
.card h3, .lead h2, .art h1, .issue-top{font-family:var(--body); font-weight:600;}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--body); color:var(--text); font-size:16.5px; line-height:1.6; min-height:100vh;}
a{color:inherit; text-decoration:none;}
img,svg{max-width:100%; display:block;}
.mono{font-family:var(--mono);}
.wrap{width:min(100% - clamp(32px,4vw,96px), 1840px); margin:0 auto;}
::selection{background:var(--acc); color:#fff;}
.skip{position:absolute; left:-9999px;} .skip:focus{left:12px; top:12px; background:var(--acc); color:#fff; padding:8px 14px; z-index:999;}

/* ticker */
.ticker{font-family:var(--mono); font-size:11.5px; letter-spacing:.04em; overflow:hidden; white-space:nowrap; display:flex; align-items:center;}
.tk-label{padding:7px 14px; font-weight:600; letter-spacing:.12em; flex:none;}
.tk-track{display:inline-block; padding:7px 0; animation:tick 90s linear infinite;}
.ticker:hover .tk-track{animation-play-state:paused;}
.tk-track span{margin:0 26px;}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* responsive hardening — phones, tablets, TVs (2026-07-03 sweep) */
.tk-label{position:relative; z-index:2;}   /* track scrolls beneath, never over */
html,body{max-width:100%; overflow-x:hidden;}
img,svg,video,iframe{max-width:100%;}
h1,h2,h3,.wordmark{overflow-wrap:break-word;}
.cite,.api-pre,code{overflow-wrap:anywhere;}
.nav-in,.daystrip{-webkit-overflow-scrolling:touch; scrollbar-width:thin;}
@media(max-width:760px){
  .wrap{width:min(100% - 28px, 1840px);}
  .masthead{padding:20px 0 12px;}
  .wordmark{font-size:clamp(30px,9.5vw,44px);}
  .tagline{letter-spacing:.2em; font-size:9.5px;}
  .dateline{flex-wrap:wrap; row-gap:4px;}
  .nav-in{height:46px;}
  .sec-head{flex-wrap:wrap;}
  .sec-title{font-size:20px;}
  .kicker{flex-wrap:wrap;}
  .section{padding:28px 0 6px;}
  .ticker{font-size:10.5px;}
  .tk-label{padding:7px 10px;}
  .art h1{font-size:clamp(24px,7.2vw,34px);}
  .art .dek{font-size:15px;}
  .pn{flex-direction:column;}
  .pn a{max-width:100%;}
  .sharebar{flex-wrap:wrap;}
  .card-body{padding:14px 14px 16px;}
  .shelf{grid-auto-columns:minmax(250px,88vw);}
}
@media(min-width:2200px){
  html{font-size:18px;}   /* TV / very large displays: scale type up */
  .wrap{max-width:2080px;}
}

/* masthead */
.dateline{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--mut); border-bottom:1px solid var(--line);}
.dateline a:hover{color:var(--acc);}
.preview-badge{border:1px solid var(--line2); padding:2px 9px; border-radius:99px; font-size:10px; color:var(--mut);}
.masthead{text-align:center; padding:32px 0 20px;}
.wordmark{font-family:var(--wordmark); font-weight:700; font-size:clamp(38px,6vw,62px); letter-spacing:-.01em; line-height:1;}
.wordmark .dot{color:var(--acc);}
.tagline{font-family:var(--mono); font-size:11px; letter-spacing:.34em; color:var(--mut); margin-top:12px; text-transform:uppercase;}

/* nav */
.nav{position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter:blur(10px); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.nav-in{display:flex; align-items:center; gap:2px; height:52px; overflow-x:auto;}
.nav a{font-family:var(--mono); font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; padding:8px 12px; color:var(--mut); border-radius:3px; white-space:nowrap;}
.nav a:hover{color:var(--text);}
.nav a.on{color:var(--acc);}
.nav .spacer{flex:1;}
.nav a.cta{background:var(--acc); color:#fff; font-weight:600;}
.nav a.cta:hover{opacity:.92; color:#fff;}

/* issue strip */
.daystrip{display:flex; gap:6px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); overflow-x:auto;}
.daystrip .dl{font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--mut2); text-transform:uppercase; margin-right:8px; white-space:nowrap;}
.daystrip a{font-family:var(--mono); font-size:11px; padding:4px 10px; border:1px solid var(--line); border-radius:99px; color:var(--mut); white-space:nowrap;}
.daystrip a:hover,.daystrip a.on{border-color:var(--acc); color:var(--acc);}

/* sections */
.section{padding:42px 0 8px;}
.sec-head{display:flex; align-items:baseline; justify-content:space-between; gap:18px; border-bottom:3px solid var(--text); padding-bottom:10px; margin-bottom:22px;}
.sec-title{font-family:var(--display); font-weight:700; font-size:24px;}
.sec-sub{font-family:var(--mono); font-size:10.5px; color:var(--mut2); letter-spacing:.06em; flex:1;}
.sec-link{font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--acc); white-space:nowrap;}
.sec-link:hover{text-decoration:underline;}

/* cards */
.grid{display:grid; gap:20px;}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));}
.shelf{display:grid; grid-auto-flow:column; grid-auto-columns:clamp(280px, calc((100% - 80px)/5), 440px); gap:20px; overflow-x:auto; padding-bottom:10px; scrollbar-width:thin;}
.shelf::-webkit-scrollbar{height:6px;} .shelf::-webkit-scrollbar-thumb{background:var(--line2); border-radius:3px;}
@media(max-width:980px){.shelf{grid-auto-columns:minmax(270px,85vw);}}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:980px){.grid-3,.grid-2{grid-template-columns:1fr;}}
.card{background:var(--panel); border:1px solid var(--line); border-radius:6px; overflow:hidden; transition:all .22s ease; display:flex; flex-direction:column; animation:rise .5s ease both;}
.card:nth-child(2){animation-delay:.06s}.card:nth-child(3){animation-delay:.12s}.card:nth-child(4){animation-delay:.18s}
@keyframes rise{from{opacity:0; transform:translateY(10px)}to{opacity:1; transform:none}}
.media-box{display:flex; flex-direction:column;}
.card-media{aspect-ratio:16/9; overflow:hidden; background:var(--panel2); position:relative; flex:1;}
.card-media img,.card-media svg{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.card:hover .card-media img{transform:scale(1.04);}
.fallback{width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#fff; font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;}
.card-cap{font-family:var(--mono); font-size:10px; color:var(--mut2); padding:6px 16px; border-bottom:1px solid var(--line);}
.card-body{padding:18px 18px 20px; display:flex; flex-direction:column; gap:10px; flex:1;}
.kicker{display:flex; justify-content:space-between; align-items:center; gap:10px; font-family:var(--mono); font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--mut);}
.kicker .desk{color:var(--acc); font-weight:600;}
.kicker a:hover{text-decoration:underline;}
.scoop{font-family:var(--mono); font-size:10.5px; font-weight:600; letter-spacing:.06em; padding:3px 9px; border-radius:99px; white-space:nowrap;}
.card h3{font-size:clamp(17px,.4vw + 15px,19px); line-height:1.34; font-weight:650;}
.card h3 a:hover{color:var(--acc);}
.card .sum{font-size:14.5px; color:var(--mut); line-height:1.62; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-family:var(--body);}
.card .more{font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--acc); margin-top:auto;}
.card .more:hover{text-decoration:underline;}
.badges{display:flex; gap:6px; flex-wrap:wrap;}
.vbadge{font-family:var(--mono); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; padding:2px 8px; border-radius:99px; border:1px solid var(--line2); color:var(--mut);}
.vbadge.ok{border-color:var(--good); color:var(--good);}
.vbadge.note{border-color:var(--warn); color:var(--warn);}
.vbadge.hot{border-color:var(--hot); color:var(--hot);}

/* front 3-col */
.front-grid{display:grid; grid-template-columns:minmax(230px,.72fr) minmax(560px,2fr) minmax(300px,.92fr); gap:28px; padding:30px 0 8px; align-items:start;}
@media(max-width:1380px){.front-grid{grid-template-columns:minmax(0,2fr) minmax(300px,.95fr);}.front-rail-l{display:none;}}
@media(max-width:980px){.front-grid{grid-template-columns:1fr;}}
.front-rail-l,.desk-rail{position:sticky; top:72px; display:flex; flex-direction:column; gap:16px; min-width:0;}
.lead-grid{display:grid; grid-template-columns:1fr; gap:26px; padding:0;}
.desk-grid{display:grid; grid-template-columns:minmax(0,2.3fr) minmax(300px,.9fr); gap:30px; align-items:start;}
@media(max-width:1080px){.desk-grid{grid-template-columns:1fr;}.desk-rail{display:none;}}
.lead .card-media{aspect-ratio:16/8.5;}
.lead h2{font-size:clamp(26px,3.4vw,38px); line-height:1.18; font-weight:750; margin:8px 0 4px;}
.lead h2 a:hover{color:var(--acc);}
.lead .sum{-webkit-line-clamp:4; font-size:15px;}
.rail{display:flex; flex-direction:column; gap:18px;}
.rail-box{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:18px 20px;}
.rail-box h4{font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--mut); border-bottom:1px solid var(--line); padding-bottom:9px; margin-bottom:12px;}
.hot-item{display:flex; gap:12px; align-items:baseline; padding:8px 0; border-bottom:1px solid var(--line);}
.hot-item:last-child{border:none;}
.hot-rank{font-family:var(--mono); font-size:12px; color:var(--acc); font-weight:600; flex:none;}
.hot-item a{font-family:var(--display); font-size:15px; line-height:1.4; font-weight:600;}
.hot-item a:hover{color:var(--acc);}
.hot-scoop{margin-left:auto; font-family:var(--mono); font-size:10.5px; color:var(--mut2); flex:none; white-space:nowrap;}
.btn{display:inline-block; font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:11px 20px; border-radius:4px; font-weight:600; transition:all .18s ease; cursor:pointer; border:none;}

/* wire river */
.river .riv{display:grid; grid-template-columns:120px 92px 1fr auto; gap:14px; align-items:baseline; padding:12px 4px; border-bottom:1px dashed var(--line); font-size:15.5px;}
.river .riv:hover{background:var(--panel);}
@media(max-width:760px){.river .riv{grid-template-columns:90px 1fr;}}
.riv .rd{font-family:var(--mono); font-size:11px; color:var(--mut2);}
.riv .rk{font-family:var(--mono); font-size:10.5px; color:var(--acc); letter-spacing:.08em;}
.riv a{font-weight:600; font-family:var(--display);}
.riv a:hover{color:var(--acc);}
.riv .rs{font-family:var(--mono); font-size:10.5px; color:var(--mut2);}

/* doc rail */
.doc-item{padding:10px 0; border-bottom:1px solid var(--line); font-size:13.5px; line-height:1.5;}
.doc-item:last-child{border:none;}
.doc-item .dt{font-family:var(--mono); font-size:9.5px; letter-spacing:.1em; color:var(--good); text-transform:uppercase;}
.doc-item a{font-weight:600;} .doc-item a:hover{color:var(--acc); text-decoration:underline;}

/* newsletter module */
.nlbox{border:1px solid var(--acc); border-radius:6px; background:var(--acc-soft); padding:24px 26px; margin:42px 0 0;}
.nlbox h3{font-size:20px; font-weight:750; margin-bottom:4px;}
.nlbox p{font-size:13px; color:var(--mut); margin-bottom:14px;}
.nlform{display:flex; gap:10px; flex-wrap:wrap;}
.nlform input[type=email]{flex:1; min-width:220px; background:var(--panel); border:1px solid var(--line2); border-radius:4px; color:var(--text); font-family:var(--mono); font-size:13px; padding:11px 14px; outline:none;}
.nlform input[type=email]:focus{border-color:var(--acc);}
.nl-note{font-family:var(--mono); font-size:10px; color:var(--mut2); margin-top:10px; letter-spacing:.05em;}
.nl-hp{position:absolute; left:-9999px; opacity:0;}

/* strips */
.method{margin:46px 0 0; border:1px solid var(--line); border-radius:6px; background:var(--panel2); padding:22px 26px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media(max-width:980px){.method{grid-template-columns:1fr;}}
.method h5{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--acc); margin-bottom:7px;}
.method p{font-size:13.5px; color:var(--mut); line-height:1.6;}
.band{margin:50px 0 0; border:1px solid var(--line); border-radius:6px; background:var(--panel); padding:34px 36px; display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap;}
.band h3{font-size:24px; font-weight:700;}
.band p{font-family:var(--mono); font-size:11.5px; color:var(--mut); margin-top:6px; letter-spacing:.04em;}

/* footer */
footer{margin-top:64px; border-top:1px solid var(--line); background:var(--panel);}
.foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:30px; padding:42px 0;}
@media(max-width:980px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-brand .fm{font-family:var(--wordmark); font-weight:700; font-size:22px;}
.foot-brand p{font-size:12.5px; color:var(--mut); margin-top:10px; max-width:300px; line-height:1.6;}
.foot-col h5{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--mut2); margin-bottom:12px;}
.foot-col a{display:block; font-size:13.5px; color:var(--mut); padding:3.5px 0;}
.foot-col a:hover{color:var(--acc);}
.foot-legal{border-top:1px solid var(--line); padding:16px 0; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; color:var(--mut2);}
.foot-legal a:hover{color:var(--acc);}

/* article */
.art-grid{display:grid; grid-template-columns:minmax(200px,.8fr) minmax(0,2.1fr) minmax(260px,.95fr); gap:36px; width:min(100% - clamp(32px,4vw,96px), 1840px); margin:0 auto; padding:38px 0 26px; align-items:start;}
.art{min-width:0;}
@media(max-width:1180px){.art-grid{grid-template-columns:1fr; max-width:840px;}.art-rail-l,.art-rail-r{display:none;}}
.art-rail-l{position:sticky; top:72px; display:flex; flex-direction:column; gap:16px;}
.art-rail-r{position:sticky; top:72px; display:flex; flex-direction:column; gap:16px;}
.glance{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--acc); border-radius:6px; padding:16px 20px; margin:0 0 22px;}
.glance h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--acc); margin-bottom:9px;}
.glance ul{margin:0; padding-left:18px;}
.glance li{font-size:14.5px; line-height:1.65; color:var(--text); margin:4px 0;}
.art .body p{font-size:17px; line-height:1.82;}
.art .body > p:first-of-type::first-letter{font-family:var(--display); font-size:3.1em; font-weight:700; float:left; line-height:.85; padding:4px 10px 0 0; color:var(--acc);}
.bodyhead{font-family:var(--display); font-weight:700; font-size:19px; margin:28px 0 10px; padding-top:18px; border-top:1px solid var(--line);}
.filecard{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:16px 18px;}
.filecard h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--mut2); border-bottom:1px solid var(--line); padding-bottom:8px; margin-bottom:10px;}
.filecard .fr{display:flex; justify-content:space-between; gap:10px; font-size:12.5px; padding:5px 0; color:var(--mut);}
.filecard .fr b{font-family:var(--mono); font-size:11px; color:var(--text); text-align:right;}
.filecard .btn{width:100%; text-align:center; margin-top:10px;}
.art{max-width:none; margin:0; padding:0; min-width:0;}
.art .crumbs{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--mut2); margin-bottom:18px;}
.art .crumbs a{color:var(--acc);}
.art h1{font-size:clamp(28px,4vw,42px); line-height:1.16; font-weight:760; margin:10px 0 10px;}
.art .dek{font-size:18px; line-height:1.55; color:var(--mut); font-family:var(--body); margin-bottom:16px;}
.art .meta{display:flex; gap:10px; flex-wrap:wrap; align-items:center; font-family:var(--mono); font-size:11px; color:var(--mut); letter-spacing:.06em; text-transform:uppercase; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:22px;}
.art .byline{font-family:var(--mono); font-size:11.5px; color:var(--text); letter-spacing:.04em;}
.art-fig{margin:0 0 8px; border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.art-fig img,.art-fig svg{width:100%; max-height:480px; object-fit:cover;}
.art-fig figcaption{font-family:var(--mono); font-size:10.5px; color:var(--mut2); padding:8px 14px; border-top:1px solid var(--line);}
.art .body p{font-size:17.5px; line-height:1.85; margin:19px 0;}
.whybox{margin:26px 0; border-left:3px solid var(--acc); background:var(--acc-soft); border-radius:0 4px 4px 0; padding:16px 22px;}
.whybox h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--acc); margin-bottom:6px;}
.whybox p{font-size:14.5px; line-height:1.65;}
.factbox{margin:28px 0; border:1px solid var(--line2); border-left:3px solid var(--acc); border-radius:4px; background:var(--panel); padding:20px 24px;}
.factbox h4{font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--acc); margin-bottom:12px;}
.factbox li{font-size:14.5px; color:var(--mut); line-height:1.6; margin:7px 0 7px 18px;}
.notebox{margin:24px 0; border:1px solid var(--warn); border-radius:4px; background:var(--warn-bg); padding:16px 20px;}
.notebox h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--warn); margin-bottom:8px;}
.notebox li,.notebox p{font-size:13px; color:var(--mut); line-height:1.6; margin-left:16px;}
.docpanel{margin:26px 0; border:1px solid var(--good); border-radius:4px; padding:16px 20px; background:var(--panel);}
.docpanel h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--good); margin-bottom:8px;}
.docpanel a{font-weight:650;} .docpanel a:hover{color:var(--acc); text-decoration:underline;}
.docpanel .dp-meta{font-family:var(--mono); font-size:10.5px; color:var(--mut2); margin-top:4px;}
.ent-row{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:24px 0;}
.ent-label{font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--mut2);}
.chip{font-family:var(--mono); font-size:10.5px; padding:3px 10px; border:1px solid var(--line2); border-radius:99px; color:var(--mut); letter-spacing:.05em;}
a.chip:hover{border-color:var(--acc); color:var(--acc);}
.src-block{margin:30px 0; border:1px solid var(--line); border-radius:6px; background:var(--panel);}
.src-block h4{font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--mut); padding:14px 20px; border-bottom:1px solid var(--line);}
.src-item{display:flex; gap:12px; align-items:baseline; padding:12px 20px; border-bottom:1px dashed var(--line); font-size:14.5px;}
.src-item:last-child{border:none;}
.src-tag{font-family:var(--mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; padding:2px 8px; border-radius:99px; border:1px solid var(--acc); color:var(--acc); flex:none;}
.src-tag.corr{border-color:var(--line2); color:var(--mut2);}
.src-tag.doc{border-color:var(--good); color:var(--good);}
.src-item a{font-weight:600;}
.src-item a:hover{color:var(--acc); text-decoration:underline;}
.src-meta{font-family:var(--mono); font-size:11px; color:var(--mut2);}
.updates{margin:26px 0; border:1px solid var(--line); border-radius:6px; background:var(--panel2); padding:16px 22px;}
.updates h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--mut); margin-bottom:10px;}
.updates .u{display:flex; gap:12px; font-size:12.5px; color:var(--mut); padding:5px 0; line-height:1.55;}
.updates .ud{font-family:var(--mono); font-size:10.5px; color:var(--acc); flex:none;}
.cite{margin:30px 0; font-family:var(--mono); font-size:11px; color:var(--mut2); border:1px dashed var(--line2); border-radius:4px; padding:14px 18px; line-height:1.7; word-break:break-all;}
.sharebar{display:flex; gap:10px; align-items:center; margin:24px 0 0;}
.sharebar button{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; padding:7px 14px; border:1px solid var(--line2); border-radius:99px; background:none; color:var(--mut); cursor:pointer;}
.sharebar button:hover{border-color:var(--acc); color:var(--acc);}
.pn{display:flex; justify-content:space-between; gap:16px; margin:36px 0 0; padding-top:22px; border-top:1px solid var(--line);}
.pn a{font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--acc); max-width:46%;}
.pn a:hover{text-decoration:underline;}
#prog{position:fixed; top:0; left:0; height:2px; background:var(--acc); width:0; z-index:99;}

/* desk/issue lists */
.row-card{display:grid; grid-template-columns:220px 1fr; gap:0; background:var(--panel); border:1px solid var(--line); border-radius:6px; overflow:hidden; transition:all .2s ease; margin-bottom:16px;}
.row-card:hover{border-color:var(--acc); box-shadow:var(--shadow);}
@media(max-width:760px){.row-card{grid-template-columns:1fr;}}
.row-card .media-box{height:100%;}
.row-card .card-media{aspect-ratio:auto; min-height:150px;}
.page-head{padding:38px 0 6px;}
.page-head .pk{font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--acc); margin-bottom:10px;}
.page-head h1{font-size:clamp(28px,4vw,40px); font-weight:760; line-height:1.15;}
.page-head .pd{font-size:14.5px; color:var(--mut); margin-top:10px; max-width:640px;}
.filter{margin:20px 0 4px; display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.filter input{flex:1; min-width:240px; max-width:420px; background:var(--panel); border:1px solid var(--line2); border-radius:4px; color:var(--text); font-family:var(--mono); font-size:12.5px; padding:10px 14px; outline:none;}
.filter input:focus{border-color:var(--acc);}
.subtabs{display:flex; gap:6px; flex-wrap:wrap;}
.subtabs button{font-family:var(--mono); font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; padding:5px 12px; border:1px solid var(--line); border-radius:99px; background:none; color:var(--mut); cursor:pointer;}
.subtabs button:hover,.subtabs button.on{border-color:var(--acc); color:var(--acc);}

/* issue index */
.issue-row{display:flex; align-items:center; gap:20px; padding:18px 20px; background:var(--panel); border:1px solid var(--line); border-radius:6px; margin-bottom:12px; transition:all .2s ease;}
.issue-row:hover{border-color:var(--acc); box-shadow:var(--shadow);}
.issue-date{font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:var(--acc); font-weight:600; width:150px; flex:none;}
.issue-top{font-size:15px; font-weight:600; flex:1; line-height:1.4; font-family:var(--display);}
.issue-n{font-family:var(--mono); font-size:10.5px; color:var(--mut2); white-space:nowrap;}

/* pricing */
.tier-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; margin:30px 0;}
.tier{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:26px 24px; display:flex; flex-direction:column; gap:14px; transition:all .2s ease;}
.tier:hover{border-color:var(--acc); box-shadow:var(--shadow); transform:translateY(-3px);}
.tier.hi{border-color:var(--acc);}
.tier .t-name{font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--acc);}
.tier .t-price{font-family:var(--display); font-size:34px; font-weight:750;}
.tier .t-per{font-family:var(--mono); font-size:10.5px; color:var(--mut2); letter-spacing:.06em;}
.tier ul{list-style:none; flex:1;}
.tier li{font-size:14px; color:var(--mut); padding:6px 0 6px 18px; position:relative; line-height:1.5;}
.tier li::before{content:'›'; position:absolute; left:0; color:var(--acc); font-weight:700;}
.retainer{border:1px solid var(--acc-deep); border-radius:6px; background:var(--acc-soft); padding:26px 30px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}
.prose{max-width:760px;}
.prose h2{font-size:22px; font-weight:720; margin:34px 0 12px;}
.prose h3{font-size:17px; font-weight:700; margin:24px 0 8px;}
.prose p,.prose li{font-size:15.5px; color:var(--mut); line-height:1.75; margin:12px 0;}
.prose li{margin:6px 0 6px 20px;}
.prose strong{color:var(--text);}
.prose a{color:var(--acc);} .prose a:hover{text-decoration:underline;}

/* search */
.search-res .riv{grid-template-columns:120px 1fr auto;}
.noscript-note{font-family:var(--mono); font-size:11px; color:var(--mut); padding:12px; border:1px dashed var(--line2); border-radius:4px; margin:14px 0;}

/* layout refinements — NYT/WaPo/Le Monde reference (launch/LAYOUT-REFERENCE.md) */
.front-rail-l{border-right:1px solid var(--line); padding-right:24px;}
.front-grid > .rail{border-left:1px solid var(--line); padding-left:24px;}
@media(max-width:980px){.front-rail-l,.front-grid > .rail{border:none; padding:0;}}
.rank-num{font-family:var(--display); font-size:21px; font-weight:300; color:var(--acc); line-height:1; min-width:24px; flex:none;}
.rank-date{font-family:var(--mono); font-size:9.5px; color:var(--mut2); margin-left:auto; white-space:nowrap; flex:none;}
.related-files{border-top:1px solid var(--line); margin-top:6px; padding-top:2px;}
.related-files .rf-label{font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--mut2); padding:8px 0 3px;}
.rf-item{display:flex; gap:10px; align-items:baseline; padding:7px 0; border-bottom:1px solid var(--line); font-size:14.5px;}
.rf-item:last-child{border-bottom:none;}
.rf-item .rf-desk{font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--acc); flex:none;}
.rf-item a{font-family:var(--display); font-weight:600; line-height:1.4;}
.rf-item a:hover{color:var(--acc);}
.rf-item .rf-date{font-family:var(--mono); font-size:10px; color:var(--mut2); margin-left:auto; white-space:nowrap; flex:none;}
.dk-markets{--desk-c:#1547E8;} .dk-cyber{--desk-c:#0F38C0;} .dk-memos{--desk-c:#2F5BF0;} .dk-models{--desk-c:#4A73F0;}
.dk-crowns{--desk-c:#9A7821;} .dk-capitals{--desk-c:#1547E8;} .dk-coffers{--desk-c:#1f8f4a;} .dk-couriers{--desk-c:#B45309;}
.sec-head.dk{border-bottom-color:var(--desk-c);}
.sec-head.dk .sec-title::before{content:''; display:inline-block; width:11px; height:11px; background:var(--desk-c); margin-right:10px;}
.page-head.dk{border-top:3px solid var(--desk-c); padding-top:30px;}
.page-head.dk .pk{color:var(--desk-c);}
.longfile{margin:50px 0 0; border-top:3px solid var(--text); background:var(--panel2); border-radius:0 0 6px 6px; padding:30px 34px; display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap;}
.longfile .lf-kick{font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--acc); margin-bottom:8px;}
.longfile h3{font-family:var(--wordmark); font-style:italic; font-weight:600; font-size:clamp(22px,2.2vw,29px); line-height:1.25; max-width:760px;}
.longfile p{font-size:13.5px; color:var(--mut); margin-top:8px; max-width:680px; line-height:1.6;}

/* ---- member area (unlocked preview) — appended classes only ---- */
.member-banner{background:var(--text); color:var(--bg); border-bottom:3px solid var(--acc);}
.member-banner-in{display:flex; align-items:center; gap:16px; padding:11px 0; flex-wrap:wrap;}
.mb-tag{font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.2em; background:var(--acc); color:#fff; padding:4px 12px; border-radius:99px; white-space:nowrap;}
.mb-copy{font-family:var(--mono); font-size:11px; line-height:1.55; letter-spacing:.02em; opacity:.88; flex:1; min-width:280px;}
.mb-link{font-family:var(--mono); font-size:11px; letter-spacing:.14em; font-weight:700; color:var(--bg); border-bottom:1px dashed currentColor; white-space:nowrap;}
.mb-link:hover{opacity:.7;}
.acct-card{background:var(--panel); border:1px solid var(--acc); border-radius:6px; padding:24px 26px; display:grid; grid-template-columns:1.25fr .75fr; gap:26px; align-items:start; margin-top:22px;}
@media(max-width:760px){.acct-card{grid-template-columns:1fr;}}
.acct-kick{font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--acc); margin-bottom:8px;}
.acct-plan{font-family:var(--display); font-size:26px; font-weight:750; display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.acct-status{font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.08em; color:var(--good); border:1px solid var(--good); padding:2px 10px; border-radius:99px; white-space:nowrap;}
.acct-rows{margin-top:12px; border-top:1px solid var(--line);}
.acct-rows .fr2{display:flex; justify-content:space-between; gap:14px; font-size:13px; color:var(--mut); padding:7px 0; border-bottom:1px dashed var(--line);}
.acct-rows .fr2 b{font-family:var(--mono); font-size:11.5px; color:var(--text); text-align:right;}
.acct-actions{display:flex; flex-direction:column; gap:10px;}
.acct-actions .btn{text-align:center;}
.acct-actions .acct-note{font-family:var(--mono); font-size:10px; color:var(--mut2); letter-spacing:.04em; line-height:1.6;}
.mem-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin:22px 0 6px;}
.mem-tile{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:18px 18px 16px; transition:all .2s ease; display:flex; flex-direction:column; gap:7px;}
.mem-tile:hover{border-color:var(--acc); box-shadow:var(--shadow); transform:translateY(-2px);}
.mem-tile .mt-k{font-family:var(--mono); font-size:10px; letter-spacing:.18em; color:var(--acc); text-transform:uppercase; font-weight:700;}
.mem-tile p{font-size:12.5px; color:var(--mut); line-height:1.55; flex:1;}
.mem-tile .mt-go{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; color:var(--acc);}
.cadence-line{font-family:var(--mono); font-size:11px; letter-spacing:.05em; color:var(--mut); border:1px dashed var(--line2); border-radius:4px; padding:12px 16px; margin:22px 0 0; line-height:1.7;}
.doc-head{border:1px solid var(--line2); border-top:4px solid var(--text); border-radius:0 0 6px 6px; background:var(--panel); padding:30px 34px 24px; margin:26px 0 0;}
.doc-no{display:flex; gap:18px; flex-wrap:wrap; font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--mut2);}
.doc-no b{color:var(--acc);}
.doc-head h1{font-size:clamp(26px,3.4vw,38px); line-height:1.2; margin:14px 0 8px; font-weight:760;}
.doc-stand{font-size:14.5px; color:var(--mut); line-height:1.65; max-width:860px;}
.doc-band{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; background:var(--acc-soft); color:var(--acc-deep); border:1px solid var(--acc); border-radius:4px; padding:9px 14px; margin:16px 0 0; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.mtable{width:100%; border-collapse:collapse; margin:20px 0; font-size:13.5px; background:var(--panel); border:1px solid var(--line);}
.mtable th{font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); text-align:left; padding:10px 12px; border-bottom:2px solid var(--text); background:var(--panel2);}
.mtable td{padding:9px 12px; border-bottom:1px solid var(--line); vertical-align:top; line-height:1.55; color:var(--mut);}
.mtable tr:hover td{background:var(--panel2);}
.mtable-wrap{overflow-x:auto;}
.alert-row{display:flex; gap:16px; align-items:flex-start; background:var(--panel); border:1px solid var(--line); border-left-width:4px; border-radius:6px; padding:16px 18px; margin-bottom:12px;}
.alert-row.lvl-b-flash{border-left-color:var(--hot);} .alert-row.lvl-b-urgent{border-left-color:var(--warn);} .alert-row.lvl-b-watch{border-left-color:var(--acc);}
.lvl{font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.16em; padding:3px 10px; border-radius:99px; white-space:nowrap; flex:none; margin-top:2px;}
.lvl-flash{background:var(--hot); color:#fff;} .lvl-urgent{background:var(--warn); color:#fff;} .lvl-watch{background:var(--acc); color:#fff;}
.alert-main{flex:1; min-width:0;}
.alert-head{font-family:var(--display); font-weight:650; font-size:15.5px; line-height:1.4;}
.alert-why{font-family:var(--mono); font-size:11px; color:var(--warn); margin-top:4px; letter-spacing:.03em;}
.alert-meta{font-family:var(--mono); font-size:10.5px; color:var(--mut2); margin-top:5px; letter-spacing:.03em; line-height:1.6;}
.alert-score{font-family:var(--mono); font-size:12px; color:var(--acc); font-weight:600; white-space:nowrap; flex:none;}
.delivery-row{display:flex; gap:10px; align-items:center; flex-wrap:wrap; background:var(--panel2); border:1px solid var(--line); border-radius:6px; padding:14px 18px; margin:22px 0 0; font-family:var(--mono); font-size:11px; color:var(--mut); letter-spacing:.06em;}
.delivery-row .chip{background:var(--panel);}
.sla-line{font-family:var(--mono); font-size:11px; color:var(--good); border:1px solid var(--good); border-radius:4px; padding:10px 14px; margin:12px 0 0; letter-spacing:.05em;}
.watch-row{display:grid; grid-template-columns:190px 160px 80px 1fr; gap:14px; align-items:baseline; background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:14px 18px; margin-bottom:10px;}
@media(max-width:980px){.watch-row{grid-template-columns:1fr;}}
.watch-ent{font-family:var(--display); font-weight:700; font-size:16px;}
.watch-desks{font-family:var(--mono); font-size:10px; letter-spacing:.08em; color:var(--acc); text-transform:uppercase;}
.watch-n{font-family:var(--mono); font-size:11px; color:var(--mut2); white-space:nowrap;}
.watch-latest{font-size:13.5px; line-height:1.55;}
.watch-latest a{font-weight:600;} .watch-latest a:hover{color:var(--acc);}
.watch-add{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:22px 0 0;}
.watch-add input{flex:1; min-width:240px; max-width:440px; background:var(--panel2); border:1px dashed var(--line2); border-radius:4px; color:var(--mut2); font-family:var(--mono); font-size:12px; padding:10px 14px;}
.api-pre{background:#0E0B07; color:#EDEAE2; font-family:var(--mono); font-size:12px; line-height:1.75; border-radius:6px; padding:16px 20px; overflow-x:auto; margin:12px 0 20px; white-space:pre;}
.st-pill{font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:.1em; padding:2px 9px; border-radius:99px; white-space:nowrap;}
.st-live{border:1px solid var(--good); color:var(--good);}
.st-staged{border:1px solid var(--warn); color:var(--warn);}
.cmp-yes{color:var(--good); font-weight:700; font-size:15px;}
.cmp-no{color:var(--mut2);}
.cmp-spec{font-family:var(--mono); font-size:10.5px; color:var(--acc); letter-spacing:.03em;}
.cmp-table td,.cmp-table th{text-align:center;}
.cmp-table td:first-child,.cmp-table th:first-child{text-align:left;}
.cmp-table td:first-child{color:var(--text); font-weight:600; font-size:13px; font-family:var(--display);}
.cmp-price{font-family:var(--mono); font-size:10px; font-weight:400; color:var(--mut2); display:block; margin-top:4px; letter-spacing:.02em; text-transform:none;}
