/* Base — reset, typography, links, layout primitives, utilities. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Instrument Sans', -apple-system, sans-serif;
  background: var(--content);
  color: var(--ink);
  margin: 0;
  font-size: 16.5px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  text-wrap: balance;
  margin: 0;
}
p { margin: 0; }
a { color: var(--orange-deep); text-decoration: none; }
[hidden] { display: none !important; }

.muted { color: var(--text-muted); }
.text-ink { color: var(--ink); }
.eyebrow {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.8125rem; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--orange-deep);
}
.eyebrow-block { display: block; margin-bottom: 10px; }

/* layout primitives */
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; padding-top: 56px; padding-bottom: 72px; align-items: start; }
@media (max-width: 900px) { .layout { grid-template-columns: minmax(0, 1fr); } }
.main > section + section { margin-top: 56px; }
section .eyebrow { display: block; margin-bottom: 10px; }
section h2 { font-size: 1.7rem; margin-bottom: 18px; }
.prose { max-width: 65ch; }
.prose p + p { margin-top: 14px; }
.cluster { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.stack-md { display: flex; flex-direction: column; gap: 20px; }
.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 6px; }
.mt-2 { margin-top: 12px; }
.mt-3 { margin-top: 20px; }
.mt-4 { margin-top: 28px; }
.mt-auto { margin-top: auto; }
