
body.v4-interior {
  --v4-display: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --v4-meta: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --paper: var(--bg);
  --paper-dim: var(--surface);
  --card: var(--surface);
  --ink-soft: var(--muted);
  --line: var(--rule);
  --moss: var(--teal);
  --ochre: var(--accent);
  --ochre-deep: var(--accent);
  --deepblue: #131c29;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--v4-display);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body.v4-interior :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--v4-display);
  color: var(--ink);
  font-weight: 450;
  letter-spacing: -.035em;
}
body.v4-interior :is(.eyebrow,.back,.byline,.meta,.read,.open,.data-note,.press-meta,.pb-meta,.pb-link,.bc-sub,.bc-author,.num,.stat-label,.toc-label,.toc-pct,.rp-toc a,.nl-strip-eyebrow,.nl-note,.nl-msg,.foot-note,.cb-more-label,figcaption) {
  font-family: var(--v4-meta);
}
body.v4-interior :is(.eyebrow,.nl-strip-eyebrow,.cb-more-label,.toc-label) {
  color: var(--teal);
  font-weight: 500;
  letter-spacing: .08em;
}
body.v4-interior :is(.back,.byline,.meta,.press-meta,figcaption) { color: var(--muted); }
body.v4-interior :is(a,button,input,textarea,select):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}


body.v4-interior .section-head {
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 22px 64px;
  padding: 60px max(48px,calc((100vw - 1280px)/2)) 58px;
  border-bottom: 1px solid var(--rule);
}
body.v4-interior .section-head > .eyebrow { grid-column: 1 / -1; }
body.v4-interior .section-head h1 {
  font-size: clamp(42px,4.8vw,68px);
  line-height: 1.04;
  margin: 0;
  max-width: 650px;
  letter-spacing: -.05em;
}
body.v4-interior .section-head p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  align-self: center;
  max-width: 600px;
  color: var(--muted);
}
body.v4-interior .browse {
  max-width: none;
  margin: 0;
  padding: 22px max(48px,calc((100vw - 1280px)/2));
  gap: 9px;
}
body.v4-interior .browse a {
  font-family: var(--v4-meta);
  border-radius: 0;
  padding: 8px 16px;
  color: var(--muted);
}
body.v4-interior .browse a.active { background: var(--ink); color: var(--bg); }
body.v4-interior .archive-grid {
  width: min(1280px,calc(100% - 96px));
  max-width: none;
  margin: 0 auto;
  padding: 40px 0 80px;
  gap: 24px;
}
body.v4-interior :is(.report-card,.client-card,.build-card) {
  background: var(--surface);
  border-color: var(--rule);
  border-radius: 0;
  min-width: 0;
}
body.v4-interior .report-card { padding: 28px; gap: 16px; }
body.v4-interior .report-card h3 { font-size: 25px; line-height: 1.15; }
body.v4-interior .report-card p { font-size: 15px; line-height: 1.65; }
body.v4-interior .report-card .eyebrow { font-size: 11px; gap: 14px; flex-wrap: wrap; }
body.v4-interior .report-card .read { margin-top: 10px; font-size: 12px; }
body.v4-interior :is(.report-card,.client-card):hover {
  background: var(--bg);
  border-color: var(--accent);
}


