/* Equors refined scale and spacing layer
   Purpose: retain the Chromatic Future Press system while removing the
   oversized/zoomed feeling and improving rhythm across public and workspace UI. */

:root {
  --max: 1480px;
  --content: 1240px;
  --reading: 760px;
  --space-1: .45rem;
  --space-2: .75rem;
  --space-3: 1rem;
  --space-4: 1.35rem;
  --space-5: 1.8rem;
  --space-6: 2.4rem;
  --space-7: 3.2rem;
  --space-8: 4.4rem;
  --shadow-soft: 0 14px 38px rgba(6,21,56,.09);
  --shadow-lift: 0 20px 52px rgba(6,21,56,.12);
  --serif: "Iowan Old Style", Baskerville, Georgia, "Times New Roman", serif;
}

html { scroll-padding-top: 92px; }
body {
  font-size: 15px;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

.utility-bar {
  height: 36px;
  padding: 0 clamp(1rem,2.2vw,2.2rem);
  font-size: .66rem;
  letter-spacing: .13em;
}
.site-header {
  height: 86px;
  grid-template-columns: 230px minmax(0,1fr) auto;
  padding: 0 clamp(1rem,2.2vw,2.2rem);
  box-shadow: 0 1px 0 rgba(6,21,56,.04);
}
.wordmark { font-size: 2.62rem; letter-spacing: -.065em; }
.primary-nav { gap: clamp(1.35rem,2.7vw,3.25rem); font-size: .91rem; }
.primary-nav a { padding: 2.05rem 0; }
.primary-nav a:after { height: 3px; }
.header-actions { gap: .9rem; }
.icon-button { width: 44px; height: 44px; font-size: 1.65rem; }
.search-icon { width: 20px; height: 20px; }
.button {
  min-height: 46px;
  padding: .7rem 1.35rem;
  font-size: .74rem;
  letter-spacing: .075em;
  box-shadow: none;
}
.button-compact { min-height: 44px; padding: .62rem 1.05rem; }
.button-large { min-height: 54px; }
.button:hover { transform: translateY(-1px); box-shadow: 0 6px 0 rgba(6,21,56,.08); }
.button-row { gap: .75rem; }

.eyebrow { font-size: .66rem; letter-spacing: .11em; }
.text-link { font-size: .72rem; letter-spacing: .075em; }
.content-tag { font-size: .63rem; letter-spacing: .09em; }
.meta-line { gap: 1.15rem; font-size: .62rem; }
.status-badge { min-height: 23px; font-size: .57rem; padding: .18rem .48rem; }
.muted { color: #56657e; }

.section {
  padding: clamp(3.8rem,5.8vw,5.9rem) clamp(1.2rem,3.1vw,3rem);
}
.section-heading { gap: 1.5rem; margin-bottom: clamp(2rem,3.3vw,2.8rem); }
.section-heading h2 {
  font-size: clamp(2.35rem,3.6vw,4.15rem);
  line-height: .99;
  letter-spacing: -.037em;
  margin-top: .65rem;
}

.hero-grid {
  min-height: 548px;
  grid-template-columns: 46.5% 53.5%;
  max-width: 1800px;
  margin: 0 auto;
}
.hero-copy { padding: clamp(2.6rem,4.1vw,4.2rem) clamp(1.3rem,3.1vw,3.2rem); }
.hero-copy h1 {
  font-size: clamp(3.45rem,5.05vw,5.85rem);
  line-height: .91;
  letter-spacing: -.05em;
  margin: 1.15rem 0 1.35rem;
  max-width: 780px;
}
.hero-deck {
  font-size: clamp(1rem,1.25vw,1.25rem);
  line-height: 1.48;
  max-width: 570px;
  margin-bottom: 1.5rem;
}
.signal-meta { width: 205px; top: 7.5%; }
.signal-meta h2 { font-size: 1.88rem; margin: .8rem 0; }
.signal-meta .rule { width: 170px; margin: 1rem 0; }
.signal-meta p { font-size: .65rem; }
.signal-legend { gap: .52rem; font-size: .54rem; }

.metrics-strip { max-width: 1800px; margin: 0 auto; }
.metrics-strip>div,.daily-intelligence { min-height: 142px; padding: 1.2rem clamp(1.3rem,2.8vw,2.7rem); }
.metrics-strip strong { font-size: 3.15rem; }
.metrics-strip span { font-size: .65rem; margin-top: .65rem; }
.daily-intelligence h2 { font-size: 1.48rem; margin: .55rem 0 .7rem; max-width: 430px; }

/* Home platform map */
.platform-map {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(3.8rem,5.6vw,5.7rem) clamp(1.2rem,3.1vw,3rem);
  border-bottom: 1px solid var(--line);
}
.platform-map-head {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(300px,.6fr);
  gap: clamp(2rem,6vw,6rem);
  align-items: end;
  margin-bottom: 2.5rem;
}
.platform-map-head h2 {
  font: clamp(2.6rem,4.1vw,4.8rem)/.96 var(--serif);
  letter-spacing: -.04em;
  margin: .7rem 0 0;
}
.platform-map-head p { font-size: 1.02rem; margin: 0; max-width: 560px; }
.platform-module-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  border: 1px solid var(--ink);
}
.platform-module {
  min-height: 270px;
  padding: 1.45rem;
  border-right: 1px solid var(--ink);
  display: flex;
  flex-direction: column;
  transition: transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}
.platform-module:last-child { border-right: 0; }
.platform-module:hover { background: var(--ink); color: #fff; transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.platform-module:hover .module-kicker,.platform-module:hover b { color: #8eb0ff; }
.platform-module .module-no { font: 1.45rem/1 var(--serif); }
.platform-module .module-kicker { margin-top: auto; color: var(--blue); font-size: .62rem; font-weight: 800; letter-spacing: .09em; }
.platform-module h3 { font: 1.55rem/1.04 var(--serif); margin: .6rem 0 .65rem; letter-spacing: -.025em; }
.platform-module p { font-size: .82rem; line-height: 1.5; margin-bottom: 1.3rem; }
.platform-module b { font-size: .66rem; letter-spacing: .08em; color: var(--blue); }

.lead-story-grid { grid-template-columns: 1.08fr .92fr; }
.feature-card { min-height: 410px; padding: 1.8rem; grid-template-columns: 62px 1fr; }
.feature-index { font-size: 2.4rem; }
.feature-card h3 { font-size: clamp(2.05rem,2.9vw,3.45rem); margin: .9rem 0; }
.feature-card p { font-size: .98rem; }
.story-row { grid-template-columns: 52px 1fr; padding: 1.25rem 1.4rem; }
.story-no { font-size: 1.38rem; }
.story-row h3 { font-size: 1.38rem; margin: .4rem 0; }
.story-row p { font-size: .82rem; }

.chromatic-band { gap: clamp(2.5rem,5.5vw,6rem); }
.band-intro h2 { font-size: clamp(2.65rem,4.2vw,4.75rem); line-height: .95; margin: 1rem 0; }
.band-intro p { font-size: 1rem; }
.research-snapshot { padding: 1.9rem; }
.research-snapshot h3 { font-size: clamp(1.9rem,2.8vw,3.15rem); margin: 1.8rem 0 1.1rem; }
.abstract { font-size: .95rem; }
.evidence-grid { margin: 1.5rem 0; }
.evidence-grid div { padding: .8rem; }

.report-carousel { gap: 1.25rem; }
.report-card>span { margin-top: .9rem; font-size: .61rem; }
.report-card h3 { font-size: 1.43rem; }
.report-card p { font-size: .7rem; }
.peer-callout { gap: clamp(2.5rem,5vw,5.5rem); }
.peer-callout h2 { font-size: clamp(2.6rem,4.1vw,4.7rem); }
.peer-callout p { font-size: 1rem; }
.service-grid a { min-height: 270px; padding: 1.65rem; }
.service-grid span { font-size: 1.65rem; }
.service-grid h3 { font-size: 1.8rem; margin: 1.5rem 0 .8rem; }
.service-grid p { font-size: .83rem; }

.page-hero {
  min-height: 365px;
  grid-template-columns: 1.08fr .92fr;
  padding: clamp(2.8rem,4.6vw,4.8rem) clamp(1.2rem,3.1vw,3rem);
}
.page-hero h1 {
  font-size: clamp(3.25rem,5.3vw,5.75rem);
  line-height: .91;
  margin-top: .95rem;
}
.page-hero p { font-size: 1.08rem; line-height: 1.55; }
.live-marker { font-size: .62rem; margin-top: 1.5rem; }
.index-toolbar { min-height: 70px; top: 86px; padding-left: clamp(1.2rem,3.1vw,3rem); padding-right: clamp(1.2rem,3.1vw,3rem); }
.filter-tabs button { min-height: 68px; font-size: .63rem; }
.compact-search { min-width: 220px; }

/* Dense public indexes */
.news-lead { min-height: 390px; }
.lead-content { padding: clamp(1.8rem,3.2vw,3.1rem); }
.lead-content h2 { font-size: clamp(2.25rem,3.4vw,3.8rem); line-height: .98; }
.lead-content p { font-size: .96rem; }
.news-grid,.research-grid,.reports-grid { gap: 1rem; }
.news-card,.research-card { min-height: 315px; padding: 1.35rem; }
.news-card h3,.research-card h3 { font-size: 1.45rem; line-height: 1.08; }
.news-card p,.research-card p { font-size: .8rem; }
.reports-grid .report-card h3 { font-size: 1.42rem; }

/* Article, research and report reading scale */
.article-title { font-size: clamp(3rem,5vw,5.5rem); line-height: .92; }
.article-deck { font-size: 1.08rem; }
.article-body,.research-prose,.report-prose { max-width: var(--reading); }
.article-body p,.research-prose p,.report-prose p { font-size: 1rem; line-height: 1.72; }
.article-body h2,.research-prose h2,.report-prose h2 { font-size: clamp(2rem,3vw,3rem); }
.article-body h3,.research-prose h3,.report-prose h3 { font-size: 1.45rem; }
.article-rail,.research-side,.chapter-nav { font-size: .78rem; }
.report-summary h1,.research-hero h1 { font-size: clamp(3rem,4.8vw,5.3rem); }
.report-summary p,.research-hero p { font-size: 1rem; }

/* Services hub */
.services-hub-hero {
  padding: clamp(3rem,5vw,5rem) clamp(1.2rem,3.1vw,3rem);
  border-bottom: 1px solid var(--ink);
}
.services-hub-hero .inner { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem,6vw,6rem); align-items: end; }
.services-hub-hero h1 { font: clamp(3.35rem,5.4vw,5.9rem)/.9 var(--serif); letter-spacing: -.05em; margin: 1rem 0 0; }
.services-hub-hero p { font-size: 1.08rem; margin-bottom: 1.5rem; }
.services-route-grid { max-width: var(--max); margin: 0 auto; padding: clamp(3.8rem,5.8vw,5.9rem) clamp(1.2rem,3.1vw,3rem); display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.services-route { min-height: 430px; border: 1px solid var(--ink); padding: clamp(1.6rem,3vw,2.6rem); display: flex; flex-direction: column; position: relative; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease; }
.services-route:hover { transform: translateY(-5px); box-shadow: var(--shadow-lift); }
.services-route.publisher { background: var(--blue); color: #fff; border-color: var(--blue); }
.services-route.editor { background: var(--ink); color: #fff; }
.services-route .route-no { font: 2rem/1 var(--serif); }
.services-route h2 { font: clamp(2.5rem,4vw,4.2rem)/.94 var(--serif); letter-spacing: -.04em; margin: auto 0 1rem; }
.services-route p { max-width: 520px; font-size: .96rem; }
.services-route ul { padding: 1.2rem 0 0; margin: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.45); display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1rem; font-size: .72rem; }
.services-route b { margin-top: 1.6rem; font-size: .7rem; letter-spacing: .08em; }
.workflow-band { max-width: none; background: #e8edf8; }
.workflow-row { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--ink); }
.workflow-row article { min-height: 205px; padding: 1.35rem; border-right: 1px solid var(--ink); }
.workflow-row article:last-child { border-right: 0; }
.workflow-row span { font: 1.4rem var(--serif); }
.workflow-row h3 { font: 1.35rem/1.05 var(--serif); margin: 2.3rem 0 .6rem; }
.workflow-row p { font-size: .78rem; }

/* Publisher/editor pages */
.publisher-hero,.service-section { padding-top: clamp(3.8rem,5.8vw,5.9rem); padding-bottom: clamp(3.8rem,5.8vw,5.9rem); }
.publisher-hero h1 { font-size: clamp(3.35rem,5.4vw,5.9rem); }
.publisher-hero p { font-size: 1.05rem; }
.capability-grid article,.engagement-grid article { min-height: 235px; padding: 1.35rem; }
.capability-grid h3,.engagement-grid h3 { font-size: 1.45rem; }
.editorial-spectrum details summary h3 { font-size: 1.48rem; }
.editor-team h2,.editor-brief h2,.service-section h2 { font-size: clamp(2.5rem,4vw,4.4rem); }

/* Workspace density */
.app-sidebar { width: 238px; }
.app-main { margin-left: 238px; }
.app-topbar { min-height: 68px; }
.app-content { padding: 1.8rem; }
.app-welcome h1 { font-size: 2.55rem; }
.task-strip article { min-height: 116px; padding: 1rem 1.2rem; }
.task-strip strong { font-size: 2.25rem; }
.dashboard-panel { padding: 1.25rem; }
.panel-head h2 { font-size: 1.55rem; }
.table-head,.data-table>a { min-height: 52px; font-size: .72rem; }
.review-content { max-width: 980px; }
.review-section h2 { font-size: 2rem; }
.submission-main form { max-width: 930px; }
.submission-step h2 { font-size: 2.7rem; }

.site-footer { padding-top: 3.2rem; }
.footer-lead { gap: 3.5rem; padding-bottom: 2.4rem; }
.footer-grid { padding: 2.4rem 0; }
.footer-grid h3 { font-size: 1.2rem; }
.footer-grid a,.footer-grid .link-button { font-size: .7rem; }
.search-panel { padding: 1.6rem; }
.search-head h2 { font-size: 2.65rem; }
.search-field { padding: .8rem 1rem; }
.search-field input { font-size: 1.02rem; }
.search-result { padding: .8rem 0; }
.search-result span { font-size: 1.15rem; }

@media (max-width: 1280px) {
  .site-header { grid-template-columns: 200px minmax(0,1fr) auto; }
  .primary-nav { gap: 1.35rem; font-size: .84rem; }
  .platform-module-grid { grid-template-columns: repeat(3,1fr); }
  .platform-module:nth-child(3) { border-right: 0; }
  .platform-module:nth-child(-n+3) { border-bottom: 1px solid var(--ink); }
  .platform-module:nth-child(4) { grid-column: span 1; }
  .platform-module:last-child { grid-column: span 2; }
}

@media (max-width: 1180px) {
  .site-header { grid-template-columns: 190px minmax(0,1fr) auto; }
  .wordmark { font-size: 2.35rem; }
  .primary-nav { gap: 1.1rem; font-size: .8rem; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-signal { min-height: 500px; }
  .services-hub-hero .inner { grid-template-columns: 1fr; }
  .services-hub-hero .inner>div:last-child { max-width: 650px; }
}

@media (max-width: 900px) {
  body { font-size: 15px; }
  .utility-bar { height: 34px; }
  .site-header { height: 72px; }
  .wordmark { font-size: 2.05rem; }
  .mobile-nav { inset: 106px 0 auto; }
  .mobile-nav a { font-size: 1.45rem; padding: .8rem 0; }
  .index-toolbar { top: 72px; }
  .hero-copy h1 { font-size: clamp(3.25rem,10vw,5rem); }
  .platform-map-head { grid-template-columns: 1fr; gap: 1.2rem; }
  .platform-module-grid { grid-template-columns: 1fr 1fr; }
  .platform-module,.platform-module:nth-child(3),.platform-module:nth-child(4),.platform-module:last-child { grid-column: auto; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
  .platform-module:nth-child(even) { border-right: 0; }
  .platform-module:last-child { grid-column: 1/-1; border-right: 0; border-bottom: 0; }
  .platform-module:nth-child(4) { border-bottom: 1px solid var(--ink); }
  .services-route-grid { grid-template-columns: 1fr; }
  .workflow-row { grid-template-columns: 1fr 1fr; }
  .workflow-row article:nth-child(2) { border-right: 0; }
  .workflow-row article:nth-child(-n+2) { border-bottom: 1px solid var(--ink); }
  .app-main { margin-left: 0; }
}

@media (max-width: 640px) {
  .section,.platform-map { padding: 3.2rem 1rem; }
  .section-heading h2 { font-size: 2.45rem; }
  .hero-copy { padding: 2.7rem 1rem; }
  .hero-copy h1 { font-size: 3.45rem; line-height: .93; }
  .hero-deck { font-size: 1rem; }
  .hero-signal { min-height: 420px; }
  .metrics-strip>div,.daily-intelligence { min-height: 112px; }
  .metrics-strip strong { font-size: 2.7rem; }
  .platform-map-head h2 { font-size: 2.75rem; }
  .platform-module-grid { grid-template-columns: 1fr; }
  .platform-module,.platform-module:nth-child(3),.platform-module:nth-child(4),.platform-module:last-child { min-height: 220px; grid-column: auto; border-right: 0; border-bottom: 1px solid var(--ink); }
  .platform-module:last-child { border-bottom: 0; }
  .feature-card { min-height: 350px; }
  .feature-card h3 { font-size: 2.15rem; }
  .page-hero { padding: 2.8rem 1rem; }
  .page-hero h1 { font-size: 3.35rem; }
  .page-hero p { font-size: 1rem; }
  .news-card,.research-card { min-height: 260px; }
  .article-title { font-size: 3rem; }
  .article-body,.research-prose,.report-prose { padding: 1.7rem 1rem; }
  .article-body p,.research-prose p,.report-prose p { font-size: .97rem; }
  .services-hub-hero { padding: 3rem 1rem; }
  .services-hub-hero h1 { font-size: 3.45rem; }
  .services-route-grid { padding: 3.2rem 1rem; }
  .services-route { min-height: 360px; }
  .services-route h2 { font-size: 2.8rem; }
  .services-route ul { grid-template-columns: 1fr; }
  .workflow-row { grid-template-columns: 1fr; }
  .workflow-row article,.workflow-row article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--ink); }
  .workflow-row article:last-child { border-bottom: 0; }
  .app-content { padding: 1rem; }
  .app-welcome h1 { font-size: 2.3rem; }
  .submission-step h2 { font-size: 2.45rem; }
  .footer-lead { gap: 2.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Responsive restorations for rules intentionally refined above. These live at
   the end of the cascade so the compact layouts remain authoritative. */
@media (max-width: 900px) {
  .page-hero,.article-hero,.research-hero,.report-detail-hero,
  .lead-story-grid,.chromatic-band,.peer-callout,.footer-lead,
  .publisher-hero-grid,.service-case,.service-form-grid,.signal-brief {
    grid-template-columns: 1fr;
  }
  .page-hero>div:last-child { justify-self: start; margin-top: 1.5rem; }
  .story-stack { border-top: 1px solid var(--ink); }
  .index-toolbar { width: 100%; max-width: 100vw; }
}

@media (max-width: 640px) {
  .index-toolbar {
    position: relative;
    top: auto;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 0;
    padding: 0;
    overflow: hidden;
  }
  .filter-tabs {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    padding: 0 1rem;
    scrollbar-width: thin;
  }
  .filter-tabs button { flex: 0 0 auto; }
  .compact-search {
    min-width: 0;
    width: calc(100% - 2rem);
    margin: .75rem 1rem 1rem;
  }
  .compact-search input { width: 100%; min-width: 0; }
  .signal-brief form { display: grid; grid-template-columns: 1fr; width: 100%; }
  .signal-brief input { width: 100%; min-width: 0; }
  .story-stack,.story-row { min-width: 0; }
}

/* Full mobile layout hardening across all editorial workflows. */
@media (max-width: 640px) {
  body { overflow-x: hidden; }
  main,section,article,aside,nav,form,div { min-width: 0; }

  .article-layout,.article-main,.article-rail,.article-body,.article-evidence,
  .research-detail-layout,.research-side,.research-prose,
  .record-masthead,.record-masthead-main,.record-citation,
  .report-reader,.chapter-nav,.report-prose,.report-notes,
  .review-workspace,.workspace-main,.review-content,.review-layout,.review-layout>div,
  .review-aside,.workspace-card,.offline-page main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .article-main { padding: 2rem 1rem; }
  .article-rail { padding: 1.5rem 1rem; gap: 1.5rem; }
  .article-evidence { margin: 2rem 0; padding: 1.15rem; }
  .article-evidence h3 { font-size: 1.55rem; }

  .record-masthead {
    grid-template-columns: minmax(0,1fr);
    gap: 2rem;
    padding: 3rem 1rem;
  }
  .record-masthead h1 { font-size: 3rem; }
  .record-masthead-main>p { font-size: 1rem; }
  .record-citation { padding: 1.1rem; }

  .research-record {
    grid-template-columns: minmax(0,1fr);
    gap: 1rem;
    padding: 1.6rem 0;
  }
  .record-code { font-size: .62rem; }
  .record-main h2 { font-size: 1.65rem; }
  .record-facts {
    width: 100%;
    grid-template-columns: 1fr 1fr;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 1rem 0 0;
  }
  .record-facts .bookmark { top: .8rem; }

  .featured-report {
    grid-template-columns: minmax(0,1fr);
    gap: 2rem;
    padding: 3rem 1rem;
  }
  .featured-report-copy h2 { font-size: 3rem; }
  .featured-report-copy>p { font-size: 1rem; }
  .report-library { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .report-reader { padding: 2rem 1rem; gap: 2rem; }
  .chapter-nav { padding: 0; }

  .editorial-spectrum {
    grid-template-columns: minmax(0,1fr);
    gap: 2rem;
    padding: 3rem 1rem;
  }
  .spectrum-track { grid-template-columns: minmax(0,1fr); }
  .spectrum-track article { border-right: 0; border-bottom: 1px solid var(--ink); }
  .spectrum-track article:last-child { border-bottom: 0; }
  .spectrum-track h3 { margin: 1rem 0 .5rem; }

  .review-ethics { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .review-ethics h2 { font-size: 3rem; }
  .ethics-grid { grid-template-columns: minmax(0,1fr); }
  .role-panel.is-active { grid-template-columns: minmax(0,1fr); gap: 1.5rem; padding: 1.2rem; }
  .role-panel h2 { font-size: 2.7rem; }
  .role-panel ul { font-size: 1rem; padding-left: 1.2rem; }
  .peer-hero { background: var(--paper); }
  .peer-hero>div:last-child { color: var(--ink); }
  .peer-hero .button-primary { background: var(--blue); color: #fff; border-color: var(--blue); }

  .consultation,.editor-brief {
    grid-template-columns: minmax(0,1fr);
    gap: 2rem;
  }
  .consultation-intro h2,.editor-brief h2 { font-size: 2.8rem; }
  .consultation-form,.editor-brief form { width: 100%; }
  .form-grid { grid-template-columns: minmax(0,1fr); }
  .field input,.field select,.field textarea { width: 100%; min-width: 0; }

  .review-content { padding: 1rem; overflow: hidden; }
  .review-layout { margin-top: 1rem; gap: 1rem; }
  .workspace-card { padding: 1rem; margin-bottom: 1rem; }
  .review-aside { width: 100%; }

  .offline-page main { padding: 1.5rem 1rem; }
  .offline-page h1 { font-size: 3.5rem; }
  .offline-page .eyebrow { white-space: normal; overflow-wrap: anywhere; }
}

@media (max-width: 640px) {
  .related-grid { grid-template-columns: minmax(0,1fr); }
  .related-grid a { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .related-grid a:last-child { border-bottom: 0; }
  .version-table>div {
    grid-template-columns: 38px minmax(0,1fr);
    gap: .35rem .8rem;
  }
  .version-table>div p,.version-table>div a,.version-table>div em { grid-column: 2; width: auto; }

  .case-study { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .case-study h2 { font-size: 3rem; }
  .case-study p { font-size: 1rem; }
  .case-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; width: 100%; }
  .case-metrics>div { width: auto; min-width: 0; }
  .case-metrics span { display: block; overflow-wrap: anywhere; }

  .role-tabs { width: 100%; overflow-x: auto; }
  .role-tabs button { flex: 0 0 auto; min-width: max-content; padding: .8rem 1rem; }

  .matrix { grid-template-columns: minmax(0,1fr); margin: 2.5rem 0; }
  .matrix article,.matrix article:nth-of-type(even),.matrix article:nth-last-child(-n+2) {
    border-right: 0;
    border-bottom: 1px solid var(--ink);
  }
  .matrix article:last-child { border-bottom: 0; }
  .matrix article span { overflow-wrap: anywhere; }

  .record-tabs {
    width: 100%;
    max-width: 100vw;
    padding: 0 1rem;
    gap: 1.5rem;
    contain: inline-size;
  }
  .research-tools {
    grid-template-columns: minmax(0,1fr);
    gap: 1.2rem;
    padding: 1.4rem 1rem;
  }
  .select-row { gap: .65rem; }

  .workspace-shell { grid-template-columns: minmax(0,1fr); }
  .workspace-main,.workspace-content { width: 100%; max-width: 100%; }
  .workspace-content { padding: 1rem; }
  .criteria-list label {
    grid-template-columns: 28px minmax(0,1fr);
    gap: .7rem;
  }
  .criteria-list label select { grid-column: 2; width: 100%; min-width: 0; }
  .review-comment>div { grid-template-columns: minmax(0,1fr) auto; }
  .review-comment select { max-width: 100%; min-width: 0; }

  .editor-team { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .pod-diagram { width: min(100%,340px); height: 340px; margin: 0 auto; }
  .pod-core { width: 110px; height: 110px; }
  .pod-diagram span { font-size: .58rem; max-width: 90px; text-align: center; }

  .cover-shadow { inset: 15px -15px -15px 15px; }
}

@media (max-width: 640px) {
  .role-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    contain: inline-size;
  }
  .role-tabs button { min-width: 0; width: 100%; }

  .services-statement { grid-template-columns: minmax(0,1fr); }
  .services-statement>div { padding: 2.5rem 1rem; border-right: 0; border-bottom: 1px solid var(--ink); }
  .services-statement>div:last-child { border-bottom: 0; }
  .services-statement h2 { font-size: 2.65rem; }

  .pricing-grid { grid-template-columns: minmax(0,1fr); }
  .pricing-grid article { min-height: 390px; padding: 1.4rem; }
  .pricing-grid article+article { border-left: 1px solid var(--ink); border-top: 0; }
  .pricing-grid .featured-tier { transform: none; }
  .pricing-grid h3 { font-size: 2.15rem; }

  .report-summary {
    grid-template-columns: minmax(0,1fr);
    gap: 1.2rem;
    padding: 2.5rem 1rem;
  }
  .report-summary h2 { font-size: 2.8rem; }
  .report-summary p { font-size: 1rem; }
  .layer-list div { grid-template-columns: 38px minmax(0,1fr); gap: .35rem .8rem; }
  .layer-list div p { grid-column: 2; }

  .select-row { grid-template-columns: minmax(0,1fr); }
  .cover-shadow { inset: 12px 0 -12px 12px; }
}

@media (max-width: 640px) {
  .review-principles { grid-template-columns: minmax(0,1fr); gap: 2rem; padding: 3rem 1rem; }
  .principle-intro h2 { font-size: 3rem; }
  .principle-list article { grid-template-columns: 38px minmax(0,1fr); gap: .8rem; }
  .principle-list h3 { font-size: 1.5rem; }
}

@media (max-width: 640px) {
  .workflow-track { grid-template-columns: minmax(0,1fr); }
  .workflow-track article { min-height: 180px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .workflow-track article:last-child { border-bottom: 0; }
  .workflow-track h3 { margin: 1.2rem 0 .5rem; }
}

/* Tablet and compact-laptop composition */
.app-shell { grid-template-columns: 238px minmax(0,1fr); }
.app-main { margin-left: 0; min-width: 0; }

@media (max-width: 1180px) {
  .editorial-spectrum { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .record-content { grid-template-columns: minmax(0,850px); gap: 2rem; }
  .record-sidebar { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
  .app-shell { grid-template-columns: 210px minmax(0,1fr); }
  .app-sidebar { width: auto; }
  .app-main { min-width: 0; }
}

@media (max-width: 900px) {
  .article-main,.article-body { width: 100%; max-width: 100%; min-width: 0; }
  .article-evidence { margin: 2.2rem 0; }

  .editorial-spectrum { padding: 4rem 1.5rem; }
  .spectrum-track { grid-template-columns: 1fr 1fr; }
  .spectrum-track article { border-bottom: 1px solid var(--ink); }
  .spectrum-track article:nth-child(even) { border-right: 0; }
  .spectrum-track article:last-child { grid-column: 1/-1; border-bottom: 0; }
  .editor-team,.consultation,.editor-brief,.case-study { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }

  .review-principles { grid-template-columns: minmax(0,1fr); gap: 2.5rem; padding: 4rem 1.5rem; }
  .workflow-track { grid-template-columns: 1fr 1fr; }
  .workflow-track article { border-bottom: 1px solid var(--ink); }
  .workflow-track article:nth-child(even) { border-right: 0; }
  .workflow-track article:nth-last-child(-n+2) { border-bottom: 0; }

  .services-statement { grid-template-columns: minmax(0,1fr); }
  .services-statement>div { border-right: 0; border-bottom: 1px solid var(--ink); }
  .services-statement>div:last-child { border-bottom: 0; }
  .pricing-grid { grid-template-columns: minmax(0,1fr); }
  .pricing-grid article+article { border-left: 1px solid var(--ink); border-top: 0; }
  .pricing-grid .featured-tier { transform: none; }

  .app-shell { grid-template-columns: minmax(0,1fr); }
  .app-main { width: 100%; }
  .record-sidebar { grid-template-columns: 1fr 1fr 1fr; }
}

@media (max-width: 640px) {
  .news-lead { grid-template-columns: minmax(0,1fr); padding-bottom: 2rem; }
  .lead-visual { min-height: 310px; }
  .lead-content { padding: 1.5rem 0 0; }
  .lead-content h2 { font-size: 2.65rem; }

  .accordion-list summary {
    grid-template-columns: 40px minmax(0,1fr) 28px;
    gap: .55rem;
    padding: 1rem .75rem;
  }
  .accordion-list summary span { font-size: 1.5rem; }
  .accordion-list summary h3 { font-size: 1.45rem; }
  .accordion-list summary i { font-size: 1.4rem; }
  .accordion-list details>div {
    grid-template-columns: minmax(0,1fr);
    gap: 1rem;
    padding: 0 .75rem 1.5rem 3.3rem;
  }

  .record-content { grid-template-columns: minmax(0,1fr); padding: 2.5rem 1rem; }
  .record-article { width: 100%; min-width: 0; }
  .record-article h2 { font-size: 2.65rem; }
  .record-sidebar { grid-template-columns: minmax(0,1fr); }
  .method-table div { grid-template-columns: minmax(0,1fr); gap: .35rem; }
  .finding-grid { grid-template-columns: minmax(0,1fr); }
  .finding-grid article { border-right: 0; border-bottom: 1px solid var(--ink); }
  .finding-grid article:last-child { border-bottom: 0; }
  .data-package>div:first-child { flex-direction: column; }
  .review-timeline { padding-left: 1.25rem; }
  .review-timeline article:before { left: -27px; }
  .review-timeline article>div { flex-direction: column; gap: .25rem; }
}
