@font-face { font-family: "Bebas Neue"; src: url("/assets/fonts/bebas-neue.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("/assets/fonts/source-serif-4.woff2") format("woff2"); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("/assets/fonts/source-serif-4-italic.woff2") format("woff2"); font-weight: 200 900; font-style: italic; font-display: swap; }

:root {
  --navy: #14284B;
  --navy-deep: #0F1F3B;
  --navy-map: #1D3562;
  --lake: #6FB1E0;
  --lake-soft: #E3F0F9;
  --paper: #F7F7F5;
  --white: #FFFFFF;
  --ink: #1A2233;
  --muted: #545E70;
  --rule: #DADDE3;
  --display: "Bebas Neue", Impact, "Arial Narrow", sans-serif;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --wrap: 1120px;
  --gutter: clamp(16px, 4vw, 40px);
  --radius: 6px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--serif); font-size: 1.125rem; line-height: 1.65; font-optical-sizing: auto; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { text-decoration-color: var(--lake); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--lake); outline-offset: 2px; border-radius: 2px; }
h1, h2 { font-family: var(--display); font-weight: 400; letter-spacing: 0.01em; line-height: 0.98; color: var(--navy); margin: 0 0 0.4em; }
h1 { font-size: clamp(2.75rem, 7vw, 4.75rem); }
h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); }
h3 { font-family: var(--serif); font-size: 1.15rem; line-height: 1.3; font-weight: 700; margin: 0 0 0.3em; color: var(--ink); }
p { margin: 0 0 1em; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.skip { position: absolute; left: -9999px; top: 0; background: var(--navy); color: var(--white); padding: 8px 14px; z-index: 10; font-family: var(--sans); }
.skip:focus { left: 8px; top: 8px; }
.muted { color: var(--muted); }
.lede { font-size: clamp(1.15rem, 2vw, 1.3rem); color: var(--muted); max-width: 40em; }

/* Buttons */
.btn, .signup button, .contact button, .segment button { font-family: var(--sans); font-weight: 650; font-size: 1rem; border: 0; border-radius: var(--radius); background: var(--navy); color: var(--white); padding: 0.8em 1.3em; cursor: pointer; text-decoration: none; display: inline-block; line-height: 1.2; }
.btn:hover, .signup button:hover, .contact button:hover { background: var(--navy-deep); color: var(--white); }
.btn--small { padding: 0.55em 1em; font-size: 0.9rem; }

/* Announcement */
.announce { background: var(--lake); color: var(--navy-deep); text-align: center; font-family: var(--sans); font-size: 0.9rem; padding: 8px var(--gutter); }
.announce a { color: inherit; font-weight: 600; }

/* Masthead */
.masthead { background: var(--white); border-bottom: 1px solid var(--rule); }
.masthead__inner { display: flex; align-items: center; gap: 24px; min-height: 68px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--navy); }
.brand:hover { text-decoration: none; }
.mark { width: 30px; height: 31px; color: currentColor; flex: none; }
.brand__word { font-family: var(--display); font-size: 1.75rem; letter-spacing: 0.02em; line-height: 1; padding-top: 3px; white-space: nowrap; }
.nav { margin-left: auto; }
.nav ul { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
.nav a { font-family: var(--sans); font-size: 0.95rem; font-weight: 550; color: var(--ink); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { border-bottom-color: var(--lake); }
@media (max-width: 760px) {
  .masthead__inner { flex-wrap: wrap; gap: 0 12px; padding-top: 12px; }
  .masthead__cta { margin-left: auto; }
  .nav { order: 3; width: 100%; margin: 6px 0 0; border-top: 1px solid var(--rule); }
  .nav ul { justify-content: space-between; gap: 8px; }
  .nav a { display: block; padding: 10px 0; font-size: 0.92rem; }
  .brand__word { font-size: 1.5rem; }
  .mark { width: 26px; height: 27px; }
}

/* Signup form */
.signup { max-width: 520px; }
.signup__row { display: flex; gap: 8px; }
.signup input[type="email"] { flex: 1; min-width: 0; font: 1rem var(--sans); padding: 0.8em 0.9em; border: 1px solid #B9BFCA; border-radius: var(--radius); background: var(--white); color: var(--ink); }
.signup input[type="email"]::placeholder { color: #8A92A1; }
.signup__msg { font-family: var(--sans); font-size: 0.88rem; color: var(--muted); margin: 10px 0 0; min-height: 1.3em; }
.signup__msg.is-error { color: #B42318; font-weight: 600; }
.signup--dark input[type="email"] { border-color: transparent; }
.signup--dark button { background: var(--lake); color: var(--navy-deep); }
.signup--dark button:hover { background: #8BC2E8; color: var(--navy-deep); }
.signup--dark .signup__msg { color: #C5D2E6; }
.signup--dark .signup__msg.is-error { color: #FFD3CF; }
.signup.is-busy button { opacity: 0.7; cursor: progress; }
@media (max-width: 480px) { .signup__row { flex-direction: column; } .signup button { width: 100%; } }

/* Hero */
.hero { position: relative; overflow: hidden; background: var(--navy); color: var(--white); padding: clamp(56px, 9vw, 112px) 0 clamp(56px, 8vw, 96px); }
.hero__map { position: absolute; right: -6%; top: 50%; width: min(620px, 62vw); height: auto; aspect-ratio: 241 / 250; transform: translateY(-50%); color: var(--navy-map); pointer-events: none; }
.hero__inner { position: relative; }
.hero__kicker { font-family: var(--sans); font-size: 0.95rem; font-weight: 600; color: var(--lake); margin-bottom: 18px; }
.hero h1 { color: var(--white); max-width: 11.5em; font-size: clamp(3rem, 8.2vw, 6rem); }
.hero__text { font-size: clamp(1.1rem, 2vw, 1.3rem); max-width: 34em; color: #DCE4F0; margin-bottom: 28px; }
.hero__proof { font-family: var(--sans); font-size: 0.9rem; color: #C5D2E6; margin-top: 18px; }
@media (max-width: 760px) { .hero__map { right: -30%; width: 110vw; opacity: 0.7; } }

/* Issue preview */
.issue-preview { display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(32px, 6vw, 80px); align-items: center; padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(56px, 8vw, 96px); }
.issue-preview__copy p { color: var(--muted); max-width: 26em; }
.email { background: var(--white); border: 1px solid var(--rule); border-radius: 10px; box-shadow: 0 1px 0 var(--rule), 0 18px 40px -24px rgba(20, 40, 75, 0.35); overflow: hidden; }
.email__top { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; border-bottom: 3px solid var(--lake); font-family: var(--sans); font-size: 0.85rem; color: var(--muted); }
.email__from { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; color: var(--navy); }
.email__from .mark { width: 18px; height: 19px; }
.email__sections { list-style: none; margin: 0; padding: 6px 20px 10px; counter-reset: s; }
.email__sections li { padding: 16px 0 14px; border-bottom: 1px solid var(--rule); }
.email__sections li:last-child { border-bottom: 0; }
.email__sections h3 { font-family: var(--display); font-weight: 400; font-size: 1.45rem; letter-spacing: 0.02em; color: var(--navy); margin-bottom: 2px; }
.email__sections p { margin: 0; color: var(--muted); font-size: 1rem; }
@media (max-width: 860px) { .issue-preview { grid-template-columns: 1fr; } }

/* Audience */
.audience { background: var(--white); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: clamp(48px, 7vw, 80px) 0; }
.audience__list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.audience__list li { padding: 4px 24px 4px 0; margin-right: 24px; border-right: 1px solid var(--rule); }
.audience__list li:last-child { border-right: 0; margin-right: 0; }
.audience__list p { color: var(--muted); font-size: 1rem; margin: 0; }
@media (max-width: 860px) {
  .audience__list { grid-template-columns: 1fr 1fr; gap: 24px; }
  .audience__list li { border-right: 0; margin: 0; padding: 0; }
}
@media (max-width: 520px) { .audience__list { grid-template-columns: 1fr; } }

/* Home split */
.home-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(56px, 8vw, 96px); }
.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.section-head a { font-family: var(--sans); font-size: 0.92rem; font-weight: 600; white-space: nowrap; }
@media (max-width: 860px) { .home-split { grid-template-columns: 1fr; } }
.issue-list, .guide-list { list-style: none; margin: 0; padding: 0; }
.issue-list li, .guide-list li { border-top: 1px solid var(--rule); }
.issue-list a, .guide-list a { display: block; padding: 18px 0; text-decoration: none; color: var(--ink); }
.issue-list a:hover h3, .issue-list a:hover h2, .guide-list a:hover h3 { text-decoration: underline; text-decoration-color: var(--lake); text-decoration-thickness: 2px; text-underline-offset: 0.15em; }
.issue-list time { font-family: var(--sans); font-size: 0.82rem; font-weight: 600; color: var(--muted); display: block; margin-bottom: 4px; }
.issue-list p, .guide-list p { color: var(--muted); font-size: 1rem; margin: 4px 0 0; }
.issue-list--full h2 { font-family: var(--serif); font-size: 1.35rem; font-weight: 700; color: var(--ink); line-height: 1.3; margin: 0; }
.empty { border: 1px dashed #B9BFCA; border-radius: var(--radius); padding: 20px; color: var(--muted); background: var(--white); }

/* Editor */
.editor { display: grid; grid-template-columns: 160px 1fr; gap: 32px; align-items: center; padding-top: 8px; padding-bottom: clamp(56px, 8vw, 96px); }
.editor img { border-radius: 50%; width: 160px; height: 160px; object-fit: cover; }
.editor p { color: var(--muted); max-width: 38em; }
@media (max-width: 600px) { .editor { grid-template-columns: 1fr; } .editor img { width: 112px; height: 112px; } }

/* Bands */
.band { background: var(--navy); color: var(--white); padding: clamp(48px, 7vw, 80px) 0; }
.band h2 { color: var(--white); }
.band p { color: #DCE4F0; }
.band--soft { background: var(--lake-soft); color: var(--ink); }
.band--soft h2 { color: var(--navy); }
.band--soft p { color: var(--muted); }

/* Pages */
.page__head { padding-top: clamp(40px, 7vw, 80px); padding-bottom: 24px; }
.page__head .signup { margin-top: 20px; }
.page__body { padding-bottom: clamp(48px, 7vw, 80px); }
.prose { max-width: 42rem; }
.prose h2 { margin-top: 1.6em; }
.prose h3 { margin-top: 1.4em; font-size: 1.25rem; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li { margin-bottom: 0.4em; }
.prose table { border-collapse: collapse; width: 100%; font-size: 1rem; margin: 1.2em 0; font-family: var(--sans); }
.prose th, .prose td { text-align: left; border-bottom: 1px solid var(--rule); padding: 10px 12px 10px 0; vertical-align: top; }
.prose th { font-weight: 650; color: var(--navy); }
.prose blockquote { margin: 1.4em 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--lake); color: var(--muted); }
.prose img { border-radius: var(--radius); }
.table-scroll { overflow-x: auto; }
.callout { background: var(--white); border: 1px solid var(--rule); border-left: 4px solid var(--lake); border-radius: 0 var(--radius) var(--radius) 0; padding: 16px 20px; }
.profile { display: flex; gap: 20px; align-items: center; margin: 1.5em 0; }
.profile img { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; flex: none; }
.profile p { margin: 0; }

/* Guides */
.guide__head { padding-top: clamp(32px, 6vw, 64px); padding-bottom: 8px; }
.guide__head h1 { max-width: 14em; }
.crumbs { font-family: var(--sans); font-size: 0.88rem; margin-bottom: 18px; display: flex; gap: 8px; color: var(--muted); }
.byline { display: flex; align-items: center; gap: 12px; font-family: var(--sans); font-size: 0.9rem; margin-top: 8px; }
.byline img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.byline p { margin: 0; line-height: 1.35; }
.byline span { color: var(--muted); }
.guide__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; padding-top: 24px; padding-bottom: 64px; }
.guide__side { position: relative; }
.sidecard { position: sticky; top: 24px; background: var(--white); border: 1px solid var(--rule); border-top: 4px solid var(--navy); border-radius: var(--radius); padding: 22px; }
.sidecard h2 { font-size: 1.7rem; }
.sidecard p { font-size: 1rem; color: var(--muted); }
.sidecard .signup__row { flex-direction: column; }
.sidecard button { width: 100%; }
@media (max-width: 960px) { .guide__layout { grid-template-columns: 1fr; } .sidecard { position: static; } }
.answer { background: var(--white); border: 1px solid var(--rule); border-left: 4px solid var(--lake); border-radius: 0 var(--radius) var(--radius) 0; padding: 20px 24px; margin-bottom: 32px; max-width: 42rem; }
.answer h2 { font-family: var(--sans); font-size: 0.9rem; font-weight: 700; color: var(--navy); letter-spacing: 0; margin-bottom: 6px; line-height: 1.3; }
.answer p { margin: 0; font-size: 1.1rem; }
.faq { max-width: 42rem; margin-top: 48px; }
.faq details { border-top: 1px solid var(--rule); }
.faq details:last-child { border-bottom: 1px solid var(--rule); }
.faq summary { cursor: pointer; padding: 16px 32px 16px 0; font-weight: 700; position: relative; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font-family: var(--sans); font-size: 1.4rem; color: var(--navy); }
.faq details[open] summary::after { content: "\2212"; }
.faq .prose { padding-bottom: 8px; }
.sources { max-width: 42rem; margin-top: 40px; font-size: 0.98rem; }
.sources ol { padding-left: 1.3em; }
.sources li { margin-bottom: 0.4em; }
.disclaimer { max-width: 42rem; margin-top: 32px; font-size: 0.92rem; color: var(--muted); border-top: 1px solid var(--rule); padding-top: 16px; }
.related { padding-bottom: 72px; }

/* Cards */
.cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.card { background: var(--white); border: 1px solid var(--rule); border-radius: var(--radius); }
.card a { display: flex; flex-direction: column; height: 100%; padding: 22px; text-decoration: none; color: var(--ink); }
.card a:hover { box-shadow: inset 0 -3px 0 var(--lake); }
.card h2, .card h3 { font-family: var(--serif); font-size: 1.3rem; font-weight: 700; color: var(--navy); line-height: 1.25; letter-spacing: 0; }
.card p { color: var(--muted); font-size: 1rem; flex: 1; }
.card__meta { font-family: var(--sans); font-size: 0.82rem; color: var(--muted); }
.cards--guides { padding-bottom: 64px; }

/* Subscribe landing */
.landing { padding: clamp(48px, 8vw, 96px) 0; }
.landing__inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.landing h1 { font-size: clamp(2.8rem, 7vw, 5rem); }
.checks { list-style: none; padding: 0; margin: 24px 0 0; font-family: var(--sans); font-size: 0.95rem; }
.checks li { padding-left: 26px; position: relative; margin-bottom: 8px; }
.checks li::before { content: ""; position: absolute; left: 2px; top: 0.35em; width: 12px; height: 7px; border-left: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(-45deg); }
.landing__format { list-style: none; margin: 0; padding: 24px; background: var(--white); border: 1px solid var(--rule); border-top: 4px solid var(--lake); border-radius: var(--radius); }
.landing__format li { padding: 12px 0; border-bottom: 1px solid var(--rule); }
.landing__format li:last-child { border-bottom: 0; }
.landing__format h2 { font-size: 1.5rem; margin: 0; }
.landing__format p { margin: 0; color: var(--muted); font-size: 1rem; }
@media (max-width: 860px) { .landing__inner { grid-template-columns: 1fr; } }

/* Welcome */
.welcome__inner { padding-top: clamp(48px, 8vw, 96px); padding-bottom: clamp(48px, 8vw, 96px); max-width: 760px; margin: 0 auto; }
.segment { background: var(--white); border: 1px solid var(--rule); border-radius: var(--radius); padding: 24px; margin: 32px 0; }
.segment h2 { font-size: 1.8rem; }
.segment__options { display: flex; flex-wrap: wrap; gap: 10px; }
.segment button { background: var(--white); color: var(--navy); border: 1px solid var(--navy); font-weight: 600; font-size: 0.95rem; padding: 0.65em 1em; }
.segment button:hover, .segment button[aria-pressed="true"] { background: var(--navy); color: var(--white); }
.segment__msg { font-family: var(--sans); font-size: 0.9rem; color: var(--muted); margin: 12px 0 0; min-height: 1.3em; }

/* Contact form */
.contact { margin-top: 24px; max-width: 42rem; }
.contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.contact label { display: block; font-family: var(--sans); font-size: 0.9rem; font-weight: 600; margin-bottom: 14px; color: var(--ink); }
.contact input, .contact textarea { display: block; width: 100%; margin-top: 6px; font: 1rem var(--sans); padding: 0.7em 0.8em; border: 1px solid #B9BFCA; border-radius: var(--radius); background: var(--white); }
.contact__msg { font-family: var(--sans); font-size: 0.92rem; margin-top: 12px; }
@media (max-width: 600px) { .contact__grid { grid-template-columns: 1fr; } }

/* Footer */
.footer { background: var(--navy-deep); color: #C5D2E6; padding: 56px 0 32px; font-family: var(--sans); font-size: 0.92rem; }
.footer a { color: var(--white); text-decoration: none; }
.footer a:hover { text-decoration: underline; text-decoration-color: var(--lake); }
.footer__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; }
.brand--light { color: var(--white); }
.footer__brand p { margin-top: 12px; max-width: 26em; }
.footer__links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.footer__links ul, .socials { list-style: none; margin: 0; padding: 0; }
.footer__links li { margin-bottom: 10px; }
.socials { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
.footer__fine { border-top: 1px solid #2A3B5E; margin-top: 40px; padding-top: 20px; font-size: 0.82rem; color: #9DAAC2; }
.footer__fine p { max-width: 60em; }
.footer__fine a { color: #C5D2E6; text-decoration: underline; }
@media (max-width: 700px) { .footer__grid { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
@media print { .masthead, .footer, .guide__side, .band, .signup { display: none; } body { background: #fff; } }


/* ==========================================================================
   EDITORIAL EDITION — The Mitten Mile
   Newspaper-led presentation: ink, type, hairline rules, no app-style cards.
   ========================================================================== */
:root {
  --paper: #F7F7F5;
  --white: #F7F7F5;
  --ink: #14284B;
  --muted: #536071;
  --rule: #BFC6CC;
  --radius: 0px;
  --wrap: 1240px;
}
body {font-size:1.08rem;line-height:1.6;background:var(--paper);}
h1,h2 {line-height:1.04;}
a:hover {text-decoration-color:var(--lake);}
.masthead {background:var(--paper);border-bottom:3px double var(--navy);}
.masthead__inner {min-height:105px;gap:28px;}
.brand {gap:12px;}
.brand .mark {width:42px;height:44px;}
.brand__word {font-size:clamp(2rem,3.6vw,3.15rem);letter-spacing:0.016em;}
.nav a {font-family:var(--sans);font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;font-weight:750;}
.nav ul {gap:23px;}
.masthead__cta {font-family:var(--sans);text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;background:var(--navy);padding:11px 17px;}
.btn,.signup button,.contact button,.segment button {border-radius:0;}
.signup input[type=email] {border-radius:0;}
.footer {background:var(--navy);border-top:4px double var(--lake);}
.footer .brand__word {font-size:2.2rem;}
.footer .brand .mark {width:34px;height:36px;}

.front-label {font:750 .68rem/1.25 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--navy);margin:0 0 18px;}
.front-lead {padding-top:15px;padding-bottom:65px;}
.front-lead__eyebrow {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0 14px;border-bottom:1px solid var(--navy);font:700 .68rem/1.3 var(--sans);letter-spacing:.13em;text-transform:uppercase;}
.front-lead__eyebrow span:last-child {font-weight:500;letter-spacing:.06em;}
.front-lead__grid {display:grid;grid-template-columns:minmax(0,1.57fr) minmax(295px,.83fr);gap:48px;padding-top:55px;}
.front-lead__main {padding:15px 26px 25px 0;}
.front-lead h1 {font-family:var(--serif);font-weight:780;font-size:clamp(3.05rem,5.2vw,5.65rem);line-height:.99;letter-spacing:-.042em;max-width:820px;margin:0 0 28px;}
.front-lead__intro {font-family:var(--serif);font-size:clamp(1.18rem,1.5vw,1.47rem);line-height:1.52;max-width:620px;margin:0 0 31px;}
.front-lead__meta {border-top:1px solid var(--rule);padding-top:13px;display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font:650 .7rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.08em;}
.front-lead__meta span+span::before {content:"/";margin-right:18px;color:var(--lake);}
.front-lead__aside {padding:22px 0 0 33px;border-left:1px solid var(--navy);}
.front-lead__aside-top {display:flex;justify-content:space-between;gap:10px;padding:0 0 13px;border-bottom:4px solid var(--navy);font:750 .7rem var(--sans);letter-spacing:.09em;}
.front-lead__aside h2 {font-family:var(--display);font-size:clamp(2.1rem,3.15vw,3.1rem);line-height:1.02;margin:23px 0 12px;letter-spacing:.018em;}
.front-lead__aside>p {font-size:1rem;line-height:1.57;margin-bottom:22px;}
.front-lead__aside .signup__row {flex-direction:column;gap:10px;}
.front-lead__aside .signup button {width:100%;font:750 .77rem var(--sans);letter-spacing:.1em;text-transform:uppercase;}
.front-lead__aside .signup input[type=email] {background:#fff;}
.front-lead__aside .signup__msg {font-size:.77rem;}
.editorial-heading {display:flex;align-items:baseline;gap:15px;border-top:3px solid var(--navy);border-bottom:1px solid var(--rule);padding:13px 0 11px;margin-bottom:26px;}
.editorial-heading h2 {font-family:var(--display);font-size:clamp(1.8rem,3.1vw,2.55rem);line-height:1;margin:0;letter-spacing:.02em;}
.editorial-heading__number {font:700 .7rem var(--sans);color:var(--muted);}
.editorial-heading__aside,.editorial-heading>a {margin-left:auto;font:650 .7rem var(--sans);letter-spacing:.05em;text-transform:uppercase;}
.editorial-heading>a {text-decoration:none;border-bottom:1px solid var(--navy);}
.dispatch {padding-bottom:70px;}
.dispatch__grid {display:grid;grid-template-columns:1.55fr 1fr;gap:45px;}
.dispatch__lead {padding-right:37px;border-right:1px solid var(--rule);}
.dispatch a {display:block;color:inherit;text-decoration:none;}
.dispatch a:hover h3 {text-decoration:underline;text-decoration-color:var(--lake);}
.dispatch time {display:block;font:650 .7rem var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:11px;}
.dispatch__lead h3 {font:780 clamp(1.75rem,3vw,2.75rem)/1.09 var(--serif);letter-spacing:-.025em;}
.dispatch__lead p {max-width:42rem;}
.dispatch__more>a:not(.dispatch__archive) {padding:13px 0 16px;border-top:1px solid var(--rule);}
.dispatch__more h3 {font:730 1.17rem/1.3 var(--serif);}
.dispatch__archive {font:750 .75rem var(--sans);margin-top:17px;text-transform:uppercase;letter-spacing:.07em;}
.dispatch__empty {max-width:650px;padding:25px 0 8px;}
.dispatch__empty h3 {font:750 clamp(1.6rem,3vw,2.25rem)/1.2 var(--serif);}
.text-link {font:750 .75rem/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--navy);display:inline-block;margin-top:8px;padding-bottom:4px;color:var(--navy);}
.coverage {padding-bottom:75px;}
.coverage__grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--rule);}
.coverage__item {padding:12px 19px 26px 0;margin-right:19px;border-right:1px solid var(--rule);}
.coverage__item:last-child {border-right:0;margin-right:0;}
.coverage__index {font:750 .69rem var(--sans);color:var(--muted);letter-spacing:.12em;}
.coverage__item h3 {font:400 clamp(1.55rem,2vw,1.9rem)/1.08 var(--display);margin:12px 0;}
.coverage__item p {font-size:.94rem;line-height:1.57;color:var(--muted);margin:0;}
.reading {padding-bottom:76px;}
.reading__intro {font-size:1rem;color:var(--muted);max-width:50rem;margin-bottom:23px;}
.reading__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;}
.reading__story {padding:21px 0 0;border-top:1px solid var(--navy);}
.reading__story h3 {font:750 clamp(1.3rem,1.8vw,1.65rem)/1.2 var(--serif);margin-bottom:14px;}
.reading__story h3 a {color:var(--ink);text-decoration:none;}
.reading__story h3 a:hover {text-decoration:underline;text-decoration-color:var(--lake);}
.reading__story p {font-size:.97rem;color:var(--muted);}
.editor-note {border-top:3px double var(--navy);padding-top:35px;padding-bottom:65px;display:grid;grid-template-columns:125px minmax(0,1fr);gap:30px;max-width:900px;}
.editor-note__image img {width:125px;height:125px;object-fit:cover;filter:grayscale(1);}
.editor-note h2 {font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.55rem);font-weight:750;letter-spacing:-.028em;line-height:1.15;margin-bottom:15px;}
.editor-note p:not(.front-label) {max-width:46rem;font-size:1rem;}
.last-word {padding:50px 0 54px;background:var(--navy);color:var(--paper);}
.last-word__inner {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px;}
.last-word h2 {font-family:var(--serif);font-weight:750;font-size:clamp(2rem,3.5vw,3rem);color:var(--paper);line-height:1.1;}
.last-word p {color:#DDE7F2;font-size:1rem;}
.last-word .front-label {color:var(--lake);}
.last-word .signup input {background:#fff;}
.last-word .signup button {background:var(--lake);color:var(--navy);font-weight:800;}
.last-word .signup__msg {color:#DDE7F2;}
.last-word .signup__msg.is-error {color:#FFD3CF;}
/* Keep secondary pages in the same print-led system */
.card,.email,.sidecard,.answer,.callout,.segment,.landing__format,.empty {border-radius:0;box-shadow:none;}
.profile img,.byline img,.editor img {border-radius:0;}
.page__head h1,.guide__head h1,.landing h1 {font-family:var(--serif);font-weight:760;letter-spacing:-.035em;line-height:1.06;}
.card h2,.card h3 {font-family:var(--serif);}
.page__head,.guide__head {border-bottom:1px solid var(--rule);margin-bottom:20px;}
@media(max-width:950px) {
 .front-lead__grid {gap:26px;grid-template-columns:minmax(0,1.25fr) minmax(260px,.85fr);}
 .front-lead__aside {padding-left:22px;}
 .coverage__grid {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:25px;}
 .coverage__item:nth-child(2) {border-right:0;}
 .reading__grid {gap:20px;}
}
@media(max-width:760px) {
 .masthead__inner {min-height:0;padding-top:15px;}
 .brand .mark {width:32px;height:34px;}
 .brand__word {font-size:clamp(1.75rem,6.1vw,2.25rem);}
 .masthead__cta {padding:9px 12px;}
 .nav {margin-top:12px;}
 .nav ul {gap:8px;}
 .nav a {font-size:.7rem;}
 .front-lead {padding-bottom:45px;}
 .front-lead__eyebrow span:last-child {display:none;}
 .front-lead__grid {grid-template-columns:1fr;gap:25px;padding-top:29px;}
 .front-lead__main {padding:0;}
 .front-lead h1 {font-size:clamp(2.75rem,9vw,4.7rem);}
 .front-lead__aside {border-left:0;border-top:1px solid var(--navy);padding:20px 0 0;}
 .front-lead__aside .signup__row {flex-direction:row;}
 .front-lead__aside .signup button {width:auto;}
 .dispatch__grid {grid-template-columns:1fr;gap:24px;}
 .dispatch__lead {border-right:0;border-bottom:1px solid var(--rule);padding:0 0 24px;}
 .reading__grid {grid-template-columns:1fr;}
 .reading__story {padding-bottom:12px;}
 .last-word__inner {grid-template-columns:1fr;gap:18px;}
 .editorial-heading__aside {display:none;}
}
@media(max-width:520px) {
 .front-lead__meta {gap:6px 12px;}
 .front-lead__meta span+span::before {margin-right:11px;}
 .front-lead__aside .signup__row {flex-direction:column;}
 .front-lead__aside .signup button {width:100%;}
 .coverage__grid {grid-template-columns:1fr;gap:0;}
 .coverage__item {border-right:0;border-top:1px solid var(--rule);margin:0;padding:21px 0;}
 .editor-note {grid-template-columns:1fr;gap:16px;}
 .editor-note__image img {width:90px;height:90px;}
 .editorial-heading {flex-wrap:wrap;}
 .editorial-heading>a {font-size:.66rem;}
}
