.np{position:relative;padding:18px 24px 0;max-width:1248px;margin:0 auto}
.np-top{border-top:1px solid #1a1a1a;padding-top:3px}
.np-top::before{content:'';display:block;border-top:3px solid #1a1a1a;margin-bottom:0}
.np-row{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;gap:24px;padding:14px 0 10px}
.np-ear{border:1px solid #1a1a1a;padding:9px 12px 10px;width:250px;line-height:1.25;position:relative;background:#fff}
.np-ear::after{content:'';position:absolute;inset:3px;border:1px solid #e0e0e0;pointer-events:none}
.np-ear.r{justify-self:end;text-align:right}
.np-ear-k{font-family:'Source Sans 3',sans-serif;font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#c41200;display:block;margin-bottom:3px}
.np-ear-v{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.25rem;color:#1a1a1a;display:block;line-height:1.1}
.np-ear-s{font-family:'Fira Code',monospace;font-size:0.64rem;color:#555;display:block;margin-top:4px}
.np-title-link{text-decoration:none;color:#1a1a1a;display:block;text-align:center}
.np-title-link:hover{color:#1a1a1a}
.np-title{position:relative;z-index:1;font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(3.1rem,8.4vw,7.4rem);line-height:0.92;letter-spacing:-0.012em;color:#1a1a1a;white-space:nowrap;padding:0.06em 0 0.1em;text-shadow:0 0 0.5px rgba(26,26,26,0.55)}
.np-folio{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #1a1a1a;border-bottom:3px double #1a1a1a;padding:6px 0 5px;font-family:'Fira Code',monospace;font-size:0.66rem;color:#555}
.np-folio .tag{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:500;font-size:0.86rem;color:#1a1a1a;text-align:center}
.np-folio .rt{text-align:right}

.bs{padding:26px 0 0}
.bs-kicker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.lead-bullet{width:14px;height:14px;border-radius:50%;background:#c41200;flex-shrink:0;box-shadow:inset -2px -2px 0 rgba(0,0,0,0.18);transform:scale(1);transition:transform 260ms cubic-bezier(.3,1.8,.5,1)}
.bs-armed .lead-bullet{transform:scale(0)}
.bs-armed .lead-bullet.on{transform:scale(1)}
.bs-label{font-family:'Source Sans 3',sans-serif;font-size:0.74rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#c41200}
.bs-fact{font-family:'Fira Code',monospace;font-size:0.74rem;color:#1a1a1a;border-left:1px solid #d1d1d1;padding-left:12px}
.bs-hed{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(2.15rem,5.6vw,5.05rem);line-height:1.02;letter-spacing:-0.015em;color:#1a1a1a;text-wrap:balance;text-shadow:0 0 0.6px rgba(26,26,26,0.5)}
.bs-hed a{color:inherit;text-decoration:none}
.bs-hed a:hover{color:#c41200}
.lead-rule{position:relative;height:4px;margin:18px 0 16px;background:#f0f0f0}
.lead-rule i{position:absolute;inset:0;background:#c41200;transform-origin:100% 50%;transform:scaleX(1)}
.bs-armed .lead-rule i{transform:scaleX(0)}
.bs-dek{display:grid;grid-template-columns:1fr 2.2fr;gap:0;align-items:start;padding-bottom:22px}
.bs-dek-meta{padding-right:22px;border-right:1px solid #e0e0e0;font-family:'Fira Code',monospace;font-size:0.72rem;color:#555;line-height:1.7}
.bs-dek-meta b{display:block;font-family:'Source Sans 3',sans-serif;font-size:0.62rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#888;margin-top:6px}
.bs-dek-meta div:first-child b{margin-top:0}
.bs-dek-meta span{color:#1a1a1a}
.bs-dek p{padding-left:22px;font-family:'Source Sans 3',sans-serif;font-size:1.22rem;font-weight:400;line-height:1.5;color:#1a1a1a}
.bs-dek p .more{display:inline-block;margin-left:6px;font-size:0.8rem;font-weight:600;color:#1a5fb4;white-space:nowrap}

.bs-deck{display:grid;grid-template-columns:1.05fr 1.35fr 0.95fr;border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a;position:relative}
.bs-deck::before{content:'';position:absolute;left:0;right:0;top:3px;border-top:1px solid #1a1a1a}
.bs-col{padding:22px 22px 24px;min-width:0}
.bs-col+.bs-col{border-left:1px solid #1a1a1a}
.bs-col:first-child{padding-left:0}
.bs-col:last-child{padding-right:0}
.bs-sec{display:flex;align-items:center;gap:10px;font-family:'Source Sans 3',sans-serif;font-size:0.66rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#1a1a1a;margin-bottom:14px}
.bs-sec::after{content:'';flex:1;border-top:1px solid #d1d1d1}
.bs-sec em{font-style:normal;color:#c41200}
.bs-a{color:inherit;text-decoration:none;display:block}
.bs-a:hover{color:inherit}
.bs-a:hover .bs-h3{color:#c41200}
.bs-kick{display:block;font-family:'Source Sans 3',sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#555;margin-bottom:4px}
.bs-h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:1.55rem;line-height:1.14;color:#1a1a1a;margin-bottom:10px;transition:color 150ms}
.bs-meta{font-family:'Fira Code',monospace;font-size:0.7rem;color:#555;line-height:1.7}
.bs-meta span{white-space:nowrap}

.bs-due{display:flex;align-items:flex-end;gap:14px;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid #e0e0e0}
.bs-due-n{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(4.4rem,7.4vw,6.6rem);line-height:0.8;color:#1a1a1a;letter-spacing:-0.03em;white-space:nowrap}
.bs-due-n sup{font-size:0.34em;vertical-align:top;position:relative;top:0.12em;letter-spacing:0.02em;margin-right:0.08em;color:#c41200;font-weight:700;text-transform:uppercase}
.bs-due-s{font-family:'Source Sans 3',sans-serif;font-size:0.66rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#888;line-height:1.35;padding-bottom:4px}
.bs-due-s span{display:block;font-family:'Fira Code',monospace;font-weight:400;letter-spacing:0;text-transform:none;color:#1a1a1a;font-size:0.78rem}

.bs-pair{display:grid;grid-template-columns:1fr 1fr;gap:0}
.bs-pair .bs-a{padding-right:18px}
.bs-pair .bs-a+.bs-a{padding-right:0;padding-left:18px;border-left:1px dotted #888}
.bs-num{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:4.2rem;line-height:0.85;color:#1a1a1a;margin-bottom:10px;display:flex;align-items:flex-end;gap:8px}
.bs-num small{font-family:'Fira Code',monospace;font-weight:400;font-size:0.72rem;color:#c41200;line-height:1.2;padding-bottom:4px}
.bs-pair .bs-h3{font-size:1.28rem}
.bs-pair p{font-family:'Source Sans 3',sans-serif;font-size:0.92rem;color:#555;line-height:1.45}
.bs-pair-foot{margin-top:16px;padding-top:10px;border-top:1px solid #e0e0e0;font-family:'Fira Code',monospace;font-size:0.68rem;color:#888}

.bs-brief+.bs-brief{margin-top:20px;padding-top:18px;border-top:3px double #1a1a1a}
.bs-brief .bs-h3{font-size:1.18rem}
.bs-fig{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:2.4rem;line-height:1;color:#a0750a;margin-bottom:6px;letter-spacing:-0.01em}
.bs-fig.red{color:#c41200}
.bs-end{height:3px;border-bottom:1px solid #1a1a1a;margin-top:3px}

/* overlay for the satellite choreography */
.bs-fx{position:absolute;left:0;top:0;pointer-events:none;overflow:hidden;display:block}
#bs-fx-front{z-index:600}
#bs-fx-back{z-index:0}

@media(max-width:900px){
  .bs-deck{grid-template-columns:1fr 1fr}
  .bs-col:nth-child(2){padding-right:0}
  .bs-col:nth-child(3){grid-column:1 / -1;border-left:none;border-top:1px solid #1a1a1a;padding-left:0;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
  .bs-col:nth-child(3) .bs-sec{grid-column:1 / -1}
  .bs-col:nth-child(3) .bs-brief+.bs-brief{margin-top:0;padding-top:0;border-top:none;border-left:1px solid #e0e0e0;padding-left:22px}
}
@media(max-width:700px){
  .page{padding:0 16px}
  .np{padding:12px 16px 0}
  .np-row{grid-template-columns:1fr 1fr;gap:10px 12px;padding:12px 0 10px}
  .np-title-link{grid-column:1 / -1;grid-row:1}
  .np-row{align-items:stretch}
  .np-ear{width:auto}
  .np-ear.r{justify-self:stretch}
  .np-folio{flex-wrap:wrap;justify-content:center;text-align:center;gap:2px 12px}
  .np-folio .rt{display:none}
  .np-folio .tag{order:-1;width:100%}
  .bs{padding-top:18px}
  .bs-fact{border-left:none;padding-left:0;width:100%}
  .bs-dek{grid-template-columns:1fr}
  .bs-dek-meta{border-right:none;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid #e0e0e0;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
  .bs-dek-meta b{margin-top:0}
  .bs-dek p{padding-left:0;font-size:1.06rem}
  .bs-deck{grid-template-columns:1fr}
  .bs-col,.bs-col:first-child,.bs-col:last-child{padding:20px 0}
  .bs-col+.bs-col{border-left:none;border-top:1px solid #1a1a1a}
  .bs-col:nth-child(3){display:block}
  .bs-col:nth-child(3) .bs-brief+.bs-brief{margin-top:20px;padding-top:18px;border-top:3px double #1a1a1a;border-left:none;padding-left:0}
}
@media(max-width:480px){
  .bs-pair{grid-template-columns:1fr}
  .bs-pair .bs-a{padding-right:0}
  .bs-pair .bs-a+.bs-a{padding-left:0;border-left:none;border-top:1px dotted #888;margin-top:16px;padding-top:16px}
  .bs-num{font-size:3.4rem}
}
@media(prefers-reduced-motion:reduce){
  .bs-fx{display:none!important}
  .lead-bullet{transition:none}
}

a.bs-brief{color:inherit;text-decoration:none;display:block}
a.bs-brief:hover .bs-h3{color:#c41200}

/* ===== Broadsheet treatment beyond the front page ===== */
/* compact nameplate: section pages, articles, ABOI */
.np--compact .np-row{padding:10px 0 8px}
.np--compact .np-title{font-size:clamp(2.6rem,6vw,5rem)}
.np--compact .np-ear{width:230px;padding:7px 11px 8px}
.np--compact .np-ear-v{font-size:1.08rem}
/* lead story sizes */
.bs--page{padding-top:22px;margin-bottom:8px}
.bs--article{padding-top:18px;max-width:58rem}
.bs-hed--page{font-size:clamp(1.9rem,4.2vw,3.5rem)}
.bs-hed--article{font-size:clamp(2rem,4.6vw,3.8rem)}
.bs-dek--solo{grid-template-columns:1fr}
.bs-dek--solo p{padding-left:0}
.bs--article .bs-dek p{font-size:1.18rem;color:#333}
.bs-back{font-family:'Fira Code',monospace;font-size:0.72rem;margin-bottom:14px}
.bs-back a{color:#a0750a;text-decoration:none}
.bs-back a:hover{color:#c41200}

/* home series callouts, set as broadsheet sections */
.callout-section{margin-top:44px}
.callout-bar{position:relative;gap:14px;border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a;padding:12px 0 10px;margin-bottom:22px}
.callout-bar::before{content:'';position:absolute;left:0;right:0;top:3px;border-top:1px solid #1a1a1a}
.callout-bar-label,.callout-bar-label.dark,.callout-bar-label.red{background:none;color:#c41200;padding:0;font-size:0.66rem;letter-spacing:0.14em;margin-top:4px}
.callout-bar-title{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-0.01em;line-height:1.05}
.callout-grid{grid-template-columns:1fr 1.7fr;border-bottom:1px solid #1a1a1a;padding-bottom:26px}
.callout-list{border-right:1px solid #1a1a1a}
.callout-list-item{padding:13px 0;border-bottom:1px solid #e0e0e0}
.callout-list-item:hover{background:none}
.callout-list-item:hover h4{color:#c41200}
.callout-list-num{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.05rem;color:#c41200;letter-spacing:0}
.callout-list-item h4{font-family:'Playfair Display',Georgia,serif;font-size:1.12rem;line-height:1.2;transition:color 150ms}
.callout-list-item p{color:#555;font-size:0.84rem;line-height:1.4}
.callout-feature{padding-left:28px}
.callout-feature-tag{border:none;padding:0;font-family:'Source Sans 3',sans-serif;font-weight:700;letter-spacing:0.14em;font-size:0.66rem}
.callout-feature h2{font-weight:800;font-size:clamp(2.2rem,4.2vw,3.4rem);line-height:1.02;letter-spacing:-0.015em;margin-bottom:14px;text-wrap:balance}
.callout-feature-excerpt{font-size:1.12rem;color:#1a1a1a;line-height:1.55;padding-top:14px;border-top:4px solid #c41200}
.callout-feature-link{color:#c41200;font-weight:700;letter-spacing:0.04em}
.callout-feature-link:hover{border-bottom-color:#c41200}
@media(max-width:900px){.callout-list{border-right:none;border-bottom:1px solid #1a1a1a}.callout-feature{padding-left:0}}
@media(max-width:700px){.np--compact .np-ear{width:auto}}

/* changelog page */
.cl{margin:26px 0 40px}
.cl-day{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.35rem;color:#1a1a1a;padding:18px 0 6px;border-bottom:3px double #1a1a1a}
.cl-row{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #e0e0e0}
.cl-kind{font-family:'Source Sans 3',sans-serif;font-size:0.66rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#555;padding-top:5px}
.cl-correction .cl-kind{color:#c41200}
.cl-new .cl-kind{color:#a0750a}
.cl-body h3{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;line-height:1.2;color:#1a1a1a;margin-bottom:4px}
.cl-body h3 a{color:inherit;text-decoration:none}
.cl-body h3 a:hover{color:#c41200}
.cl-body p{font-family:'Source Sans 3',sans-serif;font-size:0.98rem;line-height:1.5;color:#333;max-width:46rem}
.cl-pages{font-family:'Fira Code',monospace;font-size:0.66rem;color:#888;margin-top:6px}
@media(max-width:600px){.cl-row{grid-template-columns:1fr;gap:4px}}
