/* Auditario canonical dark business theme
   ----------------------------------
   This is the final cascade layer for every public product surface. Layout
   remains in public.css (or the self-contained preview/report stylesheet),
   while this file owns the shared colour, type, header, and surface language.
   Values mirror src/auditario/report/tokens.py and are regression-tested. */

:root {
  color-scheme: dark;
  --theme-canvas: #030506;
  --theme-surface: #090c0b;
  --theme-surface-soft: #111714;
  --theme-surface-subtle: #070a09;
  --theme-line: #282e2c;
  --theme-line-strong: #39433f;
  --theme-ink: #f5f7f8;
  --theme-ink-soft: #84948e;
  --theme-ink-faint: #74847e;
  --theme-navy: #f4f7f5;
  --theme-navy-hover: #ffffff;
  --theme-jade: #67e4ba;
  --theme-jade-deep: #91edc9;
  --theme-jade-soft: #10261f;
  --theme-brass: #e5b85d;
  --theme-brass-text: #e5b85d;
  --theme-brass-soft: #2a2415;
  --theme-rose: #f2827f;
  --theme-rose-deep: #f2827f;
  --theme-rose-soft: #2a1617;
  --theme-paper: #f5f2ea;
  --theme-paper-ink: #16212c;
  --theme-paper-line: #dfd8c9;
  --theme-shadow: 0 34px 80px -44px rgba(0, 0, 0, 0.92);
  --theme-shadow-soft: 0 20px 44px -34px rgba(0, 0, 0, 0.88);

  /* Public-site aliases. */
  --ground: var(--theme-canvas);
  --panel: var(--theme-surface);
  --panel-2: var(--theme-surface-soft);
  --panel-3: var(--theme-surface-subtle);
  --line: var(--theme-line);
  --line-strong: var(--theme-line-strong);
  --ink: var(--theme-ink);
  --ink-soft: var(--theme-ink-soft);
  --ink-faint: var(--theme-ink-faint);
  --brand: var(--theme-ink);
  --jade: var(--theme-jade);
  --jade-light: var(--theme-jade);
  --jade-deep: var(--theme-jade-deep);
  --jade-wash: var(--theme-jade-soft);
  --brass: var(--theme-brass);
  --brass-text: var(--theme-brass-text);
  --brass-wash: var(--theme-brass-soft);
  --rose: var(--theme-rose);
  --rose-deep: var(--theme-rose-deep);
  --rose-wash: var(--theme-rose-soft);
  --paper: var(--theme-paper);
  --paper-ink: var(--theme-paper-ink);
  --paper-soft: #4b5c68;
  --paper-faint: #526675;
  --paper-line: var(--theme-paper-line);

  /* Product-preview aliases. */
  --bg: var(--theme-canvas);
  --panel2: var(--theme-surface-soft);
  --hair: var(--theme-line);
  --soft: var(--theme-ink-soft);
  --faint: var(--theme-ink-faint);
  --doc: var(--theme-paper);
  --doc-ink: var(--theme-paper-ink);
  --doc-soft: #4b5c68;
  --rule: var(--theme-paper-line);
}

html {
  background: var(--theme-canvas);
}

body,
body.landing-page,
body.seo-page,
body[data-preview-model] {
  color-scheme: dark;
  background: var(--theme-canvas);
  color: var(--theme-ink);
}

body {
  font-size: 16px;
  line-height: 1.62;
}

::selection {
  background: #245c49;
  color: var(--theme-ink);
}

a {
  color: var(--theme-jade-deep);
}

a:hover {
  color: var(--theme-ink);
}

:focus-visible,
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--theme-jade);
  outline-offset: 3px;
}

h1,
h2,
h3,
.landing-page h1,
.landing-page h2,
.landing-page h3 {
  color: var(--theme-ink);
  font-weight: 650;
  letter-spacing: -0.025em;
}

.seo-hero h1 {
  font-size: clamp(2.45rem, 5vw, 4rem);
  line-height: 1.06;
}

.landing-page h2 {
  font-size: clamp(1.75rem, 3vw, 2.45rem);
  line-height: 1.14;
}

.lede,
.hero__meta,
.seo-meta,
.breadcrumbs {
  color: var(--theme-ink-soft);
}

.eyebrow,
.landing-page .eyebrow,
.landing-product__eyebrow {
  color: var(--theme-jade-deep);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.11em;
}

