/* PlainSlate typography and Slate palette, preserving the audit layout. */
:root {
  --bg: var(--slate); --surface: var(--slate-2); --surface-elevated: var(--slate-3);
  --surface-paper: #EFEDE6; --text: #EFEDE6; --text-muted: var(--on-slate-muted);
  --border: var(--slate-line); --accent-positive: var(--lime); --accent-attention: var(--coral);
  --ink: #15181A; --paper-muted: var(--ink-muted); --paper-border: var(--paper-line);
  --display: "Bodoni Moda", Georgia, serif; --mono: "JetBrains Mono", ui-monospace, monospace;
  --body: "Schibsted Grotesk", Arial, sans-serif;
}
body { font: 17px/1.6 var(--body); font-optical-sizing: none; font-variation-settings: "opsz" 12; }
body :is(span, small, b, strong, dt, dd, label, button, code, svg text) { font-family: var(--mono); }
body :is(h1, h2, h3, h4) :is(span, b, strong, em) { font-family: var(--display); }
body p :is(span, b, strong, em) { font-family: var(--body); }
h1, h2, h3, h4, h1 em, h2 em, h3 em { font-family: var(--display); font-optical-sizing: none; font-variation-settings: "opsz" 12; }
h1, h2, h3, h4 { letter-spacing: -.02em !important; }
body p:not(.micro):not(.eyebrow) { font-family: var(--body); font-size: 17px; }
:is(.micro, .eyebrow, .panel-label, .sample-label, .status, .record-bottom,
  .artifact-caption, .paper-top, .paper-bottom, .footer-bottom, .audit-reassurance,
  .hero-baseline, nav, button, .button, .text-link, code, small) {
  font-family: var(--mono); font-size: 12px; text-transform: uppercase;
}
:is(button, .button, .text-link) { font-size: 13px; }
body :is(nav a, .button, button, .text-link) { font: 500 13px/1.4 var(--mono) !important; text-transform: uppercase; }
.site-header, .site-footer { background: var(--slate); color: var(--on-slate); }
.master-record, .workflow-grid > div, .app-mockup { background: var(--slate-2); }
.audit-paper, .paper-section, .proof-card, .source-paper { background: var(--paper); color: var(--ink); }
.free-audit-section { background: var(--paper); color: var(--ink); }
.free-audit-section .muted, .free-audit-section .eyebrow { color: var(--ink-muted); }
.free-audit-section em, .free-audit-section .text-lime, .audit-paper .text-lime,
.paper-section .text-lime, .proof-card .text-lime { color: var(--olive); }
.free-audit-section :is(h1, h2, h3) em, .audit-paper :is(h1, h2, h3) em,
.paper-section :is(h1, h2, h3) em { color: var(--ink); background: linear-gradient(transparent 66%, var(--marker) 66%); }
.free-audit-section .audit-submit { color: var(--lime); background: var(--slate); }
.free-audit-section .file-field { background: var(--paper); color: var(--ink); }
.text-coral, .attention { color: var(--coral); }
.audit-paper .text-coral, .free-audit-section .text-coral, .paper-section .text-coral { color: var(--coral-deep); }
.contact-card { background: var(--paper); color: var(--ink); border-color: var(--paper-line); }
.contact-card input, .contact-card textarea { background: var(--paper); color: var(--ink); border-color: var(--paper-line); }
.contact-error { color: var(--coral-deep); }
.audit-paper .status.review { background: var(--paper); color: var(--coral-deep); border: 1px solid var(--coral-deep); }
.audit-paper .status.supported { background: var(--marker); color: var(--olive); }
.site-footer .studio-credit a { max-width: 100%; background: var(--slate-2); }
.site-footer .studio-credit a:hover { background: var(--slate-3); }
.site-footer .studio-credit img { width: min(320px, calc(100vw - 80px)); height: auto; max-width: 100%; max-height: 50px; }
.stored-value, .recent-days, .price, .hero-numbers strong, .evidence-change, .app-stat-grid b { font-family: var(--mono); }
.simple-flow i, .workflow-path i { color: var(--on-slate-muted); }
.app-queue .queue-item.active { background: var(--slate-3) !important; border-color: var(--slate-line); }
@media (max-width: 560px) {
  .evidence-section h2 em { display: block; font-size: 26px; letter-spacing: -.02em; }
}
@media (min-width: 361px) and (max-width: 390px) {
  .evidence-change { font-size: 88px; }
}
@media (max-width: 360px) {
  html, body { overflow-x: clip; }
  .use-cases .split-heading h2, .use-cases .split-heading h2 em { font-size: 34px; }
  .problem-grid, .evidence-grid, .spread-grid, .features-grid { grid-template-columns: minmax(0, 1fr); width: 100%; }
  .problem-grid > *, .evidence-grid > *, .spread-grid > *, .features-grid > * { min-width: 0; max-width: 100%; }
  .recent-days { flex-wrap: wrap; justify-content: flex-start; }
  .spread-card { min-width: 0; padding-inline: 12px; overflow: hidden; }
  .spread-card .panel-label { flex-wrap: wrap; }
  .features-grid .feature { overflow-wrap: anywhere; }
  .features-section .split-heading { grid-template-columns: minmax(0, 1fr); min-width: 0; }
  .features-section h2 { font-size: 32px; overflow-wrap: anywhere; }
  .features-section h2 em { display: block; max-width: 100%; font-size: 32px; white-space: normal; }
  .evidence-section h2 em { display: block; max-width: 100%; white-space: normal; font-size: 32px; }
  .evidence-section .evidence-change { font: 500 52px/1.2 var(--mono); white-space: normal; }
}
