:root {
    --newsprint: #F4F1EA;
    --ink: #121212;
    --signal: #C45C3E;
    --rule: #D4CEC4;
    --turf: #2F5D3A;
}
* { box-sizing: border-box; }
html { background: var(--newsprint); color: var(--ink); }
body { margin: 0; background: var(--newsprint); color: var(--ink); font-family: Georgia, 'Times New Roman', serif; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--signal); }
.site-header { border-bottom: 1px solid var(--ink); }
.header-top { max-width: 1320px; margin: 0 auto; padding: 12px 28px 10px; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.issue-label { color: var(--signal); font-weight: 700; }
.site-nav { display: flex; gap: 18px; flex-wrap: wrap; }
.masthead { max-width: 1320px; margin: 0 auto; padding: 24px 28px 30px; text-align: center; }
.masthead h1 { margin: 0; font-size: clamp(44px, 8vw, 112px); line-height: .86; letter-spacing: -.075em; font-weight: 700; }
.masthead p { margin: 18px 0 0; font-family: Arial, Helvetica, sans-serif; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; }
.site-footer { border-top: 1px solid var(--ink); margin-top: 100px; padding: 22px 28px 34px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.footer-inner { max-width: 1320px; margin: 0 auto; display: flex; justify-content: space-between; gap: 20px; }
.page-shell { max-width: 1320px; margin: 0 auto; padding: 0 28px 48px; }
.cover-lead { border-top: 1px solid var(--ink); padding-top: 22px; }
.cover-lead figure { margin: 0; }
.cover-lead img { display: block; width: 100%; aspect-ratio: 16 / 8.5; object-fit: cover; background: var(--turf); }
.cover-caption { max-width: 600px; margin: 12px 0 0 auto; font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 1.45; color: #5b5750; }
.lead-copy { max-width: 760px; margin: 36px auto 0 8%; }
.kicker { color: var(--signal); font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; }
.lead-copy h2 { margin: 12px 0 12px; max-width: 900px; font-size: clamp(38px, 6vw, 84px); line-height: .94; letter-spacing: -.055em; }
.dek { margin: 0; max-width: 650px; font-size: 20px; line-height: 1.35; }
.byline { margin-top: 18px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.index { margin-top: 76px; border-top: 3px solid var(--ink); }
.index-head { padding: 14px 0; border-bottom: 1px solid var(--ink); display: flex; justify-content: space-between; font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.story-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 30%; gap: 22px; padding: 22px 0; border-bottom: 1px solid var(--rule); align-items: start; }
.story-number { color: var(--signal); font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .12em; }
.story-row h3 { margin: 0 0 7px; font-size: clamp(22px, 3vw, 38px); line-height: 1; letter-spacing: -.035em; }
.story-row p { margin: 0; font-size: 16px; line-height: 1.35; }
.story-row img { width: 100%; aspect-ratio: 4 / 2.3; object-fit: cover; background: var(--turf); }
.section-intro { padding: 60px 0 28px; border-bottom: 3px solid var(--ink); }
.section-intro h2 { margin: 0; font-size: clamp(48px, 9vw, 120px); line-height: .84; letter-spacing: -.07em; }
.archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.archive-grid .story-row { grid-template-columns: 70px minmax(0, 1fr); }
.archive-grid .story-row img { grid-column: 2; }
.article-page { max-width: 980px; margin: 0 auto; padding-top: 64px; }
.article-page .article-header { border-bottom: 1px solid var(--ink); padding-bottom: 30px; }
.article-page h1 { margin: 14px 0; font-size: clamp(48px, 9vw, 116px); line-height: .86; letter-spacing: -.075em; }
.article-hero { width: 100%; margin: 32px 0 0; aspect-ratio: 16 / 9; object-fit: cover; background: var(--turf); }
.article-meta { display: flex; justify-content: space-between; gap: 20px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.article-body { max-width: 680px; margin: 44px auto 0; font-size: 22px; line-height: 1.55; }
.article-body p { margin: 0 0 1.4em; }
.utility-page { max-width: 780px; padding-top: 72px; }
.utility-page h1 { margin: 0 0 24px; font-size: clamp(50px, 9vw, 120px); line-height: .84; letter-spacing: -.07em; }
.utility-page p { max-width: 650px; font-size: 22px; line-height: 1.45; }
.newsletter-box { border-top: 3px solid var(--ink); border-bottom: 1px solid var(--ink); margin-top: 44px; padding: 26px 0; }
.newsletter-box label { display: block; font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.newsletter-box input { margin-top: 12px; width: min(100%, 520px); border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 12px 0; font: inherit; font-size: 20px; }
.newsletter-box button { margin-top: 20px; border: 1px solid var(--ink); background: var(--ink); color: var(--newsprint); padding: 12px 18px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
@media (max-width: 760px) {
    .header-top, .masthead, .page-shell, .site-footer { padding-left: 18px; padding-right: 18px; }
    .header-top { align-items: flex-start; flex-direction: column; }
    .site-nav { gap: 10px 14px; }
    .lead-copy { margin-left: 0; }
    .story-row, .archive-grid .story-row { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
    .story-row img, .archive-grid .story-row img { grid-column: 2; }
    .story-row p { font-size: 15px; }
    .archive-grid { display: block; }
    .footer-inner { flex-direction: column; }
}