/* One public masthead. */
.site-header,
.landing-page .site-header,
.seo-page .site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(127, 224, 192, 0.12);
  background:
    linear-gradient(90deg, rgba(103, 228, 186, 0.06), transparent 28%),
    rgba(3, 5, 6, 0.88);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.18);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  backdrop-filter: blur(20px) saturate(145%);
}

.site-header__inner,
.landing-page .site-header__inner {
  min-height: 72px;
  gap: 24px;
}

.brand,
.landing-page .brand {
  min-height: 44px;
  gap: 10px;
  padding: 4px 7px 4px 4px;
  border-radius: 12px;
  color: var(--theme-ink);
  font-size: 1.08rem;
  font-weight: 760;
  letter-spacing: -0.035em;
}

.brand:hover,
.landing-page .brand:hover {
  background: rgba(103, 228, 186, 0.055);
  color: var(--theme-ink);
}

.brand img,
.landing-page .brand img {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  box-shadow:
    0 0 0 1px rgba(103, 228, 186, 0.18),
    0 10px 26px rgba(0, 0, 0, 0.22),
    0 0 24px rgba(103, 228, 186, 0.08);
}

.brand__accent {
  color: var(--theme-jade);
}

.site-nav,
.landing-page .site-nav {
  gap: 2px;
  padding: 4px;
  border: 1px solid rgba(132, 148, 142, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.025);
}

.site-nav a,
.landing-page .site-nav a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 0 13px;
  border-radius: 999px;
  color: var(--theme-ink-soft);
  font-size: 0.8rem;
  font-weight: 650;
  transition: background 180ms ease, color 180ms ease;
}

.site-nav a:hover,
.site-nav a[aria-current="page"],
.landing-page .site-nav a:hover,
.landing-page .site-nav a[aria-current="page"] {
  background: var(--theme-jade-soft);
  color: var(--theme-ink);
}

.button,
.landing-page .button,
.landing-page .site-header .button {
  min-height: 44px;
  padding: 0.72em 1.22em;
  border: 1px solid var(--theme-navy);
  border-radius: 8px;
  background: var(--theme-navy);
  box-shadow: none;
  color: #07100d;
  font-size: 0.9rem;
  font-weight: 680;
}

.button:hover,
.landing-page .button:hover,
.landing-page .site-header .button:hover {
  transform: none;
  border-color: var(--theme-navy-hover);
  background: var(--theme-navy-hover);
  box-shadow: none;
  color: #07100d;
}

.site-header .button,
.landing-page .site-header .button {
  min-height: 40px;
  padding: 0.64em 1.08em;
  border-color: rgba(145, 237, 201, 0.72);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--theme-jade), var(--theme-jade-deep));
  color: #04130e;
  font-size: 0.8rem;
  font-weight: 760;
  box-shadow: 0 10px 28px -18px rgba(103, 228, 186, 0.8);
}

.site-header .button:hover,
.landing-page .site-header .button:hover {
  transform: translateY(-1px);
  border-color: var(--theme-jade-deep);
  background: linear-gradient(135deg, var(--theme-jade-deep), var(--theme-jade));
  color: #04130e;
  box-shadow: 0 14px 34px -18px rgba(103, 228, 186, 0.95);
}

.button--small,
.landing-page .site-header .button {
  min-height: 38px;
  padding: 0.58em 1em;
  font-size: 0.8rem;
}

.button--ghost {
  border-color: var(--theme-line-strong);
  background: var(--theme-surface);
  color: var(--theme-ink);
}

.button--ghost:hover {
  border-color: var(--theme-jade);
  background: var(--theme-surface-soft);
  color: var(--theme-ink);
}

.site-footer,
.landing-page .site-footer {
  border-top-color: var(--theme-line);
  background: var(--theme-surface);
}

.site-footer__about,
.site-footer__bottom,
.landing-page .site-footer__about,
.landing-page .site-footer__bottom {
  color: var(--theme-ink-faint);
}

.footer-nav a,
.landing-page .footer-nav a {
  color: var(--theme-ink-soft);
}

/* Shared public content surfaces. */
.hero,
.seo-page,
.seo-hero,
.section,
.resource-band {
  background: var(--theme-canvas);
}

.section--soft,
.resource-band--soft {
  background: var(--theme-surface-soft);
}

