/* ═══════════════════════════════════════════════════════════
   BASE — Reset, Typography, Utilities
   ═══════════════════════════════════════════════════════════ */

/* ── Reset ────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; -webkit-text-size-adjust: 100%; }
@media (min-width: 1024px) { html { scroll-padding-top: 119px; } }
body {
  font-family: 'Barlow', sans-serif;
  font-size: 16px;
  color: var(--body);
  background: var(--white);
  overflow-x: hidden;
  line-height: 1.6;
}
img  { max-width: 100%; height: auto; display: block; }
a    { text-decoration: none; color: inherit; }
ul   { list-style: none; }
button { cursor: pointer; font-family: inherit; border: 0; background: none; }
input, textarea { font-family: inherit; }
strong { font-weight: 600; }

/* ── Type Scale ───────────────────────────────────────────── */
h1, h2, h3, h4, h5 {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  line-height: 1.08;
  color: var(--ink);
}
h1 { font-size: clamp(2.8rem, 8vw, 5.2rem); letter-spacing: -1.5px; }
h2 { font-size: clamp(2rem,   5vw, 3.2rem); letter-spacing: -.8px;  }
h3 { font-size: clamp(1.2rem, 3vw, 1.55rem); letter-spacing: -.2px; }
h4 { font-size: 1rem; }
p  { line-height: 1.72; }

/* ── Layout Container ─────────────────────────────────────── */
.wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 768px) { .wrap { padding: 0 32px; } }

/* ── Section Spacing ──────────────────────────────────────── */
.section      { padding: 80px 0; }
.section--lg  { padding: 100px 0; }
.section--sm  { padding: 56px 0; }
.section--alt  { background: var(--cream); }
.section--dark { background: var(--ink); }

/* ── Eyebrow Label ────────────────────────────────────────── */
.eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 12px;
}

/* ── Section Header ───────────────────────────────────────── */
.sec-head { margin-bottom: 48px; }
.sec-head.center { text-align: center; }
.sec-head.center > p { max-width: 580px; margin: 10px auto 0; }
.sec-head > p { color: var(--muted); font-size: 1rem; margin-top: 10px; }
.sec-head h2 { margin-top: 8px; }

/* ── Breadcrumb ───────────────────────────────────────────── */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  color: rgba(255,255,255,.55);
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.breadcrumb a { color: rgba(255,255,255,.55); transition: var(--ease); }
.breadcrumb a:hover { color: var(--org-l); }
.breadcrumb i { font-size: .65rem; }

/* ── Reveal Animation ─────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.in { opacity: 1; transform: none; }

/* ── Utilities ────────────────────────────────────────────── */
.text-center { text-align: center; }
.text-white  { color: #fff; }
.text-muted  { color: var(--muted); }
.mt-4  { margin-top: var(--sp-4); }
.mt-6  { margin-top: var(--sp-6); }
.mt-8  { margin-top: var(--sp-8); }
.mt-12 { margin-top: var(--sp-12); }
.flex  { display: flex; }
.items-center { align-items: center; }
.gap-3 { gap: var(--sp-3); }
.gap-4 { gap: var(--sp-4); }
