.editorial-shell { display:block; max-width:1120px; padding:0 48px; }
.editorial-heading { padding:40px 0 12px; }
.editorial-heading h1 { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.055em; line-height:1.3; margin:12px 0; }
.editorial-heading>p:not(.edition-eyebrow) { color:var(--muted); line-height:1.8; }
.editorial-heading .edition-bottom { margin-top:28px; }
.editorial-card .story-link { display:block; padding:30px 0; }
.editorial-card .story-copy { max-width:880px; }
.editorial-card .story-meta { display:flex; gap:14px; }
.editorial-card h2 { font-size:1.5rem; line-height:1.5; letter-spacing:-.035em; }
.editorial-card .story-excerpt { max-width:800px; }
.editorial-page .empty-state { padding:60px 0; }
.editorial-page .back-link { display:inline-block; margin:30px 0 24px; }
.magazine-body { max-width:760px; line-height:1.95; overflow-wrap:anywhere; }
.magazine-body h1 { font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.4; letter-spacing:-.05em; margin:15px 0; }
.magazine-body h2,.magazine-body h3 { margin:2em 0 1em; }
.magazine-body p { margin:1.2em 0; }
.magazine-body pre { overflow:auto; }
.magazine-body a { text-decoration:underline; text-underline-offset:3px; }
.magazine-summary { font-size:1.1rem; color:var(--muted); }
.magazine-meta { color:var(--muted); font-size:.85rem; }
.magazine-body section { margin-top:40px; padding-top:15px; border-top:1px solid var(--line); }
.edited-section-title { margin:24px 0 0; font-size:1rem; }
#briefing-history { margin-top:36px; scroll-margin-top:24px; }
.briefing-history-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; border-top:1px solid var(--line); }
.briefing-history-heading h2 { margin:0 0 6px; font-size:1.25rem; letter-spacing:-.035em; }
.briefing-history-heading p { margin:0; font-size:.85rem; color:var(--muted); }
.briefing-month-label { display:flex; align-items:center; gap:10px; font-size:.8rem; white-space:nowrap; }
.briefing-month-label select { max-width:100%; padding:10px 30px 10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--paper,#fff); color:inherit; font:inherit; }
.briefing-history-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
.briefing-day { min-width:0; border-top:1px solid var(--line); }
.briefing-day-link { display:flex; height:100%; flex-direction:column; padding:22px 0; color:inherit; text-decoration:none; }
.briefing-day-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:.8rem; color:var(--muted); }
.briefing-day-meta time { font-weight:700; color:var(--ink); }
.briefing-day h3 { font-size:1.1rem; line-height:1.55; letter-spacing:-.03em; margin:12px 0 8px; overflow-wrap:anywhere; }
.briefing-day p { margin:0 0 18px; color:var(--muted); font-size:.85rem; line-height:1.7; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.briefing-day-count { margin-top:auto; font-size:.8rem; font-weight:650; }
.briefing-day-link:hover h3 { text-decoration:underline; text-underline-offset:4px; }
.briefing-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin:12px 0 36px; font-size:.85rem; }
.briefing-pagination button { border:1px solid var(--line); border-radius:7px; background:transparent; color:inherit; padding:10px 16px; font:inherit; cursor:pointer; }
.briefing-pagination button:disabled { opacity:.35; cursor:default; }
.briefing-month-label[hidden],.briefing-day[hidden],.briefing-pagination[hidden],.is-search #briefing-history,.is-search .edited-section-title { display:none; }
@media(max-width:760px) {
  .editorial-shell { padding:0 20px; }
  .editorial-heading { padding-top:26px; }
  .editorial-card h2 { font-size:1.25rem; }
  .editorial-card .story-link { padding:24px 0; }
  .briefing-history-list { grid-template-columns:minmax(0,1fr); }
  .briefing-history-heading { align-items:flex-start; flex-wrap:wrap; gap:16px; }
  .briefing-month-label { width:100%; justify-content:space-between; }
  .briefing-day h3 { font-size:1.05rem; }
}