.card,
.seo-card,
.seo-answer,
.seo-formula,
.seo-example,
.seo-cta,
.availability__row,
.fact-list div {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow-soft);
  color: var(--theme-ink-soft);
}

.seo-answer,
.seo-formula,
.seo-example,
.seo-cta {
  background-image: none;
}

.seo-boundary,
.seo-status,
.callout--warning {
  border-color: rgba(229, 184, 93, 0.3);
  background: var(--theme-brass-soft);
  color: var(--theme-ink-soft);
}

.seo-boundary strong,
.seo-status strong {
  color: var(--theme-brass-text);
}

.seo-card__eyebrow,
.seo-card__link,
.seo-formula__label,
.seo-example__label {
  color: var(--theme-jade-deep);
}

.paper {
  box-shadow: var(--theme-shadow);
}

/* Calm landing page: content-led, left aligned, and free of stage effects. */
.landing-page {
  --shell: 1120px;
  background: var(--theme-canvas);
  color: var(--theme-ink);
}

.landing-page .shell {
  width: min(100% - 40px, var(--shell));
}

.landing-hero {
  overflow: visible;
  padding: clamp(46px, 5.5vw, 68px) 0 clamp(46px, 5.5vw, 66px);
  border-bottom: 1px solid var(--theme-line);
  background: linear-gradient(180deg, #050806 0%, var(--theme-canvas) 100%);
}

.landing-hero::before,
.landing-hero::after,
.landing-aurora,
.landing-stage__halo,
.landing-belief::after,
.landing-signup::before {
  display: none;
}

.landing-hero__inner {
  display: grid;
  gap: clamp(36px, 4vw, 58px);
  align-items: center;
}

@media (min-width: 1101px) {
  .landing-hero__inner {
    grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
  }
}

.landing-hero__copy {
  max-width: 560px;
  align-items: flex-start;
  text-align: left;
}

.landing-hero__copy .state-tag {
  margin-inline: 0;
}

.landing-hero__copy h1 {
  max-width: 540px;
  margin: 18px 0 0;
  font-size: clamp(2.25rem, 3.2vw, 3.15rem);
  font-weight: 630;
  letter-spacing: -0.032em;
  line-height: 1.08;
}

.landing-hero__copy h1 span,
.landing-belief h2 span {
  background: none;
  color: inherit;
  -webkit-text-fill-color: currentColor;
}

.landing-hero__lede {
  max-width: 520px;
  margin: 19px 0 0;
  color: var(--theme-ink-soft);
  font-size: clamp(0.98rem, 1.3vw, 1.08rem);
  line-height: 1.62;
  text-wrap: pretty;
}

.landing-hero__actions {
  justify-content: flex-start;
  margin-top: 24px;
}

.landing-primary {
  min-height: 46px;
}

.landing-text-link {
  color: var(--theme-navy);
  font-size: 0.88rem;
}

.landing-text-link:hover {
  color: var(--theme-jade-deep);
}

.landing-text-link span {
  color: var(--theme-jade);
}

.landing-boundary {
  justify-content: flex-start;
  margin-top: 24px;
  color: var(--theme-ink-faint);
  font-size: 0.72rem;
}

.landing-boundary span::before {
  background: var(--theme-jade);
  box-shadow: none;
}

.landing-stage {
  min-width: 0;
  margin-top: 0;
  perspective: none;
}

.landing-page .state-tag--planned,
.landing-page .state-tag--review {
  border-color: rgba(229, 184, 93, 0.34);
  background: var(--theme-brass-soft);
  color: var(--theme-brass-text);
}

/* The marketing overview and the real app use the same dark workspace. */
.landing-product {
  border-color: var(--theme-line);
  border-radius: 16px;
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow);
  transform: none;
}

.landing-product:hover {
  border-color: var(--theme-line-strong);
  transform: none;
}

.landing-product__bar {
  border-bottom-color: var(--theme-line);
  background: var(--theme-surface);
}

.landing-product__brand,
.landing-product__heading h2,
.landing-product__rail h3 {
  color: var(--theme-ink);
}

.landing-product__heading h2 {
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.12;
}

.landing-product__context,
.landing-product__mode,
.landing-product__eyebrow,
.landing-result > span,
.landing-result small,
.landing-proof__head > div > span,
.landing-proof__steps > div > span,
.landing-proof__steps small,
.landing-proof__math small,
.landing-coverage__label,
.landing-product__rail > p,
.landing-stage__caption {
  color: var(--theme-ink-faint);
}

