/* PlainSlate shared typography and Slate palette; loaded after the legacy layout. */
:root {
  --bg: var(--slate);
  --bg-soft: var(--slate-2);
  --paper: #EFEDE6;
  --light: #EFEDE6;
  --text: #15181A;
  --inverse: var(--on-slate);
  --muted: var(--ink-muted);
  --muted-dark: var(--on-slate-muted);
  --border: var(--paper-line);
  --border-dark: var(--slate-line);
  --accent: var(--lime);
  --display: "Bodoni Moda", Georgia, serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
}
body { min-width: 0; color: var(--on-slate); font: 17px/1.6 "Schibsted Grotesk", Arial, sans-serif; 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: "Schibsted Grotesk", Arial, sans-serif; }
h1, h2, h3, h4, h1 em, h2 em, h3 em, h4 em, .canvas-title, .canvas-title em {
  font-family: "Bodoni Moda", Georgia, serif;
  font-optical-sizing: none;
  font-variation-settings: "opsz" 12;
}
h1, h2, h3, h4, .canvas-title, .ways-statement, .founding-close, .ai-closing, .engagement-note { letter-spacing: -.02em; }
body p:not(.eyebrow):not(.micro-note):not(.screen-detail):not(.panel-label):not(.privacy-note):not(.form-status) {
  font-family: "Schibsted Grotesk", Arial, sans-serif;
  font-size: 17px;
}
:is(.eyebrow, .micro-note, .panel-label, .canvas-kicker, .workspace-bar, .workspace-footer,
  .workspace-meta, .hero-baseline, .item-number, .service-detail > span, .lifecycle-item > span,
  .audience-card > span, .path-card > span, .privacy-note, .form-status, .footer-bottom,
  nav, .button, button, small, code, .screen-detail, .canvas-flow span) {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  text-transform: uppercase;
}
:is(.button, button) { font-size: 13px; }
body :is(nav a, .button, button, .text-link) { font: 500 13px/1.4 var(--mono) !important; text-transform: uppercase; }
.section-dark, .site-header, .site-footer { color: var(--on-slate); background: var(--slate); }
.section-paper, .section-light { color: var(--ink); background: var(--paper); }
.section-dark h1 em, .section-dark h2 em, .section-dark h3 em { color: var(--lime); }
.section-paper :is(h1, h2, h3) em, .section-light :is(h1, h2, h3) em {
  color: var(--ink-muted);
  background: none;
}
.section-paper p em, .section-light p em { color: var(--ink-muted); background: none; }
.section-paper :is(.ways-statement, .engagement-note, .partnership-cta-layout h2) em,
.canvas-title em { color: var(--ink-muted); background: none; }
.ways .section-heading h2 em, .partnership-cta-layout h2 em, .canvas-title em {
  color: var(--ink);
  background: linear-gradient(transparent 66%, var(--marker) 66%);
}
.section-paper .text-link, .section-light .text-link { color: var(--olive); }
.workspace-bar, .workspace-footer, .workspace-side, .workspace-panel { background: var(--slate-2); }
.workspace-canvas { color: var(--ink); background: var(--paper); }
.stored-value, .recent-days, .big-money, .price, .canvas-flow, .lifecycle-item > span { font-family: var(--mono); }
.workspace-body, .workspace-canvas, .lifecycle-item { border-color: var(--slate-line); }
.hero-baseline, .panel-label, .workspace-meta, .workspace-side b, .workspace-bar, .workspace-footer,
.footer-bottom, .section-dark .micro-note { color: var(--on-slate-muted); }
.section-paper :is(.eyebrow, .muted), .section-light :is(.eyebrow, .muted) { color: var(--ink-muted); }
.site-footer .footer-bottom { border-color: var(--slate-line); }
.brand img { filter: none; }
.brand-horizontal img { width: clamp(180px, 18vw, 240px); }
.brand-primary img { width: min(320px, 100%); }
.engagement-steps { border-color: var(--slate-line); }
.engagement-steps li { background: var(--slate-2); border-color: var(--slate-line); }
.engagement-steps li > div { margin-top: 58px; }
.engagement-steps h3 { min-height: 2.2em; white-space: normal; }
.engagement-steps p { color: var(--on-slate-muted); }
.engagement-note em { color: var(--lime); background: none; }
.js .reveal { opacity: .94; transform: translateY(4px); transition: opacity .2s ease-out, transform .2s ease-out; }
.js .reveal.is-visible { opacity: 1; transform: none; }
.lifecycle-item h3 { font-size: clamp(1.5rem, 1.9vw, 1.95rem); line-height: 1.1; letter-spacing: -.025em; }
.lifecycle-item:nth-child(3) h3,
.lifecycle-item:nth-child(4) h3,
.lifecycle-item:nth-child(6) h3 { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 800px) {
  .lifecycle-item h3 { font-size: clamp(1.2rem, 3.8vw, 1.65rem); }
}
@media (max-width: 380px) {
  .lifecycle-item h3 { font-size: 1.7rem; }
  .value-row { grid-template-columns: 40px minmax(0, 1fr); }
  .value-row h3 { min-width: 0; font-size: clamp(1.8rem, 7vw, 2.5rem); overflow-wrap: anywhere; }
}
@media (max-width: 560px) {
  .path-grid { grid-template-columns: minmax(0, 1fr); }
  .path-card { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .path-card h3 { font-size: clamp(2.3rem, 9vw, 3.5rem); }
  .workspace-screen { padding-bottom: 82px; }
  .canvas-flow {
    display: flex;
    left: 0;
    right: 0;
    bottom: 0;
    height: 72px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: var(--ink-muted) var(--paper);
    border-color: var(--paper-line);
  }
  .canvas-flow button {
    flex: 0 0 112px;
    min-width: 112px;
    min-height: 64px;
    padding: 9px 11px;
    border-color: var(--paper-line);
    scroll-snap-align: start;
  }
  .canvas-flow b { font-size: 12px; white-space: nowrap; overflow-wrap: normal; }
  .workspace-canvas::after {
    content: "→";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 38px;
    height: 72px;
    color: var(--ink);
    background: var(--paper);
    box-shadow: -8px 0 12px var(--paper);
    font: 500 18px var(--mono);
    pointer-events: none;
  }
  .hero-workspace.stages-at-end .workspace-canvas::after { display: none; }
  .canvas-bottom { display: none; }
  .engagement-steps li > div { margin-top: 0; }
  .engagement-steps h3 { min-height: 0; }
}

.canvas-flow { grid-template-columns: repeat(1, minmax(0, 1fr)) minmax(96px, 1.7fr) repeat(3, minmax(0, 1fr)); }
.canvas-flow b { white-space: nowrap; overflow-wrap: normal; }
.section-heading h2, .split-heading h2, .ai-heading h2,
.partnership-cta-layout h2, .contact-copy h2 { font-size: clamp(40px, 4.8vw, 62px); }
:is(.service-content, .path-card, .founding-row, .principle, .lifecycle-item,
    .value-row, .audience-card, .engagement-steps li) h3 { font-size: clamp(26px, 2.25vw, 32px); }
@media (max-width: 420px) {
  .principles { grid-template-columns: minmax(0, 1fr); }
}
