/* Brief presentation v3 (2026-10-03, operator-approved): the briefs, their documents, and their
   audit packets take the site's type and header. This sheet loads after each page's own CSS and
   changes presentation only; no brief's text changes. Versioning decision logged in the operator
   notebook (operations/log/2026-10-03-brief-presentation-v3.md). */
:root {
  --serif-display: 'Newsreader', Georgia, serif;
  --serif-body: 'Newsreader', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', -apple-system, system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
}

/* Header: the same bar as every other page. Later blocks in some briefs' own CSS set the bar's
   padding and button colours with !important, so the matching rules here do too. */
nav.top {
  min-height: 72px;
  padding: 12px clamp(20px, 4.2vw, 72px) !important;
  gap: 28px !important;
  background: #f6f3ec;
  backdrop-filter: none;
  border-bottom: 1px solid #d4cbbd;
}
nav.top .logo svg { width: 30px; height: 30px; flex-shrink: 0; }
nav.top .logo-word { font-weight: 400; font-size: 21px; line-height: 1; letter-spacing: -0.025em; color: #171614; }
nav.top .logo-word em { color: #a8543a; font-weight: 400; padding: 0; }
nav.top .nav-links { gap: 24px; letter-spacing: 0.07em; }
nav.top .nav-links a { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 10px 0; color: #6d675e; }
nav.top .nav-links a.is-current, nav.top .nav-links a:hover { color: #171614; }
nav.top .nav-links a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: #a8543a; transform: scaleX(0); transform-origin: left; transition: transform .25s; }
nav.top .nav-links a.is-current::after, nav.top .nav-links a:hover::after { transform: scaleX(1); }
nav.top .nav-cta { gap: 12px; }
nav.top .nav-cta > a:not(.btn-solid) { width: 40px !important; height: 40px !important; border: 0 !important; border-radius: 0 !important; color: #171614 !important; }
nav.top .btn-solid { display: inline-flex; align-items: center; justify-content: center; height: 42px !important; padding: 0 18px !important; border: 1px solid #a8543a !important; border-radius: 3px !important; background: #a8543a !important; color: #f6f3ec !important; letter-spacing: 0.08em; transition: background .2s, transform .2s; }
nav.top .btn-solid:hover, nav.top .btn-solid:focus-visible { background: #8f4630 !important; border-color: #8f4630 !important; color: #f6f3ec !important; }
@media (prefers-reduced-motion: no-preference) { nav.top .btn-solid:hover { transform: translateY(-2px); } }

/* Titles and standfirsts: Newsreader, as on every other page. */
h1.brief-title, h1.audit-title {
  font-family: var(--serif-display);
  font-weight: 400;
  font-size: clamp(32px, 4.4vw, 48px);
  line-height: 1.06;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.brief-sub, .audit-sub {
  font-family: var(--serif-display);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(19px, 1.7vw, 22px);
  line-height: 1.5;
  letter-spacing: -0.005em;
}
.brief-body p.lede { font-family: var(--serif-display); font-size: clamp(19px, 1.7vw, 21px); line-height: 1.5; }

/* Section and panel labels were set in Manrope; they take Inter, the brief's other label face. */
.meta-section h3, .about-box h3, .about-template h3, .module-head h2, .audit-packet .module-head h3,
.audit-module h3, .foot-col h5 {
  font-family: var(--sans);
}

/* The page chrome keeps one voice: no decorative italic accents in its headings. Emphasis inside
   a brief's own text is unchanged. */
.next-brief-card .h em, .sub-copy h3 em { font-family: inherit; font-style: normal; font-size: 1em; color: inherit; }

/* One primary button: the closing subscribe form matches the header. */
.sub-form button { background: #a8543a; color: #f6f3ec; border-radius: 3px; }
.sub-form button:hover { background: #8f4630; }