.landing-product__mode i {
  background: var(--theme-brass);
  box-shadow: none;
}

.landing-product__nav {
  border-right-color: var(--theme-line);
  background: var(--theme-surface-subtle);
}

.landing-product__nav span {
  color: var(--theme-ink-faint);
}

.landing-product__nav span.is-active {
  background: var(--theme-jade-soft);
  box-shadow: inset 3px 0 0 var(--theme-jade);
  color: var(--theme-ink);
}

.landing-product__main {
  background: var(--theme-canvas);
}

.landing-result,
.landing-proof,
.landing-coverage {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow-soft);
}

.landing-result:first-child {
  border-left-color: var(--theme-line);
}

.landing-result::before {
  background: var(--theme-ink-faint);
}

.landing-result--claim::before {
  background: var(--theme-jade);
}

.landing-result--review::before {
  background: var(--theme-brass);
}

.landing-result strong,
.landing-proof__head > div > strong,
.landing-proof__steps strong,
.landing-proof__math strong,
.landing-coverage__label strong {
  color: var(--theme-ink);
}

.landing-result--claim strong,
.landing-proof__math em {
  color: var(--theme-jade);
}

.landing-result--review strong {
  color: var(--theme-brass-text);
}

.landing-proof__steps,
.landing-proof__steps > div {
  border-color: var(--theme-line);
}

.landing-proof__steps b,
.landing-proof__math > span {
  background: var(--theme-jade-soft);
  color: var(--theme-jade);
}

.landing-proof__math {
  border-color: rgba(103, 228, 186, 0.28);
  background: var(--theme-jade-soft);
}

.landing-proof__math > b {
  background: var(--theme-brass-soft);
  color: var(--theme-brass-text);
}

.landing-coverage__track {
  background: var(--theme-line);
}

.landing-coverage__track span {
  background: var(--theme-jade);
}

.landing-product__rail {
  border-left-color: var(--theme-line);
  background: var(--theme-surface-subtle);
}

.landing-product__rail-state {
  background: var(--theme-brass-soft);
}

.landing-product__rail-state i {
  background: var(--theme-brass);
  box-shadow: none;
}

.landing-product__rail-state strong,
.landing-product__rail > a {
  color: var(--theme-brass-text);
}

.landing-product__rail-state small {
  color: var(--theme-ink-faint);
}

.landing-product__rail > a span {
  color: var(--theme-jade);
}

.landing-stage__caption a {
  color: var(--theme-jade-deep);
}

/* Landing content sections. */
.landing-belief,
.landing-method,
.landing-tour,
.landing-pricing,
.landing-faq,
.landing-signup {
  border-color: var(--theme-line);
  background: var(--theme-canvas);
}

.landing-belief,
.landing-tour,
.landing-faq {
  background: var(--theme-surface-soft);
}

.landing-belief__inner {
  text-align: left;
}

.landing-belief h2,
.landing-signup__copy h2 {
  max-width: 720px;
  font-size: clamp(1.85rem, 3.1vw, 2.55rem);
  line-height: 1.14;
}

.landing-belief,
.landing-method,
.landing-tour,
.landing-pricing,
.landing-faq,
.landing-signup {
  padding-block: clamp(52px, 5vw, 70px);
}

.landing-section-head {
  margin-bottom: clamp(32px, 3.5vw, 44px);
}

.landing-belief__inner > p:last-child,
.landing-section-head > p,
.landing-section-head--wide > p,
.landing-method__steps li > p,
.landing-tour-card__copy > span,
.landing-plans p,
.landing-pricing__foot,
.landing-faq__grid > div:first-child > p:last-child,
.landing-faq details p,
.landing-signup__copy > p:not(.eyebrow),
.landing-signup__copy ul,
.landing-form__note {
  color: var(--theme-ink-soft);
}

.landing-method__steps li {
  border-color: var(--theme-line);
}

.landing-method__steps li > span,
.landing-tour-card__num {
  color: var(--theme-jade-deep);
}

.landing-method__visual,
.landing-security-note,
.landing-tour-card,
.landing-mini,
.landing-plans article,
.landing-signup__panel {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow-soft);
  color: var(--theme-ink);
}

.landing-tour-card:hover {
  border-color: var(--theme-line-strong);
  transform: translateY(-1px);
}

.landing-security-note {
  background: var(--theme-jade-soft);
}