body.v4-interior :is(.back,.article-head,.proj-body),
body.v4-interior > article,
body.v4-interior > main > article {
  width: min(720px,calc(100% - 96px));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
body.v4-interior .back { margin-top: 38px; font-size: 13px; }
body.v4-interior .back a { text-underline-offset: 4px; }
body.v4-interior .back a:hover { text-decoration: underline; }
body.v4-interior .article-head { padding-top: 28px; padding-bottom: 42px; }
body.v4-interior .article-head .eyebrow { gap: 10px 24px; font-size: 12px; }
body.v4-interior .article-head h1 {
  font-size: clamp(38px,4.6vw,62px);
  line-height: 1.06;
  letter-spacing: -.045em;
  margin-bottom: 24px;
}
body.v4-interior .article-subtitle { color: var(--muted); line-height: 1.5; }
body.v4-interior .byline { font-size: 13px; }
body.v4-interior .rp-shell {
  width: min(1280px,calc(100% - 96px));
  max-width: none;
  margin-inline: auto;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,720px) minmax(0,1fr);
  column-gap: 0;
  align-items: start;
}
body.v4-interior .rp-shell article {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 44px 0 90px;
}
body.v4-interior .rp-rule { display: none; }
body.v4-interior .rp-toc {
  grid-column: 3;
  grid-row: 1;
  position: sticky;
  top: 130px;
  padding-top: 44px;
  margin-left: 48px;
  min-width: 0;
}
body.v4-interior .rp-toc .toc-label { font-size: 11px; }
body.v4-interior .rp-toc .toc-pct { font-size: 25px; margin-bottom: 24px; }
body.v4-interior .rp-toc .toc-track { display: block; }
body.v4-interior .rp-toc .toc-path { display: none; }
body.v4-interior .rp-toc li a { font-size: 12px; line-height: 1.45; }
body.v4-interior .rp-toc li a::before,
body.v4-interior .rp-toc li a::after { display: none; }
body.v4-interior .rp-toc li::after { height: 1px; }
body.v4-interior .rp-shell article section { scroll-margin-top: 135px; }
body.v4-interior .rp-shell article section:first-of-type p.dropcap::first-letter { font-family: var(--v4-display); }
body.v4-interior :is(article,.proj-body) :is(p,li) { line-height: 1.7; }
body.v4-interior article p.lede { font-family: var(--v4-display); line-height: 1.55; }
body.v4-interior article blockquote { font-family: var(--v4-display); }
body.v4-interior article :is(h2,h3) { line-height: 1.2; }
body.v4-interior article h2 { font-size: 30px; }
body.v4-interior article img { max-width: 100%; height: auto; }
body.v4-interior article figure { margin: 38px 0; }
body.v4-interior article figure.inline { margin: 36px 0; }
body.v4-interior article figure figcaption,
body.v4-interior .proj-body figcaption { padding-inline: 0; max-width: none; font-size: 12px; }
body.v4-interior :is(.hero-figure,.embed-band) {
  width: min(1280px,calc(100% - 96px));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
body.v4-interior .hero-figure img { display: block; width: 100%; height: auto; }
body.v4-interior :is(.hero-figure .frame,article figure .frame) { color: #ede7d1; font-family: var(--v4-meta); }
body.v4-interior .embed-band iframe { border: 1px solid var(--rule); border-radius: 0; }
body.v4-interior :is(.stat-row,.stat-row > div) { border-color: var(--rule); }
body.v4-interior .stat-row .stat-num { font-family: var(--v4-display); }
body.v4-interior .proj-body .data-note { font-family: var(--v4-meta); }


body.v4-interior .print-band { background: var(--surface); color: var(--ink); }
body.v4-interior .print-band :is(h2,h3) { color: var(--ink); font-family: var(--v4-display); }
body.v4-interior .print-band :is(p,.pb-meta) { color: var(--muted); }
body.v4-interior .print-band .eyebrow { color: var(--teal); }
body.v4-interior .pb-article { border-color: var(--rule); }
body.v4-interior .book-cover { background: var(--bg); border-color: var(--rule); border-radius: 0; box-shadow: 7px 7px 0 var(--rule); }
body.v4-interior .book-cover .bc-title { font-family: var(--v4-display); letter-spacing: -.04em; }
body.v4-interior .book-cover :is(.bc-sub,.bc-author) { font-family: var(--v4-meta); }
body.v4-interior :is(.grid-head,.build-grid,.print-inner,.pb-article) { max-width: 1280px; margin-inline: auto; }
body.v4-interior .grid-head { width: calc(100% - 96px); padding-inline: 0; }
body.v4-interior .build-grid { width: calc(100% - 96px); }
body.v4-interior .build-card h3 { font-size: 25px; line-height: 1.15; }
body.v4-interior .press { max-width: 1000px; }
body.v4-interior .press-item h3 { font-size: 25px; }
body.v4-interior .press-item a.ext { font-family: var(--v4-meta); }
body.v4-interior .form-wrap { max-width: 720px; }
body.v4-interior .form-wrap > p { margin-bottom: 30px; }
body.v4-interior .field label { font-family: var(--v4-meta); }
body.v4-interior .field :is(input,select,textarea) {
  font-family: var(--v4-display);
  border-radius: 0;
  background: var(--surface);
  color: var(--ink);
}
body.v4-interior :is(.btn-primary,.btn-ghost) { font-family: var(--v4-meta); border-radius: 0; }
body.v4-interior .btn-primary { background: var(--ink); color: var(--bg); }
body.v4-interior .btn-primary:hover { background: var(--teal); }
body.v4-interior .btn-ghost { border-color: var(--ink); color: var(--ink); }
body.v4-interior .btn-ghost:hover { background: var(--ink); color: var(--bg); }
body.v4-interior .form-status.err { color: var(--red); }
body.v4-interior :is(.nl-strip,.newsletter) { background: var(--surface); border-color: var(--rule); }
body.v4-interior :is(.nl-form,.newsletter) input { background: var(--bg); border-radius: 0; color: var(--ink); }
body.v4-interior :is(footer.simple,footer.rich) { border-color: var(--rule); }
body.v4-interior footer.rich .foot-grid h4 { font-family: var(--v4-meta); }
body.v4-interior .foot-note { opacity: 1; }

@media (max-width: 1320px) {
  body.v4-interior .rp-shell { width: min(720px,calc(100% - 96px)); grid-template-columns: minmax(0,1fr); }
  body.v4-interior .rp-shell article { grid-column: 1; }
  body.v4-interior .rp-toc { display: none; }
}
@media (max-width: 1050px) {
  body.v4-interior .section-head { padding-inline: 28px; gap: 22px 36px; }
  body.v4-interior .browse { padding-inline: 28px; }
  body.v4-interior :is(.archive-grid,.hero-figure,.embed-band) { width: calc(100% - 56px); }
  body.v4-interior :is(.grid-head,.build-grid) { width: calc(100% - 56px); }
  body.v4-interior .archive-grid { gap: 18px; }
  body.v4-interior .report-card { padding: 24px; }
}
@media (max-width: 760px) {
  body.v4-interior .section-head { grid-template-columns: minmax(0,1fr); padding: 36px 20px 38px; gap: 22px; }
  body.v4-interior .section-head h1 { font-size: clamp(39px,9vw,58px); }
  body.v4-interior .section-head p { font-size: 15px; }
  body.v4-interior .browse { padding: 20px; }
  body.v4-interior .archive-grid { width: calc(100% - 40px); grid-template-columns: minmax(0,1fr); padding: 28px 0 48px; gap: 18px; }
  body.v4-interior .report-card { padding: 26px; }
  body.v4-interior :is(.back,.article-head,.proj-body,.rp-shell,.hero-figure,.embed-band),
  body.v4-interior > article,
  body.v4-interior > main > article { width: calc(100% - 40px); }
  body.v4-interior .back { margin-top: 28px; font-size: 12px; }
  body.v4-interior .article-head { padding: 24px 0 34px; }
  body.v4-interior .article-head h1 { font-size: clamp(36px,9vw,54px); }
  body.v4-interior .article-head .eyebrow { gap: 8px 18px; font-size: 11px; }
  body.v4-interior .article-subtitle { font-size: 18px; }
  body.v4-interior .rp-shell article { padding: 30px 0 60px; }
  body.v4-interior article :is(p,li) { font-size: 16px; }
  body.v4-interior article h2 { font-size: 27px; }
  body.v4-interior .embed-band { padding-bottom: 48px; }
  body.v4-interior .embed-band iframe { height: 70vh; }
  body.v4-interior :is(.grid-head,.build-grid) { width: calc(100% - 40px); }
  body.v4-interior .build-card { padding: 28px; }
  body.v4-interior .press-item h3 { font-size: 23px; }
  body.v4-interior .form-wrap { padding-inline: 20px; }
  body.v4-interior .stat-row { grid-template-columns: minmax(0,1fr); }
}
