:root{
  --ink:#111318; --paper:#ffffff; --soft:#f4f5f7; --line:#dfe3e8;
  --muted:#69717d; --red:#e32837; --blue:#1478c8; --dark:#0c1016;
  --max:1220px; --gutter:clamp(14px,2.5vw,34px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input{font:inherit}
.site-width{width:min(var(--max),calc(100% - (var(--gutter) * 2)));margin-inline:auto}

/* Utility strip */
.utility{background:#0b0d11;color:#fff;font-size:12px}
.utility-inner{min-height:40px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.utility-links{display:flex;gap:18px;flex-wrap:wrap}
.utility-tag{letter-spacing:1.4px;color:#b9c0ca;white-space:nowrap}

/* Masthead */
.masthead{background:#fff;border-bottom:1px solid var(--line)}
.masthead-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:clamp(20px,3vw,34px) 0 20px}
.logo{font-family:Arial Black,Arial,sans-serif;font-size:clamp(42px,7vw,78px);font-weight:900;letter-spacing:clamp(-5px,-.3vw,-2px);line-height:.88}
.logo:after{content:"";display:block;width:clamp(80px,10vw,118px);height:7px;background:var(--red);margin-top:10px}
.strap{margin-top:11px;font-size:clamp(10px,1.1vw,12px);letter-spacing:clamp(1px,.18vw,2.2px);font-weight:700}
.masthead-note{font-weight:900;font-size:13px;letter-spacing:1.4px;text-align:right}

/* Nav */
.primary-nav{background:#fff;border-bottom:3px solid var(--ink);position:sticky;top:0;z-index:30}
.nav-shell{position:relative}
.nav-links{display:flex;gap:clamp(14px,2vw,25px);align-items:center;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a{padding:14px 0;font-weight:800;white-space:nowrap;font-size:14px}
.nav-links a:hover{color:var(--red)}
.nav-toggle{display:none;background:none;border:0;font-weight:900;padding:13px 0;cursor:pointer}

/* Breaking */
.breaking{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-weight:800;min-width:0}
.breaking span{flex:0 0 auto;background:var(--red);color:#fff;padding:5px 9px;font-size:11px;letter-spacing:1px}
.breaking a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Lead area */
.lead-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(20px,3vw,32px);padding:clamp(24px,3vw,34px) 0}
.lead-story,.story-card,.compact-card{min-width:0}
.lead-image{width:100%;aspect-ratio:16/9;object-fit:cover}
.lead-story h1{font-family:Georgia,serif;font-size:clamp(34px,4.6vw,62px);line-height:1.01;margin:10px 0}
.lead-story p{font-size:clamp(16px,1.5vw,19px);color:#555c65}
.story-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1.25px;color:var(--red);margin-top:12px}
.byline{font-size:12px;color:var(--muted);font-weight:700}
.secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,22px)}
.story-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.story-card h2{font-family:Georgia,serif;font-size:clamp(18px,2vw,22px);line-height:1.08;margin:7px 0}

/* Sections */
.section{padding:clamp(24px,3vw,34px) 0;border-top:4px solid var(--ink)}
.section-title{display:flex;justify-content:space-between;gap:18px;align-items:end;border-bottom:1px solid var(--line);margin-bottom:22px}
.section-title h2{font-family:Georgia,serif;font-size:clamp(27px,3vw,34px);line-height:1.05;margin:0 0 10px}
.section-title span{font-size:12px;font-weight:800;color:var(--red);margin-bottom:12px;white-space:nowrap}
.wire-grid,.compact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.wire-grid article{min-width:0;border-right:1px solid var(--line);padding-right:18px}
.wire-grid article:last-child{border-right:0}
.wire-meta{font-size:11px;color:var(--muted);font-weight:800}
.wire-grid h3,.compact-grid h3{font-family:Georgia,serif;font-size:clamp(18px,1.8vw,21px);line-height:1.12;margin:7px 0}
.wire-grid p{font-size:14px;color:#595f68}
.compact-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* Chart & events */
.two-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}
.dark-panel{min-width:0;background:var(--dark);color:#fff;padding:clamp(20px,2.5vw,28px)}
.section-title.light{border-color:#333a45}
.chart-list{list-style:none;padding:0;margin:0}
.chart-list li,.event-row{display:flex;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #303640;min-width:0}
.chart-list li>span{width:38px;flex:0 0 38px;font-size:22px;font-weight:900;color:#53a8ee}
.chart-list div,.event-row div{min-width:0}
.chart-list strong,.event-row strong{display:block;overflow-wrap:anywhere}
.chart-list small,.event-row small{display:block;color:#9ca8b6}
.event-row time{width:58px;flex:0 0 58px;color:#ff6c75;font-weight:900}
.empty{color:#aab3bf}

/* Poll */
.poll-box{margin:34px 0;padding:clamp(22px,3vw,34px);border:2px solid var(--ink)}
.poll-box h2{font-family:Georgia,serif;font-size:clamp(26px,3vw,34px)}
.poll-option{display:block;padding:9px 0}
.poll-box button,.newsletter button{border:0;background:var(--red);color:#fff;font-weight:900;padding:12px 18px;cursor:pointer}

/* Newsletter */
.newsletter{background:#11151c;color:#fff;padding:clamp(26px,4vw,46px);margin:42px 0}
.newsletter h2{margin:0;font-size:clamp(24px,3vw,31px)}
.newsletter p{color:#b9c0cb}
.newsletter-form{display:flex;max-width:700px}
.newsletter input{flex:1;min-width:0;padding:13px;border:0}

/* Footer */
footer{background:#0a0c10;color:#fff;margin-top:50px;padding:40px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}
.footer-logo{font-size:24px;font-weight:900}
.footer-grid p{color:#aeb7c2}
.copyright{border-top:1px solid #2a3038;padding-top:18px;margin-top:30px;color:#8f99a6;font-size:12px}

/* Article pages */
.article-shell{width:min(900px,calc(100% - (var(--gutter) * 2)));margin:clamp(30px,5vw,52px) auto 80px}
.article-shell h1{font-family:Georgia,serif;font-size:clamp(38px,6.2vw,72px);line-height:1.02;margin:7px 0 14px;overflow-wrap:anywhere}
.dek{font-size:clamp(18px,2vw,22px);color:#5c626b}
.article-image{width:100%;max-width:100%;margin:clamp(22px,4vw,34px) auto;overflow:hidden}
.article-image img,.article-body img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin:22px auto!important;float:none!important;position:static!important;left:auto!important;right:auto!important;transform:none!important;object-fit:contain!important;object-position:center!important}
.article-body{font-family:Georgia,serif;font-size:clamp(17px,1.8vw,20px);overflow-wrap:anywhere}
.article-body p{margin:0 0 1.25em}
.article-body h2,.article-body h3{font-family:Arial,Helvetica,sans-serif;line-height:1.16}
.article-body iframe,.article-body video{max-width:100%}
.article-body table{display:block;max-width:100%;overflow-x:auto}
.sources{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-family:Arial,Helvetica,sans-serif}

/* Tablet */
@media (max-width: 980px){
  .masthead-note{display:none}
  .lead-grid{grid-template-columns:1fr}
  .secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wire-grid,.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wire-grid article:nth-child(2n){border-right:0}
  .two-panel{grid-template-columns:1fr}
}

/* Mobile nav + phone */
@media (max-width: 760px){
  .utility{display:none}
  .masthead-inner{padding:20px 0 15px}
  .logo{font-size:clamp(42px,15vw,62px);letter-spacing:-3px}
  .strap{font-size:9px;letter-spacing:1.2px}
  .primary-nav{position:sticky;top:0}
  .nav-toggle{display:block;width:100%;text-align:left}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-top:0;padding:8px 16px 14px;box-shadow:0 14px 30px rgba(0,0,0,.12);overflow:visible;flex-direction:column;align-items:stretch;gap:0}
  .nav-links.is-open{display:flex}
  .nav-links a{padding:10px 0;border-bottom:1px solid var(--line)}
  .breaking{font-size:13px}
  .lead-grid{padding-top:20px}
  .secondary-grid{grid-template-columns:1fr 1fr}
  .section-title{align-items:flex-start}
  .section-title span{display:none}
  .wire-grid,.compact-grid{grid-template-columns:1fr 1fr}
  .newsletter-form{flex-direction:column;gap:10px}
  .newsletter input,.newsletter button{width:100%}
  .footer-grid{grid-template-columns:1fr}
}

/* Small phones */
@media (max-width: 520px){
  .site-width{width:min(var(--max),calc(100% - 24px))}
  .secondary-grid,.wire-grid,.compact-grid{grid-template-columns:1fr}
  .wire-grid article{border-right:0;padding-right:0;padding-bottom:18px;border-bottom:1px solid var(--line)}
  .lead-story h1{font-size:clamp(32px,10vw,46px)}
  .story-card h2,.wire-grid h3,.compact-grid h3{font-size:21px}
  .article-shell{width:calc(100% - 24px)}
  .chart-list li,.event-row{align-items:flex-start}
}

/* Very large displays */
@media (min-width: 1500px){
  :root{--max:1320px}
}

/* v0.4 public modules */
.ad-slot{width:100%;margin:24px auto;text-align:center;overflow:hidden}.ad-slot img{display:block;width:100%;max-width:970px;height:auto;margin:0 auto;object-fit:contain}.ad-billboard img{max-width:970px;max-height:250px}.ad-leaderboard img{max-width:970px;max-height:90px}.ad-rectangle{max-width:300px}.ad-rectangle img{max-width:300px;max-height:250px}.poll-results-link{margin-left:12px;font-weight:800;color:var(--red)}
.standalone-page{padding:clamp(28px,5vw,60px) 0 70px}.page-heading{max-width:900px;margin-bottom:30px}.page-heading h1{font-family:Georgia,serif;font-size:clamp(38px,6vw,68px);line-height:1.02;margin:.12em 0}.page-heading p{font-size:18px;color:var(--muted)}
.chart-table-wrap{overflow-x:auto;border-top:4px solid var(--ink)}.public-table{width:100%;border-collapse:collapse;min-width:620px}.public-table th,.public-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}.public-table th{font-size:12px;text-transform:uppercase;letter-spacing:1px}.big-rank{font-size:25px;font-weight:900;color:var(--blue);width:70px}
.event-month{margin:38px 0}.event-month>h2{font-family:Georgia,serif;font-size:32px;border-bottom:4px solid var(--ink);padding-bottom:8px}.events-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.event-card{display:flex;gap:18px;border:1px solid var(--line);padding:18px;min-width:0}.event-date-badge{width:60px;flex:0 0 60px;text-align:center;background:var(--dark);color:#fff;padding:8px 4px;height:max-content}.event-date-badge b{display:block;font-size:12px;color:#ff747d}.event-date-badge span{display:block;font-size:25px;font-weight:900}.event-copy{min-width:0}.event-copy h3{font-family:Georgia,serif;font-size:22px;line-height:1.12;margin:0 0 5px}.event-copy p{margin:3px 0;color:var(--muted)}.event-note{font-size:13px}.event-source{display:inline-block;margin-top:7px;font-weight:800;color:var(--red)}
.poll-results{max-width:850px;margin:25px 0 40px}.poll-result{margin:20px 0}.poll-result-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:7px}.poll-result-head span{color:var(--muted);font-size:14px}.poll-bar{height:16px;background:#e8ebef;overflow:hidden}.poll-bar span{display:block;height:100%;background:var(--red)}.panel-light{max-width:850px;border:2px solid var(--ink);padding:24px}.panel-light h2{font-family:Georgia,serif}
@media(max-width:760px){.events-list{grid-template-columns:1fr}.poll-results-link{display:block;margin:12px 0 0}.ad-slot{margin:18px auto}}