.landing-security-note > span,
.landing-security-note a,
.landing-security-note p strong,
.landing-tour-card__arrow,
.landing-plans a {
  color: var(--theme-jade-deep);
}

.landing-tour-card__copy > strong,
.landing-plans article > span,
.landing-plans article > strong,
.landing-faq summary,
.landing-field > span:first-child,
.landing-optional summary {
  color: var(--theme-ink);
}

.landing-mini__bar,
.landing-mini__metric,
.landing-mini__issue,
.landing-mini__math > div {
  border-color: var(--theme-line);
  background: var(--theme-surface-subtle);
}

.landing-mini__bar > span,
.landing-mini__metric > span,
.landing-mini__metric > small,
.landing-mini__action span,
.landing-mini__action small,
.landing-mini__issue small,
.landing-mini__math span,
.landing-mini__math small,
.landing-mini__result span,
.landing-mini__citation span {
  color: var(--theme-ink-faint);
}

.landing-mini__metric > strong,
.landing-mini__action strong,
.landing-mini__issue strong,
.landing-mini__math strong,
.landing-mini__citation strong {
  color: var(--theme-ink);
}

.landing-mini__bar > em,
.landing-mini__result,
.landing-mini__blocker {
  border-color: rgba(229, 184, 93, 0.3);
  background: var(--theme-brass-soft);
  color: var(--theme-brass-text);
}

.landing-mini__action,
.landing-mini__citation {
  border-color: rgba(103, 228, 186, 0.26);
  background: var(--theme-jade-soft);
}

.landing-mini__metric--claim > strong,
.landing-mini__citation strong {
  color: var(--theme-jade);
}

.landing-mini__metric--review > strong,
.landing-mini__issue > b,
.landing-mini__result strong,
.landing-mini__blocker strong {
  color: var(--theme-brass-text);
}

.landing-plans__featured {
  background: var(--theme-surface);
  box-shadow: inset 0 3px 0 var(--theme-jade), var(--theme-shadow-soft);
}

.landing-faq__list,
.landing-faq details {
  border-color: var(--theme-line);
}

.landing-signup__panel {
  background: var(--theme-surface);
}

.landing-field input,
.landing-field select {
  border-color: var(--theme-line-strong);
  background: var(--theme-surface);
  color: var(--theme-ink);
}

.landing-field input::placeholder {
  color: var(--theme-ink-faint);
}

.landing-field input:hover,
.landing-field select:hover,
.landing-field input:focus,
.landing-field select:focus {
  border-color: var(--theme-jade);
  background: var(--theme-surface);
}

.landing-optional {
  border-color: var(--theme-line);
}

.landing-page .field-error,
.landing-page .form-err {
  color: var(--theme-rose);
}

.landing-page .form-ok {
  color: var(--theme-jade);
}

/* Focused preview workspaces inherit the same colour contract. Their
   task-specific sidebar/header layout remains intentionally distinct. */
body[data-preview-model] {
  --bg: var(--theme-canvas);
  --panel: var(--theme-surface);
  --panel2: var(--theme-surface-soft);
  --line: var(--theme-line);
  --hair: var(--theme-line);
  --ink: var(--theme-ink);
  --soft: var(--theme-ink-soft);
  --faint: var(--theme-ink-faint);
  --jade: var(--theme-jade);
  --jade-deep: var(--theme-jade-deep);
  --brass: var(--theme-brass);
  --rose: var(--theme-rose);
  --rose-deep: var(--theme-rose-deep);
  --doc: var(--theme-paper);
  --doc-ink: var(--theme-paper-ink);
  --doc-soft: #4b5c68;
  --rule: var(--theme-paper-line);
}

body[data-preview-model]:not(.landing-page) {
  background: var(--theme-canvas);
}

body[data-preview-model] .topbar {
  border-color: var(--theme-line);
  background: rgba(3, 5, 6, 0.96);
}

body[data-preview-model] .topbar .cta {
  border-radius: 8px;
  background: var(--theme-navy);
  color: #07100d;
}

body[data-preview-model] .product-nav a.active {
  background: var(--theme-jade-soft);
  box-shadow: inset 3px 0 0 var(--theme-jade);
  color: var(--theme-ink);
}

