:root {
  --editorial-paper: #f3f0e8;
  --editorial-ink: #10100d;
  --editorial-orange: #C73811;
  --editorial-orange-bright: #ED4818;
  --editorial-line: rgba(16, 16, 13, 0.18);
}

body.blog-refresh,
body.article-refresh {
  background-color: var(--editorial-paper) !important;
  background-image:
    linear-gradient(rgba(16, 16, 13, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 16, 13, 0.035) 1px, transparent 1px);
  background-size: 96px 96px;
}

body.blog-refresh .nav,
body.article-refresh .nav {
  background: var(--editorial-ink) !important;
  border-bottom-color: rgba(255,255,255,.1) !important;
}

body.blog-refresh .nav-logo,
body.blog-refresh .nav-links a,
body.article-refresh .nav-logo,
body.article-refresh .nav-links a { color: #f7f4ee !important; }

body.blog-refresh .nav-logo span,
body.article-refresh .nav-logo span { color: var(--editorial-orange) !important; }

/* Resource index */
body.blog-refresh .hero {
  padding: 4.5rem 2rem 0 !important;
  background: transparent !important;
}

body.blog-refresh .hero .hero-inner {
  max-width: 1320px;
  min-height: 470px;
  padding: clamp(3rem, 7vw, 6.5rem) !important;
  border: 1px solid #24241f;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: var(--editorial-ink) !important;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 96px 96px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

body.blog-refresh .hero-eyebrow,
body.blog-refresh .section-label,
body.blog-refresh .subgroup-header {
  color: var(--editorial-orange) !important;
  letter-spacing: .16em !important;
}

body.blog-refresh .hero h1 {
  max-width: 950px !important;
  font-size: clamp(3rem, 7vw, 6.4rem) !important;
  line-height: .94 !important;
  letter-spacing: -.065em !important;
}

body.blog-refresh .hero-sub {
  margin-top: 1rem;
  font-family: var(--font-mono) !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .76rem !important;
}

.editorial-start {
  max-width: 1320px;
  margin: 0 auto;
  padding: 3.25rem 2rem 2rem;
}

.editorial-start-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--editorial-line);
}

.editorial-start-kicker {
  font: 500 .72rem/1 var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--editorial-orange);
}

.editorial-start-note {
  max-width: 500px;
  color: #6f6d66;
  font-size: .95rem;
}

.editorial-start-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  border-bottom: 1px solid var(--editorial-line);
}

.editorial-start-card {
  min-height: 250px;
  padding: 2rem;
  color: var(--editorial-ink);
  text-decoration: none;
  border-right: 1px solid var(--editorial-line);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background-color .2s ease, color .2s ease;
}

