/* PlainSlate typography and Slate palette, preserving the invoice-check 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; --ink-muted: #5E6469; --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, .section-kicker, .panel-label, .status, .status-dot,
  .report-head, .report-total > .micro, .footer-bottom, .file-name,
  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); }
.paper-section, .source-paper, .pricing-section, .draft-paper { background: var(--paper); color: var(--ink); }
.paper-section :is(h1, h2, h3) em, .source-paper :is(h1, h2, h3) em {
  color: var(--ink); background: linear-gradient(transparent 66%, var(--marker) 66%);
}
.paper-section .positive, .source-paper .positive, .draft-paper .positive,
.paper-section .text-link { color: var(--olive); }
.paper-section .attention, .source-paper .attention, .draft-paper .attention,
.attention-ink { color: var(--coral-deep); }
.hero-report, .app-preview, .integration-section .document-input { border-color: var(--slate-line); }
.section-kicker, .footer-bottom { border-color: var(--slate-line); }
.app-mockup .muted { color: var(--on-slate-muted); }
.app-topbar .muted, .app-comparison .muted { color: var(--on-slate-muted); }
.app-mockup .positive, .verify-mini .positive { color: var(--lime); }
.pricing-card .attention { color: var(--coral); }
.scene-plus { color: var(--ink-muted); }
.source-connection { color: var(--coral-deep); }
.hero-bottom b, .before-after p > span, .philosophy-flow > b { color: var(--on-slate-muted); }
.source-scene .scene-plus, .approval-question > span { color: var(--ink-muted); }
.report-total strong, .price, .line-counts strong, .number { font-family: var(--mono); }
.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; }
@media (max-width: 360px) {
  html, body { overflow-x: clip; }
  .intelligence-grid { grid-template-columns: minmax(0, 1fr); }
  .intelligence-grid h3 { font-size: 54px; }
  .exception-layout { grid-template-columns: minmax(0, 1fr); width: 100%; }
  .exception-copy, .exception-artifact { min-width: 0; width: 100%; }
  .exception-copy h2 { font-size: clamp(38px, 11vw, 48px); }
  .line-counts { flex-wrap: wrap; }
  .exception-row { min-width: 0; }
  .integration-grid { grid-template-columns: minmax(0, 1fr); }
  .integration-grid > div { min-width: 0; max-width: 100%; }
  .integration-grid h2 { font-size: 36px; overflow-wrap: anywhere; }
  .upload-diagram { width: 100%; min-width: 0; padding: 16px 10px; }
  .existing-systems { flex-wrap: wrap; }
}