body[data-preview-model] .pagehead h1 {
  color: var(--theme-ink);
  font-size: clamp(1.9rem, 3.4vw, 2.65rem);
  font-weight: 650;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

body[data-preview-model] .panel,
body[data-preview-model] .invoice-answer,
body[data-preview-model] .answer,
body[data-preview-model] .record-switcher a {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow-soft);
}

/* Legacy detail layouts retain their task-specific geometry, but their
   former light-shell literals must not create a second visual system. */
body[data-preview-model] .product-nav a:hover,
body[data-preview-model] .record-switcher a.active,
body[data-preview-model] .group-issue:hover,
body[data-preview-model] .issue-index,
body[data-preview-model] .source-lines summary::after {
  background: var(--theme-jade-soft);
}

body[data-preview-model] .preview-note {
  border-color: rgba(229, 184, 93, 0.3);
  background: var(--theme-brass-soft);
  color: var(--theme-ink-soft);
}

body[data-preview-model] .issue-answers,
body[data-preview-model] .invoice-answers,
body[data-preview-model] .answers,
body[data-preview-model] .legend-grid {
  border-color: var(--theme-line);
  background: var(--theme-line);
  box-shadow: var(--theme-shadow-soft);
}

body[data-preview-model] .issue-answer,
body[data-preview-model] .issue-answer.primary,
body[data-preview-model] .invoice-answer.primary,
body[data-preview-model] .answer.primary,
body[data-preview-model] .invoice-group,
body[data-preview-model] .issue-card,
body[data-preview-model] .issue,
body[data-preview-model] .empty,
body[data-preview-model] .next div,
body[data-preview-model] .zero,
body[data-preview-model] .state-grid,
body[data-preview-model] .draft-details,
body[data-preview-model] .proof-list li,
body[data-preview-model] .legend-item {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  box-shadow: none;
}

body[data-preview-model] .bar,
body[data-preview-model] .coverage-bar {
  background: var(--theme-line);
}

body[data-preview-model] .calculation,
body[data-preview-model] .dispatch-total {
  border-color: rgba(103, 228, 186, 0.28);
  background: var(--theme-jade-soft);
}

body[data-preview-model] .calculation .proof-label {
  color: var(--theme-jade-deep);
}

body[data-preview-model] .math-row {
  color: var(--theme-ink-soft);
}

body[data-preview-model] .deadline,
body[data-preview-model] .deadline-band {
  border-color: rgba(242, 130, 127, 0.28);
  background: var(--theme-rose-soft);
}

body[data-preview-model] .coverage-ring::before {
  background: var(--theme-surface);
}

/* The interactive overview is an application view, not a separate campaign.
   Keep its interaction layout while applying the same dark report
   surfaces and state colours as every other workspace. */
body.preview-shell {
  color-scheme: dark;
  --ground: var(--theme-canvas);
  --panel: var(--theme-surface);
  --panel-2: var(--theme-surface-soft);
  --panel-3: var(--theme-surface-subtle);
  --line: var(--theme-line);
  --line-strong: var(--theme-line-strong);
  --ink: var(--theme-ink);
  --ink-soft: var(--theme-ink-soft);
  --ink-faint: var(--theme-ink-faint);
  --brand: var(--theme-ink);
  --jade: var(--theme-jade);
  --jade-light: var(--theme-jade);
  --jade-deep: var(--theme-jade-deep);
  --jade-wash: var(--theme-jade-soft);
  --brass: var(--theme-brass);
  --brass-wash: var(--theme-brass-soft);
  --paper: var(--theme-paper);
  --paper-ink: var(--theme-paper-ink);
  --paper-soft: #4b5c68;
  --paper-faint: #526675;
  --paper-line: var(--theme-paper-line);
  background: var(--theme-canvas);
  color: var(--theme-ink);
}