.editorial-start-card:last-child { border-right: 0; }
.editorial-start-card:first-child { background: var(--editorial-orange); }
.editorial-start-card:hover { background: var(--editorial-ink); color: #f7f4ee; }
.editorial-start-card small { font: 500 .7rem/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.editorial-start-card strong { max-width: 360px; font: 700 clamp(1.35rem, 2.5vw, 2rem)/1.08 var(--font-display); letter-spacing: -.035em; }
.editorial-start-card span { font: 500 .8rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }

body.blog-refresh .blog-tabs-bar {
  position: sticky;
  top: 0;
  z-index: 20;
  margin-top: 1.5rem;
  background: rgba(243, 240, 232, .94) !important;
  border-block: 1px solid var(--editorial-line) !important;
  backdrop-filter: blur(14px);
}

body.blog-refresh .blog-tabs-inner { max-width: 1320px !important; }
body.blog-refresh .blog-tab { border-radius: 0 !important; }
body.blog-refresh .blog-tab.active { color: #fff !important; background: var(--editorial-ink) !important; }
body.blog-refresh .articles-section { padding: 4rem 2rem 6rem !important; }
body.blog-refresh .articles-section-inner { max-width: 1320px !important; }
body.blog-refresh .section-header { padding-bottom: 1rem; border-bottom: 1px solid var(--editorial-line); }
body.blog-refresh .articles-grid { gap: 0 !important; border-top: 1px solid var(--editorial-line); border-left: 1px solid var(--editorial-line); }

body.blog-refresh .article-card {
  min-height: 300px;
  padding: 2rem !important;
  border: 0 !important;
  border-right: 1px solid var(--editorial-line) !important;
  border-bottom: 1px solid var(--editorial-line) !important;
  border-radius: 0 !important;
  background: rgba(243, 240, 232, .82) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.blog-refresh .article-card:hover { background: var(--editorial-ink) !important; }
body.blog-refresh .article-card:hover .card-title,
body.blog-refresh .article-card:hover .card-desc { color: #f7f4ee !important; }
body.blog-refresh .card-category { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; letter-spacing: .13em !important; }
body.blog-refresh .card-title { font-size: clamp(1.25rem, 2vw, 1.65rem) !important; line-height: 1.12 !important; letter-spacing: -.035em !important; }
body.blog-refresh .card-desc { color: #696660 !important; }
body.blog-refresh .card-link { font-family: var(--font-mono); font-size: .72rem !important; letter-spacing: .08em; text-transform: uppercase; }
body.blog-refresh .subgroup-header { grid-column: 1 / -1; padding: 2.5rem 0 1rem; border-bottom: 1px solid var(--editorial-line); }

/* Long-form guides */
body.article-refresh .article-wrap,
body.article-refresh > main > .article-wrap {
  max-width: 1120px !important;
  padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 5vw, 5rem) !important;
  background: rgba(243, 240, 232, .94);
  border-inline: 1px solid var(--editorial-line);
}

body.article-refresh > main > .article-wrap,
body.article-refresh > .article-wrap {
  margin-top: 3rem !important;
  margin-bottom: 4rem !important;
}

body.article-refresh .article-eyebrow,
body.article-refresh .hero-meta,
body.article-refresh .post-tag {
  font-family: var(--font-mono) !important;
  letter-spacing: .11em !important;
  text-transform: uppercase;
}

body.article-refresh .category-pill,
body.article-refresh .article-category,
body.article-refresh .post-tag {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--editorial-orange) !important;
}

body.article-refresh .article-h1,
body.article-refresh .hero h1 {
  max-width: 1000px;
  font-size: clamp(2.8rem, 6.5vw, 5.8rem) !important;
  line-height: .98 !important;
  letter-spacing: -.06em !important;
}

body.article-refresh .article-intro,
body.article-refresh .article-body > p:first-child {
  max-width: 830px;
  font-size: clamp(1.1rem, 2vw, 1.35rem) !important;
  line-height: 1.55 !important;
  color: #4f4d47 !important;
}

body.article-refresh .article-verified {
  font-family: var(--font-mono);
  font-size: .7rem !important;
  line-height: 1.55;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.article-refresh .article-body { max-width: 790px; margin: 0 auto; }
body.article-refresh .article-body h2 { margin-top: 4rem !important; padding-top: 1.25rem; border-top: 1px solid var(--editorial-line); font-size: clamp(1.8rem, 4vw, 2.65rem) !important; letter-spacing: -.045em !important; }
body.article-refresh .article-body h3 { margin-top: 2.5rem !important; font-size: 1.35rem !important; }
body.article-refresh .article-body p,
body.article-refresh .article-body li { font-size: 1.04rem !important; line-height: 1.78 !important; }

body.article-refresh .author-bio,
body.article-refresh .callout,
body.article-refresh .stat-callout,
body.article-refresh .flow-box,
body.article-refresh .tool-card,
body.article-refresh .cta-callout,
body.article-refresh .dark-cta,
body.article-refresh .cost-box,
body.article-refresh .example-card,
body.article-refresh .related-card {
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.article-refresh .author-bio { background: transparent !important; border: 0 !important; border-block: 1px solid var(--editorial-line) !important; padding-inline: 0 !important; }
body.article-refresh .author-bio > div { border-radius: 0 !important; background: var(--editorial-orange) !important; }
body.article-refresh .flow-box,
body.article-refresh .tool-card,
body.article-refresh .cost-box,
body.article-refresh .example-card,
body.article-refresh .related-card { background: rgba(255,255,255,.28) !important; border-color: var(--editorial-line) !important; }
body.article-refresh .callout,
body.article-refresh .stat-callout { background: rgba(237,72,24,.03) !important; }
body.article-refresh .cta-callout { background: var(--editorial-orange) !important; border-color: var(--editorial-orange) !important; }
body.article-refresh .cta-callout p { color: var(--editorial-ink) !important; }

body.article-refresh > header.hero {
  max-width: 1120px !important;
  margin: 3rem auto 0 !important;
  padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 5vw, 5rem) !important;
  background: var(--editorial-ink) !important;
  border: 1px solid #24241f;
}
body.article-refresh > header.hero h1 { color: #f7f4ee !important; }
body.article-refresh > header.hero .breadcrumb,
body.article-refresh > header.hero .breadcrumb a,
body.article-refresh > header.hero .hero-meta { color: rgba(247,244,238,.58) !important; }
body.article-refresh > header.hero + .article-wrap { margin-top: 0 !important; }

@media (min-width: 900px) {
  body.blog-refresh .articles-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 820px) {
  body.blog-refresh .hero { padding: 1rem 1rem 0 !important; }
  body.blog-refresh .hero .hero-inner { min-height: 390px; padding: 2rem !important; }
  .editorial-start { padding: 2.5rem 1rem 1rem; }
  .editorial-start-head { align-items: start; flex-direction: column; gap: .75rem; }
  .editorial-start-grid { grid-template-columns: 1fr; }
  .editorial-start-card { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--editorial-line); }
  body.blog-refresh .articles-section { padding: 3rem 1rem 4rem !important; }
  body.blog-refresh .article-card { min-height: 250px; }
  body.article-refresh .article-wrap,
  body.article-refresh > main > .article-wrap { border-inline: 0; margin-top: 1rem !important; }
  body.article-refresh > header.hero { margin-top: 1rem !important; }
}

@media (max-width: 560px) {
  body.blog-refresh .articles-grid { grid-template-columns: 1fr !important; }
  body.blog-refresh .blog-tab { padding-inline: .85rem !important; }
  body.article-refresh > header.hero .breadcrumb { display: none; }
  body.article-refresh .article-h1,
  body.article-refresh .hero h1 { font-size: clamp(2.35rem, 13vw, 3.8rem) !important; }
}

/* 2026-09-11 per-surface pass. Surfaces read off the rendered page, not guessed.
   --editorial-orange is now the light-surface value, so dark and orange surfaces need
   their own. .cta-strip painted itself with the orange AND coloured its button with it
   (1:1, invisible). */
.cta-strip,.cta-strip p,.cta-strip .btn-cta,.cta-strip a:not(.btn){color:#fff;}
body.blog-refresh footer span,body.article-refresh footer span,
body.blog-refresh .dark-cta .btn-cta,body.article-refresh .dark-cta .btn-cta,
body.blog-refresh .dark-cta a,body.article-refresh .dark-cta a{color:var(--editorial-orange-bright);}
/* The callout tint stacks on an already-tinted page background, leaving --accent at
   4.44:1 inside it. A slightly deeper orange clears AA on every tint in use. */
body.article-refresh .callout strong,
body.article-refresh .stat-callout strong{color:#B73A16;}
