/* Single source of truth for design tokens — loaded before main.css and
   pages.css so both page families share one palette/type/spacing scale.
   (Previously these were copy-pasted into each stylesheet and had begun to
   drift; keep all new tokens here only.) */
:root {
  --orange: #ff8000;
  --orange-up: #ffa040;
  --orange-burn: #b35900;
  --ink: #0a0908;
  --ink-2: #12100e;
  --ink-3: #1c1916;
  --paper: #f2ede6;
  --grey: #b8b2a8;
  --grey-dim: #8a8377; /* AA-contrast (>=4.5:1) on --ink for small text */
  --line: rgba(242, 237, 230, 0.09);
  --line-ink: rgba(10, 9, 8, 0.14);

  --display: "Lexend", sans-serif;
  --serif: "DM Serif Display", serif;
  --body: "DM Sans", sans-serif;

  --pad: clamp(1.25rem, 5vw, 6.5rem);
  --gap: clamp(6rem, 16vh, 12rem);
}

/* Accessibility: skip-to-content link — visually hidden until keyboard-focused */
.skip-link {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 10000;
  padding: 0.6rem 1rem;
  background: var(--orange);
  color: var(--ink);
  font-family: var(--body);
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transform: translateY(-150%);
  transition: transform 0.15s ease;
}
.skip-link:focus {
  transform: translateY(0);
  outline: 2px solid var(--paper);
}


/* ── classes extracted from inline styles (lets CSP drop style-src 'unsafe-inline') ── */
/* review-card avatar colours */
.rcard__avatar.rcav-1  { background: #c26401; }
.rcard__avatar.rcav-2  { background: #a05252; }
.rcard__avatar.rcav-3  { background: #8a7d3f; }
.rcard__avatar.rcav-4  { background: #8a4fa0; }
.rcard__avatar.rcav-5  { background: #7d6b3f; }
.rcard__avatar.rcav-6  { background: #6b4a8a; }
.rcard__avatar.rcav-7  { background: #5a7d4a; }
.rcard__avatar.rcav-8  { background: #527da0; }
.rcard__avatar.rcav-9  { background: #4a6b8a; }
.rcard__avatar.rcav-10 { background: #3f8a7d; }
.rcard__avatar.rcav-11 { background: #3f7da0; }
.rcard__avatar.rcav-12 { background: #3f6ea5; }
/* spacing + layout utilities */
.lead.u-mt-m { margin-top: 1.6rem; }
.u-mt-l { margin-top: 2.6rem; }
.footer__h.u-col-full { grid-column: 1 / -1; }
.textlink.textlink--plain { border: 0; color: var(--grey-dim); }
/* homepage case-panel + founder backgrounds */
.casepanel.casepanel--lcmb { background-image: url('/assets/case-lcmb.webp'); }
.casepanel.casepanel--nt   { background-image: url('/assets/case-nt.webp'); background-size: auto 100%; background-position: center center; }
.casepanel.casepanel--adv  { background-image: url('/assets/case-adv.webp'); }
.founder__portrait-img.bg-zac { background-image: url('/assets/zac-problem.webp'); }

.u-orange { color: var(--orange); }

/* responsive media — never overflow the viewport (class rules still win) */
img { max-width: 100%; height: auto; }