.preview-shell main { background: transparent; }
.preview-shell .landing-stage__halo { display: block; opacity: .5; }
.preview-shell .site-header { border-bottom-color: var(--theme-line); background: rgba(3, 5, 6, .96); }
.preview-shell .landing-product { border-color: var(--theme-line); background: var(--theme-surface); color: var(--theme-ink); box-shadow: var(--theme-shadow); }
.preview-shell .landing-product__bar { border-bottom-color: var(--theme-line); background: var(--theme-surface); }
.preview-shell .landing-product__body,
.preview-shell .landing-product__nav { background-color: var(--theme-surface-subtle); }
.preview-shell .landing-product__nav { border-color: var(--theme-line); }
.preview-shell .landing-product__main { background: var(--theme-canvas); color: var(--theme-ink); }
.preview-shell .landing-product__rail { border-color: var(--theme-line); background: var(--theme-surface-subtle); color: var(--theme-ink); }
.preview-shell .landing-product h2,
.preview-shell .landing-product h3,
.preview-shell .landing-product__brand,
.preview-shell .preview-record > span > strong,
.preview-shell .preview-answer-grid strong { color: var(--theme-ink); }
.preview-shell .landing-result,
.preview-shell .landing-proof,
.preview-shell .preview-record,
.preview-shell .preview-answer-grid > div,
.preview-shell .preview-analytics-grid { border-color: var(--theme-line); background: var(--theme-surface); box-shadow: var(--theme-shadow-soft); }
.preview-shell .landing-coverage,
.preview-shell .preview-analytics-copy > div { background: var(--theme-surface-subtle); }

.preview-shell .landing-product__nav a { color: var(--theme-ink-soft); }
.preview-shell .landing-product__nav a:hover { color: var(--theme-ink); background: var(--theme-surface-soft); }
.preview-shell .landing-product__nav a.is-active,
.preview-shell .landing-product__nav a[aria-current="page"] { background: var(--theme-jade-soft); box-shadow: inset 3px 0 0 var(--theme-jade); color: var(--theme-ink); }
.preview-shell .landing-product__nav a:focus-visible,
.preview-shell .preview-record:focus-visible,
.preview-shell .preview-metric-hit:focus-visible,
.preview-shell .preview-proof-step > summary:focus-visible,
.preview-shell .preview-action-row a:focus-visible,
.preview-shell .preview-proof-step__detail a:focus-visible,
.preview-shell .preview-rail-panel > a:focus-visible { outline-color: var(--theme-jade); }
.preview-shell .preview-view__intro,
.preview-shell .preview-view__footnote { color: var(--theme-ink-faint); }
.preview-shell .landing-result.is-selected { border-color: rgba(103, 228, 186, .28); background: var(--theme-jade-soft); box-shadow: none; }
.preview-shell .landing-result--review.is-selected { border-color: rgba(229, 184, 93, .3); background: var(--theme-brass-soft); box-shadow: none; }

.preview-shell .preview-proof-step { border-bottom-color: var(--theme-line); }
.preview-shell .preview-proof-step > summary > span,
.preview-shell .preview-proof-step > summary small { color: var(--theme-ink-faint); }
.preview-shell .preview-proof-step > summary strong { color: var(--theme-ink); }
.preview-shell .preview-proof-step > summary b { background: var(--theme-jade-soft); color: var(--theme-jade); }
.preview-shell .preview-proof-step[open] > summary b { background: #17382d; }
.preview-shell .preview-proof-step__detail { border-left-color: rgba(103, 228, 186, .28); background: var(--theme-jade-soft); color: var(--theme-ink-soft); }
.preview-shell .preview-proof-step__detail strong { color: var(--theme-ink); }
.preview-shell .preview-proof-step__detail a { color: var(--theme-jade-deep); }

.preview-shell .preview-record { border-color: var(--theme-line); background: var(--theme-surface); }
.preview-shell .preview-record:hover,
.preview-shell .preview-record.is-selected,
.preview-shell .preview-record[aria-current="true"] { border-color: rgba(103, 228, 186, .28); background: var(--theme-jade-soft); }
.preview-shell .preview-record > span > small,
.preview-shell .preview-record > span > em { color: var(--theme-ink-faint); }
.preview-shell .preview-record > b { color: var(--theme-brass-text); }
.preview-shell .preview-record > b > small { color: var(--theme-ink-faint); }

.preview-shell .preview-boundary-note,
.preview-shell .preview-data-error { border-color: rgba(229, 184, 93, .3); background: var(--theme-brass-soft); }
.preview-shell .preview-boundary-note > i { background: var(--theme-brass); box-shadow: none; }
.preview-shell .preview-boundary-note strong,
.preview-shell .preview-data-error { color: var(--theme-brass-text); }
.preview-shell .preview-boundary-note small { color: var(--theme-ink-soft); }
.preview-shell .preview-answer-grid span,
.preview-shell .preview-answer-grid small { color: var(--theme-ink-faint); }
.preview-shell .preview-action-row a,
.preview-shell .preview-rail-panel > a,
.preview-shell .preview-noscript a { border-color: rgba(103, 228, 186, .28); color: var(--theme-jade-deep); }

.preview-shell .preview-donut { background: conic-gradient(var(--theme-jade) 0 54.28%, var(--theme-line) 54.28% 100%); }
.preview-shell .preview-donut::before { background: var(--theme-surface); box-shadow: inset 0 0 0 1px var(--theme-line); }
.preview-shell .preview-donut strong,
.preview-shell .preview-analytics-copy strong,
.preview-shell .preview-coverage-bars b { color: var(--theme-ink); }
.preview-shell .preview-donut small,
.preview-shell .preview-analytics-copy span,
.preview-shell .preview-analytics-copy small,
.preview-shell .preview-coverage-bars > div > span { color: var(--theme-ink-faint); }
.preview-shell .preview-coverage-bars i { background: var(--theme-line); }
.preview-shell .preview-coverage-bars u { background: var(--theme-jade); }
.preview-shell .preview-rail-panel > p,
.preview-shell .preview-noscript { color: var(--theme-ink-soft); }
.preview-shell .preview-rail-panel > p strong { color: var(--theme-ink); }
.preview-shell .preview-rail-facts > div { border-bottom-color: var(--theme-line); }
.preview-shell .preview-rail-facts dt { color: var(--theme-ink-faint); }
.preview-shell .preview-rail-facts dd { color: var(--theme-ink); }

/* Methodology retains its narrow editorial layout but no longer carries a
   second brand palette. */
.methodology-page {
  --paper: var(--theme-canvas);
  --card: var(--theme-surface);
  --card-2: var(--theme-surface-soft);
  --line: var(--theme-line);
  --ink: var(--theme-ink);
  --ink-soft: var(--theme-ink-soft);
  --ink-faint: var(--theme-ink-faint);
  --brand: var(--theme-ink);
  --accent: var(--theme-jade);
  --accent-ink: var(--theme-jade-deep);
  --accent-deep: var(--theme-jade-deep);
  --gold: var(--theme-brass);
  --hold: var(--theme-rose);
  --wash: var(--theme-surface-soft);
  --ledger: var(--theme-paper);
  --rule: var(--theme-paper-line);
  --doc-ink: var(--theme-paper-ink);
}

.methodology-page article {
  padding-top: 58px;
}

.methodology-page .callout,
.methodology-page .stat,
.methodology-page .chg li {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow-soft);
}

.methodology-page .chg code {
  background: var(--theme-surface-soft);
  color: var(--theme-jade-deep);
}

@media (max-width: 760px) {
  .site-header__inner,
  .landing-page .site-header__inner {
    min-height: 0;
    flex-wrap: wrap;
    gap: 8px 14px;
    padding: 9px 0 8px;
  }

  .site-nav,
  .landing-page .site-nav {
    order: 3;
    width: 100%;
    justify-content: space-between;
    gap: 4px;
    margin: 0;
    overflow-x: auto;
    padding: 3px 5px;
    border: 1px solid var(--theme-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
  }

  .site-nav a,
  .landing-page .site-nav a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding-inline: 0;
    font-size: 0.75rem;
    flex: none;
  }

  .site-header .button,
  .landing-page .site-header .button {
    min-height: 38px;
    margin-left: auto;
    padding-inline: 0.92em;
  }

  .landing-hero {
    padding-top: 40px;
  }

  .landing-product__rail {
    border-top-color: var(--theme-line);
  }
}

@media (max-width: 560px) {
  .brand,
  .landing-page .brand {
    font-size: 1.02rem;
  }

  .brand img,
  .landing-page .brand img {
    width: 30px;
    height: 30px;
  }

  .landing-page .brand > span,
  .site-header .brand > span {
    display: inline;
  }

  .landing-page .site-nav,
  .site-header .site-nav {
    display: flex;
  }

  .landing-hero__copy h1 {
    font-size: clamp(2.05rem, 10vw, 2.55rem);
    letter-spacing: -0.028em;
    line-height: 1.1;
  }

  .landing-belief h2,
  .landing-signup__copy h2 {
    font-size: clamp(1.7rem, 8vw, 2.15rem);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .landing-hero__copy,
  .landing-stage {
    animation: none;
  }
}

@media print {
  body,
  body.landing-page,
  body.seo-page,
  body[data-preview-model] {
    background: #ffffff !important;
    color: #10213b;
  }
}
