/* =====================================================
   FAMAASH — Shared page styles
   Imports tokens, sets baselines, defines archetypes.
   ===================================================== */
@import url('./colors_and_type.css');

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-normal);
  color: var(--on-cream);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }

/* ---------- CONTAINERS ---------- */
.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--s-5); }
.container--prose { max-width: var(--container-prose); margin: 0 auto; padding: 0 var(--s-5); }
.container--narrow { max-width: var(--container-narrow); margin: 0 auto; padding: 0 var(--s-5); }

/* ---------- SURFACES ---------- */
.surface-dark  { background: var(--ink); color: var(--on-ink); }
.surface-cream { background: var(--cream); color: var(--on-cream); }
.surface-cream-2 { background: var(--cream-2); color: var(--on-cream); }
.section { padding: var(--s-9) 0; }
.section--tall { padding: var(--s-10) 0; }

/* ---------- BUTTON · the only CTA ---------- */
.btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px;
  background: var(--accent);
  color: #fff;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.01em;
  border-radius: var(--r-2);
  position: relative;
  overflow: hidden;
  transition: background var(--t-base) var(--ease-out),
              transform var(--t-fast) var(--ease-out),
              box-shadow var(--t-base) var(--ease-out);
  box-shadow: 0 1px 0 rgba(255,255,255,0.06) inset, var(--shadow-1);
}
.btn-primary::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(201,169,97,0.35) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 700ms var(--ease-out);
  pointer-events: none;
}
.btn-primary:hover { background: var(--accent-h); transform: translateY(-1px); box-shadow: var(--shadow-2); }
.btn-primary:hover::after { transform: translateX(120%); }
.btn-primary:active { transform: translateY(1px); box-shadow: var(--shadow-1); }
.btn-primary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.btn-primary .arrow { transition: transform var(--t-base) var(--ease-out); }
.btn-primary:hover .arrow { transform: translateX(3px); }

/* ---------- BUTTON · TEXT (secondary, in-flow) ---------- */
.btn-text {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-body);
  font-size: 14px; font-weight: 500;
  color: var(--accent);
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: color var(--t-base), border-color var(--t-base);
}
.btn-text:hover { color: var(--accent-h); border-bottom-color: var(--accent); }
.surface-dark .btn-text { color: var(--gold); }
.surface-dark .btn-text:hover { color: var(--gold-h); border-bottom-color: var(--gold); }

/* ---------- EYEBROWS / BRACKETS — DM Sans 500 uppercase tracked ---------- */
.eyebrow {
  font-family: var(--font-body);
  font-size: var(--t-eyebrow);
  font-weight: 500;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--accent);
  display: inline-block;
}
.surface-dark .eyebrow { color: var(--gold); }
.bracket {
  font-family: var(--font-body);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: var(--ls-bracket);
  text-transform: uppercase;
  color: var(--gold-deep);
  display: inline-block;
}
.surface-dark .bracket { color: var(--gold); }

/* ---------- PILL BADGE (DM Sans hairline) ---------- */
.pill {
  display: inline-flex; align-items: center;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 5px 10px;
  border: 1px solid var(--cream-line);
  border-radius: var(--r-pill);
  color: var(--muted-cream);
  background: transparent;
}
.surface-dark .pill { border-color: var(--ink-line); color: var(--muted-ink); }
.pill--accent { border-color: var(--accent-line); color: var(--accent); background: var(--accent-lt); }
.pill--gold   { border-color: rgba(201,169,97,0.5); color: var(--gold-deep); background: var(--gold-lt); }

/* ---------- LIVE DOT ---------- */
.live-dot {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: var(--positive);
  position: relative;
}
.live-dot::after {
  content: ''; position: absolute; inset: -4px; border-radius: 50%;
  background: var(--positive); opacity: 0.4;
  animation: live-pulse 1.6s var(--ease-out) infinite;
}
@keyframes live-pulse {
  0%   { transform: scale(0.8); opacity: 0.5; }
  100% { transform: scale(2.0); opacity: 0; }
}
.live-dot--rec { background: #B8221A; }
.live-dot--rec::after { background: #B8221A; }

/* ---------- 5-STAR ROW ---------- */
.stars { display: inline-flex; gap: 3px; color: var(--gold); }
.stars svg { width: 14px; height: 14px; }

/* ---------- DIVIDERS ---------- */
.rule { height: 1px; background: var(--cream-line); border: 0; }
.surface-dark .rule { background: var(--ink-line); }
.rule--gold { background: var(--gold); height: 2px; width: 48px; }

/* ---------- HOVER LIFT (cards) ---------- */
.lift { transition: transform var(--t-base) var(--ease-out), box-shadow var(--t-base) var(--ease-out), border-color var(--t-base); }
.lift:hover { transform: translateY(-2px); box-shadow: var(--shadow-2); }

/* ---------- FADE-UP ---------- */
.fade-up { opacity: 0; transform: translateY(16px); transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out); }
.fade-up.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .fade-up { opacity: 1; transform: none; }
}

/* =====================================================
   === SHARED CHROME: MEGA-DROPDOWN NAV ===
   Used on every interior page that has the global nav.
   ===================================================== */
.nav__items {
  display: flex; gap: 28px; align-items: center;
  list-style: none; margin: 0; padding: 0;
  margin-left: 12px;
}
.nav__item {
  font-family: var(--font-body);
  font-size: 14px; font-weight: 400;
  color: rgba(255,255,255,0.78);
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 0;
  background: none; border: none; cursor: pointer;
  transition: color 180ms var(--ease-out);
}
.nav__item:hover, .nav__item.active { color: #fff; }
.nav__item .chev { width: 10px; height: 10px; opacity: 0.6; transition: transform 200ms; }
.nav__item[aria-expanded="true"] .chev { transform: rotate(180deg); }
.nav__inner { position: relative; }

.mega {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(-8px);
  width: min(1180px, calc(100vw - 64px));
  background: var(--ink-2);
  border: 1px solid var(--ink-line);
  border-top: 2px solid var(--gold);
  border-radius: 0 0 4px 4px;
  opacity: 0; visibility: hidden;
  transition: opacity 240ms var(--ease-in-out), visibility 240ms, transform 240ms var(--ease-in-out);
  margin-top: 1px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  z-index: 110;
}
.mega.open { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.mega__grid { display: grid; grid-template-columns: 320px 1fr; min-height: 480px; }
.mega__industries { background: var(--ink); padding: 32px 0 32px 32px; border-right: 1px solid var(--ink-line); }
.mega__col-h { font-family: var(--font-body); font-weight: 500; font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin: 0 0 20px; }
.mega__industry-list { list-style: none; margin: 0 0 28px; padding: 0; }
.mega__industry { display: flex; align-items: center; justify-content: space-between; padding: 14px 24px 14px 32px; cursor: pointer; transition: all 200ms; border-left: 2px solid transparent; margin-left: -32px; }
.mega__industry::after { content: '→'; font-family: var(--font-body); font-size: 14px; color: var(--gold); opacity: 0; transform: translateX(-4px); transition: all 220ms var(--ease-in-out); padding-right: 18px; }
.mega__industry:hover, .mega__industry.active { background: rgba(201, 169, 97, 0.04); border-left-color: var(--gold); }
.mega__industry.active::after, .mega__industry:hover::after { opacity: 1; transform: translateX(0); }
.mega__industry-content { flex: 1; min-width: 0; }
.mega__industry-name { font-size: 15px; font-weight: 500; color: #fff; letter-spacing: -0.005em; margin-bottom: 3px; }
.mega__industry-name--anchor { color: var(--gold); }
.mega__industry-meta { font-family: var(--font-body); font-size: 12.5px; color: var(--muted-ink); }
.mega__industry.active .mega__industry-meta { color: var(--accent-mid); }

.mega__divider { height: 1px; background: var(--ink-line); margin: 0 -32px 24px 0; }
.mega__divider-label { font-family: var(--font-body); font-weight: 500; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--dim-ink); margin-bottom: 16px; }
.mega__horizontal-list { list-style: none; margin: 0; padding: 0; }
.mega__horizontal { display: flex; align-items: center; justify-content: space-between; padding: 11px 24px 11px 32px; cursor: pointer; transition: all 180ms; margin-left: -32px; border-left: 2px solid transparent; }
.mega__horizontal:hover { background: rgba(201,169,97,0.03); border-left-color: rgba(201,169,97,0.6); }
.mega__horizontal-name { font-size: 14px; font-weight: 500; color: #fff; opacity: 0.85; }
.mega__horizontal-arrow { font-family: var(--font-body); font-size: 12px; color: var(--muted-ink); opacity: 0; transition: opacity 180ms; padding-right: 18px; }
.mega__horizontal:hover .mega__horizontal-arrow { opacity: 1; }

.mega__capabilities { padding: 32px 36px; background: var(--ink-2); position: relative; }
.mega__cap-eyebrow-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.mega__cap-eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); }
.mega__cap-title { font-family: var(--font-display); font-weight: 500; font-size: 28px; line-height: 1.15; letter-spacing: -0.01em; color: #fff; margin: 0 0 8px; }
.mega__cap-sub { font-size: 13.5px; line-height: 1.55; color: var(--muted-ink); margin: 0 0 24px; max-width: 56ch; }
.mega__cap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ink-line); border-top: 1px solid var(--ink-line); border-bottom: 1px solid var(--ink-line); }
.mega__cap { background: var(--ink-2); padding: 18px; cursor: pointer; transition: background 180ms; display: flex; flex-direction: column; gap: 4px; position: relative; }
.mega__cap:hover { background: var(--ink-3); }
.mega__cap--featured::before { content: ''; position: absolute; top: 0; left: 0; width: 28px; height: 2px; background: var(--gold); }
.mega__cap-num { font-family: var(--font-body); font-weight: 500; font-size: 10px; letter-spacing: 0.16em; color: var(--gold-deep); }
.mega__cap-name { font-size: 14px; font-weight: 500; color: #fff; letter-spacing: -0.005em; }
.mega__cap-meta { font-family: var(--font-body); font-size: 12.5px; color: var(--muted-ink); line-height: 1.5; font-weight: 400; }
.mega__footer { display: flex; justify-content: flex-end; align-items: center; padding: 22px 0 0; margin-top: 24px; border-top: 1px solid var(--ink-line); }
.mega__footer-link { font-family: var(--font-display); font-weight: 500; font-size: 18px; letter-spacing: -0.005em; color: var(--gold); display: inline-flex; align-items: center; gap: 12px; transition: color 180ms; padding: 6px 0; border-bottom: 1px solid rgba(201,169,97,0.4); }
.mega__footer-link:hover { color: var(--gold-h); border-bottom-color: var(--gold); }
.mega__footer-link::after { content: '→'; font-family: var(--font-body); font-size: 16px; transition: transform 200ms; }
.mega__footer-link:hover::after { transform: translateX(4px); }

@media (max-width: 1080px) {
  .mega__grid { grid-template-columns: 1fr; }
  .mega__industries { border-right: none; border-bottom: 1px solid var(--ink-line); padding: 28px 24px; }
  .mega__capabilities { padding: 28px 24px; }
}
/* mobile nav drawer rules live in homepage.css under @media (max-width: 760px) */

/* =====================================================
   === PAGE: PI · CLIENT ACQUISITION ===
   Editorial deep-dive. All eyebrows/labels in DM Sans 500.
   ===================================================== */

/* HERO crumb (replaces sticky sub-nav) */
.ca-hero__crumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 14px;
}
.ca-hero__crumb a {
  color: var(--gold-deep);
  text-decoration: none;
  transition: color 180ms var(--ease-out);
}
.ca-hero__crumb a:hover { color: var(--accent); }
.ca-hero__crumb-sep { color: var(--cream-line); font-weight: 400; }
.ca-hero__crumb-here { color: var(--accent); }

/* HERO body */
.ca-hero {
  background: var(--cream);
  padding: 120px 0 100px;
  position: relative;
}
.ca-hero__inner {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 48px;
}
.ca-hero__h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(56px, 8vw, 104px);
  line-height: 0.96;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 28px;
  max-width: 14ch;
}
.ca-hero__lead {
  font-family: var(--font-body);
  font-size: 19px;
  line-height: 1.55;
  color: rgba(7,7,12,0.78);
  max-width: 64ch;
  margin: 0 0 56px;
  text-wrap: pretty;
}
.ca-hero__rule {
  height: 1px;
  background: var(--gold);
  margin: 0 0 40px;
}
.ca-hero__stats {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  margin-bottom: 56px;
}
.ca-hero__stat {
  padding: 8px 32px 8px 0;
  border-right: 1px solid var(--cream-line);
}
.ca-hero__stat:first-child { padding-left: 0; }
.ca-hero__stat:nth-child(2) { padding-left: 32px; }
.ca-hero__stat:last-child { border-right: 0; padding-left: 32px; padding-right: 0; }
.ca-hero__stat-num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 52px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums lining-nums;
}
.ca-hero__stat-num .dollar,
.ca-hero__stat-num .pct {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.55em;
  color: var(--gold-deep);
  vertical-align: 0.25em;
  margin-right: 1px;
}
.ca-hero__stat-num .pct { margin-left: 1px; margin-right: 0; }
.ca-hero__stat-lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(7,7,12,0.55);
  line-height: 1.5;
  max-width: 26ch;
}

/* SHARED, page section padding */
.sec-pad { padding: 100px 0; }

/* SECTION 01 — SIX CHANNELS TABLE */
.ch-sec { background: var(--cream-2); }
.ch-sec__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.ch-sec__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 60px;
  align-items: end;
  margin-bottom: 64px;
}
.ch-sec__head .eyebrow { grid-column: 1 / -1; margin-bottom: 12px; }
.ch-sec__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(44px, 5vw, 72px);
  line-height: 1.0;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}
.ch-sec__lead {
  font-size: 17px;
  line-height: 1.55;
  color: rgba(7,7,12,0.72);
  max-width: 70ch;
  margin: 0;
  padding-bottom: 8px;
  text-wrap: pretty;
}

.ch-table {
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.ch-table__head,
.ch-table__row {
  display: grid;
  grid-template-columns: 64px 1fr 2fr 1.6fr;
  align-items: baseline;
  gap: 40px;
  padding: 24px 8px;
  border-bottom: 1px solid rgba(201,169,97,0.28);
}
.ch-table__row:last-child { border-bottom: 0; }
.ch-table__head {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 18px 8px;
  background: rgba(201,169,97,0.06);
}
.ch-table__row:hover { background: rgba(13,74,61,0.03); }
.ch-num {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--gold-deep);
  font-variant-numeric: tabular-nums lining-nums;
}
.ch-name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.ch-tag {
  display: inline-block;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 9.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  border: 1px solid rgba(201,169,97,0.45);
  padding: 3px 7px;
  border-radius: 999px;
  margin-left: 8px;
  vertical-align: 4px;
  background: var(--gold-lt);
}
.ch-what,
.ch-opt {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.5;
  color: rgba(7,7,12,0.78);
  text-wrap: pretty;
}
.ch-opt { color: var(--accent); font-weight: 500; }
.ch-opt em { font-style: normal; color: rgba(7,7,12,0.5); font-weight: 400; }
.ch-sec__foot {
  text-align: center;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(7,7,12,0.5);
  margin: 36px 0 0;
}

/* SECTION 02 — THE METRIC */
.metric-sec { background: var(--cream); }
.metric-sec__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.metric-sec__head { margin-bottom: 56px; }
.metric-sec__grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 80px;
  align-items: start;
  padding-bottom: 80px;
  border-bottom: 1px solid var(--cream-line);
}
.metric-sec__quote {
  position: relative;
  padding-top: 8px;
  border-top: 2px solid var(--gold);
}
.metric-sec__qmark {
  position: absolute;
  font-family: 'Cormorant', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 140px;
  color: var(--gold);
  line-height: 1;
  top: -56px;
  left: -12px;
  opacity: 0.55;
}
.metric-sec__quote p {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 36px;
  line-height: 1.18;
  color: var(--accent);
  margin: 24px 0 0;
  max-width: 24ch;
  letter-spacing: -0.005em;
  text-wrap: balance;
}
.metric-sec__body p {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(7,7,12,0.82);
  margin: 0 0 18px;
  max-width: 64ch;
  text-wrap: pretty;
}
.metric-sec__body p:last-child { margin-bottom: 0; }
.metric-sec__lead {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  color: var(--ink) !important;
  letter-spacing: -0.005em;
}
.metric-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 56px;
  border-top: 1px solid var(--cream-line);
  border-bottom: 1px solid var(--cream-line);
}
.metric-row__cell {
  padding: 28px 32px;
  border-right: 1px solid var(--cream-line);
}
.metric-row__cell:last-child { border-right: 0; }
.metric-row__cell--peak { background: rgba(201,169,97,0.06); }
.metric-row__lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(7,7,12,0.55);
  margin-bottom: 12px;
}
.metric-row__cell--peak .metric-row__lbl { color: var(--gold-deep); }
.metric-row__num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 44px;
  line-height: 1;
  color: var(--ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
}
.metric-row__num .dollar {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.55em;
  color: var(--gold-deep);
  vertical-align: 0.32em;
}
.metric-row__cell--peak .metric-row__num { color: var(--accent); }

/* SECTION 03 — GEO DEEP-DIVE (dark) */
.geo-sec {
  background: var(--ink);
  color: var(--cream);
  padding: 140px 0;
  position: relative;
  overflow: hidden;
}
.geo-sec::before {
  content: '';
  position: absolute;
  top: -10%; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 600px;
  background: radial-gradient(ellipse at center, rgba(201,169,97,0.10), transparent 60%);
  pointer-events: none;
}
.geo-sec__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
  position: relative;
}
.geo-sec__head { text-align: center; margin-bottom: 80px; }
.geo-eyebrow {
  color: var(--gold) !important;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.geo-sec__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.05;
  color: var(--cream);
  margin: 24px auto 28px;
  max-width: 22ch;
  text-wrap: balance;
  letter-spacing: -0.01em;
}
.geo-sec__lead {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.55;
  color: rgba(247,245,240,0.78);
  max-width: 70ch;
  margin: 0 auto;
  text-wrap: pretty;
}

.geo-tracker {
  background: var(--ink-2);
  border: 1px solid rgba(201,169,97,0.4);
  border-radius: 4px;
  margin: 0 auto;
  max-width: 1100px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.5), inset 0 1px 0 rgba(201,169,97,0.1);
}
.geo-tracker__strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 24px;
  border-bottom: 1px solid var(--ink-line);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.geo-tracker__strip-l { color: var(--gold); }
.geo-tracker__strip-r { color: rgba(247,245,240,0.5); }
.geo-tracker__body { padding: 0; }
.geo-tracker__head {
  display: grid;
  grid-template-columns: 1.4fr 2.2fr 1.2fr 1.6fr;
  gap: 28px;
  padding: 14px 28px;
  border-bottom: 1px solid var(--ink-line);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(247,245,240,0.45);
}
.geo-tracker__row {
  display: grid;
  grid-template-columns: 1.4fr 2.2fr 1.2fr 1.6fr;
  gap: 28px;
  padding: 22px 28px;
  border-bottom: 1px solid var(--ink-line);
  align-items: center;
}
.geo-tracker__row:last-child { border-bottom: 0; }
.geo-engine {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 10px;
}
.geo-engine__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 3px rgba(201,169,97,0.18);
}
.geo-engine__dot[data-engine="chatgpt"]    { background: #74AA9C; box-shadow: 0 0 0 3px rgba(116,170,156,0.2); }
.geo-engine__dot[data-engine="perplexity"] { background: #20B2AA; box-shadow: 0 0 0 3px rgba(32,178,170,0.2); }
.geo-engine__dot[data-engine="google"]     { background: #C9A961; box-shadow: 0 0 0 3px rgba(201,169,97,0.2); }
.geo-engine__dot[data-engine="claude"]     { background: #D97757; box-shadow: 0 0 0 3px rgba(217,119,87,0.2); }
.geo-prompt {
  font-family: var(--font-body);
  font-size: 14px;
  color: rgba(247,245,240,0.82);
}
.geo-prompt::before { content: '\201C'; color: var(--gold); margin-right: 2px; font-family: 'Cormorant', Georgia, serif; font-style: italic; }
.geo-prompt::after  { content: '\201D'; color: var(--gold); margin-left: 2px; font-family: 'Cormorant', Georgia, serif; font-style: italic; }
.geo-rank {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 26px;
  color: var(--cream);
  line-height: 1;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: -0.01em;
}
.geo-rank__of {
  display: block;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 9.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(247,245,240,0.45);
  margin-top: 4px;
}
.geo-trend {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(247,245,240,0.65);
}
.geo-arrow {
  color: var(--gold);
  font-weight: 600;
  margin-right: 6px;
  display: inline-block;
}
.geo-arrow--flat { color: rgba(247,245,240,0.5); }

.geo-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 64px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid var(--ink-line);
  border-bottom: 1px solid var(--ink-line);
}
.geo-tile {
  padding: 28px 32px;
  border-right: 1px solid var(--ink-line);
  text-align: center;
}
.geo-tile:last-child { border-right: 0; }
.geo-tile__num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 56px;
  line-height: 1;
  color: var(--gold);
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  font-variant-numeric: tabular-nums lining-nums;
}
.geo-tile__num .pct {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.5em;
  vertical-align: 0.3em;
}
.geo-tile__lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(247,245,240,0.62);
  line-height: 1.5;
}

/* SECTION 04 — BENCHMARK TABLE */
.bench-sec { background: var(--cream); }
.bench-sec__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.bench-sec__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 48px;
}
.bench-sec__head .eyebrow { grid-column: 1 / -1; margin-bottom: 12px; }
.bench-sec__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.0;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}
.bench-sec__lead {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(7,7,12,0.72);
  max-width: 60ch;
  margin: 0;
  padding-bottom: 8px;
  text-wrap: pretty;
}

.bench-table {
  background: var(--cream);
  border: 1px solid var(--gold);
}
.bench-table__strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 24px;
  border-bottom: 1px solid var(--gold);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  background: rgba(201,169,97,0.06);
  color: var(--gold-deep);
}
.bench-table__strip-r { color: rgba(7,7,12,0.45); }
.bench-table__head,
.bench-table__row,
.bench-table__total {
  display: grid;
  grid-template-columns: 2.4fr 1fr 0.8fr 0.8fr 1.1fr;
  gap: 24px;
  padding: 16px 24px;
  align-items: baseline;
  border-bottom: 1px solid rgba(201,169,97,0.22);
}
.bench-table__row:last-of-type { border-bottom: 1px solid rgba(201,169,97,0.22); }
.bench-table__head {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 14px 24px;
}
.bench-table__row {
  font-family: var(--font-body);
  font-size: 15px;
  color: rgba(7,7,12,0.82);
}
.bench-table__row:hover { background: rgba(13,74,61,0.025); }
.bench-table__row .num,
.bench-table__total .num {
  text-align: right;
  font-variant-numeric: tabular-nums lining-nums;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.bench-table__head .num { text-align: right; font-size: 11px; letter-spacing: 0.18em; }
.bench-table__row .num.cpsc { color: var(--accent); }
.bench-table__row--peak {
  background: rgba(13,74,61,0.05);
  position: relative;
}
.bench-table__row--peak::before {
  content: '';
  position: absolute;
  left: 0; top: 12px; bottom: 12px;
  width: 3px;
  background: var(--gold);
}
.bench-table__row .dollar,
.bench-table__total .dollar {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.6em;
  color: var(--gold-deep);
  vertical-align: 0.25em;
  margin-right: 1px;
}
.bench-table__row .muted {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(7,7,12,0.45);
  margin-left: 6px;
}
.bench-table__total {
  background: var(--ink);
  color: var(--cream);
  padding: 22px 24px;
  border-top: 1px solid var(--gold);
  border-bottom: 0;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.bench-table__total .num { color: var(--cream); font-size: 26px; letter-spacing: -0.01em; }
.bench-table__total .num.cpsc { color: var(--gold); }
.bench-table__total .muted { color: rgba(247,245,240,0.55); }
.bench-table__total .dollar { color: var(--gold); }

.bench-sec__commentary {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 19px;
  line-height: 1.5;
  color: rgba(7,7,12,0.72);
  text-align: center;
  max-width: 70ch;
  margin: 48px auto 0;
  text-wrap: balance;
}

/* SECTION 05 — METHODOLOGY (3 columns, NOT a timeline) */
.meth-sec { background: var(--cream-2); padding: 120px 0; }
.meth-sec__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.meth-sec__head { margin-bottom: 72px; max-width: 800px; }
.meth-sec__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.0;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 16px 0 0;
}
.meth-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.meth-col {
  padding: 48px 40px 56px;
  border-right: 1px solid rgba(201,169,97,0.3);
  position: relative;
}
.meth-col:last-child { border-right: 0; }
.meth-col__roman {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 88px;
  line-height: 0.9;
  color: var(--gold);
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}
.meth-col__phase {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--cream-line);
}
.meth-col__lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-deep);
  display: block;
  margin-bottom: 8px;
}
.meth-col__name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 30px;
  line-height: 1.1;
  color: var(--ink);
  margin: 0 0 8px;
  letter-spacing: -0.005em;
}
.meth-col__days {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(7,7,12,0.55);
}
.meth-col__body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: rgba(7,7,12,0.78);
  margin: 0 0 28px;
  text-wrap: pretty;
}
.meth-col__delv-lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 12px;
}
.meth-col__list { list-style: none; padding: 0; margin: 0; }
.meth-col__list li {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
  padding: 10px 0 10px 18px;
  border-bottom: 1px solid var(--cream-line);
  position: relative;
}
.meth-col__list li:last-child { border-bottom: 0; }
.meth-col__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18px;
  width: 8px;
  height: 1px;
  background: var(--gold);
}

/* SECTION 06 — ANCHOR ENGAGEMENT NOTE */
.eng-sec { background: var(--cream); }
.eng-sec__inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 48px;
}
.eng-sec__sub {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(7,7,12,0.55);
  margin: 18px 0 28px;
  padding-top: 18px;
  border-top: 1px solid var(--cream-line);
}
.eng-sec__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(38px, 4.4vw, 60px);
  line-height: 1.05;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 0 0 56px;
  max-width: 22ch;
  text-wrap: balance;
}
.eng-sec__h .ink { color: rgba(7,7,12,0.42); text-decoration: line-through; text-decoration-color: var(--cream-line); }
.eng-sec__h .gold { color: var(--accent); }
.eng-sec__body {
  margin-bottom: 64px;
  border-left: 2px solid var(--gold);
  padding-left: 32px;
}
.eng-sec__body p {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(7,7,12,0.82);
  margin: 0 0 20px;
  max-width: 64ch;
  text-wrap: pretty;
}
.eng-sec__body p:last-child { margin-bottom: 0; }
.eng-sec__lead {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: 22px !important;
  line-height: 1.4 !important;
  color: var(--ink) !important;
  letter-spacing: -0.005em;
}

.eng-traj {
  border-top: 1px solid var(--cream-line);
  border-bottom: 1px solid var(--cream-line);
  padding: 8px 0;
}
.eng-traj__row {
  display: grid;
  grid-template-columns: 110px 1fr 110px;
  gap: 24px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--cream-line);
}
.eng-traj__row:last-child { border-bottom: 0; }
.eng-traj__q {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(7,7,12,0.55);
}
.eng-traj__bar {
  display: block;
  height: 6px;
  background: rgba(201,169,97,0.12);
  position: relative;
  border-radius: 1px;
}
.eng-traj__bar > span {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  background: linear-gradient(90deg, rgba(201,169,97,0.35), var(--gold));
  border-radius: 1px;
}
.eng-traj__row--peak .eng-traj__bar > span {
  background: linear-gradient(90deg, var(--accent), #166b56);
}
.eng-traj__num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 22px;
  color: var(--ink);
  text-align: right;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: -0.01em;
}
.eng-traj__num .dollar {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.6em;
  color: var(--gold-deep);
  vertical-align: 0.25em;
}
.eng-traj__row--peak .eng-traj__num { color: var(--accent); }

/* RESPONSIVE — PI client acquisition */
@media (max-width: 980px) {
  .ca-hero { padding: 80px 0 60px; }
  .ca-hero__inner { padding: 0 24px; }
  .ca-hero__h1 { font-size: 56px; }
  .ca-hero__stats { grid-template-columns: 1fr; gap: 24px; }
  .ca-hero__stat { border-right: 0; border-bottom: 1px solid var(--cream-line); padding: 0 0 24px !important; }
  .ca-hero__stat:last-child { border-bottom: 0; }

  .ch-sec__inner, .metric-sec__inner, .geo-sec__inner, .bench-sec__inner, .meth-sec__inner, .eng-sec__inner { padding: 0 24px; }
  .sec-pad { padding: 64px 0; }
  .ch-sec__head, .bench-sec__head, .metric-sec__grid { grid-template-columns: 1fr; gap: 32px; }

  .ch-table__head { display: none; }
  .ch-table__row { grid-template-columns: 50px 1fr; row-gap: 8px; padding: 18px 4px; }
  .ch-num { grid-row: 1 / 3; }
  .ch-name { font-size: 22px; }
  .ch-what, .ch-opt { grid-column: 2; }

  .metric-row { grid-template-columns: 1fr; }
  .metric-row__cell { border-right: 0; border-bottom: 1px solid var(--cream-line); }
  .metric-row__cell:last-child { border-bottom: 0; }

  .geo-sec { padding: 80px 0; }
  .geo-tracker__head { display: none; }
  .geo-tracker__row { grid-template-columns: 1fr; gap: 8px; padding: 18px 20px; }
  .geo-tiles { grid-template-columns: 1fr; }
  .geo-tile { border-right: 0; border-bottom: 1px solid var(--ink-line); }
  .geo-tile:last-child { border-bottom: 0; }

  .bench-table__head { display: none; }
  .bench-table__row, .bench-table__total {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-areas:
      "name name name name"
      "spend leads signed cpsc";
    column-gap: 12px;
    row-gap: 10px;
    padding: 16px;
  }
  .bench-table__row > span:first-child,
  .bench-table__total > span:first-child {
    grid-area: name;
    font-weight: 600;
    font-size: 14px;
  }
  .bench-table__row > .num,
  .bench-table__total > .num {
    text-align: left;
    font-size: 16px;
    display: block;
    min-width: 0;
    line-height: 1.2;
  }
  .bench-table__row > .num:nth-child(2),
  .bench-table__total > .num:nth-child(2) { grid-area: spend; }
  .bench-table__row > .num:nth-child(3),
  .bench-table__total > .num:nth-child(3) { grid-area: leads; }
  .bench-table__row > .num:nth-child(4),
  .bench-table__total > .num:nth-child(4) { grid-area: signed; }
  .bench-table__row > .num.cpsc,
  .bench-table__total > .num.cpsc { grid-area: cpsc; }
  .bench-table__row > .num::before,
  .bench-table__total > .num::before {
    display: block;
    font-family: var(--font-body);
    font-size: 9px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold-deep);
    font-weight: 500;
    margin-bottom: 4px;
  }
  .bench-table__row > .num:nth-child(2)::before,
  .bench-table__total > .num:nth-child(2)::before { content: 'Spend'; }
  .bench-table__row > .num:nth-child(3)::before,
  .bench-table__total > .num:nth-child(3)::before { content: 'Leads'; }
  .bench-table__row > .num:nth-child(4)::before,
  .bench-table__total > .num:nth-child(4)::before { content: 'Signed'; }
  .bench-table__row > .num.cpsc::before,
  .bench-table__total > .num.cpsc::before { content: 'CPSC'; }
  .bench-table__row > .num .dollar,
  .bench-table__total > .num .dollar {
    display: inline;
  }
  .bench-table__row > .num .muted,
  .bench-table__total > .num .muted {
    display: inline;
    font-size: 9px;
    margin-left: 4px;
    white-space: nowrap;
  }

  .meth-grid { grid-template-columns: 1fr; }
  .meth-col { border-right: 0; border-bottom: 1px solid rgba(201,169,97,0.3); }
  .meth-col:last-child { border-bottom: 0; }

  .eng-sec__body { padding-left: 20px; }
  .eng-traj__row { grid-template-columns: 80px 1fr 90px; gap: 12px; }
}


/* ============================================================
   === PAGE: PI INTAKE & CONVERSION ===
   /personal-injury/intake-conversion
   All page styles. No inline <style>.
   ============================================================ */

/* ---------- HERO ---------- */
.pi-intake-hero {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0 96px;
  position: relative;
}
.pi-intake-hero__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 80px;
  align-items: start;
}
@media (max-width: 1080px) {
  .pi-intake-hero__inner { grid-template-columns: 1fr; gap: 56px; }
  .pi-intake-hero { padding: 88px 0 72px; }
}

.pi-intake-hero__left { padding-top: 8px; }

/* breadcrumb (replaces eyebrow per spec §7A) */
.pi-intake-crumb {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 32px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.pi-intake-crumb a {
  color: var(--gold-deep);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  position: relative;
  transition: transform 220ms cubic-bezier(0.4,0,0.2,1), color 200ms;
  padding-bottom: 1px;
  border-bottom: 1px solid transparent;
}
.pi-intake-crumb a:hover {
  color: var(--gold-deep);
  transform: translateY(-2px);
  border-bottom-color: var(--gold);
}
.pi-intake-crumb__sep { color: var(--gold-deep); opacity: 0.5; }
.pi-intake-crumb__here { color: var(--accent); }

.pi-intake-hero__h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(56px, 8vw, 104px);
  line-height: 0.96;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 28px;
}
.pi-intake-hero__lead {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 52ch;
  margin: 0 0 40px;
  text-wrap: pretty;
}
.pi-intake-hero__rule {
  height: 1px;
  background: var(--gold);
  width: 100%;
  margin: 0 0 32px;
  opacity: 0.55;
}
.pi-intake-hero__cta-row {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

/* ---------- LIVE CALL CARD (transparent, editorial) ---------- */
.pi-intake-livecall {
  background: transparent;
  border: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
}

.pi-intake-livecall__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--cream-line);
}
.pi-intake-livecall__dot {
  width: 9px;
  height: 9px;
  background: var(--gold);
  border-radius: 50%;
  display: inline-block;
  position: relative;
  box-shadow: 0 0 0 0 rgba(201, 169, 97, 0.6);
  animation: piIntakePulse 2s cubic-bezier(0.4,0,0.2,1) infinite;
}
@keyframes piIntakePulse {
  0%   { box-shadow: 0 0 0 0 rgba(201, 169, 97, 0.55); }
  70%  { box-shadow: 0 0 0 12px rgba(201, 169, 97, 0); }
  100% { box-shadow: 0 0 0 0 rgba(201, 169, 97, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .pi-intake-livecall__dot { animation: none; }
}
.pi-intake-livecall__label {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.pi-intake-livecall__elapsed {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
}

.pi-intake-livecall__caller {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}
.pi-intake-livecall__caller-name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.pi-intake-livecall__lang {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-deep);
  background: var(--gold-lt, rgba(201,169,97,0.10));
  border: 1px solid rgba(201,169,97,0.35);
  padding: 4px 9px;
  border-radius: 2px;
}

/* transcript */
.pi-intake-livecall__transcript {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid var(--cream-line);
  border-bottom: 1px solid var(--cream-line);
  min-height: 200px;
}
.pi-intake-livecall__line {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pi-intake-livecall__line-meta {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.pi-intake-livecall__line--caller .pi-intake-livecall__line-meta { color: var(--muted-cream, rgba(20,20,20,0.5)); }
.pi-intake-livecall__line--ai .pi-intake-livecall__line-meta { color: var(--accent); }
.pi-intake-livecall__line-text {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--on-cream);
  margin: 0;
  text-wrap: pretty;
}
.pi-intake-livecall__line--ai .pi-intake-livecall__line-text {
  color: var(--accent);
  padding-left: 14px;
  border-left: 2px solid var(--accent);
}
.pi-intake-livecall__cursor {
  display: inline-block;
  width: 7px;
  height: 14px;
  background: var(--ink);
  margin-left: 3px;
  vertical-align: text-bottom;
  animation: piIntakeBlink 1s step-start infinite;
}
@keyframes piIntakeBlink {
  50% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .pi-intake-livecall__cursor { animation: none; }
}

/* gauge row */
.pi-intake-livecall__gauge { display: flex; flex-direction: column; gap: 10px; }
.pi-intake-livecall__gauge-row {
  display: flex; justify-content: space-between; align-items: baseline;
}
.pi-intake-livecall__gauge-label {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.pi-intake-livecall__gauge-num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 32px;
  letter-spacing: -0.01em;
  color: var(--gold);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
}
.pi-intake-livecall__gauge-track {
  height: 1px;
  width: 100%;
  background: var(--cream-line);
  position: relative;
}
.pi-intake-livecall__gauge-fill {
  position: absolute; top: -1px; left: 0;
  height: 3px;
  background: var(--gold);
  width: 88%;
}

/* sentiment */
.pi-intake-livecall__sentiment {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding-top: 4px;
}
.pi-intake-livecall__sent-label {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.pi-intake-livecall__sent-bars { display: flex; gap: 4px; align-items: end; height: 14px; }
.pi-intake-livecall__sent-bar {
  display: block;
  width: 28px;
  height: 6px;
  background: rgba(20,20,20,0.12);
}
.pi-intake-livecall__sent-bar:nth-child(2) { height: 9px; }
.pi-intake-livecall__sent-bar:nth-child(3) { height: 14px; }
.pi-intake-livecall__sent-bar--active { background: var(--gold); }
.pi-intake-livecall__sent-value {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  color: var(--ink);
}

/* take-over button */
.pi-intake-livecall__takeover {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.02em;
  background: var(--accent);
  color: #fff;
  border: 1px solid var(--gold);
  padding: 14px 22px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  transition: background 200ms, transform 200ms;
  margin-top: 4px;
  position: relative;
}
.pi-intake-livecall__takeover::before {
  content: ''; position: absolute; inset: 0;
  border: 1px solid rgba(201,169,97,0.5);
  pointer-events: none;
  animation: piIntakeTakeoverPulse 2.4s cubic-bezier(0.4,0,0.2,1) infinite;
}
@keyframes piIntakeTakeoverPulse {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(1.012); opacity: 0.5; }
}
@media (prefers-reduced-motion: reduce) {
  .pi-intake-livecall__takeover::before { animation: none; }
}
.pi-intake-livecall__takeover:hover { background: var(--accent-h); }
.pi-intake-livecall__takeover-arrow { transition: transform 200ms; }
.pi-intake-livecall__takeover:hover .pi-intake-livecall__takeover-arrow { transform: translateX(4px); }

/* ---------- SECTION 03: CAPABILITIES TABLE ---------- */
.pi-intake-caps {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-intake-caps__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-intake-caps__head { max-width: 60ch; margin-bottom: 56px; }
.pi-intake-caps__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 0;
}

.pi-intake-caps__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.pi-intake-caps__table thead th {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 18px 16px;
  background: rgba(201,169,97,0.06);
  text-align: left;
  border-bottom: 1px solid rgba(201,169,97,0.3);
}
.pi-intake-caps__th-num { width: 56px; }
.pi-intake-caps__th-cap { width: 220px; }
.pi-intake-caps__th-sla { width: 200px; }

.pi-intake-caps__row { border-bottom: 1px solid var(--cream-line); }
.pi-intake-caps__row:last-child { border-bottom: 0; }

.pi-intake-caps__num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  color: var(--gold-deep);
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums lining-nums;
  padding: 28px 16px;
  vertical-align: top;
}
.pi-intake-caps__cap {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.005em;
  color: var(--ink);
  padding: 28px 16px;
  vertical-align: top;
  line-height: 1.15;
}
.pi-intake-caps__what {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--on-cream);
  padding: 28px 16px;
  vertical-align: top;
  text-wrap: pretty;
}
.pi-intake-caps__sla {
  padding: 28px 16px;
  vertical-align: top;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pi-intake-caps__sla-num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 32px;
  line-height: 1;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: -0.01em;
  display: inline-block;
}
.pi-intake-caps__sla-unit {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-left: 6px;
}
.pi-intake-caps__sla-meta {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--on-cream);
  opacity: 0.7;
  margin-top: 4px;
}

@media (max-width: 900px) {
  .pi-intake-caps__table, .pi-intake-caps__table thead, .pi-intake-caps__table tbody, .pi-intake-caps__table tr, .pi-intake-caps__table th, .pi-intake-caps__table td { display: block; width: auto; }
  .pi-intake-caps__table thead { display: none; }
  .pi-intake-caps__row { padding: 28px 0; border-bottom: 1px solid var(--cream-line); }
  .pi-intake-caps__num, .pi-intake-caps__cap, .pi-intake-caps__what, .pi-intake-caps__sla { padding: 6px 0; }
}

/* ---------- SECTION 04: 22-HOUR PROBLEM (dark) ---------- */
.pi-intake-problem {
  background: var(--ink);
  color: var(--on-ink);
  padding: 128px 0;
  position: relative;
}
.pi-intake-problem__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-intake-problem__head { max-width: 70ch; margin-bottom: 56px; }
.pi-intake-problem__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 14px 0 24px;
}
.pi-intake-problem__sub {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.55;
  color: var(--muted-ink);
  margin: 0;
  max-width: 52ch;
  text-wrap: pretty;
}
.pi-intake-problem__rule {
  height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent 70%);
  margin: 0 0 56px;
}
.pi-intake-problem__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--ink-line);
  border: 1px solid var(--ink-line);
}
@media (max-width: 800px) {
  .pi-intake-problem__stats { grid-template-columns: 1fr; }
}
.pi-intake-problem__stat {
  background: var(--ink);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pi-intake-problem__stat--anchor {
  background: var(--ink-2, #1a1a1a);
  position: relative;
}
.pi-intake-problem__stat--anchor::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 36px;
  height: 2px;
  background: var(--gold);
}
.pi-intake-problem__stat-num {
  font-family: var(--font-body);
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
  display: flex;
  align-items: baseline;
  gap: 8px;
  line-height: 1;
}
.pi-intake-problem__stat-val {
  font-size: 72px;
}
.pi-intake-problem__stat-unit {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
}
.pi-intake-problem__stat--anchor .pi-intake-problem__stat-val { color: var(--gold); }
.pi-intake-problem__stat-lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13.5px;
  letter-spacing: 0.02em;
  color: var(--muted-ink);
  line-height: 1.5;
  text-wrap: pretty;
  margin: 0;
}

/* ---------- SECTION 05: UPL TABLE ---------- */
.pi-intake-upl {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-intake-upl__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-intake-upl__head { max-width: 60ch; margin-bottom: 56px; }
.pi-intake-upl__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 22px;
}
.pi-intake-upl__lede {
  font-family: var(--font-body);
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 60ch;
  margin: 0;
  text-wrap: pretty;
}
.pi-intake-upl__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.pi-intake-upl__table thead th {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 18px 16px;
  background: rgba(201,169,97,0.06);
  text-align: left;
  border-bottom: 1px solid rgba(201,169,97,0.3);
}
.pi-intake-upl__table tbody tr {
  border-bottom: 1px solid var(--cream-line);
  transition: background 180ms;
}
.pi-intake-upl__table tbody tr:last-child { border-bottom: 0; }
.pi-intake-upl__table tbody tr:hover { background: rgba(201,169,97,0.03); }
.pi-intake-upl__guard {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.005em;
  color: var(--ink);
  padding: 26px 16px;
  vertical-align: top;
  width: 240px;
}
.pi-intake-upl__body {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--on-cream);
  padding: 26px 16px;
  vertical-align: top;
  text-wrap: pretty;
}
.pi-intake-upl__cadence {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 26px 16px;
  vertical-align: top;
  width: 200px;
  white-space: nowrap;
}
.pi-intake-upl__foot {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--cream-line);
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.005em;
  color: var(--gold-deep);
  margin-bottom: 0;
}
@media (max-width: 900px) {
  .pi-intake-upl__table, .pi-intake-upl__table thead, .pi-intake-upl__table tbody, .pi-intake-upl__table tr, .pi-intake-upl__table th, .pi-intake-upl__table td { display: block; width: auto; }
  .pi-intake-upl__table thead { display: none; }
  .pi-intake-upl__table tbody tr { padding: 24px 0; }
  .pi-intake-upl__guard, .pi-intake-upl__body, .pi-intake-upl__cadence { padding: 6px 0; white-space: normal; }
}

/* ---------- SECTION 06: MULTILINGUAL COVERAGE ---------- */
.pi-intake-lang {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
}
.pi-intake-lang__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-intake-lang__head { max-width: 60ch; margin-bottom: 56px; }
.pi-intake-lang__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 22px;
}
.pi-intake-lang__lede {
  font-family: var(--font-body);
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 60ch;
  margin: 0;
  text-wrap: pretty;
}
.pi-intake-lang__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
@media (max-width: 900px) { .pi-intake-lang__grid { grid-template-columns: 1fr; } }

.pi-intake-lang__col {
  padding: 40px 36px 44px;
  border-right: 1px solid var(--cream-line);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pi-intake-lang__col:last-child { border-right: 0; }
@media (max-width: 900px) {
  .pi-intake-lang__col { border-right: 0; border-bottom: 1px solid var(--cream-line); }
  .pi-intake-lang__col:last-child { border-bottom: 0; }
}

.pi-intake-lang__num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.18em;
  color: var(--gold-deep);
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-intake-lang__name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(36px, 3.4vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}
.pi-intake-lang__sample {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.4;
  color: var(--gold-deep);
  background: rgba(201,169,97,0.07);
  border-left: 2px solid var(--gold);
  padding: 14px 18px;
  text-wrap: pretty;
}
.pi-intake-lang__body {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--on-cream);
  margin: 4px 0 0;
  text-wrap: pretty;
}

/* ---------- SECTION 07: METHODOLOGY ---------- */
.pi-intake-method {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-intake-method__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-intake-method__head { max-width: 60ch; margin-bottom: 56px; }
.pi-intake-method__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 22px;
}
.pi-intake-method__lede {
  font-family: var(--font-body);
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 60ch;
  margin: 0;
  text-wrap: pretty;
}
.pi-intake-method__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--cream-line);
}
@media (max-width: 900px) { .pi-intake-method__grid { grid-template-columns: 1fr; } }

.pi-intake-method__phase {
  padding: 40px 32px 44px;
  border-right: 1px solid var(--cream-line);
  position: relative;
}
.pi-intake-method__phase:last-child { border-right: 0; }
@media (max-width: 900px) {
  .pi-intake-method__phase { border-right: 0; border-bottom: 1px solid var(--cream-line); }
  .pi-intake-method__phase:last-child { border-bottom: 0; }
}

.pi-intake-method__phase-roman {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 36px;
  color: var(--gold-deep);
  line-height: 1;
  margin-bottom: 14px;
  letter-spacing: 0.02em;
}
.pi-intake-method__phase-day {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-intake-method__phase-name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.1;
  letter-spacing: -0.005em;
  color: var(--ink);
  margin: 0 0 24px;
}
.pi-intake-method__phase-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pi-intake-method__phase-list li {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--on-cream);
  padding-left: 18px;
  position: relative;
  text-wrap: pretty;
}
.pi-intake-method__phase-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 8px;
  height: 1px;
  background: var(--gold);
}

/* ---------- SECTION 08: ANCHOR ENGAGEMENT NOTE ---------- */
.pi-intake-anchor {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
}
.pi-intake-anchor__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-intake-anchor__head { margin-bottom: 48px; }
.pi-intake-anchor__sub {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin: 12px 0 22px;
}
.pi-intake-anchor__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}
.pi-intake-anchor__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  border-top: 1px solid var(--gold);
  padding-top: 36px;
}
.pi-intake-anchor__body p {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--on-cream);
  margin: 0;
  text-wrap: pretty;
}
.pi-intake-anchor__body p:first-child::first-letter {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 56px;
  line-height: 0.85;
  float: left;
  margin: 6px 12px 0 0;
  color: var(--gold-deep);
}

/* ---------- SECTION 09: FINAL CTA ---------- */
.pi-intake-final {
  background: var(--accent);
  color: #fff;
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.pi-intake-final::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: min(1280px, calc(100% - 96px));
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.pi-intake-final__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 48px;
  text-align: left;
  position: relative;
}
.pi-intake-final__eyebrow {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-block;
  margin-bottom: 24px;
}
.pi-intake-final__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(44px, 5vw, 72px);
  line-height: 1.0;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 0 0 24px;
}
.pi-intake-final__sub {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255,255,255,0.85);
  margin: 0 0 36px;
  max-width: 60ch;
  text-wrap: pretty;
}
.pi-intake-final__cta-row {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.pi-intake-final__trust {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.pi-intake-final__trust-dot {
  width: 4px; height: 4px;
  background: var(--gold);
  border-radius: 50%;
  display: inline-block;
}

/* ---------- buttons reused on accent ---------- */
.btn-on-accent {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px;
  background: #fff;
  color: var(--accent);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.005em;
  border: 1px solid #fff;
  text-decoration: none;
  transition: background 200ms, color 200ms, transform 200ms;
}
.btn-on-accent:hover {
  background: var(--gold);
  color: var(--ink);
  border-color: var(--gold);
  transform: translateY(-1px);
}
.btn-on-accent .arrow { transition: transform 200ms; }
.btn-on-accent:hover .arrow { transform: translateX(3px); }

.btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-body);
  font-size: 14px; font-weight: 500;
  color: rgba(255,255,255,0.85);
  border-bottom: 1px solid rgba(255,255,255,0.4);
  padding-bottom: 2px;
  text-decoration: none;
  transition: color 200ms, border-color 200ms;
}
.btn-ghost:hover { color: var(--gold); border-bottom-color: var(--gold); }

/* ---------- fade-up reveal ---------- */
.fade-up { opacity: 0; transform: translateY(16px); transition: opacity 700ms cubic-bezier(0.4,0,0.2,1), transform 700ms cubic-bezier(0.4,0,0.2,1); }
.fade-up.in { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .fade-up { opacity: 1; transform: none; transition: none; }
}


/* ============================================================
   === PAGE: PI CASE OPERATIONS ===
   /personal-injury/case-operations
   All page styles. No inline <style>.
   ============================================================ */

/* ---------- HERO ---------- */
.pi-ops-hero {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0 96px;
  position: relative;
}
.pi-ops-hero__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 80px;
  align-items: start;
}
@media (max-width: 1080px) {
  .pi-ops-hero__inner { grid-template-columns: 1fr; gap: 56px; }
  .pi-ops-hero { padding: 88px 0 72px; }
}
.pi-ops-hero__left { padding-top: 8px; }

/* breadcrumb */
.pi-ops-crumb {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 32px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.pi-ops-crumb a {
  color: var(--gold-deep);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  position: relative;
  transition: transform 220ms cubic-bezier(0.4,0,0.2,1), color 200ms;
  padding-bottom: 1px;
  border-bottom: 1px solid transparent;
}
.pi-ops-crumb a:hover {
  color: var(--gold-deep);
  transform: translateY(-2px);
  border-bottom-color: var(--gold);
}
.pi-ops-crumb__sep { color: var(--gold-deep); opacity: 0.5; }
.pi-ops-crumb__here { color: var(--accent); }

.pi-ops-hero__h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(56px, 8vw, 104px);
  line-height: 0.96;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 28px;
}
.pi-ops-hero__lead {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 52ch;
  margin: 0 0 40px;
  text-wrap: pretty;
}
.pi-ops-hero__rule {
  height: 1px;
  background: var(--gold);
  width: 100%;
  margin: 0 0 32px;
  opacity: 0.55;
}
.pi-ops-hero__cta-row {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

/* ---------- ROSTER MOCKUP (transparent editorial table) ---------- */
.pi-ops-roster {
  background: transparent;
  border: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
}
.pi-ops-roster__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
}
.pi-ops-roster__dot {
  width: 7px;
  height: 7px;
  background: var(--gold);
  border-radius: 50%;
  display: inline-block;
}
.pi-ops-roster__label {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.pi-ops-roster__count {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-ops-roster__rule {
  height: 1px;
  background: var(--gold);
  opacity: 0.6;
  width: 100%;
}
.pi-ops-roster__rows { display: flex; flex-direction: column; }
.pi-ops-roster__row {
  display: grid;
  grid-template-columns: 1.5fr 1.6fr auto auto;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--cream-line);
}
.pi-ops-roster__row:last-child { border-bottom: 0; }

.pi-ops-roster__role {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: -0.005em;
  color: var(--ink);
  line-height: 1.2;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.pi-ops-roster__role-tag {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-deep);
  background: rgba(201,169,97,0.10);
  border: 1px solid rgba(201,169,97,0.35);
  padding: 2px 7px;
  border-radius: 2px;
  line-height: 1.2;
}
.pi-ops-roster__tools {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 13px;
  color: var(--muted-cream, rgba(20,20,20,0.55));
  line-height: 1.4;
}
.pi-ops-roster__cert { display: flex; }
.pi-ops-roster__pill {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-deep);
  border: 1px solid var(--gold);
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-ops-roster__since {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .pi-ops-roster__row {
    grid-template-columns: 1fr auto;
    gap: 6px 16px;
  }
  .pi-ops-roster__tools { grid-column: 1 / -1; order: 3; }
  .pi-ops-roster__cert { grid-column: 1 / -1; order: 4; }
}

.pi-ops-roster__foot-link {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--gold-deep);
  text-decoration: none;
  border-bottom: 1px solid rgba(201,169,97,0.6);
  align-self: start;
  padding-bottom: 2px;
  margin-top: 4px;
  transition: color 200ms, border-color 200ms;
}
.pi-ops-roster__foot-link:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

/* ---------- SECTION 03: FIVE ROLES TABLE ---------- */
.pi-ops-roles {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-ops-roles__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-ops-roles__head { max-width: 60ch; margin-bottom: 56px; }
.pi-ops-roles__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 0;
}
.pi-ops-roles__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.pi-ops-roles__table thead th {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 18px 16px;
  background: rgba(201,169,97,0.06);
  text-align: left;
  border-bottom: 1px solid rgba(201,169,97,0.3);
}
.pi-ops-roles__th-num { width: 56px; }
.pi-ops-roles__th-role { width: 220px; }
.pi-ops-roles__th-day { width: 280px; }

.pi-ops-roles__row {
  border-bottom: 1px solid var(--cream-line);
  transition: background 180ms;
}
.pi-ops-roles__row:last-child { border-bottom: 0; }
.pi-ops-roles__row:hover { background: rgba(201,169,97,0.03); }

.pi-ops-roles__num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  color: var(--gold-deep);
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums lining-nums;
  padding: 28px 16px;
  vertical-align: top;
}
.pi-ops-roles__role {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.005em;
  color: var(--ink);
  padding: 28px 16px;
  vertical-align: top;
  line-height: 1.15;
}
.pi-ops-roles__what {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--on-cream);
  padding: 28px 16px;
  vertical-align: top;
  text-wrap: pretty;
}
.pi-ops-roles__day {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--gold-deep);
  padding: 28px 16px;
  vertical-align: top;
  text-wrap: pretty;
  letter-spacing: 0.005em;
}

@media (max-width: 900px) {
  .pi-ops-roles__table, .pi-ops-roles__table thead, .pi-ops-roles__table tbody, .pi-ops-roles__table tr, .pi-ops-roles__table th, .pi-ops-roles__table td { display: block; width: auto; }
  .pi-ops-roles__table thead { display: none; }
  .pi-ops-roles__row { padding: 28px 0; border-bottom: 1px solid var(--cream-line); }
  .pi-ops-roles__num, .pi-ops-roles__role, .pi-ops-roles__what, .pi-ops-roles__day { padding: 6px 0; }
}

/* ---------- SECTION 04: PI CERTIFICATION (full-bleed dark) ---------- */
.pi-ops-cert {
  background: var(--ink);
  color: var(--on-ink);
  padding: 128px 0;
  position: relative;
}
.pi-ops-cert__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-ops-cert__head { max-width: 70ch; margin-bottom: 56px; }
.pi-ops-cert__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 14px 0 24px;
}
.pi-ops-cert__sub {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.55;
  color: var(--muted-ink);
  margin: 0;
  max-width: 52ch;
  text-wrap: pretty;
}

.pi-ops-cert__chronology {
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--ink-line);
}
.pi-ops-cert__module {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  align-items: baseline;
  gap: 32px;
  padding: 28px 0;
  border-bottom: 1px solid var(--ink-line);
  position: relative;
}
.pi-ops-cert__module:last-child { border-bottom: 0; }
.pi-ops-cert__module::before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width 700ms cubic-bezier(0.4,0,0.2,1);
}
.pi-ops-cert__module:hover::before { width: 80px; }

.pi-ops-cert__num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 28px;
  color: var(--gold);
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
}
.pi-ops-cert__body { padding: 0; }
.pi-ops-cert__name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.1;
  letter-spacing: -0.005em;
  color: #fff;
  margin: 0 0 8px;
}
.pi-ops-cert__copy {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--muted-ink);
  margin: 0;
  text-wrap: pretty;
  max-width: 60ch;
}
.pi-ops-cert__hours {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: var(--gold);
  font-variant-numeric: tabular-nums lining-nums;
  white-space: nowrap;
  align-self: center;
}

.pi-ops-cert__footer {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: baseline;
  gap: 24px;
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--ink-line);
}
.pi-ops-cert__total-label {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
}
.pi-ops-cert__total-num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 56px;
  color: #fff;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}
.pi-ops-cert__total-unit {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
}
.pi-ops-cert__total-meta {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 14px;
  color: var(--muted-ink);
  text-align: right;
}
@media (max-width: 720px) {
  .pi-ops-cert__module { grid-template-columns: 56px 1fr; gap: 16px; row-gap: 8px; }
  .pi-ops-cert__hours { grid-column: 2; }
  .pi-ops-cert__footer { grid-template-columns: 1fr; gap: 8px; }
  .pi-ops-cert__total-meta { text-align: left; }
}

/* ---------- SECTION 05: EOR MODEL ---------- */
.pi-ops-eor {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-ops-eor__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-ops-eor__head { margin-bottom: 48px; }
.pi-ops-eor__split {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 80px;
  align-items: start;
  border-top: 1px solid var(--gold);
  padding-top: 48px;
}
@media (max-width: 900px) {
  .pi-ops-eor__split { grid-template-columns: 1fr; gap: 40px; }
}

.pi-ops-eor__quote {
  position: sticky;
  top: 100px;
}
.pi-ops-eor__q {
  font-family: var(--font-display);
  font-weight: 500;
  font-style: italic;
  font-size: clamp(32px, 3.4vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--gold-deep);
  margin: 0 0 20px;
  max-width: 24ch;
  text-wrap: balance;
}
.pi-ops-eor__q-meta {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding-top: 14px;
  border-top: 1px solid var(--cream-line);
  display: inline-block;
}
.pi-ops-eor__body { display: flex; flex-direction: column; gap: 22px; }
.pi-ops-eor__body p {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--on-cream);
  margin: 0;
  text-wrap: pretty;
  max-width: 60ch;
}

.pi-ops-eor__data-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 64px;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
@media (max-width: 800px) {
  .pi-ops-eor__data-row { grid-template-columns: repeat(2, 1fr); }
}
.pi-ops-eor__stat {
  padding: 32px 24px;
  border-right: 1px solid var(--cream-line);
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
}
.pi-ops-eor__stat:last-child { border-right: 0; }
@media (max-width: 800px) {
  .pi-ops-eor__stat:nth-child(2n) { border-right: 0; }
  .pi-ops-eor__stat:nth-child(-n+2) { border-bottom: 1px solid var(--cream-line); }
}
.pi-ops-eor__stat-num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 44px;
  letter-spacing: -0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
.pi-ops-eor__stat-num--word {
  font-family: var(--font-display);
  font-weight: 500;
  font-style: italic;
  font-size: 40px;
  letter-spacing: -0.01em;
  color: var(--gold-deep);
}
.pi-ops-eor__stat-unit {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  color: var(--gold-deep);
}
.pi-ops-eor__stat-lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-deep);
  line-height: 1.4;
}
.pi-ops-eor__stat--anchor::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 36px;
  height: 2px;
  background: var(--gold);
}

/* ---------- SECTION 06: BENCH-REPLACEABLE ---------- */
.pi-ops-bench {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
}
.pi-ops-bench__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-ops-bench__head { max-width: 60ch; margin-bottom: 48px; }
.pi-ops-bench__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 22px;
}
.pi-ops-bench__lede {
  font-family: var(--font-body);
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 60ch;
  margin: 0;
  text-wrap: pretty;
}
.pi-ops-bench__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.pi-ops-bench__table thead th {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 18px 16px;
  background: rgba(201,169,97,0.06);
  text-align: left;
  border-bottom: 1px solid rgba(201,169,97,0.3);
}
.pi-ops-bench__th-dim { width: 240px; }
.pi-ops-bench__th-sla { width: 280px; }

.pi-ops-bench__row {
  border-bottom: 1px solid var(--cream-line);
  transition: background 180ms;
}
.pi-ops-bench__row:last-child { border-bottom: 0; }
.pi-ops-bench__row:hover { background: rgba(201,169,97,0.03); }
.pi-ops-bench__dim {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.005em;
  color: var(--ink);
  padding: 24px 16px;
  vertical-align: top;
  line-height: 1.2;
}
.pi-ops-bench__sla {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 17px;
  letter-spacing: -0.005em;
  color: var(--accent);
  padding: 24px 16px;
  vertical-align: top;
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-ops-bench__why {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--on-cream);
  padding: 24px 16px;
  vertical-align: top;
  text-wrap: pretty;
}
@media (max-width: 800px) {
  .pi-ops-bench__table, .pi-ops-bench__table thead, .pi-ops-bench__table tbody, .pi-ops-bench__table tr, .pi-ops-bench__table th, .pi-ops-bench__table td { display: block; width: auto; }
  .pi-ops-bench__table thead { display: none; }
  .pi-ops-bench__row { padding: 22px 0; }
  .pi-ops-bench__dim, .pi-ops-bench__sla, .pi-ops-bench__why { padding: 4px 0; }
}

/* ---------- SECTION 07: METHODOLOGY ---------- */
.pi-ops-method {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-ops-method__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-ops-method__head { max-width: 60ch; margin-bottom: 56px; }
.pi-ops-method__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 22px;
}
.pi-ops-method__lede {
  font-family: var(--font-body);
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 60ch;
  margin: 0;
  text-wrap: pretty;
}
.pi-ops-method__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--cream-line);
}
@media (max-width: 900px) { .pi-ops-method__grid { grid-template-columns: 1fr; } }

.pi-ops-method__phase {
  padding: 40px 32px 44px;
  border-right: 1px solid var(--cream-line);
}
.pi-ops-method__phase:last-child { border-right: 0; }
@media (max-width: 900px) {
  .pi-ops-method__phase { border-right: 0; border-bottom: 1px solid var(--cream-line); }
  .pi-ops-method__phase:last-child { border-bottom: 0; }
}
.pi-ops-method__phase-roman {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 36px;
  color: var(--gold-deep);
  line-height: 1;
  margin-bottom: 14px;
  letter-spacing: 0.02em;
}
.pi-ops-method__phase-day {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-ops-method__phase-name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.1;
  letter-spacing: -0.005em;
  color: var(--ink);
  margin: 0 0 24px;
}
.pi-ops-method__phase-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pi-ops-method__phase-list li {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--on-cream);
  padding-left: 18px;
  position: relative;
  text-wrap: pretty;
}
.pi-ops-method__phase-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 8px;
  height: 1px;
  background: var(--gold);
}

/* ---------- SECTION 08: ANCHOR ENGAGEMENT NOTE ---------- */
.pi-ops-anchor {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
}
.pi-ops-anchor__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 48px;
}
.pi-ops-anchor__head { margin-bottom: 48px; }
.pi-ops-anchor__sub {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin: 12px 0 22px;
}
.pi-ops-anchor__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}
.pi-ops-anchor__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  border-top: 1px solid var(--gold);
  padding-top: 36px;
}
.pi-ops-anchor__body p {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--on-cream);
  margin: 0;
  text-wrap: pretty;
}
.pi-ops-anchor__body p:first-child::first-letter {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 56px;
  line-height: 0.85;
  float: left;
  margin: 6px 12px 0 0;
  color: var(--gold-deep);
}

/* ---------- SECTION 09: FINAL CTA ---------- */
.pi-ops-final {
  background: var(--accent);
  color: #fff;
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.pi-ops-final::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: min(1280px, calc(100% - 96px));
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.pi-ops-final__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 48px;
  text-align: left;
  position: relative;
}
.pi-ops-final__eyebrow {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-block;
  margin-bottom: 24px;
}
.pi-ops-final__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(44px, 5vw, 72px);
  line-height: 1.0;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 0 0 24px;
}
.pi-ops-final__sub {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255,255,255,0.85);
  margin: 0 0 36px;
  max-width: 60ch;
  text-wrap: pretty;
}
.pi-ops-final__cta-row {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.pi-ops-final__trust {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.pi-ops-final__trust-dot {
  width: 4px; height: 4px;
  background: var(--gold);
  border-radius: 50%;
  display: inline-block;
}


/* ============================================================
   === PAGE: PI COMMAND CENTER ===
   /personal-injury/command-center
   All page styles. No inline <style>.
   ============================================================ */

/* ---------- HERO ---------- */
.pi-cc-hero {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0 96px;
  position: relative;
}
.pi-cc-hero__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 80px;
  align-items: start;
}
@media (max-width: 1080px) {
  .pi-cc-hero__inner { grid-template-columns: 1fr; gap: 56px; }
  .pi-cc-hero { padding: 88px 0 72px; }
}
.pi-cc-hero__left { padding-top: 8px; }

.pi-cc-crumb {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 32px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.pi-cc-crumb a {
  color: var(--gold-deep);
  text-decoration: none;
  transition: transform 220ms cubic-bezier(0.4,0,0.2,1), color 200ms;
  padding-bottom: 1px;
  border-bottom: 1px solid transparent;
}
.pi-cc-crumb a:hover {
  color: var(--gold-deep);
  transform: translateY(-2px);
  border-bottom-color: var(--gold);
}
.pi-cc-crumb__sep { color: var(--gold-deep); opacity: 0.5; }
.pi-cc-crumb__here { color: var(--accent); }

.pi-cc-hero__h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(56px, 8vw, 104px);
  line-height: 0.96;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 28px;
}
.pi-cc-hero__lead {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 52ch;
  margin: 0 0 40px;
  text-wrap: pretty;
}
.pi-cc-hero__rule {
  height: 1px;
  background: var(--gold);
  width: 100%;
  margin: 0 0 32px;
  opacity: 0.55;
}
.pi-cc-hero__cta-row {
  display: flex; align-items: center; gap: 32px; flex-wrap: wrap;
}

/* ---------- PARTNER MONDAY MORNING VIEW (transparent dashboard mockup) ---------- */
.pi-cc-mmv {
  background: transparent;
  border: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}
.pi-cc-mmv__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
}
.pi-cc-mmv__dot {
  width: 7px; height: 7px;
  background: var(--gold);
  border-radius: 50%;
  display: inline-block;
  animation: pi-cc-pulse 2s ease-in-out infinite;
}
@keyframes pi-cc-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(0.85); }
}
@media (prefers-reduced-motion: reduce) {
  .pi-cc-mmv__dot { animation: none; }
}
.pi-cc-mmv__lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-cc-mmv__lbl-sep { opacity: 0.5; margin: 0 4px; }
.pi-cc-mmv__refresh {
  background: transparent;
  border: 0;
  color: var(--gold-deep);
  cursor: default;
  padding: 0;
  opacity: 0.55;
  display: inline-flex;
}
.pi-cc-mmv__rule {
  height: 1px;
  background: var(--gold);
  opacity: 0.6;
  width: 100%;
}
.pi-cc-mmv__divider {
  height: 1px;
  background: var(--cream-line);
  width: 100%;
}

.pi-cc-mmv__pane { padding: 22px 0; }
.pi-cc-mmv__pane-lbl {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.pi-cc-mmv__pane-meta {
  font-weight: 600;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
}

/* Calls rows */
.pi-cc-mmv__calls { display: flex; flex-direction: column; }
.pi-cc-mmv__call {
  display: grid;
  grid-template-columns: 56px 38px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--cream-line);
}
.pi-cc-mmv__call:last-child { border-bottom: 0; }
.pi-cc-mmv__caller {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 14px;
  color: var(--ink);
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-cc-mmv__lang {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-deep);
  background: rgba(201,169,97,0.10);
  border: 1px solid rgba(201,169,97,0.35);
  padding: 3px 7px;
  border-radius: 2px;
  text-align: center;
  line-height: 1.1;
  justify-self: start;
}
.pi-cc-mmv__lang--es,
.pi-cc-mmv__lang--ar {
  background: rgba(201,169,97,0.18);
  color: var(--gold-deep);
}

.pi-cc-mmv__gauge {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  position: relative;
  height: 8px;
}
.pi-cc-mmv__gauge::before {
  content: '';
  position: absolute;
  left: 0; right: 32px; top: 50%;
  height: 2px;
  background: rgba(20,20,20,0.10);
  transform: translateY(-50%);
  border-radius: 2px;
}
.pi-cc-mmv__gauge-fill {
  position: absolute;
  left: 0;
  top: 50%;
  height: 2px;
  background: var(--gold);
  transform: translateY(-50%);
  border-radius: 2px;
  width: 0%;
  max-width: calc(100% - 32px);
}
.pi-cc-mmv__gauge-num {
  grid-column: 2;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: 0.01em;
  min-width: 22px;
  text-align: right;
}
.pi-cc-mmv__elapsed {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* Stages bar */
.pi-cc-mmv__stages {
  display: grid;
  grid-template-columns: 1fr 16px 1fr 16px 1fr 16px 1fr;
  align-items: center;
  gap: 0;
}
.pi-cc-mmv__stage {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
.pi-cc-mmv__stage-count {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 28px;
  color: var(--gold-deep);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
}
.pi-cc-mmv__stage-name {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.pi-cc-mmv__stage-conn {
  height: 1px;
  background: var(--gold);
  opacity: 0.6;
  margin-top: 6px;
  align-self: end;
}

/* Trend */
.pi-cc-mmv__pane--trend { padding-bottom: 4px; }
.pi-cc-mmv__trend {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
}
.pi-cc-mmv__spark {
  width: 100%;
  height: 56px;
  display: block;
}
.pi-cc-mmv__trend-num {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.pi-cc-mmv__trend-cur {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 28px;
  color: var(--ink);
  letter-spacing: -0.01em;
  line-height: 1;
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-cc-mmv__trend-delta {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 12px;
  color: var(--gold-deep);
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums lining-nums;
}

@media (max-width: 720px) {
  .pi-cc-mmv__call { grid-template-columns: 50px 36px 1fr auto; gap: 10px; }
}

/* ---------- SECTION 03: FIVE CAPABILITIES ---------- */
.pi-cc-caps {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-cc-caps__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pi-cc-caps__head { max-width: 60ch; margin-bottom: 56px; }
.pi-cc-caps__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 0;
}
.pi-cc-caps__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.pi-cc-caps__table thead th {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 18px 16px;
  background: rgba(201,169,97,0.06);
  text-align: left;
  border-bottom: 1px solid rgba(201,169,97,0.3);
}
.pi-cc-caps__th-num { width: 56px; }
.pi-cc-caps__th-name { width: 220px; }
.pi-cc-caps__th-cad { width: 200px; }
.pi-cc-caps__row {
  border-bottom: 1px solid var(--cream-line);
  transition: background 180ms;
}
.pi-cc-caps__row:last-child { border-bottom: 0; }
.pi-cc-caps__row:hover { background: rgba(201,169,97,0.03); }
.pi-cc-caps__num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  color: var(--gold-deep);
  font-variant-numeric: tabular-nums lining-nums;
  padding: 28px 16px;
  vertical-align: top;
  letter-spacing: 0.02em;
}
.pi-cc-caps__name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.005em;
  color: var(--ink);
  padding: 28px 16px;
  vertical-align: top;
  line-height: 1.15;
}
.pi-cc-caps__what {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--on-cream);
  padding: 28px 16px;
  vertical-align: top;
  text-wrap: pretty;
}
.pi-cc-caps__cad {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--gold-deep);
  padding: 28px 16px;
  vertical-align: top;
  letter-spacing: 0.005em;
  font-variant-numeric: tabular-nums lining-nums;
}
@media (max-width: 900px) {
  .pi-cc-caps__table, .pi-cc-caps__table thead, .pi-cc-caps__table tbody, .pi-cc-caps__table tr, .pi-cc-caps__table th, .pi-cc-caps__table td { display: block; width: auto; }
  .pi-cc-caps__table thead { display: none; }
  .pi-cc-caps__row { padding: 28px 0; }
  .pi-cc-caps__num, .pi-cc-caps__name, .pi-cc-caps__what, .pi-cc-caps__cad { padding: 6px 0; }
}

/* ---------- SECTION 04: BLACK BOX (full-bleed dark) ---------- */
.pi-cc-bb {
  background: var(--ink);
  color: var(--on-ink);
  padding: 128px 0;
}
.pi-cc-bb__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pi-cc-bb__head { margin-bottom: 32px; }
.pi-cc-bb__split {
  border-top: 1px solid var(--gold);
  padding-top: 36px;
  margin-bottom: 48px;
  max-width: 64ch;
}
.pi-cc-bb__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 0 0 20px;
}
.pi-cc-bb__sub {
  font-family: var(--font-display);
  font-weight: 500;
  font-style: italic;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.3;
  color: var(--gold);
  margin: 0;
  text-wrap: balance;
}
.pi-cc-bb__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--ink-line);
  border-bottom: 1px solid var(--ink-line);
}
@media (max-width: 800px) { .pi-cc-bb__stats { grid-template-columns: 1fr; } }
.pi-cc-bb__stat {
  padding: 32px 24px;
  border-right: 1px solid var(--ink-line);
}
.pi-cc-bb__stat:last-child { border-right: 0; }
@media (max-width: 800px) {
  .pi-cc-bb__stat { border-right: 0; border-bottom: 1px solid var(--ink-line); }
  .pi-cc-bb__stat:last-child { border-bottom: 0; }
}
.pi-cc-bb__stat-num {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 56px;
  color: var(--gold);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
  margin-bottom: 16px;
}
.pi-cc-bb__stat-lbl {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--muted-ink);
  text-wrap: pretty;
  max-width: 32ch;
}

/* ---------- SECTION 05: REPORT ARCHITECTURE ---------- */
.pi-cc-rpt {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-cc-rpt__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pi-cc-rpt__head { max-width: 60ch; margin-bottom: 56px; }
.pi-cc-rpt__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 22px;
}
.pi-cc-rpt__lede {
  font-family: var(--font-body);
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 60ch;
  margin: 0;
  text-wrap: pretty;
}
.pi-cc-rpt__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.pi-cc-rpt__table thead th {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 18px 16px;
  background: rgba(201,169,97,0.06);
  text-align: left;
  border-bottom: 1px solid rgba(201,169,97,0.3);
}
.pi-cc-rpt__th-sec { width: 220px; }
.pi-cc-rpt__th-what { width: 44%; }
.pi-cc-rpt__row { border-bottom: 1px solid var(--cream-line); transition: background 180ms; }
.pi-cc-rpt__row:last-child { border-bottom: 0; }
.pi-cc-rpt__row:hover { background: rgba(201,169,97,0.03); }
.pi-cc-rpt__sec {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.005em;
  color: var(--ink);
  padding: 28px 16px;
  vertical-align: top;
  line-height: 1.15;
}
.pi-cc-rpt__what {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--on-cream);
  padding: 28px 16px;
  vertical-align: top;
  text-wrap: pretty;
}
.pi-cc-rpt__why {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 15px;
  line-height: 1.55;
  color: var(--gold-deep);
  padding: 28px 16px;
  vertical-align: top;
  text-wrap: pretty;
}
@media (max-width: 900px) {
  .pi-cc-rpt__table, .pi-cc-rpt__table thead, .pi-cc-rpt__table tbody, .pi-cc-rpt__table tr, .pi-cc-rpt__table th, .pi-cc-rpt__table td { display: block; width: auto; }
  .pi-cc-rpt__table thead { display: none; }
  .pi-cc-rpt__row { padding: 24px 0; }
  .pi-cc-rpt__sec, .pi-cc-rpt__what, .pi-cc-rpt__why { padding: 6px 0; }
}

/* ---------- SECTION 06: TAKE-OVER ARCHITECTURE ---------- */
.pi-cc-to {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
}
.pi-cc-to__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pi-cc-to__head { margin-bottom: 48px; }
.pi-cc-to__split {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 80px;
  align-items: start;
  border-top: 1px solid var(--gold);
  padding-top: 48px;
}
@media (max-width: 900px) { .pi-cc-to__split { grid-template-columns: 1fr; gap: 40px; } }

.pi-cc-to__quote { position: sticky; top: 100px; }
.pi-cc-to__q {
  font-family: var(--font-display);
  font-weight: 500;
  font-style: italic;
  font-size: clamp(32px, 3.4vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--gold-deep);
  margin: 0 0 20px;
  max-width: 22ch;
  text-wrap: balance;
}
.pi-cc-to__q-meta {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding-top: 14px;
  border-top: 1px solid var(--cream-line);
  display: inline-block;
}
.pi-cc-to__body { display: flex; flex-direction: column; gap: 22px; }
.pi-cc-to__body p {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--on-cream);
  margin: 0;
  text-wrap: pretty;
  max-width: 60ch;
}

/* ---------- SECTION 07: METHODOLOGY ---------- */
.pi-cc-method {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0;
  border-top: 1px solid var(--cream-line);
}
.pi-cc-method__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pi-cc-method__head { max-width: 60ch; margin-bottom: 56px; }
.pi-cc-method__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 14px 0 22px;
}
.pi-cc-method__lede {
  font-family: var(--font-body);
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--on-cream);
  max-width: 60ch;
  margin: 0;
  text-wrap: pretty;
}
.pi-cc-method__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--cream-line);
}
@media (max-width: 900px) { .pi-cc-method__grid { grid-template-columns: 1fr; } }
.pi-cc-method__phase {
  padding: 40px 32px 44px;
  border-right: 1px solid var(--cream-line);
}
.pi-cc-method__phase:last-child { border-right: 0; }
@media (max-width: 900px) {
  .pi-cc-method__phase { border-right: 0; border-bottom: 1px solid var(--cream-line); }
  .pi-cc-method__phase:last-child { border-bottom: 0; }
}
.pi-cc-method__phase-roman {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 36px;
  color: var(--gold-deep);
  line-height: 1;
  margin-bottom: 14px;
  letter-spacing: 0.02em;
}
.pi-cc-method__phase-day {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums lining-nums;
}
.pi-cc-method__phase-name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.1;
  letter-spacing: -0.005em;
  color: var(--ink);
  margin: 0 0 24px;
}
.pi-cc-method__phase-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 12px;
}
.pi-cc-method__phase-list li {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--on-cream);
  padding-left: 18px;
  position: relative;
  text-wrap: pretty;
}
.pi-cc-method__phase-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 8px;
  height: 1px;
  background: var(--gold);
}

/* ---------- SECTION 08: ANCHOR ENGAGEMENT NOTE ---------- */
.pi-cc-anchor {
  background: var(--cream-2);
  color: var(--on-cream);
  padding: 120px 0;
}
.pi-cc-anchor__inner { max-width: 800px; margin: 0 auto; padding: 0 48px; }
.pi-cc-anchor__head { margin-bottom: 48px; }
.pi-cc-anchor__sub {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin: 12px 0 22px;
}
.pi-cc-anchor__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}
.pi-cc-anchor__body {
  display: flex; flex-direction: column; gap: 24px;
  border-top: 1px solid var(--gold);
  padding-top: 36px;
}
.pi-cc-anchor__body p {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--on-cream);
  margin: 0;
  text-wrap: pretty;
}
.pi-cc-anchor__body p:first-child::first-letter {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 56px;
  line-height: 0.85;
  float: left;
  margin: 6px 12px 0 0;
  color: var(--gold-deep);
}

/* ---------- SECTION 09: FINAL CTA ---------- */
.pi-cc-final {
  background: var(--accent);
  color: #fff;
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.pi-cc-final::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: min(1280px, calc(100% - 96px));
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.pi-cc-final__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 48px;
  text-align: left;
  position: relative;
}
.pi-cc-final__eyebrow {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-block;
  margin-bottom: 24px;
}
.pi-cc-final__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(44px, 5vw, 72px);
  line-height: 1.0;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 0 0 24px;
}
.pi-cc-final__sub {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255,255,255,0.85);
  margin: 0 0 36px;
  max-width: 60ch;
  text-wrap: pretty;
}
.pi-cc-final__cta-row {
  display: flex; align-items: center; gap: 32px; flex-wrap: wrap;
  margin-bottom: 36px;
}
.pi-cc-final__trust {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.pi-cc-final__trust-dot {
  width: 4px; height: 4px;
  background: var(--gold);
  border-radius: 50%;
  display: inline-block;
}


/* ============================================================
   === PAGE: HEALTHCARE HUB ===
   /industries/healthcare
   ============================================================ */

/* ---------- HERO ---------- */
.hc-hub-hero {
  background: var(--cream);
  color: var(--on-cream);
  padding: 120px 0 96px;
}
.hc-hub-hero__inner {
  max-width: 1320px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: start;
}
@media (max-width: 1080px) { .hc-hub-hero__inner { grid-template-columns: 1fr; gap: 56px; } .hc-hub-hero { padding: 88px 0 72px; } }
.hc-hub-hero__left { padding-top: 8px; }
.hc-hub-hero__eyebrow {
  font-family: var(--font-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 32px;
}
.hc-hub-hero__eyebrow a {
  color: var(--gold-deep); text-decoration: none;
  border-bottom: 1px solid transparent; transition: border-color 200ms, color 200ms;
}
.hc-hub-hero__eyebrow a:hover { color: var(--accent); border-bottom-color: var(--accent); }
.hc-hub-hero__eyebrow [aria-current="page"] { color: var(--ink); }
.hc-hub-hero__eyebrow-sep { opacity: 0.5; margin: 0 6px; }
.hc-hub-hero__h1 {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(52px, 7.4vw, 96px); line-height: 0.96; letter-spacing: -0.015em;
  color: var(--ink); margin: 0 0 28px;
}
.hc-hub-hero__lead {
  font-family: var(--font-body); font-size: 18px; line-height: 1.6;
  color: var(--on-cream); max-width: 56ch; margin: 0 0 40px; text-wrap: pretty;
}
.hc-hub-hero__rule { height: 1px; background: var(--gold); width: 100%; opacity: 0.55; margin-bottom: 32px; }
.hc-hub-hero__cta-row { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }

/* Selected Engagements list */
.hc-hub-engage { display: flex; flex-direction: column; gap: 14px; }
.hc-hub-engage__head { display: flex; align-items: center; gap: 10px; }
.hc-hub-engage__lbl {
  font-family: var(--font-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep);
}
.hc-hub-engage__rule { height: 1px; background: var(--gold); opacity: 0.6; width: 100%; }
.hc-hub-engage__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.hc-hub-engage__row {
  display: grid; grid-template-columns: 1fr auto;
  grid-template-rows: auto auto; gap: 2px 16px;
  padding: 16px 0; border-bottom: 1px solid var(--cream-line);
}
.hc-hub-engage__row:last-child { border-bottom: 0; }
.hc-hub-engage__org {
  grid-row: 1; grid-column: 1;
  font-family: var(--font-display); font-weight: 500;
  font-size: 18px; line-height: 1.2; letter-spacing: -0.005em; color: var(--ink);
}
.hc-hub-engage__meta {
  grid-row: 2; grid-column: 1;
  font-family: var(--font-body); font-size: 12.5px; line-height: 1.4;
  color: rgba(20,20,20,0.55);
}
.hc-hub-engage__metric {
  grid-row: 1 / span 2; grid-column: 2; align-self: center;
  font-family: var(--font-body); font-weight: 600; font-size: 11px;
  letter-spacing: 0.04em; color: var(--gold-deep);
  font-variant-numeric: tabular-nums lining-nums;
  text-align: right; white-space: nowrap;
}
.hc-hub-engage__foot {
  font-family: var(--font-body); font-weight: 500; font-size: 12px;
  letter-spacing: 0.04em; color: var(--gold-deep);
  text-decoration: none; border-bottom: 1px solid rgba(201,169,97,0.6);
  align-self: start; padding-bottom: 2px; margin-top: 6px;
  transition: color 200ms, border-color 200ms;
}
.hc-hub-engage__foot:hover { color: var(--accent); border-bottom-color: var(--accent); }

/* ---------- SECTION 03: SUB-PRACTICE COVERAGE ---------- */
.hc-hub-cov { background: var(--cream-2); color: var(--on-cream); padding: 120px 0; border-top: 1px solid var(--cream-line); }
.hc-hub-cov__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.hc-hub-cov__head { max-width: 60ch; margin-bottom: 56px; }
.hc-hub-cov__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 0;
}
.hc-hub-cov__chronology { border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); }
.hc-hub-cov__row {
  display: grid; grid-template-columns: 80px 1.4fr 2fr 2fr; gap: 32px;
  padding: 36px 0; border-bottom: 1px solid var(--cream-line);
  align-items: start;
}
.hc-hub-cov__row:last-child { border-bottom: 0; }
.hc-hub-cov__num {
  font-family: var(--font-body); font-weight: 600; font-size: 28px;
  color: var(--gold-deep); letter-spacing: -0.01em; line-height: 1;
  font-variant-numeric: tabular-nums lining-nums;
}
.hc-hub-cov__name {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(24px, 2.2vw, 30px); line-height: 1.1; letter-spacing: -0.005em;
  color: var(--ink);
}
.hc-hub-cov__col-lbl {
  font-family: var(--font-body); font-weight: 500; font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 8px;
}
.hc-hub-cov__profile p, .hc-hub-cov__support p {
  font-family: var(--font-body); font-size: 15px; line-height: 1.55;
  color: var(--on-cream); margin: 0; text-wrap: pretty;
}
@media (max-width: 900px) {
  .hc-hub-cov__row { grid-template-columns: 56px 1fr; row-gap: 16px; }
  .hc-hub-cov__name { grid-column: 2; }
  .hc-hub-cov__profile, .hc-hub-cov__support { grid-column: 1 / -1; }
}

/* ---------- SECTION 04: OPERATIONS STACK ---------- */
.hc-hub-stack { background: var(--cream); color: var(--on-cream); padding: 120px 0; border-top: 1px solid var(--cream-line); }
.hc-hub-stack__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.hc-hub-stack__head { max-width: 60ch; margin-bottom: 56px; }
.hc-hub-stack__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 0;
}
.hc-hub-stack__table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); }
.hc-hub-stack__table thead th {
  font-family: var(--font-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); padding: 18px 16px;
  background: rgba(201,169,97,0.06); text-align: left;
  border-bottom: 1px solid rgba(201,169,97,0.3);
}
.hc-hub-stack__th-layer { width: 200px; }
.hc-hub-stack__th-cad { width: 280px; }
.hc-hub-stack__row { border-bottom: 1px solid var(--cream-line); transition: background 180ms; }
.hc-hub-stack__row:last-child { border-bottom: 0; }
.hc-hub-stack__row:hover { background: rgba(201,169,97,0.03); }
.hc-hub-stack__layer {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(20px, 1.8vw, 24px); letter-spacing: -0.005em;
  color: var(--ink); padding: 26px 16px; vertical-align: top; line-height: 1.2;
}
.hc-hub-stack__roles {
  font-family: var(--font-body); font-size: 15.5px; line-height: 1.6;
  color: var(--on-cream); padding: 26px 16px; vertical-align: top; text-wrap: pretty;
}
.hc-hub-stack__cad {
  font-family: var(--font-body); font-weight: 500; font-size: 13.5px; line-height: 1.5;
  color: var(--gold-deep); padding: 26px 16px; vertical-align: top;
  font-variant-numeric: tabular-nums lining-nums; letter-spacing: 0.005em;
}
@media (max-width: 900px) {
  .hc-hub-stack__table, .hc-hub-stack__table thead, .hc-hub-stack__table tbody, .hc-hub-stack__table tr, .hc-hub-stack__table th, .hc-hub-stack__table td { display: block; width: auto; }
  .hc-hub-stack__table thead { display: none; }
  .hc-hub-stack__row { padding: 24px 0; }
  .hc-hub-stack__layer, .hc-hub-stack__roles, .hc-hub-stack__cad { padding: 6px 0; }
}
.hc-hub-stack__foot { margin-top: 36px; }
.hc-hub-stack__foot-eyebrow {
  display: inline-block;
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 10px;
}
.hc-hub-stack__foot-line {
  font-family: var(--font-display); font-weight: 500; font-style: italic;
  font-size: clamp(20px, 2vw, 26px); line-height: 1.3; color: var(--ink);
  margin: 0; max-width: 70ch; text-wrap: balance;
}

/* ---------- SECTION 05: HIPAA + COMPLIANCE MAP (dark) ---------- */
.hc-hub-comp { background: var(--ink); color: var(--on-ink); padding: 128px 0; }
.hc-hub-comp__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.hc-hub-comp__head { text-align: center; max-width: 70ch; margin: 0 auto 56px; }
.eyebrow.eyebrow--center { text-align: center; }
.hc-hub-comp__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 5vw, 68px); line-height: 1.02; letter-spacing: -0.015em;
  color: #fff; margin: 14px 0 22px;
}
.hc-hub-comp__lede {
  font-family: var(--font-body); font-size: 17px; line-height: 1.6;
  color: var(--muted-ink); margin: 0 auto; max-width: 64ch; text-wrap: pretty;
}
.hc-hub-comp__table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); margin-top: 8px; }
.hc-hub-comp__table thead th {
  font-family: var(--font-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); padding: 18px 16px; text-align: left;
  border-bottom: 1px solid rgba(201,169,97,0.3);
}
.hc-hub-comp__table tbody tr { border-bottom: 1px solid var(--ink-line); }
.hc-hub-comp__table tbody tr:last-child { border-bottom: 0; }
.hc-hub-comp__dim {
  font-family: var(--font-display); font-weight: 500;
  font-size: 19px; color: #fff; padding: 22px 16px; vertical-align: top; line-height: 1.2;
}
.hc-hub-comp__post { padding: 22px 16px; vertical-align: top; }
.hc-hub-comp__pill {
  display: inline-block; font-family: var(--font-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 5px 11px; border-radius: 999px; line-height: 1.2; white-space: nowrap;
}
.hc-hub-comp__pill--ok { color: var(--gold); border: 1px solid var(--gold); }
.hc-hub-comp__pill--prog { color: var(--muted-ink); border: 1px solid rgba(201,169,97,0.4); }
.hc-hub-comp__note {
  font-family: var(--font-body); font-size: 14.5px; line-height: 1.55;
  color: var(--muted-ink); padding: 22px 16px; vertical-align: top; text-wrap: pretty;
}
.hc-hub-comp__stat {
  font-family: var(--font-body); font-weight: 500; font-size: 13px;
  letter-spacing: 0.02em; color: var(--gold);
  font-variant-numeric: tabular-nums lining-nums;
  padding: 22px 16px; vertical-align: top; white-space: nowrap;
}
@media (max-width: 900px) {
  .hc-hub-comp__table, .hc-hub-comp__table thead, .hc-hub-comp__table tbody, .hc-hub-comp__table tr, .hc-hub-comp__table th, .hc-hub-comp__table td { display: block; width: auto; }
  .hc-hub-comp__table thead { display: none; }
  .hc-hub-comp__table tbody tr { padding: 22px 0; }
  .hc-hub-comp__dim, .hc-hub-comp__post, .hc-hub-comp__note, .hc-hub-comp__stat { padding: 4px 0; white-space: normal; }
}
.hc-hub-comp__foot {
  font-family: var(--font-body); font-style: italic; font-size: 14px;
  color: var(--muted-ink); margin: 36px 0 0; text-align: center; max-width: 70ch;
  margin-left: auto; margin-right: auto; text-wrap: pretty;
}

/* ---------- SECTION 06: CPBP OUTCOME METRIC ---------- */
.hc-hub-cpbp { background: var(--cream); color: var(--on-cream); padding: 120px 0; border-top: 1px solid var(--cream-line); }
.hc-hub-cpbp__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.hc-hub-cpbp__head { margin-bottom: 48px; }
.hc-hub-cpbp__split {
  display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start;
  border-top: 1px solid var(--gold); padding-top: 48px;
}
@media (max-width: 900px) { .hc-hub-cpbp__split { grid-template-columns: 1fr; gap: 40px; } }
.hc-hub-cpbp__quote { position: sticky; top: 100px; }
.hc-hub-cpbp__q {
  font-family: var(--font-display); font-weight: 500; font-style: italic;
  font-size: clamp(30px, 3.2vw, 42px); line-height: 1.18; letter-spacing: -0.01em;
  color: var(--gold-deep); margin: 0 0 20px; max-width: 22ch; text-wrap: balance;
}
.hc-hub-cpbp__q-meta {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep);
  padding-top: 14px; border-top: 1px solid var(--cream-line); display: inline-block;
}
.hc-hub-cpbp__body { display: flex; flex-direction: column; gap: 22px; }
.hc-hub-cpbp__body p {
  font-family: var(--font-body); font-size: 17px; line-height: 1.7;
  color: var(--on-cream); margin: 0; text-wrap: pretty; max-width: 60ch;
}
.hc-hub-cpbp__tiles {
  display: grid; grid-template-columns: repeat(3, 1fr);
  margin-top: 64px; border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold);
}
@media (max-width: 800px) { .hc-hub-cpbp__tiles { grid-template-columns: 1fr; } }
.hc-hub-cpbp__tile { padding: 32px 24px; border-right: 1px solid var(--cream-line); }
.hc-hub-cpbp__tile:last-child { border-right: 0; }
@media (max-width: 800px) { .hc-hub-cpbp__tile { border-right: 0; border-bottom: 1px solid var(--cream-line); } .hc-hub-cpbp__tile:last-child { border-bottom: 0; } }
.hc-hub-cpbp__tile-num {
  font-family: var(--font-body); font-weight: 600; font-size: 48px;
  color: var(--ink); letter-spacing: -0.02em; line-height: 1;
  font-variant-numeric: tabular-nums lining-nums; margin-bottom: 14px;
}
.hc-hub-cpbp__tile-lbl {
  font-family: var(--font-body); font-weight: 500; font-size: 12px;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-deep);
  line-height: 1.45; max-width: 36ch;
}

/* ---------- SECTION 07: METHODOLOGY ---------- */
.hc-hub-method { background: var(--cream-2); color: var(--on-cream); padding: 120px 0; }
.hc-hub-method__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.hc-hub-method__head { max-width: 60ch; margin-bottom: 56px; }
.hc-hub-method__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 64px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 22px;
}
.hc-hub-method__lede {
  font-family: var(--font-body); font-size: 17.5px; line-height: 1.6;
  color: var(--on-cream); max-width: 60ch; margin: 0; text-wrap: pretty;
}
.hc-hub-method__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--gold); border-bottom: 1px solid var(--cream-line);
}
@media (max-width: 900px) { .hc-hub-method__grid { grid-template-columns: 1fr; } }
.hc-hub-method__phase { padding: 40px 32px 44px; border-right: 1px solid var(--cream-line); }
.hc-hub-method__phase:last-child { border-right: 0; }
@media (max-width: 900px) { .hc-hub-method__phase { border-right: 0; border-bottom: 1px solid var(--cream-line); } .hc-hub-method__phase:last-child { border-bottom: 0; } }
.hc-hub-method__phase-roman {
  font-family: var(--font-display); font-weight: 500; font-size: 36px;
  color: var(--gold-deep); line-height: 1; margin-bottom: 14px; letter-spacing: 0.02em;
}
.hc-hub-method__phase-day {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 10px; font-variant-numeric: tabular-nums lining-nums;
}
.hc-hub-method__phase-name {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(24px, 2.2vw, 30px); line-height: 1.1; letter-spacing: -0.005em;
  color: var(--ink); margin: 0 0 24px;
}
.hc-hub-method__phase-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.hc-hub-method__phase-list li {
  font-family: var(--font-body); font-size: 14.5px; line-height: 1.55;
  color: var(--on-cream); padding-left: 18px; position: relative; text-wrap: pretty;
}
.hc-hub-method__phase-list li::before {
  content: ''; position: absolute; left: 0; top: 0.65em;
  width: 8px; height: 1px; background: var(--gold);
}

/* ---------- SECTION 08: ANCHOR ENGAGEMENT NOTE ---------- */
.hc-hub-anchor { background: var(--cream); color: var(--on-cream); padding: 120px 0; border-top: 1px solid var(--cream-line); }
.hc-hub-anchor__inner { max-width: 800px; margin: 0 auto; padding: 0 48px; }
.hc-hub-anchor__head { margin-bottom: 48px; }
.hc-hub-anchor__sub {
  font-family: var(--font-body); font-weight: 500; font-size: 12px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep);
  margin: 12px 0 22px;
}
.hc-hub-anchor__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(36px, 4.2vw, 56px); line-height: 1.05; letter-spacing: -0.01em;
  color: var(--ink); margin: 0;
}
.hc-hub-anchor__body { display: flex; flex-direction: column; gap: 24px; border-top: 1px solid var(--gold); padding-top: 36px; }
.hc-hub-anchor__body p {
  font-family: var(--font-body); font-size: 17px; line-height: 1.7;
  color: var(--on-cream); margin: 0; text-wrap: pretty;
}
.hc-hub-anchor__body p:first-child::first-letter {
  font-family: var(--font-display); font-weight: 500;
  font-size: 56px; line-height: 0.85; float: left;
  margin: 6px 12px 0 0; color: var(--gold-deep);
}

/* ---------- SECTION 09: FINAL CTA ---------- */
.hc-hub-final { background: var(--accent); color: #fff; padding: 120px 0; position: relative; overflow: hidden; }
.hc-hub-final::before {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(1280px, calc(100% - 96px)); height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.hc-hub-final__inner { max-width: 1080px; margin: 0 auto; padding: 0 48px; text-align: left; position: relative; }
.hc-hub-final__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold);
  display: inline-block; margin-bottom: 24px;
}
.hc-hub-final__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(44px, 5vw, 72px); line-height: 1.0; letter-spacing: -0.015em;
  color: #fff; margin: 0 0 24px;
}
.hc-hub-final__sub {
  font-family: var(--font-body); font-size: 18px; line-height: 1.6;
  color: rgba(255,255,255,0.85); margin: 0 0 36px; max-width: 60ch; text-wrap: pretty;
}
.hc-hub-final__cta-row { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; margin-bottom: 36px; }
.hc-hub-final__trust {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.6);
  padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.18);
}
.hc-hub-final__trust-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; display: inline-block; }


/* ============================================================
   === PAGE: ABOUT ===
   /about
   ============================================================ */

/* ---------- HERO (5/7 split) ---------- */
.about-hero {
  background: var(--cream);
  color: var(--on-cream);
  padding: 128px 0 96px;
  border-bottom: 1px solid var(--cream-line);
}
.about-hero__inner {
  max-width: 1320px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 5fr 7fr; gap: 96px; align-items: start;
}
@media (max-width: 1080px) {
  .about-hero__inner { grid-template-columns: 1fr; gap: 56px; }
  .about-hero { padding: 88px 0 72px; }
}
.about-hero__left { padding-top: 6px; position: sticky; top: 96px; }
@media (max-width: 1080px) { .about-hero__left { position: static; } }
.about-hero__eyebrow {
  font-family: var(--font-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 32px;
}
.about-hero__h1 {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(48px, 6.4vw, 84px); line-height: 0.98; letter-spacing: -0.015em;
  color: var(--ink); margin: 0 0 36px;
  text-wrap: balance;
}
.about-hero__cta-row { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }

.about-hero__right { display: flex; flex-direction: column; }
.about-hero__lede {
  font-family: var(--font-display); font-weight: 500;
  font-size: 28px; line-height: 1.32; letter-spacing: -0.005em;
  color: var(--ink); margin: 0 0 24px;
  text-wrap: pretty; max-width: 36ch;
}
.about-hero__rule { height: 1px; background: var(--gold); width: 64px; margin: 8px 0 28px; opacity: 0.7; }
.about-hero__body { display: flex; flex-direction: column; gap: 18px; max-width: 60ch; }
.about-hero__body p {
  font-family: var(--font-body); font-size: 16px; line-height: 1.625;
  color: var(--on-cream); margin: 0; text-wrap: pretty;
}

/* ---------- SECTION 03: FOUNDING CHRONOLOGY ---------- */
.about-chron { background: var(--cream-2); padding: 120px 0; border-top: 1px solid var(--cream-line); }
.about-chron__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.about-chron__head { max-width: 60ch; margin-bottom: 64px; }
.about-chron__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 60px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 0;
}
.about-chron__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--gold); }
.about-chron__row {
  display: grid;
  grid-template-columns: 96px 1.2fr 2fr 1.2fr;
  gap: 40px;
  padding: 40px 0;
  border-bottom: 1px solid var(--cream-line);
  align-items: start;
}
@media (max-width: 980px) {
  .about-chron__row { grid-template-columns: 64px 1fr; row-gap: 16px; }
  .about-chron__body, .about-chron__outcome { grid-column: 1 / -1; }
}
.about-chron__roman {
  font-family: var(--font-display); font-weight: 500;
  font-size: 48px; line-height: 1; color: var(--gold-deep);
  letter-spacing: 0.02em;
}
.about-chron__meta { display: flex; flex-direction: column; gap: 6px; }
.about-chron__phase {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(22px, 2vw, 28px); line-height: 1.15;
  letter-spacing: -0.005em; color: var(--ink);
}
.about-chron__years {
  font-family: var(--font-body); font-weight: 600; font-size: 13px;
  letter-spacing: 0.06em; color: var(--gold-deep);
  font-variant-numeric: tabular-nums lining-nums;
}
.about-chron__body p {
  font-family: var(--font-body); font-size: 15.5px; line-height: 1.6;
  color: var(--on-cream); margin: 0; text-wrap: pretty;
}
.about-chron__outcome {
  font-family: var(--font-display); font-weight: 500; font-style: italic;
  font-size: 17px; line-height: 1.4; color: var(--ink);
  text-align: right; padding-left: 24px;
  border-left: 1px solid var(--cream-line);
  text-wrap: balance;
}
@media (max-width: 980px) {
  .about-chron__outcome { text-align: left; border-left: 0; padding-left: 0; padding-top: 12px; border-top: 1px solid var(--cream-line); }
}
.about-chron__outcome em { font-style: italic; }
.about-chron__outcome-mark { display: none; }

/* ---------- SECTION 04: LEADERSHIP ---------- */
.about-lead { background: var(--cream); padding: 120px 0; border-top: 1px solid var(--cream-line); }
.about-lead__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.about-lead__head { max-width: 60ch; margin-bottom: 64px; }
.about-lead__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 60px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 22px;
}
.about-lead__lede {
  font-family: var(--font-body); font-size: 17px; line-height: 1.6;
  color: var(--on-cream); margin: 0; max-width: 60ch; text-wrap: pretty;
}
.about-lead__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;
}
@media (max-width: 1080px) { .about-lead__grid { grid-template-columns: repeat(2, 1fr); gap: 40px; } }
@media (max-width: 600px) { .about-lead__grid { grid-template-columns: 1fr; } }
.about-lead__card {
  display: flex; flex-direction: column;
  border-top: 1px solid var(--cream-line);
  padding-top: 28px;
}
.about-lead__photo {
  aspect-ratio: 1 / 1;
  background: var(--cream-2);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  border: 1px solid var(--cream-line);
  position: relative;
}
.about-lead__photo::after {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(135deg, transparent 0, transparent 49.5%, rgba(201,169,97,0.18) 49.5%, rgba(201,169,97,0.18) 50.5%, transparent 50.5%);
}
.about-lead__initials {
  font-family: var(--font-display); font-weight: 500;
  font-size: 56px; color: var(--gold-deep);
  letter-spacing: 0.02em; position: relative; z-index: 1;
}
.about-lead__role {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 10px;
}
.about-lead__name {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(20px, 1.8vw, 24px); line-height: 1.2;
  letter-spacing: -0.005em; color: var(--ink); margin: 0 0 16px;
}
.about-lead__creds {
  list-style: none; margin: 0 0 20px; padding: 0;
  display: flex; flex-direction: column; gap: 4px;
  border-top: 1px solid var(--cream-line);
  padding-top: 14px;
}
.about-lead__creds li {
  font-family: var(--font-body); font-size: 13px; line-height: 1.5;
  color: var(--on-cream); position: relative;
  padding-left: 14px;
}
.about-lead__creds li::before {
  content: ''; position: absolute; left: 0; top: 0.7em;
  width: 6px; height: 1px; background: var(--gold);
}
.about-lead__bio {
  font-family: var(--font-body); font-size: 14.5px; line-height: 1.6;
  color: var(--on-cream); margin: 0; text-wrap: pretty;
}

/* Solo founder variant — centered horizontal profile */
.about-lead__grid--solo {
  display: block;
  max-width: 880px;
  margin: 0 auto;
}
.about-lead__card--solo {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 56px;
  align-items: start;
  border-top: 1px solid var(--cream-line);
  padding-top: 40px;
}
.about-lead__card--solo .about-lead__photo {
  margin-bottom: 0;
  width: 220px;
  height: 220px;
  aspect-ratio: 1 / 1;
}
.about-lead__card--solo .about-lead__initials {
  font-size: 72px;
}
.about-lead__solo-body {
  display: flex;
  flex-direction: column;
}
.about-lead__card--solo .about-lead__name {
  font-size: clamp(26px, 2.4vw, 32px);
  margin-bottom: 20px;
}
.about-lead__card--solo .about-lead__creds {
  margin-bottom: 24px;
}
.about-lead__card--solo .about-lead__creds li {
  font-size: 14px;
}
.about-lead__card--solo .about-lead__bio {
  font-size: 16px;
  line-height: 1.65;
  max-width: 56ch;
}
@media (max-width: 760px) {
  .about-lead__card--solo {
    grid-template-columns: 1fr;
    gap: 32px;
    justify-items: center;
    text-align: left;
  }
  .about-lead__card--solo .about-lead__photo {
    width: 180px;
    height: 180px;
  }
  .about-lead__solo-body { width: 100%; }
}

/* ---------- SECTION 05: BY THE NUMBERS (DARK) ---------- */
.about-nums { background: var(--ink); color: var(--on-ink); padding: 128px 0; }
.about-nums__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.about-nums__head { text-align: center; margin-bottom: 72px; }
.about-nums__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 5vw, 64px); line-height: 1.02; letter-spacing: -0.015em;
  color: #fff; margin: 14px 0 0;
  text-wrap: balance;
}
.about-nums__row {
  display: grid; grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold);
}
@media (max-width: 1080px) { .about-nums__row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .about-nums__row { grid-template-columns: 1fr; } }
.about-nums__tile {
  padding: 40px 28px;
  border-right: 1px solid var(--ink-line);
  display: flex; flex-direction: column;
}
.about-nums__tile:last-child { border-right: 0; }
@media (max-width: 1080px) {
  .about-nums__tile { border-right: 1px solid var(--ink-line); border-bottom: 1px solid var(--ink-line); }
  .about-nums__tile:nth-child(2n) { border-right: 0; }
  .about-nums__tile:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 560px) {
  .about-nums__tile { border-right: 0; border-bottom: 1px solid var(--ink-line); }
  .about-nums__tile:last-child { border-bottom: 0; }
}
.about-nums__num {
  font-family: var(--font-body); font-weight: 600;
  font-size: clamp(48px, 5vw, 64px); line-height: 1;
  color: #fff; letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums lining-nums;
  margin-bottom: 18px;
}
.about-nums__num-sup {
  font-size: 0.55em; vertical-align: 0.32em; color: var(--gold);
  margin-left: 1px; font-weight: 600;
}
.about-nums__lbl {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 8px;
}
.about-nums__sub {
  font-family: var(--font-body); font-size: 13px; line-height: 1.45;
  color: var(--muted-ink);
}

/* ---------- SECTION 06: COMPLIANCE POSTURE ---------- */
.about-comp { background: var(--cream); padding: 120px 0; border-top: 1px solid var(--cream-line); }
.about-comp__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.about-comp__head { max-width: 60ch; margin-bottom: 64px; }
.about-comp__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 60px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 20px;
}
.about-comp__lede {
  font-family: var(--font-body); font-size: 17px; line-height: 1.6;
  color: var(--on-cream); margin: 0; max-width: 60ch; text-wrap: pretty;
}
.about-comp__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;
}
@media (max-width: 1080px) { .about-comp__grid { grid-template-columns: repeat(2, 1fr); gap: 40px; } }
@media (max-width: 600px) { .about-comp__grid { grid-template-columns: 1fr; } }
.about-comp__card {
  display: flex; flex-direction: column;
  padding-top: 24px;
  border-top: 1px solid var(--cream-line);
  position: relative;
}
.about-comp__rule {
  position: absolute; top: -1px; left: 0;
  width: 36px; height: 2px; background: var(--gold);
}
.about-comp__cat {
  font-family: var(--font-display); font-weight: 500;
  font-size: 22px; line-height: 1.2; letter-spacing: -0.005em;
  color: var(--ink); margin-bottom: 18px;
}
.about-comp__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.about-comp__list li {
  font-family: var(--font-body); font-size: 14px; line-height: 1.55;
  color: var(--on-cream); padding-left: 16px; position: relative;
  text-wrap: pretty;
}
.about-comp__list li::before {
  content: ''; position: absolute; left: 0; top: 0.7em;
  width: 8px; height: 1px; background: var(--gold);
}

/* ---------- SECTION 07: CLIENTS WE SERVE ---------- */
.about-clients { background: var(--cream-2); padding: 120px 0; border-top: 1px solid var(--cream-line); }
.about-clients__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.about-clients__head { max-width: 60ch; margin-bottom: 64px; }
.about-clients__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 60px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 20px;
}
.about-clients__lede {
  font-family: var(--font-body); font-size: 17px; line-height: 1.6;
  color: var(--on-cream); margin: 0; max-width: 60ch; text-wrap: pretty;
}
.about-clients__split {
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
  border-top: 1px solid var(--gold);
  padding-top: 40px;
}
@media (max-width: 900px) { .about-clients__split { grid-template-columns: 1fr; gap: 48px; } }
.about-clients__col { display: flex; flex-direction: column; }
.about-clients__col-h {
  display: flex; align-items: baseline; justify-content: space-between;
  padding-bottom: 16px; margin-bottom: 8px;
  border-bottom: 1px solid var(--cream-line);
}
.about-clients__col-eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep);
}
.about-clients__col-count {
  font-family: var(--font-body); font-weight: 600; font-size: 18px;
  color: var(--gold-deep);
  font-variant-numeric: tabular-nums lining-nums;
}
.about-clients__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.about-clients__list li {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(18px, 1.7vw, 22px); line-height: 1.4;
  letter-spacing: -0.005em; color: var(--ink);
  padding: 14px 0;
  border-bottom: 1px solid var(--cream-line);
}
.about-clients__list li:last-child { border-bottom: 0; }
.about-clients__list--anon li {
  font-style: italic; color: var(--gold-deep); font-weight: 500;
}
.about-clients__foot {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--cream-line);
}
.about-clients__foot p {
  font-family: var(--font-body); font-style: italic; font-size: 14px;
  color: rgba(20,20,20,0.6); margin: 0;
}

/* ---------- SECTION 08: FINAL CTA (FOREST) ---------- */
.about-final { background: var(--accent); color: #fff; padding: 120px 0; position: relative; overflow: hidden; }
.about-final::before {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(1280px, calc(100% - 96px)); height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.about-final__inner { max-width: 980px; margin: 0 auto; padding: 0 48px; position: relative; }
.about-final__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); display: inline-block; margin-bottom: 24px;
}
.about-final__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 5vw, 64px); line-height: 1.02; letter-spacing: -0.015em;
  color: #fff; margin: 0 0 24px;
  text-wrap: balance;
}
.about-final__sub {
  font-family: var(--font-body); font-size: 18px; line-height: 1.6;
  color: rgba(255,255,255,0.85); margin: 0 0 36px; max-width: 60ch; text-wrap: pretty;
}
.about-final__cta-row { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.about-final .btn-text { color: var(--gold); }
.about-final .btn-text:hover { color: #fff; border-bottom-color: #fff; }

/* fade-up baseline (defensive) */
.about-hero .fade-up,
.about-chron .fade-up,
.about-lead .fade-up,
.about-nums .fade-up,
.about-comp .fade-up,
.about-clients .fade-up { opacity: 0; transform: translateY(16px); transition: opacity 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)), transform 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)); }
.about-hero .fade-up.in,
.about-chron .fade-up.in,
.about-lead .fade-up.in,
.about-nums .fade-up.in,
.about-comp .fade-up.in,
.about-clients .fade-up.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .about-hero .fade-up, .about-chron .fade-up, .about-lead .fade-up,
  .about-nums .fade-up, .about-comp .fade-up, .about-clients .fade-up {
    opacity: 1; transform: none; transition: none;
  }
}

/* ============================================================
   === PAGE: APPROACH ===
   /approach
   All page styles. No inline <style>.
   Voice: No em-dashes, no dot-separator prose. No mono fonts.
   Numbers in DM Sans 600 tabular-nums.
   ============================================================ */

/* ---------- HERO (single-column editorial) ---------- */
.approach-hero {
  background: var(--cream);
  color: var(--on-cream);
  padding: 144px 0 96px;
  border-bottom: 1px solid var(--cream-line);
}
.approach-hero__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 32px;
}
.approach-hero__eyebrow {
  font-family: var(--font-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 36px;
}
.approach-hero__h1 {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(48px, 6.4vw, 84px); line-height: 0.98; letter-spacing: -0.015em;
  color: var(--ink); margin: 0 0 32px;
  text-wrap: balance;
}
.approach-hero__lede {
  font-family: var(--font-body); font-weight: 400;
  font-size: 17px; line-height: 1.65;
  color: var(--on-cream); margin: 0; max-width: 64ch;
  text-wrap: pretty;
}
.approach-hero__rule {
  height: 1px; background: var(--gold);
  width: 100%; margin: 60px 0 0; opacity: 0.85;
}
.approach-hero__stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  margin: 0; padding: 36px 0 0;
  border-bottom: 1px solid var(--cream-line);
  padding-bottom: 36px;
}
@media (max-width: 720px) {
  .approach-hero__stats { grid-template-columns: 1fr; }
}
.approach-hero__stat {
  display: flex; flex-direction: column; gap: 8px;
  padding: 0 28px;
  border-right: 1px solid var(--cream-line);
}
.approach-hero__stat:first-child { padding-left: 0; }
.approach-hero__stat:last-child { border-right: 0; padding-right: 0; }
@media (max-width: 720px) {
  .approach-hero__stat { padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--cream-line); }
  .approach-hero__stat:last-child { border-bottom: 0; }
}
.approach-hero__stat-num {
  font-family: var(--font-body); font-weight: 600;
  font-size: 36px; line-height: 1; letter-spacing: -0.015em;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
}
.approach-hero__stat-num-unit {
  font-family: var(--font-body); font-weight: 600;
  font-size: 0.42em; letter-spacing: 0.04em;
  color: var(--gold-deep); margin-left: 6px;
  text-transform: uppercase;
}
.approach-hero__stat-num-sup {
  font-size: 0.55em; vertical-align: 0.32em;
  color: var(--gold-deep); margin-left: 1px; font-weight: 600;
}
.approach-hero__stat-lbl {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep);
}
.approach-hero__cta-row {
  display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
  margin-top: 48px;
}

/* ---------- SECTION 03: FIVE PRINCIPLES (editorial chronology) ---------- */
.approach-prin { background: var(--cream-2); padding: 128px 0; border-top: 1px solid var(--cream-line); }
.approach-prin__inner { max-width: 1200px; margin: 0 auto; padding: 0 48px; }
.approach-prin__head { max-width: 60ch; margin-bottom: 64px; }
.approach-prin__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 60px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 0;
  text-wrap: balance;
}
.approach-prin__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--gold); }
.approach-prin__row {
  display: grid;
  grid-template-columns: 96px 1fr 2.2fr;
  gap: 48px;
  padding: 44px 0;
  border-bottom: 1px solid var(--cream-line);
  align-items: start;
}
@media (max-width: 880px) {
  .approach-prin__row { grid-template-columns: 64px 1fr; row-gap: 12px; }
  .approach-prin__body { grid-column: 1 / -1; }
}
.approach-prin__roman {
  font-family: var(--font-display); font-weight: 500;
  font-size: 56px; line-height: 1; color: var(--gold-deep);
  letter-spacing: 0.02em;
}
.approach-prin__title {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(22px, 2vw, 28px); line-height: 1.2;
  letter-spacing: -0.005em; color: var(--ink);
  text-wrap: balance;
}
.approach-prin__body p {
  font-family: var(--font-body); font-weight: 400; font-size: 16px; line-height: 1.65;
  color: var(--on-cream); margin: 0; max-width: 70ch; text-wrap: pretty;
}

/* ---------- SECTION 04: ENGAGEMENT MODEL (FULL-BLEED DARK) ---------- */
.approach-eng { background: var(--ink); color: var(--on-ink); padding: 144px 0; }
.approach-eng__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.approach-eng__head { text-align: center; max-width: 64ch; margin: 0 auto 72px; }
.approach-eng__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 5vw, 64px); line-height: 1.02; letter-spacing: -0.015em;
  color: #fff; margin: 14px 0 22px;
  text-wrap: balance;
}
.approach-eng__lede {
  font-family: var(--font-body); font-size: 17px; line-height: 1.6;
  color: rgba(255,255,255,0.78); margin: 0 auto; max-width: 60ch;
  text-wrap: pretty;
}
.approach-eng__list {
  list-style: none; margin: 0; padding: 0;
  border-top: 1px solid var(--gold);
}
.approach-eng__phase {
  display: grid;
  grid-template-columns: 80px 200px 1.4fr 1fr;
  gap: 40px;
  padding: 44px 0;
  border-bottom: 1px solid var(--ink-line);
  align-items: start;
}
@media (max-width: 1080px) {
  .approach-eng__phase { grid-template-columns: 80px 1fr; row-gap: 16px; }
  .approach-eng__deliv, .approach-eng__outcome { grid-column: 1 / -1; }
}
.approach-eng__roman {
  font-family: var(--font-display); font-weight: 500;
  font-size: 48px; line-height: 1; color: var(--gold);
  letter-spacing: 0.02em;
}
.approach-eng__meta { display: flex; flex-direction: column; gap: 6px; }
.approach-eng__days {
  font-family: var(--font-body); font-weight: 600; font-size: 13px;
  letter-spacing: 0.06em; color: var(--gold);
  font-variant-numeric: tabular-nums lining-nums;
}
.approach-eng__title {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(22px, 2vw, 28px); line-height: 1.15;
  letter-spacing: -0.005em; color: #fff;
}
.approach-eng__deliv {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.approach-eng__deliv li {
  font-family: var(--font-body); font-size: 14.5px; line-height: 1.55;
  color: rgba(255,255,255,0.85); padding-left: 16px; position: relative;
  text-wrap: pretty;
}
.approach-eng__deliv li::before {
  content: ''; position: absolute; left: 0; top: 0.7em;
  width: 8px; height: 1px; background: var(--gold);
}
.approach-eng__outcome {
  font-family: var(--font-display); font-weight: 500;
  font-size: 17px; line-height: 1.4; color: #fff;
  padding-left: 24px; border-left: 1px solid var(--gold);
  text-wrap: balance;
}
@media (max-width: 1080px) {
  .approach-eng__outcome {
    border-left: 0; padding-left: 0;
    padding-top: 16px; border-top: 1px solid var(--ink-line);
  }
}
.approach-eng__outcome em { font-style: italic; }

/* ---------- SECTION 05: COMPLIANCE SPINE (CREAM CARDS) ---------- */
.approach-spine { background: var(--cream); padding: 128px 0; border-top: 1px solid var(--cream-line); }
.approach-spine__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.approach-spine__head { max-width: 60ch; margin-bottom: 64px; }
.approach-spine__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 4.6vw, 60px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--ink); margin: 14px 0 22px;
}
.approach-spine__lede {
  font-family: var(--font-body); font-size: 17px; line-height: 1.6;
  color: var(--on-cream); margin: 0; max-width: 60ch; text-wrap: pretty;
}
.approach-spine__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;
}
@media (max-width: 1080px) { .approach-spine__grid { grid-template-columns: repeat(2, 1fr); gap: 40px; } }
@media (max-width: 600px) { .approach-spine__grid { grid-template-columns: 1fr; } }
.approach-spine__card {
  display: flex; flex-direction: column;
  padding-top: 24px;
  border-top: 1px solid var(--cream-line);
  position: relative;
}
.approach-spine__rule {
  position: absolute; top: -1px; left: 0;
  width: 36px; height: 2px; background: var(--gold);
}
.approach-spine__cat {
  font-family: var(--font-display); font-weight: 500;
  font-size: 22px; line-height: 1.2; letter-spacing: -0.005em;
  color: var(--ink); margin-bottom: 18px;
}
.approach-spine__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.approach-spine__list li {
  font-family: var(--font-body); font-size: 14px; line-height: 1.55;
  color: var(--on-cream); padding-left: 16px; position: relative;
  text-wrap: pretty;
}
.approach-spine__list li::before {
  content: ''; position: absolute; left: 0; top: 0.7em;
  width: 8px; height: 1px; background: var(--gold);
}

/* ---------- SECTION 06: WHY FIRMS SWITCH (5/7 split, pull quote) ---------- */
.approach-switch { background: var(--cream-2); padding: 128px 0; border-top: 1px solid var(--cream-line); }
.approach-switch__inner {
  max-width: 1280px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 5fr 7fr; gap: 96px; align-items: start;
}
@media (max-width: 1080px) {
  .approach-switch__inner { grid-template-columns: 1fr; gap: 56px; }
}
.approach-switch__left { position: sticky; top: 96px; }
@media (max-width: 1080px) { .approach-switch__left { position: static; } }
.approach-switch__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 24px;
}
.approach-switch__quote {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(32px, 3.4vw, 44px); line-height: 1.12;
  letter-spacing: -0.01em; color: var(--gold-deep);
  margin: 0; max-width: 24ch;
  text-wrap: balance;
}
.approach-switch__quote-mark {
  font-family: var(--font-display); font-weight: 500;
  font-size: 64px; line-height: 0.5;
  color: var(--gold); display: block; margin-bottom: 8px;
}
.approach-switch__attrib {
  font-family: var(--font-body); font-weight: 500; font-size: 13px;
  letter-spacing: 0.04em; color: var(--gold-deep);
  margin: 32px 0 0; padding-top: 20px;
  border-top: 1px solid var(--cream-line);
  max-width: 24ch;
}
.approach-switch__right {
  display: flex; flex-direction: column; gap: 28px;
  border-top: 1px solid var(--gold);
  padding-top: 36px;
}
.approach-switch__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(28px, 2.6vw, 36px); line-height: 1.15;
  letter-spacing: -0.005em; color: var(--ink);
  margin: 0 0 8px; text-wrap: balance;
}
.approach-switch__right p {
  font-family: var(--font-body); font-weight: 400; font-size: 16px;
  line-height: 1.65; color: var(--on-cream); margin: 0; max-width: 64ch;
  text-wrap: pretty;
}
.approach-switch__right p strong {
  font-weight: 600; color: var(--ink);
}

/* ---------- SECTION 07: FINAL CTA (FOREST) ---------- */
.approach-final { background: var(--accent); color: #fff; padding: 128px 0; position: relative; overflow: hidden; }
.approach-final::before {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(1280px, calc(100% - 96px)); height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.approach-final__inner {
  max-width: 980px; margin: 0 auto; padding: 0 48px; position: relative;
  text-align: center;
}
.approach-final__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); display: inline-block; margin-bottom: 24px;
}
.approach-final__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 5vw, 64px); line-height: 1.02; letter-spacing: -0.015em;
  color: #fff; margin: 0 0 24px; text-wrap: balance;
}
.approach-final__sub {
  font-family: var(--font-body); font-size: 18px; line-height: 1.6;
  color: rgba(255,255,255,0.85); margin: 0 auto 36px; max-width: 60ch; text-wrap: pretty;
}
.approach-final__cta-row {
  display: flex; align-items: center; justify-content: center;
  gap: 28px; flex-wrap: wrap;
}
.approach-final .btn-text { color: var(--gold); }
.approach-final .btn-text:hover { color: #fff; border-bottom-color: #fff; }
.approach-final__trust {
  margin: 56px auto 0;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.12);
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  display: inline-flex; align-items: center; gap: 16px; flex-wrap: wrap;
  justify-content: center;
}
.approach-final__trust-dot {
  width: 4px; height: 4px; background: var(--gold);
  border-radius: 50%; display: inline-block;
}

/* fade-up baseline */
.approach-hero .fade-up,
.approach-prin .fade-up,
.approach-eng .fade-up,
.approach-spine .fade-up,
.approach-switch .fade-up,
.approach-final .fade-up {
  opacity: 0; transform: translateY(16px);
  transition: opacity 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)),
              transform 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
.approach-hero .fade-up.in,
.approach-prin .fade-up.in,
.approach-eng .fade-up.in,
.approach-spine .fade-up.in,
.approach-switch .fade-up.in,
.approach-final .fade-up.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .approach-hero .fade-up, .approach-prin .fade-up, .approach-eng .fade-up,
  .approach-spine .fade-up, .approach-switch .fade-up, .approach-final .fade-up {
    opacity: 1; transform: none; transition: none;
  }
}

/* ============================================================
   === PAGE: CASE STUDIES ===
   /case-studies
   All page styles. No inline <style>.
   Voice: No em-dashes. Cormorant only for headlines/prose.
   Numbers in DM Sans 600 tabular-nums.
   ============================================================ */

/* ---------- HERO (single-column editorial) ---------- */
.cs-hero {
  background: var(--cream); color: var(--on-cream);
  padding: 144px 0 88px;
  border-bottom: 1px solid var(--cream-line);
}
.cs-hero__inner { max-width: 800px; margin: 0 auto; padding: 0 32px; }
.cs-hero__eyebrow {
  font-family: var(--font-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 36px;
}
.cs-hero__h1 {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(44px, 5.6vw, 72px); line-height: 1.02; letter-spacing: -0.015em;
  color: var(--ink); margin: 0 0 28px; text-wrap: balance;
}
.cs-hero__lede {
  font-family: var(--font-body); font-weight: 400;
  font-size: 17px; line-height: 1.65; color: var(--on-cream);
  margin: 0; max-width: 64ch; text-wrap: pretty;
}
.cs-hero__rule { height: 1px; background: var(--gold); width: 100%; margin: 56px 0 0; opacity: 0.85; }
.cs-hero__stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  margin: 0; padding: 36px 0 0;
}
@media (max-width: 720px) { .cs-hero__stats { grid-template-columns: 1fr; } }
.cs-hero__stat { display: flex; flex-direction: column; gap: 8px; padding: 0 28px; border-right: 1px solid var(--cream-line); }
.cs-hero__stat:first-child { padding-left: 0; }
.cs-hero__stat:last-child { border-right: 0; padding-right: 0; }
@media (max-width: 720px) {
  .cs-hero__stat { padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--cream-line); }
  .cs-hero__stat:last-child { border-bottom: 0; }
}
.cs-hero__stat-num {
  font-family: var(--font-body); font-weight: 600; font-size: 36px;
  line-height: 1; letter-spacing: -0.015em; color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
}
.cs-hero__stat-num-sup {
  font-size: 0.55em; vertical-align: 0.32em; color: var(--gold-deep);
  margin-left: 1px; font-weight: 600;
}
.cs-hero__stat-lbl {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep);
}

/* ---------- INDUSTRY FILTER BAR (sticky) ---------- */
.cs-filter {
  position: sticky; top: 72px; z-index: 40;
  background: var(--cream);
  border-top: 1px solid var(--cream-line);
  border-bottom: 1px solid var(--cream-line);
  padding: 16px 0;
}
.cs-filter__inner {
  max-width: 1320px; margin: 0 auto; padding: 0 48px;
  display: flex; align-items: center; gap: 12px;
  overflow-x: auto; scrollbar-width: none;
}
.cs-filter__inner::-webkit-scrollbar { display: none; }
.cs-filter__label {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); margin-right: 4px; white-space: nowrap;
}
.cs-pill {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--on-cream);
  background: transparent;
  border: 1px solid var(--cream-line); border-radius: 2px;
  padding: 10px 16px;
  cursor: pointer; white-space: nowrap;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease, color 200ms ease;
}
.cs-pill:hover { border-color: var(--gold); transform: translateY(-2px); }
.cs-pill[aria-pressed="true"] {
  border-color: var(--gold); color: var(--gold-deep); background: var(--cream-2);
}

/* ---------- CASE STUDY GRID ---------- */
.cs-grid-wrap { background: var(--cream); padding: 80px 0 96px; }
.cs-grid-inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.cs-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
@media (max-width: 1024px) { .cs-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cs-grid { grid-template-columns: 1fr; } }

.cs-card {
  background: var(--cream);
  border: 1px solid var(--cream-line);
  border-top: 1px solid var(--gold);
  padding: 32px;
  border-radius: 2px;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  position: relative;
  transition: transform 280ms ease, box-shadow 280ms ease, border-top-color 280ms ease, border-top-width 280ms ease;
}
.cs-card::before {
  content: ''; position: absolute; top: -1px; left: -1px; right: -1px; height: 1px;
  background: var(--gold); pointer-events: none;
}
.cs-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(13,74,61,0.08);
}
.cs-card:hover::before { background: var(--gold-h); height: 2px; }
.cs-card.is-hidden { display: none; }
.cs-card.is-fading { opacity: 0; transition: opacity 200ms ease; }

.cs-card__tag {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 20px;
}
.cs-card__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: 24px; line-height: 1.18; letter-spacing: -0.005em;
  color: var(--ink); margin: 0 0 14px; text-wrap: balance;
}
.cs-card__lede {
  font-family: var(--font-body); font-size: 14px; line-height: 1.55;
  color: var(--muted-cream); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  text-wrap: pretty;
}
.cs-card__rule { height: 1px; background: var(--cream-line); margin: 24px 0 16px; }
.cs-card__metric {
  display: flex; flex-direction: column; gap: 6px; margin-bottom: 24px;
}
.cs-card__metric-num {
  font-family: var(--font-body); font-weight: 600; font-size: 36px;
  line-height: 1; letter-spacing: -0.015em; color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
}
.cs-card__metric-num .cs-card__metric-prefix,
.cs-card__metric-num .cs-card__metric-suffix {
  color: var(--gold-deep); font-size: 0.7em; font-weight: 600;
}
.cs-card__metric-num .cs-card__metric-prefix { margin-right: 2px; }
.cs-card__metric-num .cs-card__metric-suffix { margin-left: 1px; }
.cs-card__metric-lbl {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep);
}
.cs-card__client {
  font-family: var(--font-body); font-size: 13px; line-height: 1.5;
  color: var(--muted-cream); margin: 0 0 24px;
  margin-top: auto;
}
.cs-card__client strong {
  font-weight: 500; color: var(--ink);
}
.cs-card__cta {
  font-family: var(--font-body); font-weight: 500; font-size: 13px;
  letter-spacing: 0.04em; color: var(--gold-deep);
  border-bottom: 1px solid var(--gold); align-self: flex-start;
  padding-bottom: 4px; transition: transform 220ms ease, color 220ms ease, border-color 220ms ease;
}
.cs-card:hover .cs-card__cta { transform: translateX(2px); color: var(--ink); border-color: var(--ink); }

/* ---------- COVERAGE NOTE ---------- */
.cs-note { background: var(--cream); padding: 0 0 96px; }
.cs-note__inner { max-width: 1320px; margin: 0 auto; padding: 60px 48px 0; border-top: 1px solid var(--cream-line); }
.cs-note__p {
  font-family: var(--font-body); font-size: 14px; line-height: 1.65;
  color: var(--muted-cream); margin: 0 auto;
  max-width: 70ch; text-align: center; text-wrap: pretty;
}

/* ---------- FINAL CTA (FOREST) ---------- */
.cs-final {
  background: var(--accent); color: #fff;
  padding: 160px 0; position: relative; overflow: hidden;
}
.cs-final::before {
  content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%);
  width: 720px; height: 480px;
  background: radial-gradient(ellipse at center, var(--gold-glow) 0%, transparent 60%);
  pointer-events: none;
}
.cs-final::after {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(1280px, calc(100% - 96px)); height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.cs-final__inner {
  max-width: 980px; margin: 0 auto; padding: 0 48px;
  position: relative; z-index: 2; text-align: center;
}
.cs-final__cartouche {
  display: inline-flex; align-items: center; gap: 14px;
  margin-bottom: 28px; color: var(--gold);
}
.cs-final__cartouche-line { width: 40px; height: 1px; background: var(--gold); }
.cs-final__cartouche-mark {
  width: 6px; height: 6px; transform: rotate(45deg);
  border: 1px solid var(--gold); display: inline-block;
}
.cs-final__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold);
}
.cs-final__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 5vw, 64px); line-height: 1.02; letter-spacing: -0.015em;
  color: #fff; margin: 0 0 36px; text-wrap: balance;
}
.cs-final__cta-row { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; }
.cs-final .btn-primary {
  background: var(--cream); color: var(--ink); border: 1px solid var(--gold);
}
.cs-final .btn-primary:hover { background: #fff; }
.cs-final .btn-ghost {
  background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.4);
}
.cs-final .btn-ghost:hover { border-color: var(--gold); color: var(--gold); }

/* fade-up baseline */
.cs-hero .fade-up, .cs-grid-wrap .fade-up, .cs-final .fade-up {
  opacity: 0; transform: translateY(16px);
  transition: opacity 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)),
              transform 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
.cs-hero .fade-up.in, .cs-grid-wrap .fade-up.in, .cs-final .fade-up.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .cs-hero .fade-up, .cs-grid-wrap .fade-up, .cs-final .fade-up { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   === PAGE: INSIGHTS ===
   /insights
   All page styles. No inline <style>.
   Voice: No em-dashes. Cormorant only for headlines/prose.
   ============================================================ */

/* ---------- HERO ---------- */
.ins-hero { background: var(--cream); color: var(--on-cream); padding: 144px 0 88px; border-bottom: 1px solid var(--cream-line); }
.ins-hero__inner { max-width: 800px; margin: 0 auto; padding: 0 32px; }
.ins-hero__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 36px; }
.ins-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(44px, 5.4vw, 68px); line-height: 1.04; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 28px; text-wrap: balance; }
.ins-hero__lede { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--on-cream); margin: 0 0 36px; max-width: 64ch; text-wrap: pretty; }
.ins-hero__cta { font-family: var(--font-body); font-weight: 500; font-size: 14px; letter-spacing: 0.04em; color: var(--gold-deep); border-bottom: 1px solid var(--gold); padding-bottom: 4px; transition: color 220ms ease, border-color 220ms ease, transform 220ms ease; display: inline-block; }
.ins-hero__cta:hover { color: var(--ink); border-color: var(--ink); transform: translateX(2px); }

/* ---------- FEATURED ARTICLE ---------- */
.ins-feat { background: var(--cream); padding: 80px 0 96px; border-bottom: 1px solid var(--cream-line); }
.ins-feat__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: center; }
@media (max-width: 1024px) { .ins-feat__inner { grid-template-columns: 1fr; gap: 48px; } }
.ins-feat__cover { position: relative; aspect-ratio: 4/5; border: 1px solid var(--gold); background: var(--accent); overflow: hidden; }
.ins-feat__cover-art { position: absolute; inset: 0; }
.ins-feat__cover-art::before, .ins-feat__cover-art::after { content: ''; position: absolute; left: 12%; right: 12%; height: 1px; background: var(--gold); opacity: 0.5; }
.ins-feat__cover-art::before { top: 22%; box-shadow: 0 32px 0 rgba(201,169,97,0.35), 0 64px 0 rgba(201,169,97,0.25), 0 96px 0 rgba(201,169,97,0.18), 0 128px 0 rgba(201,169,97,0.12); }
.ins-feat__cover-art::after { top: 78%; left: 18%; right: 36%; opacity: 0.7; }
.ins-feat__cover-mark { position: absolute; top: 32px; right: 32px; font-family: var(--font-display); font-weight: 500; font-size: 56px; line-height: 1; color: var(--gold); letter-spacing: -0.02em; font-variant-numeric: tabular-nums lining-nums; }
.ins-feat__cover-mark sup { font-size: 0.45em; vertical-align: 0.6em; margin-left: 2px; }
.ins-feat__cover-label { position: absolute; bottom: 32px; left: 32px; right: 32px; font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.85); border-top: 1px solid rgba(201,169,97,0.4); padding-top: 14px; }
.ins-feat__tag { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
.ins-feat__tag-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; display: inline-block; }
.ins-feat__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(28px, 3vw, 36px); line-height: 1.12; letter-spacing: -0.01em; color: var(--ink); margin: 0 0 20px; text-wrap: balance; }
.ins-feat__excerpt { font-family: var(--font-body); font-size: 15px; line-height: 1.65; color: var(--on-cream); margin: 0 0 24px; max-width: 70ch; text-wrap: pretty; }
.ins-feat__meta { font-family: var(--font-body); font-weight: 500; font-size: 13px; color: var(--muted-cream); margin: 0 0 28px; letter-spacing: 0.01em; }
.ins-feat__cta { font-family: var(--font-body); font-weight: 500; font-size: 14px; color: var(--gold-deep); border-bottom: 1px solid var(--gold); padding-bottom: 4px; display: inline-block; transition: transform 220ms ease, color 220ms ease, border-color 220ms ease; }
.ins-feat__cta:hover { transform: translateX(2px); color: var(--ink); border-color: var(--ink); }

/* ---------- FILTER BAR (dual-axis sticky) ---------- */
.ins-filter { position: sticky; top: 72px; z-index: 40; background: var(--cream); border-bottom: 1px solid var(--cream-line); padding: 16px 0; }
.ins-filter__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; display: flex; align-items: center; gap: 12px; overflow-x: auto; scrollbar-width: none; }
.ins-filter__inner::-webkit-scrollbar { display: none; }
.ins-filter__label { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-right: 4px; white-space: nowrap; }
.ins-filter__sep { width: 1px; height: 24px; background: var(--gold); opacity: 0.5; flex: none; margin: 0 8px; }
.ins-pill { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--on-cream); background: transparent; border: 1px solid var(--cream-line); border-radius: 2px; padding: 10px 16px; cursor: pointer; white-space: nowrap; transition: transform 200ms ease, border-color 200ms ease, background 200ms ease, color 200ms ease; }
.ins-pill:hover { border-color: var(--gold); transform: translateY(-2px); }
.ins-pill[aria-pressed="true"] { border-color: var(--gold); color: var(--gold-deep); background: var(--cream-2); }

/* ---------- ARTICLE GRID ---------- */
.ins-grid-wrap { background: var(--cream); padding: 60px 0 96px; }
.ins-grid-inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.ins-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 1024px) { .ins-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ins-grid { grid-template-columns: 1fr; } }

.ins-card { background: var(--cream); border-top: 1px solid var(--cream-line); padding: 28px; border-radius: 2px; display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: transform 280ms ease, border-top-color 280ms ease, box-shadow 280ms ease; min-height: 280px; }
.ins-card:hover { transform: translateY(-2px); border-top-color: var(--gold); box-shadow: 0 12px 32px rgba(13,74,61,0.06); }
.ins-card.is-hidden { display: none; }
.ins-card.is-fading { opacity: 0; transition: opacity 200ms ease; }
.ins-card__tag { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 16px; }
.ins-card__h { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1.18; letter-spacing: -0.005em; color: var(--ink); margin: 0 0 14px; text-wrap: balance; }
.ins-card__excerpt { font-family: var(--font-body); font-size: 14px; line-height: 1.6; color: var(--muted-cream); margin: 0 0 24px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-wrap: pretty; }
.ins-card__meta { font-family: var(--font-body); font-weight: 500; font-size: 13px; color: var(--muted-cream); margin: auto 0 0; padding-top: 16px; border-top: 1px solid var(--cream-line); }

/* ---------- NEWSLETTER ---------- */
.ins-news { background: var(--accent); color: #fff; padding: 160px 0; position: relative; overflow: hidden; }
.ins-news::before { content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 720px; height: 480px; background: radial-gradient(ellipse at center, var(--gold-glow) 0%, transparent 60%); pointer-events: none; }
.ins-news::after { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(1280px, calc(100% - 96px)); height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.ins-news__inner { max-width: 760px; margin: 0 auto; padding: 0 48px; position: relative; z-index: 2; text-align: center; }
.ins-news__cartouche { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 28px; opacity: 0.8; }
.ins-news__cartouche-line { width: 40px; height: 1px; background: var(--gold); }
.ins-news__cartouche-dot { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; }
.ins-news__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); }
.ins-news__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(40px, 5vw, 60px); line-height: 1.04; letter-spacing: -0.015em; color: #fff; margin: 14px 0 24px; text-wrap: balance; }
.ins-news__sub { font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0 auto 36px; max-width: 56ch; text-wrap: pretty; }
.ins-news__form { display: flex; gap: 12px; max-width: 480px; margin: 0 auto; flex-wrap: wrap; justify-content: center; }
.ins-news__input { flex: 1 1 240px; background: var(--cream); color: var(--ink); border: 1px solid var(--gold); padding: 14px 16px; font-family: var(--font-body); font-size: 14px; border-radius: 2px; outline: none; min-width: 0; }
.ins-news__input:focus { border-color: var(--gold-h); box-shadow: 0 0 0 3px var(--gold-glow); }
.ins-news__submit { background: var(--cream); color: var(--ink); border: 1px solid var(--gold); padding: 14px 24px; font-family: var(--font-body); font-weight: 500; font-size: 14px; letter-spacing: 0.04em; cursor: pointer; border-radius: 2px; transition: background 220ms ease, transform 220ms ease; white-space: nowrap; }
.ins-news__submit:hover { background: #fff; transform: translateY(-1px); }
.ins-news__trust { font-family: var(--font-body); font-size: 13px; color: rgba(255,255,255,0.7); margin: 28px auto 0; max-width: 56ch; }

/* fade-up baseline */
.ins-hero .fade-up, .ins-feat .fade-up, .ins-grid-wrap .fade-up, .ins-news .fade-up { opacity: 0; transform: translateY(16px); transition: opacity 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)), transform 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)); }
.ins-hero .fade-up.in, .ins-feat .fade-up.in, .ins-grid-wrap .fade-up.in, .ins-news .fade-up.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .ins-hero .fade-up, .ins-feat .fade-up, .ins-grid-wrap .fade-up, .ins-news .fade-up { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   === PAGE: COMPLIANCE ===
   /compliance
   All page styles. No inline <style>.
   Voice: No em-dashes. No dot separators in body prose.
   Typography: Cormorant 500 only for headlines/prose,
   never for numbers. DM Sans 600 tabular-nums for all numbers.
   No mono fonts.
   ============================================================ */

/* ---------- HERO ---------- */
.comp-hero { background: var(--cream); color: var(--on-cream); padding: 144px 0 88px; border-bottom: 1px solid var(--cream-line); }
.comp-hero__inner { max-width: 800px; margin: 0 auto; padding: 0 32px; }
.comp-hero__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 36px; display: flex; align-items: center; gap: 12px; }
.comp-hero__eyebrow-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; display: inline-block; }
.comp-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(44px, 5.4vw, 68px); line-height: 1.04; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 28px; text-wrap: balance; }
.comp-hero__lede { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--on-cream); margin: 0 0 48px; max-width: 64ch; text-wrap: pretty; }
.comp-hero__rule { height: 1px; background: var(--gold); width: 100%; margin: 0 0 48px; opacity: 0.7; }

.comp-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0 0 56px; border-top: 1px solid var(--cream-line); border-bottom: 1px solid var(--cream-line); }
.comp-hero__stat { padding: 28px 0; position: relative; }
.comp-hero__stat + .comp-hero__stat { border-left: 1px solid var(--cream-line); padding-left: 28px; }
.comp-hero__stat-num { font-family: var(--font-body); font-weight: 600; font-size: 40px; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums lining-nums; letter-spacing: -0.01em; margin-bottom: 12px; }
.comp-hero__stat-num sup { font-family: var(--font-body); font-weight: 500; font-size: 0.42em; vertical-align: 0.7em; margin-left: 4px; letter-spacing: 0.04em; color: var(--gold-deep); }
.comp-hero__stat-lbl { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.5; color: var(--muted-cream); max-width: 24ch; }

.comp-hero__cta { display: inline-flex; }

@media (max-width: 640px) {
  .comp-hero { padding: 96px 0 64px; }
  .comp-hero__stats { grid-template-columns: 1fr; }
  .comp-hero__stat + .comp-hero__stat { border-left: 0; border-top: 1px solid var(--cream-line); padding-left: 0; padding-top: 24px; }
}

/* ---------- POSTURE TILES (DARK) ---------- */
.comp-post { background: var(--ink); color: var(--on-ink); padding: 112px 0; }
.comp-post__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.comp-post__head { text-align: center; max-width: 720px; margin: 0 auto 64px; }
.comp-post__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; display: inline-flex; align-items: center; gap: 12px; }
.comp-post__eyebrow::before, .comp-post__eyebrow::after { content: ''; width: 24px; height: 1px; background: var(--gold); opacity: 0.6; }
.comp-post__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 54px); line-height: 1.06; letter-spacing: -0.015em; color: var(--on-ink); margin: 0; text-wrap: balance; }

.comp-post__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
@media (max-width: 1024px) { .comp-post__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .comp-post__grid { grid-template-columns: 1fr; } }

.comp-tile { background: var(--ink-2); border-top: 1px solid var(--ink-line); padding: 32px 28px; display: flex; flex-direction: column; gap: 20px; min-height: 260px; transition: transform 280ms ease, border-top-color 280ms ease, background 280ms ease; position: relative; }
.comp-tile:hover { transform: translateY(-2px); background: var(--ink-3); }
.comp-tile:hover { border-top-color: rgba(255,255,255,0.18); }
.comp-tile--active { border-top: 3px solid var(--gold); padding-top: 30px; }
.comp-tile--active:hover { border-top-color: var(--gold-h); }

.comp-tile__indicator { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.comp-tile__indicator--active { background: var(--gold); box-shadow: 0 0 0 4px rgba(201,169,97,0.18); }
.comp-tile__indicator--progress { background: transparent; border: 1px solid rgba(255,255,255,0.4); width: 10px; height: 10px; }

.comp-tile__name { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1.15; letter-spacing: -0.005em; color: var(--on-ink); margin: 0; }
.comp-tile__status { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted-ink); }
.comp-tile__status--active { color: var(--gold); }
.comp-tile__detail { font-family: var(--font-body); font-weight: 400; font-size: 13px; line-height: 1.55; color: var(--dim-ink); margin: auto 0 0; padding-top: 16px; border-top: 1px solid var(--ink-line); }

/* numbers in detail line should be tabular */
.comp-tile__detail .num { font-weight: 600; font-variant-numeric: tabular-nums lining-nums; color: var(--on-ink); }

/* ---------- PER-INDUSTRY (CREAM-2) ---------- */
.comp-ind { background: var(--cream-2); padding: 112px 0; }
.comp-ind__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.comp-ind__head { max-width: 720px; margin: 0 0 64px; }
.comp-ind__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; display: flex; align-items: center; gap: 12px; }
.comp-ind__eyebrow-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; display: inline-block; }
.comp-ind__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 54px); line-height: 1.06; letter-spacing: -0.015em; color: var(--ink); margin: 0; text-wrap: balance; }

.comp-ind__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 760px) { .comp-ind__grid { grid-template-columns: 1fr; } }

.comp-icard { background: var(--cream); border-top: 1px solid var(--cream-line); border-radius: 2px; padding: 32px; transition: transform 280ms ease, border-top-color 280ms ease, box-shadow 280ms ease; }
.comp-icard:hover { transform: translateY(-2px); border-top-color: var(--gold); box-shadow: 0 12px 32px rgba(13,74,61,0.06); }
.comp-icard__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 14px; }
.comp-icard__h { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1.18; letter-spacing: -0.005em; color: var(--ink); margin: 0 0 6px; text-wrap: balance; }
.comp-icard__sub { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.5; color: var(--muted-cream); margin: 0 0 20px; }
.comp-icard__list { list-style: none; margin: 0; padding: 0; }
.comp-icard__list li { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.55; color: var(--on-cream); padding: 14px 0; border-top: 1px solid var(--cream-line); }
.comp-icard__list li:last-child { padding-bottom: 0; }
.comp-icard__list .num { font-weight: 600; font-variant-numeric: tabular-nums lining-nums; }

/* ---------- DOCUMENT LIBRARY (CREAM, 5/7 SPLIT) ---------- */
.comp-docs { background: var(--cream); padding: 112px 0; border-top: 1px solid var(--cream-line); }
.comp-docs__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
@media (max-width: 1024px) { .comp-docs__inner { grid-template-columns: 1fr; gap: 48px; } }

.comp-docs__left { position: sticky; top: 96px; }
@media (max-width: 1024px) { .comp-docs__left { position: static; } }
.comp-docs__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; display: flex; align-items: center; gap: 12px; }
.comp-docs__eyebrow-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; display: inline-block; }
.comp-docs__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(32px, 3.6vw, 44px); line-height: 1.08; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 20px; text-wrap: balance; }
.comp-docs__sub { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.6; color: var(--muted-cream); margin: 0; max-width: 50ch; text-wrap: pretty; }

.comp-docs__list { display: flex; flex-direction: column; }
.comp-doc { display: grid; grid-template-columns: 1.3fr 1.5fr auto; gap: 24px; align-items: baseline; padding: 22px 0; border-top: 1px solid var(--cream-line); transition: padding-left 220ms ease; }
.comp-doc:last-child { border-bottom: 1px solid var(--cream-line); }
.comp-doc:hover { padding-left: 8px; }
@media (max-width: 720px) { .comp-doc { grid-template-columns: 1fr; gap: 8px; } }
.comp-doc__name { font-family: var(--font-body); font-weight: 500; font-size: 16px; color: var(--ink); letter-spacing: -0.005em; }
.comp-doc__desc { font-family: var(--font-body); font-weight: 400; font-size: 13px; line-height: 1.5; color: var(--muted-cream); }
.comp-doc__cta { font-family: var(--font-body); font-weight: 500; font-size: 13px; color: var(--gold-deep); border-bottom: 1px solid var(--gold); padding-bottom: 2px; white-space: nowrap; transition: transform 220ms ease, color 220ms ease, border-color 220ms ease; justify-self: end; }
.comp-doc__cta:hover { transform: translateX(2px); color: var(--ink); border-color: var(--ink); }
@media (max-width: 720px) { .comp-doc__cta { justify-self: start; } }

/* ---------- DATA HANDLING (CREAM-2, 3-COL HORIZONTAL) ---------- */
.comp-data { background: var(--cream-2); padding: 112px 0; }
.comp-data__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.comp-data__head { text-align: center; max-width: 720px; margin: 0 auto 64px; }
.comp-data__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; display: inline-flex; align-items: center; gap: 12px; }
.comp-data__eyebrow::before, .comp-data__eyebrow::after { content: ''; width: 24px; height: 1px; background: var(--gold); opacity: 0.6; }
.comp-data__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 54px); line-height: 1.06; letter-spacing: -0.015em; color: var(--ink); margin: 0; text-wrap: balance; }

.comp-data__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 880px) { .comp-data__grid { grid-template-columns: 1fr; } }

.comp-phase { padding: 40px 0 0; border-top: 1px solid var(--cream-line); display: flex; flex-direction: column; gap: 24px; }
.comp-phase__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); display: flex; align-items: center; gap: 10px; }
.comp-phase__lbl-num { font-family: var(--font-body); font-weight: 600; font-size: 11px; letter-spacing: 0.04em; color: var(--gold); font-variant-numeric: tabular-nums lining-nums; }
.comp-phase__h { font-family: var(--font-display); font-weight: 500; font-size: 24px; line-height: 1.18; letter-spacing: -0.005em; color: var(--ink); margin: 0; }
.comp-phase__list { list-style: none; margin: 0; padding: 0; }
.comp-phase__list li { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.55; color: var(--on-cream); padding: 14px 0; border-top: 1px solid var(--cream-line); }
.comp-phase__list .num { font-weight: 600; font-variant-numeric: tabular-nums lining-nums; }

/* ---------- FINAL CTA (FOREST GREEN) ---------- */
.comp-final { background: var(--accent); color: #fff; padding: 160px 0; position: relative; overflow: hidden; }
.comp-final::before { content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 720px; height: 480px; background: radial-gradient(ellipse at center, var(--gold-glow) 0%, transparent 60%); pointer-events: none; }
.comp-final::after { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(1280px, calc(100% - 96px)); height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.comp-final__inner { max-width: 760px; margin: 0 auto; padding: 0 48px; position: relative; z-index: 2; text-align: center; }
.comp-final__cartouche { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 28px; opacity: 0.7; }
.comp-final__cartouche-line { width: 40px; height: 1px; background: var(--gold); }
.comp-final__cartouche-dot { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; }
.comp-final__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); }
.comp-final__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.6vw, 56px); line-height: 1.06; letter-spacing: -0.015em; color: #fff; margin: 16px 0 24px; text-wrap: balance; }
.comp-final__sub { font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0 auto 36px; max-width: 56ch; text-wrap: pretty; }
.comp-final__cta-row { display: inline-flex; gap: 16px; flex-wrap: wrap; justify-content: center; align-items: center; }
.comp-final .btn-cream { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; background: var(--cream); color: var(--ink); border: 1px solid var(--gold); font-family: var(--font-body); font-weight: 500; font-size: 14px; letter-spacing: 0.01em; border-radius: var(--r-2); transition: background 220ms ease, transform 220ms ease, box-shadow 220ms ease; }
.comp-final .btn-cream:hover { background: #fff; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,0.18); }
.comp-final .btn-ghost-cream { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; background: transparent; color: rgba(255,255,255,0.92); border: 1px solid rgba(255,255,255,0.32); font-family: var(--font-body); font-weight: 500; font-size: 14px; letter-spacing: 0.01em; border-radius: var(--r-2); transition: border-color 220ms ease, background 220ms ease; }
.comp-final .btn-ghost-cream:hover { border-color: var(--gold); background: rgba(255,255,255,0.05); }

/* ---------- FADE-UP scoped ---------- */
.comp-hero .fade-up,
.comp-post .fade-up,
.comp-ind .fade-up,
.comp-docs .fade-up,
.comp-data .fade-up,
.comp-final .fade-up { opacity: 0; transform: translateY(16px); transition: opacity 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)), transform 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)); }
.comp-hero .fade-up.in,
.comp-post .fade-up.in,
.comp-ind .fade-up.in,
.comp-docs .fade-up.in,
.comp-data .fade-up.in,
.comp-final .fade-up.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .comp-hero .fade-up, .comp-post .fade-up, .comp-ind .fade-up, .comp-docs .fade-up, .comp-data .fade-up, .comp-final .fade-up { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   === PAGE: CONTACT ===
   /contact
   All page styles. No inline <style>.
   Voice: No em-dashes. Cormorant only for headlines/prose.
   No mono fonts. DM Sans 600 tabular-nums for numbers.
   ============================================================ */

/* ---------- HERO (5/7 SPLIT) ---------- */
.contact-hero { background: var(--cream); color: var(--on-cream); padding: 144px 0 96px; border-bottom: 1px solid var(--cream-line); }
.contact-hero__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
@media (max-width: 1024px) { .contact-hero__inner { grid-template-columns: 1fr; gap: 56px; } }

.contact-hero__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 28px; display: flex; align-items: center; gap: 12px; }
.contact-hero__eyebrow-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; display: inline-block; }
.contact-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(40px, 5vw, 64px); line-height: 1.04; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 24px; text-wrap: balance; }
.contact-hero__lede { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--on-cream); margin: 0; max-width: 60ch; text-wrap: pretty; }

/* Direct lines block */
.contact-lines { display: flex; flex-direction: column; }
.contact-lines__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 16px; }
.contact-lines__rule { height: 1px; background: var(--gold); width: 100%; opacity: 0.7; margin-bottom: 8px; }
.contact-lines__rule--bot { margin-top: 8px; margin-bottom: 24px; }
.contact-lines__row { padding: 22px 0; border-bottom: 1px solid var(--cream-line); }
.contact-lines__row:last-of-type { border-bottom: 0; }
.contact-lines__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 6px; }
.contact-lines__val { font-family: var(--font-body); font-weight: 600; font-size: 16px; color: var(--ink); margin-bottom: 4px; font-variant-numeric: tabular-nums lining-nums; letter-spacing: -0.005em; }
.contact-lines__val a { color: inherit; transition: color 220ms ease; }
.contact-lines__val a:hover { color: var(--accent); }
.contact-lines__sub { font-family: var(--font-body); font-weight: 400; font-size: 13px; line-height: 1.5; color: var(--muted-cream); }
.contact-lines__office { padding-top: 8px; }
.contact-lines__office-name { font-family: var(--font-display); font-weight: 500; font-size: 16px; color: var(--ink); margin-bottom: 4px; }
.contact-lines__office-addr { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.55; color: var(--muted-cream); }

/* ---------- FORM (CREAM-2) ---------- */
.contact-form-sec { background: var(--cream-2); padding: 112px 0; }
.contact-form-sec__inner { max-width: 720px; margin: 0 auto; padding: 0 32px; }
.contact-form-sec__head { text-align: center; margin-bottom: 56px; }
.contact-form-sec__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; display: inline-flex; align-items: center; gap: 12px; }
.contact-form-sec__eyebrow::before, .contact-form-sec__eyebrow::after { content: ''; width: 24px; height: 1px; background: var(--gold); opacity: 0.6; }
.contact-form-sec__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(32px, 3.6vw, 44px); line-height: 1.06; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 16px; text-wrap: balance; }
.contact-form-sec__sub { font-family: var(--font-body); font-weight: 400; font-size: 15px; line-height: 1.6; color: var(--muted-cream); margin: 0 auto; max-width: 56ch; text-wrap: pretty; }

.contact-form { display: flex; flex-direction: column; gap: 32px; }
.contact-form__row { display: grid; gap: 28px; }
.contact-form__row--3 { grid-template-columns: repeat(3, 1fr); }
.contact-form__row--2 { grid-template-columns: 1fr 1fr; }
.contact-form__row--1 { grid-template-columns: 1fr; }
@media (max-width: 720px) {
  .contact-form__row--3, .contact-form__row--2 { grid-template-columns: 1fr; }
}

.contact-field { display: flex; flex-direction: column; gap: 10px; }
.contact-field__label { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); }
.contact-field__label .req { color: var(--gold); margin-left: 2px; }
.contact-field__input,
.contact-field__select,
.contact-field__textarea {
  font-family: var(--font-body); font-weight: 400; font-size: 15px; line-height: 1.5;
  color: var(--ink); background: transparent;
  border: 0; border-bottom: 1px solid var(--cream-line);
  padding: 8px 0;
  outline: none;
  transition: border-color 220ms ease;
  width: 100%;
  border-radius: 0;
}
.contact-field__input::placeholder,
.contact-field__textarea::placeholder { color: var(--dim-cream); }
.contact-field__input:focus,
.contact-field__select:focus,
.contact-field__textarea:focus { border-bottom-color: var(--accent); }
.contact-field__textarea { resize: vertical; min-height: 144px; }
.contact-field__select { appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--gold-deep) 50%), linear-gradient(135deg, var(--gold-deep) 50%, transparent 50%); background-position: calc(100% - 14px) 16px, calc(100% - 9px) 16px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 24px; cursor: pointer; }
.contact-field__error { font-family: var(--font-body); font-weight: 400; font-size: 13px; color: #B91C1C; margin-top: -2px; min-height: 0; }
.contact-field__counter { font-family: var(--font-body); font-weight: 500; font-size: 12px; color: var(--muted-cream); text-align: right; font-variant-numeric: tabular-nums lining-nums; letter-spacing: 0.04em; }

/* NDA checkbox */
.contact-nda { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; padding-top: 24px; }
.contact-nda input { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; border: 1px solid var(--cream-line); background: var(--cream); flex: none; margin-top: 2px; cursor: pointer; transition: border-color 220ms ease, background 220ms ease; border-radius: 2px; position: relative; }
.contact-nda input:checked { border-color: var(--accent); background: var(--accent); }
.contact-nda input:checked::after { content: ''; position: absolute; left: 4px; top: 0; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.contact-nda__lbl { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.5; color: var(--on-cream); }

/* Document pills (reason-dependent) */
.contact-docs { display: none; flex-direction: column; gap: 12px; padding-top: 8px; }
.contact-docs.is-open { display: flex; }
.contact-docs__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); }
.contact-docs__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.contact-docs__pill { font-family: var(--font-body); font-weight: 500; font-size: 12px; letter-spacing: 0.04em; color: var(--on-cream); background: var(--cream); border: 1px solid var(--cream-line); padding: 8px 14px; cursor: pointer; border-radius: 2px; transition: border-color 220ms ease, background 220ms ease, color 220ms ease, transform 220ms ease; }
.contact-docs__pill:hover { border-color: var(--gold); transform: translateY(-1px); }
.contact-docs__pill[aria-pressed="true"] { border-color: var(--gold); color: var(--gold-deep); background: var(--cream-2); }

.contact-form__submit-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 8px; }
.contact-form__support { font-family: var(--font-body); font-weight: 400; font-size: 13px; color: var(--muted-cream); margin: 0; }

/* ---------- WHAT HAPPENS NEXT (CREAM, 3-COL) ---------- */
.contact-next { background: var(--cream); padding: 112px 0; border-top: 1px solid var(--cream-line); }
.contact-next__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.contact-next__head { text-align: center; max-width: 720px; margin: 0 auto 64px; }
.contact-next__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; display: inline-flex; align-items: center; gap: 12px; }
.contact-next__eyebrow::before, .contact-next__eyebrow::after { content: ''; width: 24px; height: 1px; background: var(--gold); opacity: 0.6; }
.contact-next__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(32px, 3.8vw, 44px); line-height: 1.06; letter-spacing: -0.015em; color: var(--ink); margin: 0; text-wrap: balance; }
.contact-next__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 880px) { .contact-next__grid { grid-template-columns: 1fr; } }
.contact-next__col { padding: 40px 0 0; border-top: 1px solid var(--cream-line); display: flex; flex-direction: column; gap: 16px; }
.contact-next__phase { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); }
.contact-next__phase .num { font-weight: 600; font-variant-numeric: tabular-nums lining-nums; color: var(--gold); }
.contact-next__title { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1.18; letter-spacing: -0.005em; color: var(--ink); margin: 0; }
.contact-next__body { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.6; color: var(--muted-cream); margin: 0; max-width: 32ch; }

/* ---------- OFFICE HOURS (DARK) ---------- */
.contact-hours { background: var(--ink); color: var(--on-ink); padding: 112px 0; }
.contact-hours__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.contact-hours__head { text-align: center; max-width: 720px; margin: 0 auto 64px; }
.contact-hours__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; display: inline-flex; align-items: center; gap: 12px; }
.contact-hours__eyebrow::before, .contact-hours__eyebrow::after { content: ''; width: 24px; height: 1px; background: var(--gold); opacity: 0.6; }
.contact-hours__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(32px, 3.8vw, 44px); line-height: 1.06; letter-spacing: -0.015em; color: var(--on-ink); margin: 0; text-wrap: balance; }
.contact-hours__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 880px) { .contact-hours__grid { grid-template-columns: 1fr; } }
.contact-hours__tile { background: var(--ink-2); border-top: 1px solid var(--ink-line); padding: 36px 28px; display: flex; flex-direction: column; gap: 12px; min-height: 200px; transition: transform 280ms ease, border-top-color 280ms ease, background 280ms ease; }
.contact-hours__tile:hover { transform: translateY(-2px); background: var(--ink-3); border-top-color: var(--gold); }
.contact-hours__num { font-family: var(--font-body); font-weight: 600; font-size: 44px; line-height: 1; color: var(--on-ink); font-variant-numeric: tabular-nums lining-nums; letter-spacing: -0.01em; }
.contact-hours__num sub { font-family: var(--font-body); font-weight: 500; font-size: 0.36em; vertical-align: 0.2em; color: var(--gold); margin-left: 4px; letter-spacing: 0.06em; }
.contact-hours__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-top: auto; padding-top: 16px; border-top: 1px solid var(--ink-line); }
.contact-hours__sub { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.5; color: var(--dim-ink); margin: 0; }

/* ---------- FINAL CTA (FOREST GREEN, COMPACT) ---------- */
.contact-final { background: var(--accent); color: #fff; padding: 120px 0; position: relative; overflow: hidden; }
.contact-final::before { content: ''; position: absolute; top: -180px; left: 50%; transform: translateX(-50%); width: 720px; height: 420px; background: radial-gradient(ellipse at center, var(--gold-glow) 0%, transparent 60%); pointer-events: none; }
.contact-final::after { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(1280px, calc(100% - 96px)); height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.contact-final__inner { max-width: 720px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 2; text-align: center; }
.contact-final__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; display: inline-block; }
.contact-final__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(32px, 4vw, 48px); line-height: 1.06; letter-spacing: -0.015em; color: #fff; margin: 0 0 32px; text-wrap: balance; }
.contact-final .btn-cream { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; background: var(--cream); color: var(--ink); border: 1px solid var(--gold); font-family: var(--font-body); font-weight: 500; font-size: 14px; letter-spacing: 0.01em; border-radius: var(--r-2); transition: background 220ms ease, transform 220ms ease, box-shadow 220ms ease; }
.contact-final .btn-cream:hover { background: #fff; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,0.18); }

/* fade-up scoped */
.contact-hero .fade-up, .contact-form-sec .fade-up, .contact-next .fade-up, .contact-hours .fade-up, .contact-final .fade-up { opacity: 0; transform: translateY(16px); transition: opacity 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)), transform 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)); }
.contact-hero .fade-up.in, .contact-form-sec .fade-up.in, .contact-next .fade-up.in, .contact-hours .fade-up.in, .contact-final .fade-up.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .contact-hero .fade-up, .contact-form-sec .fade-up, .contact-next .fade-up, .contact-hours .fade-up, .contact-final .fade-up { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   === PAGE: THANK YOU ===
   /thank-you
   ============================================================ */
.thanks-hero { background: var(--cream); color: var(--on-cream); padding: 200px 0 144px; position: relative; overflow: hidden; min-height: calc(100vh - 80px); display: flex; align-items: flex-start; }
.thanks-hero::before { content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 720px; height: 480px; background: radial-gradient(ellipse at center, rgba(201,169,97,0.18) 0%, transparent 60%); pointer-events: none; }
.thanks-hero__inner { max-width: 880px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 2; text-align: center; width: 100%; }
.thanks-hero__cartouche { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 28px; opacity: 0.5; }
.thanks-hero__cartouche-line { width: 40px; height: 1px; background: var(--gold); }
.thanks-hero__cartouche-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; }
.thanks-hero__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 24px; display: inline-block; }
.thanks-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(48px, 6vw, 80px); line-height: 1.02; letter-spacing: -0.018em; color: var(--ink); margin: 0 0 28px; text-wrap: balance; }
.thanks-hero__sub { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--muted-cream); margin: 0 auto 64px; max-width: 64ch; text-wrap: pretty; }

.thanks-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0 0 56px; text-align: left; }
@media (max-width: 880px) { .thanks-cards { grid-template-columns: 1fr; } }
.thanks-card { background: var(--cream); border-top: 1px solid var(--cream-line); padding: 32px; transition: transform 280ms ease, border-top-color 280ms ease, box-shadow 280ms ease; }
.thanks-card:hover { transform: translateY(-2px); border-top-color: var(--gold); box-shadow: 0 12px 32px rgba(13,74,61,0.06); }
.thanks-card__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 14px; }
.thanks-card__val { font-family: var(--font-display); font-weight: 500; font-size: 18px; line-height: 1.4; color: var(--ink); margin: 0; text-wrap: balance; }

.thanks-cta-row { display: inline-flex; gap: 24px; align-items: center; flex-wrap: wrap; justify-content: center; }
.thanks-cta-row .btn-ghost { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; background: transparent; color: var(--ink); border: 1px solid var(--ink); font-family: var(--font-body); font-weight: 500; font-size: 14px; letter-spacing: 0.01em; border-radius: var(--r-2); transition: background 220ms ease, color 220ms ease; }
.thanks-cta-row .btn-ghost:hover { background: var(--ink); color: var(--cream); }
.thanks-cta-row__link { font-family: var(--font-body); font-weight: 500; font-size: 14px; color: var(--gold-deep); border-bottom: 1px solid var(--gold); padding-bottom: 4px; transition: transform 220ms ease, color 220ms ease, border-color 220ms ease; }
.thanks-cta-row__link:hover { transform: translateX(2px); color: var(--ink); border-color: var(--ink); }

/* ============================================================
   === PAGE: 404 ===
   /404
   ============================================================ */
.notfound-hero { background: var(--cream); color: var(--on-cream); padding: 200px 0 144px; min-height: calc(100vh - 80px); display: flex; align-items: flex-start; }
.notfound-hero__inner { max-width: 880px; margin: 0 auto; padding: 0 32px; text-align: center; width: 100%; }
.notfound-hero__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 24px; display: inline-flex; align-items: center; gap: 12px; }
.notfound-hero__eyebrow-num { font-family: var(--font-body); font-weight: 600; font-variant-numeric: tabular-nums lining-nums; letter-spacing: 0.04em; color: var(--gold); }
.notfound-hero__eyebrow-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; display: inline-block; }
.notfound-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(44px, 5.6vw, 72px); line-height: 1.04; letter-spacing: -0.018em; color: var(--ink); margin: 0 0 24px; text-wrap: balance; }
.notfound-hero__sub { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--muted-cream); margin: 0 auto 56px; max-width: 64ch; text-wrap: pretty; }

.notfound-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0 0 56px; text-align: left; }
@media (max-width: 880px) { .notfound-cards { grid-template-columns: 1fr; } }
.notfound-card { background: var(--cream); border-top: 1px solid var(--cream-line); padding: 28px; display: flex; flex-direction: column; gap: 8px; transition: transform 280ms ease, border-top-color 280ms ease, box-shadow 280ms ease; position: relative; }
.notfound-card:hover { transform: translateY(-2px); border-top-color: var(--gold); box-shadow: 0 12px 32px rgba(13,74,61,0.06); }
.notfound-card__h { font-family: var(--font-display); font-weight: 500; font-size: 18px; line-height: 1.3; color: var(--ink); margin: 0; }
.notfound-card__sub { font-family: var(--font-body); font-weight: 400; font-size: 13px; line-height: 1.5; color: var(--muted-cream); margin: 0; }
.notfound-card__arrow { font-family: var(--font-body); font-weight: 500; font-size: 14px; color: var(--gold-deep); margin-top: auto; padding-top: 16px; border-top: 1px solid var(--cream-line); transition: transform 220ms ease; display: inline-flex; align-items: center; gap: 6px; }
.notfound-card:hover .notfound-card__arrow { transform: translateX(3px); color: var(--ink); }

.notfound-foot { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.6; color: var(--muted-cream); margin: 0 auto; max-width: 60ch; text-wrap: pretty; }
.notfound-foot a { color: var(--gold-deep); border-bottom: 1px solid var(--gold); padding-bottom: 1px; transition: color 220ms ease, border-color 220ms ease; }
.notfound-foot a:hover { color: var(--ink); border-bottom-color: var(--ink); }


/* ============================================================
   PAGES: /contact, /thank-you, /audit
   All page styles. No inline <style>.
   Voice: No em-dashes, no mono fonts, plain numerals via .num
   ============================================================ */

/* =============== /CONTACT =============== */

/* HERO 5/7 SPLIT */
.contact-hero { background: var(--cream); color: var(--on-cream); padding: 144px 0 96px; border-bottom: 1px solid var(--cream-line); }
.contact-hero__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: start; }
@media (max-width: 1024px) { .contact-hero__inner { grid-template-columns: 1fr; gap: 56px; } }
.contact-hero__left { padding-top: 4px; }
.contact-hero__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 36px; display: inline-flex; align-items: center; gap: 12px; }
.contact-hero__eyebrow-dot { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; display: inline-block; }
.contact-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(48px, 5.6vw, 76px); line-height: 1.02; letter-spacing: -0.018em; color: var(--ink); margin: 0 0 28px; text-wrap: balance; }
.contact-hero__lede { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--on-cream); margin: 0; max-width: 56ch; text-wrap: pretty; }

/* DIRECT LINES CARTOUCHE */
.contact-lines { background: var(--cream-2); border: 1px solid var(--cream-line); padding: 36px 36px 32px; position: relative; }
.contact-lines__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; }
.contact-lines__rule { height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); opacity: 0.7; margin: 0 -8px 24px; }
.contact-lines__rule--bot { margin: 28px -8px 20px; }
.contact-lines__row { padding: 14px 0; border-bottom: 1px dashed var(--cream-line); }
.contact-lines__row:last-of-type { border-bottom: 0; }
.contact-lines__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted-cream); margin-bottom: 6px; }
.contact-lines__val { font-family: var(--font-body); font-weight: 500; font-size: 16px; color: var(--ink); margin-bottom: 4px; font-variant-numeric: tabular-nums lining-nums; }
.contact-lines__val a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--gold); transition: border-color 200ms ease, color 200ms ease; }
.contact-lines__val a:hover { color: var(--gold-deep); border-color: var(--gold-deep); }
.contact-lines__sub { font-family: var(--font-body); font-size: 12px; color: var(--muted-cream); line-height: 1.5; }
.contact-lines__office { display: flex; gap: 24px; align-items: flex-start; }
.contact-lines__office-name { font-family: var(--font-display); font-weight: 500; font-size: 18px; color: var(--ink); flex: 1; }
.contact-lines__office-addr { font-family: var(--font-body); font-size: 13px; color: var(--muted-cream); line-height: 1.55; text-align: right; flex: 1; }

/* FORM SECTION */
.contact-form-sec { background: var(--cream-2); padding: 96px 0 112px; border-bottom: 1px solid var(--cream-line); }
.contact-form-sec__inner { max-width: 920px; margin: 0 auto; padding: 0 48px; }
.contact-form-sec__head { margin-bottom: 56px; text-align: center; }
.contact-form-sec__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 18px; }
.contact-form-sec__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 16px; text-wrap: balance; }
.contact-form-sec__sub { font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: var(--on-cream); margin: 0 auto; max-width: 56ch; text-wrap: pretty; }

.contact-form { display: flex; flex-direction: column; gap: 36px; }
.contact-form__row { display: grid; gap: 28px 24px; }
.contact-form__row--3 { grid-template-columns: repeat(3, 1fr); }
.contact-form__row--2 { grid-template-columns: 1fr 1fr; align-items: end; gap: 32px; }
.contact-form__row--1 { grid-template-columns: 1fr; }
@media (max-width: 720px) { .contact-form__row--3, .contact-form__row--2 { grid-template-columns: 1fr; } }

.contact-field { display: flex; flex-direction: column; gap: 10px; position: relative; }
.contact-field__label { font-family: var(--font-body); font-weight: 500; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-deep); }
.req { color: var(--gold-deep); margin-left: 2px; }
.contact-field__input,
.contact-field__textarea,
.contact-field__select {
  font-family: var(--font-body); font-weight: 400; font-size: 15px; color: var(--ink);
  background: transparent; border: 0; border-bottom: 1px solid var(--cream-line);
  padding: 10px 0 12px; outline: none; transition: border-bottom-color 220ms ease;
  border-radius: 0; appearance: none; -webkit-appearance: none;
}
.contact-field__textarea { resize: vertical; min-height: 140px; line-height: 1.55; padding-top: 14px; }
.contact-field__select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23C9A961' stroke-width='1.25' fill='none' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat; background-position: right 4px center; padding-right: 28px;
}
.contact-field__input:focus,
.contact-field__textarea:focus,
.contact-field__select:focus { border-bottom-color: var(--gold); }
.contact-field__input::placeholder,
.contact-field__textarea::placeholder { color: var(--muted-cream); opacity: 0.7; }
.contact-field__error { font-family: var(--font-body); font-size: 12px; color: #B91C1C; min-height: 1em; letter-spacing: 0.01em; }
.contact-field__counter { font-family: var(--font-body); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-cream); text-align: right; margin-top: -4px; font-variant-numeric: tabular-nums lining-nums; }
.contact-field__counter .num { font-variant-numeric: tabular-nums lining-nums; }

/* DOC PILLS */
.contact-docs { margin-top: 8px; max-height: 0; opacity: 0; overflow: hidden; transition: max-height 360ms ease, opacity 280ms ease, margin-top 280ms ease; }
.contact-docs.is-open { max-height: 220px; opacity: 1; margin-top: 16px; }
.contact-docs__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 12px; }
.contact-docs__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.contact-docs__pill { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--on-cream); background: transparent; border: 1px solid var(--cream-line); padding: 9px 14px; cursor: pointer; transition: border-color 200ms ease, background 200ms ease, color 200ms ease, transform 200ms ease; border-radius: 2px; }
.contact-docs__pill:hover { border-color: var(--gold); transform: translateY(-1px); }
.contact-docs__pill[aria-pressed="true"] { border-color: var(--gold); background: var(--cream); color: var(--gold-deep); }

/* NDA CHECKBOX */
.contact-nda { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; padding-top: 24px; }
.contact-nda input[type="checkbox"] { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; border: 1px solid var(--gold); background: transparent; cursor: pointer; flex: none; margin-top: 2px; transition: background 200ms ease; border-radius: 2px; position: relative; }
.contact-nda input[type="checkbox"]:checked { background: var(--gold-deep); border-color: var(--gold-deep); }
.contact-nda input[type="checkbox"]:checked::after { content: ""; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.contact-nda__lbl { font-family: var(--font-body); font-size: 14px; line-height: 1.55; color: var(--on-cream); }

.contact-form__submit-row { display: flex; align-items: center; gap: 24px; padding-top: 16px; flex-wrap: wrap; }
.contact-form__support { font-family: var(--font-body); font-size: 13px; color: var(--muted-cream); margin: 0; letter-spacing: 0.01em; }

/* WHAT HAPPENS NEXT */
.contact-next { background: var(--cream); padding: 96px 0 112px; border-bottom: 1px solid var(--cream-line); }
.contact-next__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.contact-next__head { margin-bottom: 64px; max-width: 720px; }
.contact-next__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 18px; }
.contact-next__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: var(--ink); margin: 0; text-wrap: balance; }
.contact-next__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
@media (max-width: 900px) { .contact-next__grid { grid-template-columns: 1fr; gap: 32px; } }
.contact-next__col { padding: 32px 0 0; border-top: 1px solid var(--gold); }
.contact-next__phase { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.contact-next__phase .num { font-variant-numeric: tabular-nums lining-nums; }
.contact-next__title { font-family: var(--font-display); font-weight: 500; font-size: 28px; line-height: 1.15; color: var(--ink); margin: 0 0 14px; text-wrap: balance; }
.contact-next__body { font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--on-cream); margin: 0; max-width: 38ch; text-wrap: pretty; }

/* RESPONSE TIMES (DARK) */
.contact-hours { padding: 96px 0 112px; }
.contact-hours__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.contact-hours__head { margin-bottom: 64px; max-width: 720px; }
.contact-hours__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.contact-hours__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: #fff; margin: 0; text-wrap: balance; }
.contact-hours__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 900px) { .contact-hours__grid { grid-template-columns: 1fr; gap: 24px; } }
.contact-hours__tile { background: rgba(255,255,255,0.03); border: 1px solid rgba(201,169,97,0.25); padding: 40px 32px 36px; position: relative; }
.contact-hours__num { font-family: var(--font-display); font-weight: 500; font-size: 88px; line-height: 1; color: var(--gold); letter-spacing: -0.02em; margin-bottom: 16px; font-variant-numeric: tabular-nums lining-nums; display: flex; align-items: baseline; gap: 4px; }
.contact-hours__num sub { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.18em; color: rgba(201,169,97,0.7); margin-left: 8px; vertical-align: 0; align-self: flex-end; padding-bottom: 14px; font-weight: 500; }
.contact-hours__num span { font-variant-numeric: tabular-nums lining-nums; }
.contact-hours__sub { font-family: var(--font-body); font-size: 14px; line-height: 1.55; color: rgba(255,255,255,0.7); margin: 0 0 24px; }
.contact-hours__lbl { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); padding-top: 16px; border-top: 1px solid rgba(201,169,97,0.25); }

/* FINAL CTA (FOREST) */
.contact-final { background: var(--accent); color: #fff; padding: 120px 0; position: relative; overflow: hidden; }
.contact-final::before { content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 720px; height: 480px; background: radial-gradient(ellipse at center, var(--gold-glow) 0%, transparent 60%); pointer-events: none; }
.contact-final__inner { max-width: 760px; margin: 0 auto; padding: 0 48px; text-align: center; position: relative; z-index: 2; }
.contact-final__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; }
.contact-final__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(40px, 5vw, 60px); line-height: 1.04; letter-spacing: -0.015em; color: #fff; margin: 0 0 36px; text-wrap: balance; }


/* =============== /THANK YOU =============== */
.ty-hero { background: var(--cream); color: var(--on-cream); padding: 168px 0 120px; text-align: center; border-bottom: 1px solid var(--cream-line); }
.ty-hero__inner { max-width: 720px; margin: 0 auto; padding: 0 48px; }
.ty-hero__seal { color: var(--gold-deep); margin-bottom: 36px; display: inline-block; }
.ty-hero__seal svg { display: block; }
.ty-hero__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 28px; }
.ty-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(44px, 5.6vw, 72px); line-height: 1.04; letter-spacing: -0.018em; color: var(--ink); margin: 0 0 28px; text-wrap: balance; }
.ty-hero__lede { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--on-cream); margin: 0 auto 48px; max-width: 56ch; text-wrap: pretty; }
.ty-hero__divider { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 auto 28px; opacity: 0.8; max-width: 240px; }
.ty-hero__divider-line { flex: 1; height: 1px; background: var(--gold); }
.ty-hero__divider-dot { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; flex: none; }
.ty-hero__ref { font-family: var(--font-body); font-weight: 500; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted-cream); margin: 0; }
.ty-hero__refnum { color: var(--gold-deep); font-variant-numeric: tabular-nums lining-nums; }

.ty-while { padding: 96px 0 112px; border-bottom: 1px solid var(--cream-line); }
.ty-while__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.ty-while__head { text-align: center; margin-bottom: 64px; }
.ty-while__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 18px; }
.ty-while__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: var(--ink); margin: 0; text-wrap: balance; }
.ty-while__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 900px) { .ty-while__grid { grid-template-columns: 1fr; gap: 24px; } }
.ty-while__card { display: flex; flex-direction: column; gap: 14px; padding: 36px 32px 32px; background: var(--cream); border: 1px solid var(--cream-line); text-decoration: none; color: inherit; transition: transform 280ms ease, border-color 280ms ease, box-shadow 280ms ease; min-height: 260px; }
.ty-while__card:hover { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 16px 40px rgba(13,74,61,0.06); }
.ty-while__num { font-family: var(--font-display); font-weight: 500; font-size: 36px; line-height: 1; color: var(--gold); letter-spacing: -0.01em; margin-bottom: 12px; font-variant-numeric: tabular-nums lining-nums; }
.ty-while__title { font-family: var(--font-display); font-weight: 500; font-size: 26px; line-height: 1.15; color: var(--ink); margin: 0; text-wrap: balance; }
.ty-while__body { font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--on-cream); margin: 0; flex: 1; text-wrap: pretty; }
.ty-while__cta { font-family: var(--font-body); font-weight: 500; font-size: 14px; color: var(--gold-deep); border-bottom: 1px solid var(--gold); padding-bottom: 4px; align-self: flex-start; transition: transform 220ms ease, color 220ms ease, border-color 220ms ease; }
.ty-while__card:hover .ty-while__cta { transform: translateX(2px); color: var(--ink); border-color: var(--ink); }

.ty-final { background: var(--accent); color: #fff; padding: 120px 0; position: relative; overflow: hidden; }
.ty-final::before { content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 720px; height: 480px; background: radial-gradient(ellipse at center, var(--gold-glow) 0%, transparent 60%); pointer-events: none; }
.ty-final__inner { max-width: 720px; margin: 0 auto; padding: 0 48px; text-align: center; position: relative; z-index: 2; }
.ty-final__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: #fff; margin: 0 0 16px; text-wrap: balance; }
.ty-final__sub { font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0 0 36px; }
.ty-final__sub .num { font-variant-numeric: tabular-nums lining-nums; }


/* =============== /AUDIT =============== */
.aud-hero { background: var(--cream); color: var(--on-cream); padding: 144px 0 96px; border-bottom: 1px solid var(--cream-line); }
.aud-hero__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: start; }
@media (max-width: 1024px) { .aud-hero__inner { grid-template-columns: 1fr; gap: 56px; } }
.aud-hero__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 36px; display: inline-flex; align-items: center; gap: 12px; }
.aud-hero__eyebrow-dot { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; display: inline-block; }
.aud-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(44px, 5.4vw, 72px); line-height: 1.04; letter-spacing: -0.018em; color: var(--ink); margin: 0 0 28px; text-wrap: balance; }
.aud-hero__h1 .num { font-variant-numeric: tabular-nums lining-nums; }
.aud-hero__lede { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--on-cream); margin: 0 0 36px; max-width: 56ch; text-wrap: pretty; }
.aud-hero__bullets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.aud-hero__bullets li { font-family: var(--font-body); font-size: 15px; color: var(--on-cream); display: flex; align-items: baseline; gap: 18px; padding-bottom: 14px; border-bottom: 1px dashed var(--cream-line); }
.aud-hero__bullets li:last-child { border-bottom: 0; }
.aud-hero__bullet-num { font-family: var(--font-display); font-weight: 500; font-size: 22px; color: var(--gold-deep); min-width: 56px; letter-spacing: -0.01em; }
.aud-hero__bullet-num .num { font-variant-numeric: tabular-nums lining-nums; }
.aud-hero__bullets li .num { font-variant-numeric: tabular-nums lining-nums; }

.aud-card { background: var(--cream-2); border: 1px solid var(--cream-line); padding: 36px 36px 32px; }
.aud-card__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 20px; }
.aud-card__rule { height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); opacity: 0.7; margin: 0 -8px 20px; }
.aud-card__rule--bot { margin: 24px -8px 24px; }
.aud-card__list { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.aud-card__row { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px dashed var(--cream-line); align-items: baseline; }
.aud-card__row:last-of-type { border-bottom: 0; }
.aud-card__row dt { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted-cream); margin: 0; }
.aud-card__row dd { font-family: var(--font-body); font-weight: 500; font-size: 15px; color: var(--ink); margin: 0; font-variant-numeric: tabular-nums lining-nums; }
.aud-card__row dd .num { font-variant-numeric: tabular-nums lining-nums; }
.aud-card__btn { width: 100%; justify-content: center; }

.aud-what { padding: 96px 0 112px; border-bottom: 1px solid var(--cream-line); }
.aud-what__inner { max-width: 1320px; margin: 0 auto; padding: 0 48px; }
.aud-what__head { text-align: center; margin-bottom: 64px; max-width: 720px; margin-left: auto; margin-right: auto; }
.aud-what__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 18px; }
.aud-what__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 16px; text-wrap: balance; }
.aud-what__sub { font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: var(--on-cream); margin: 0 auto; max-width: 56ch; text-wrap: pretty; }
.aud-what__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
@media (max-width: 900px) { .aud-what__grid { grid-template-columns: 1fr; gap: 32px; } }
.aud-what__col { padding: 32px 0 0; border-top: 1px solid var(--gold); }
.aud-what__num { font-family: var(--font-display); font-weight: 500; font-size: 36px; line-height: 1; color: var(--gold); letter-spacing: -0.01em; margin-bottom: 20px; font-variant-numeric: tabular-nums lining-nums; }
.aud-what__title { font-family: var(--font-display); font-weight: 500; font-size: 26px; line-height: 1.15; color: var(--ink); margin: 0 0 14px; text-wrap: balance; }
.aud-what__body { font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--on-cream); margin: 0; max-width: 38ch; text-wrap: pretty; }
.aud-what__body .num { font-variant-numeric: tabular-nums lining-nums; }

.aud-agenda { background: var(--cream); padding: 96px 0 112px; border-bottom: 1px solid var(--cream-line); }
.aud-agenda__inner { max-width: 920px; margin: 0 auto; padding: 0 48px; }
.aud-agenda__head { text-align: center; margin-bottom: 56px; }
.aud-agenda__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 18px; }
.aud-agenda__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: var(--ink); margin: 0; text-wrap: balance; }
.aud-agenda__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.aud-agenda__row { display: grid; grid-template-columns: 140px 1fr; gap: 32px; padding: 32px 0; border-bottom: 1px solid var(--cream-line); align-items: start; }
.aud-agenda__row:last-of-type { border-bottom: 0; }
@media (max-width: 720px) { .aud-agenda__row { grid-template-columns: 1fr; gap: 12px; padding: 28px 0; } }
.aud-agenda__time { font-family: var(--font-display); font-weight: 500; font-size: 32px; line-height: 1; color: var(--gold-deep); letter-spacing: -0.015em; font-variant-numeric: tabular-nums lining-nums; padding-top: 4px; }
.aud-agenda__time .num { font-variant-numeric: tabular-nums lining-nums; }
.aud-agenda__body h3 { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1.18; color: var(--ink); margin: 0 0 10px; text-wrap: balance; }
.aud-agenda__body p { font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--on-cream); margin: 0; max-width: 52ch; text-wrap: pretty; }

.aud-form-sec { background: var(--cream-2); padding: 96px 0 112px; border-bottom: 1px solid var(--cream-line); }
.aud-form-sec__inner { max-width: 920px; margin: 0 auto; padding: 0 48px; }
.aud-form-sec__head { text-align: center; margin-bottom: 56px; }
.aud-form-sec__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 18px; }
.aud-form-sec__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 16px; text-wrap: balance; }
.aud-form-sec__sub { font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: var(--on-cream); margin: 0 auto; max-width: 56ch; text-wrap: pretty; }
.aud-form-sec__sub .num { font-variant-numeric: tabular-nums lining-nums; }
.aud-form { display: flex; flex-direction: column; gap: 36px; }
.aud-form__row { display: grid; gap: 28px 24px; }
.aud-form__row--3 { grid-template-columns: repeat(3, 1fr); }
.aud-form__row--1 { grid-template-columns: 1fr; }
@media (max-width: 720px) { .aud-form__row--3 { grid-template-columns: 1fr; } }

/* TIME PILLS */
.aud-times { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 4px; }
@media (max-width: 720px) { .aud-times { grid-template-columns: repeat(2, 1fr); } }
.aud-times__pill { font-family: var(--font-body); font-weight: 500; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--on-cream); background: var(--cream); border: 1px solid var(--cream-line); padding: 12px 8px; cursor: pointer; transition: border-color 200ms ease, background 200ms ease, color 200ms ease, transform 200ms ease; border-radius: 2px; text-align: center; }
.aud-times__pill:hover { border-color: var(--gold); transform: translateY(-1px); }
.aud-times__pill[aria-pressed="true"] { border-color: var(--gold-deep); background: var(--gold-deep); color: #fff; }

/* FAQ (DARK) */
.aud-faq { padding: 96px 0 120px; }
.aud-faq__inner { max-width: 920px; margin: 0 auto; padding: 0 48px; }
.aud-faq__head { text-align: center; margin-bottom: 56px; }
.aud-faq__eyebrow { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.aud-faq__h { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.05; letter-spacing: -0.015em; color: #fff; margin: 0; text-wrap: balance; }
.aud-faq__list { display: flex; flex-direction: column; gap: 0; border-top: 1px solid rgba(201,169,97,0.25); }
.aud-faq__item { border-bottom: 1px solid rgba(201,169,97,0.25); }
.aud-faq__item summary { list-style: none; cursor: pointer; padding: 28px 48px 28px 0; font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1.25; color: #fff; position: relative; transition: color 220ms ease; text-wrap: balance; }
.aud-faq__item summary::-webkit-details-marker { display: none; }
.aud-faq__item summary:hover { color: var(--gold); }
.aud-faq__plus { position: absolute; right: 8px; top: 50%; width: 14px; height: 14px; transform: translateY(-50%); transition: transform 280ms ease; }
.aud-faq__plus::before, .aud-faq__plus::after { content: ''; position: absolute; background: var(--gold); }
.aud-faq__plus::before { top: 50%; left: 0; right: 0; height: 1px; transform: translateY(-50%); }
.aud-faq__plus::after { left: 50%; top: 0; bottom: 0; width: 1px; transform: translateX(-50%); transition: transform 280ms ease; }
.aud-faq__item[open] .aud-faq__plus::after { transform: translateX(-50%) scaleY(0); }
.aud-faq__body { padding: 0 48px 32px 0; }
.aud-faq__body p { font-family: var(--font-body); font-size: 15px; line-height: 1.65; color: rgba(255,255,255,0.78); margin: 0; max-width: 64ch; text-wrap: pretty; }

/* fade-up baseline (contact / thank-you / audit) */
.contact-form-sec .fade-up, .contact-next .fade-up, .contact-hours .fade-up,
.ty-while .fade-up,
.aud-what .fade-up, .aud-agenda .fade-up, .aud-form-sec .fade-up, .aud-faq .fade-up {
  opacity: 0; transform: translateY(16px);
  transition: opacity 700ms cubic-bezier(0.4,0,0.2,1), transform 700ms cubic-bezier(0.4,0,0.2,1);
}
.contact-form-sec .fade-up.in, .contact-next .fade-up.in, .contact-hours .fade-up.in,
.ty-while .fade-up.in,
.aud-what .fade-up.in, .aud-agenda .fade-up.in, .aud-form-sec .fade-up.in, .aud-faq .fade-up.in {
  opacity: 1; transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .contact-form-sec .fade-up, .contact-next .fade-up, .contact-hours .fade-up,
  .ty-while .fade-up,
  .aud-what .fade-up, .aud-agenda .fade-up, .aud-form-sec .fade-up, .aud-faq .fade-up {
    opacity: 1; transform: none; transition: none;
  }
}

/* shared .num utility (in case missing) */
.num { font-variant-numeric: tabular-nums lining-nums; }

/* btn-cream (on dark) */
.btn-cream { display: inline-flex; align-items: center; gap: 10px; background: var(--cream); color: var(--ink); border: 1px solid var(--gold); padding: 14px 28px; font-family: var(--font-body); font-weight: 500; font-size: 14px; letter-spacing: 0.04em; text-decoration: none; border-radius: 2px; transition: background 220ms ease, transform 220ms ease, border-color 220ms ease; }
.btn-cream:hover { background: #fff; transform: translateY(-1px); border-color: var(--gold-h); }
.btn-cream .arrow { transition: transform 220ms ease; }
.btn-cream:hover .arrow { transform: translateX(3px); }


/* =========================================================
   PRACTICE PAGES — Marketing (.pm-), Talent (.pt-), Engineering (.pe-)
   Shared editorial vocabulary; per-practice scoping below.
   ========================================================= */

/* ---------- HERO (shared 7/5 split) ---------- */
.pm-hero, .pt-hero, .pe-hero {
  background: var(--cream);
  padding: 144px 0 96px;
  position: relative;
  border-bottom: 1px solid rgba(20,30,30,0.08);
}
.pm-hero__inner, .pt-hero__inner, .pe-hero__inner {
  max-width: 1280px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 7fr 5fr; gap: 96px; align-items: start;
}
.pm-hero__eyebrow, .pt-hero__eyebrow, .pe-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--font-body); font-weight: 500; font-size: 12px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 32px;
}
.pm-hero__eyebrow-dot, .pt-hero__eyebrow-dot, .pe-hero__eyebrow-dot {
  width: 6px; height: 6px; background: var(--gold); border-radius: 50%;
}
.pm-hero__h1, .pt-hero__h1, .pe-hero__h1 {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(56px, 6.6vw, 88px); line-height: 0.98; letter-spacing: -0.025em;
  color: var(--ink); margin: 0 0 28px; text-wrap: balance;
}
.pm-hero__lede, .pt-hero__lede, .pe-hero__lede {
  font-family: var(--font-body); font-size: 19px; line-height: 1.55;
  color: var(--muted-ink); margin: 0 0 40px; max-width: 56ch; text-wrap: pretty;
}
.pm-hero__cta-row, .pt-hero__cta-row, .pe-hero__cta-row {
  display: flex; align-items: center; gap: 28px; flex-wrap: wrap;
}

/* ---------- HERO STRIP / ROLES / TOOLS (right rail) ---------- */
.pm-hero__strip, .pt-hero__roles, .pe-hero__tools {
  background: var(--cream-2);
  border: 1px solid rgba(20,30,30,0.08);
  border-radius: 4px;
  padding: 28px 28px 24px;
}
.pm-strip__head, .pt-roles__head, .pe-tools__head {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 500;
}
.pm-strip__head-l, .pt-roles__head-l, .pe-tools__head-l { color: var(--ink); }
.pm-strip__rule, .pt-roles__rule, .pe-tools__rule {
  height: 1px; background: var(--gold); margin: 14px 0 18px; opacity: 0.6;
}
.pm-strip__row, .pt-roles__row, .pe-tools__row {
  padding: 14px 0; border-top: 1px solid rgba(20,30,30,0.07);
}
.pm-strip__row:first-of-type, .pt-roles__row:first-of-type, .pe-tools__row:first-of-type { border-top: 0; padding-top: 0; }
.pm-strip__tag, .pt-roles__tag, .pe-tools__tag {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--accent); font-weight: 600; margin-bottom: 8px;
}
.pm-strip__metric {
  font-family: var(--font-display); font-weight: 500; font-size: 17px;
  color: var(--ink); letter-spacing: -0.005em; margin-bottom: 4px;
}
.pm-strip__sub {
  font-family: var(--font-body); font-size: 13px; color: var(--muted-ink); line-height: 1.5;
}
.pm-strip__sub .num { font-feature-settings: "tnum"; color: var(--ink); font-weight: 500; }
.pe-tools__list {
  font-family: var(--font-body); font-size: 13.5px; line-height: 1.55;
  color: var(--muted-ink);
}
.pt-roles__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pt-chip {
  display: inline-block; padding: 5px 10px;
  font-family: var(--font-body); font-size: 12px; color: var(--ink);
  background: var(--cream); border: 1px solid rgba(20,30,30,0.1);
  border-radius: 999px;
}

/* ---------- num utility (scoped reinforcement) ---------- */
.pm-hero .num, .pt-hero .num, .pe-hero .num,
.pm-caps .num, .pt-eor .num, .pt-cert .num, .pt-bench .num, .pt-shop .num,
.pe-stack .num, .pe-own .num, .pe-shop .num, .pm-shop .num {
  font-feature-settings: "tnum"; font-variant-numeric: tabular-nums;
}

/* ---------- MARKETING · SIX CAPABILITIES ---------- */
.pm-caps { padding: 128px 0; }
.pm-caps__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pm-caps__head { max-width: 720px; margin: 0 0 64px; }
.pm-caps__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 20px;
}
.pm-caps__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(36px, 4vw, 52px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0 0 18px; text-wrap: balance;
}
.pm-caps__sub {
  font-family: var(--font-body); font-size: 17px; line-height: 1.6;
  color: var(--muted-ink); margin: 0; max-width: 64ch;
}
.pm-caps__table {
  border-top: 1px solid rgba(20,30,30,0.12);
}
.pm-caps__thead, .pm-caps__row {
  display: grid;
  grid-template-columns: 80px 1.2fr 2.2fr;
  gap: 32px;
  padding: 22px 8px;
  border-bottom: 1px solid rgba(20,30,30,0.07);
  align-items: baseline;
}
.pm-caps__thead {
  border-bottom: 1px solid rgba(20,30,30,0.16);
  padding-top: 14px; padding-bottom: 14px;
}
.pm-caps__th {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 500;
}
.pm-caps__num {
  font-family: var(--font-display); font-weight: 500; font-size: 22px;
  color: var(--gold); letter-spacing: -0.01em;
}
.pm-caps__name {
  font-family: var(--font-display); font-weight: 500; font-size: 24px;
  color: var(--ink); letter-spacing: -0.01em;
}
.pm-caps__expr {
  font-family: var(--font-body); font-size: 16px; line-height: 1.55;
  color: var(--muted-ink);
}
.pm-caps__row:hover { background: rgba(20,30,30,0.02); }

/* ---------- MARKETING · SHOWCASE GRID ---------- */
.pm-shop, .pt-shop, .pe-shop { padding: 128px 0; }
.pm-shop__inner, .pt-shop__inner, .pe-shop__inner {
  max-width: 1280px; margin: 0 auto; padding: 0 48px;
}
.pm-shop__head, .pt-shop__head, .pe-shop__head { margin-bottom: 56px; }
.pm-shop__eyebrow, .pt-shop__eyebrow, .pe-shop__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 18px;
}
.pm-shop__h, .pt-shop__h, .pe-shop__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(34px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0; text-wrap: balance;
}
.pm-shop__grid, .pt-shop__grid, .pe-shop__grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;
}
.pm-shop__card, .pt-shop__card, .pe-shop__card {
  display: block; padding: 36px 36px 32px;
  background: var(--cream-2); border: 1px solid rgba(20,30,30,0.08);
  border-radius: 4px; text-decoration: none;
  transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out), border-color 200ms;
  position: relative;
}
.pm-shop__card:hover, .pt-shop__card:hover, .pe-shop__card:hover {
  transform: translateY(-2px); box-shadow: var(--shadow-2);
  border-color: rgba(20,30,30,0.16);
}
.pm-shop__tag, .pt-shop__tag, .pe-shop__tag {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--accent); font-weight: 600; margin-bottom: 18px;
}
.pm-shop__metric, .pt-shop__metric, .pe-shop__metric {
  font-family: var(--font-display); font-weight: 500;
  font-size: 28px; line-height: 1.15; letter-spacing: -0.012em;
  color: var(--ink); margin: 0 0 14px;
}
.pm-shop__proof, .pt-shop__proof, .pe-shop__proof {
  font-family: var(--font-body); font-size: 14.5px; line-height: 1.55;
  color: var(--muted-ink); margin: 0 0 24px;
}
.pm-shop__cta, .pt-shop__cta, .pe-shop__cta {
  font-family: var(--font-display); font-weight: 500; font-size: 16px;
  color: var(--accent); display: inline-flex; align-items: center; gap: 10px;
  border-bottom: 1px solid transparent; transition: border-color 200ms;
}
.pm-shop__card:hover .pm-shop__cta,
.pt-shop__card:hover .pt-shop__cta,
.pe-shop__card:hover .pe-shop__cta { border-bottom-color: var(--accent); }

/* ---------- PULL-QUOTE BLOCKS (Marketing/Talent/Engineering) ---------- */
.pm-quote, .pt-eor, .pe-phil { padding: 128px 0; }
.pm-quote__inner, .pt-eor__inner, .pe-phil__inner {
  max-width: 1280px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 5fr 7fr; gap: 96px; align-items: start;
}
.pm-quote__pull, .pt-eor__pull, .pe-phil__pull { position: sticky; top: 96px; }
.pm-quote__rule, .pt-eor__rule, .pe-phil__rule {
  width: 56px; height: 2px; background: var(--gold); margin-bottom: 24px;
}
.pm-quote__pq, .pt-eor__pq, .pe-phil__pq {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(28px, 2.8vw, 38px); line-height: 1.18; letter-spacing: -0.012em;
  color: var(--ink); margin: 0 0 20px; text-wrap: balance;
}
.pm-quote__attr, .pt-eor__attr, .pe-phil__attr {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 500;
}
.pm-quote__lead, .pt-eor__lead, .pe-phil__lead {
  font-family: var(--font-display); font-weight: 500;
  font-size: 24px; line-height: 1.35; letter-spacing: -0.01em;
  color: var(--ink); margin: 0 0 24px;
}
.pm-quote__body p, .pt-eor__body p, .pe-phil__body p {
  font-family: var(--font-body); font-size: 17px; line-height: 1.65;
  color: var(--muted-ink); margin: 0 0 18px; text-wrap: pretty;
}
.pm-quote__body p:last-child, .pt-eor__body p:last-child, .pe-phil__body p:last-child { margin-bottom: 0; }

/* ---------- METHODOLOGY (Marketing) ---------- */
.pm-meth { padding: 128px 0; }
.pm-meth__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pm-meth__head { margin-bottom: 56px; max-width: 720px; }
.pm-meth__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 18px;
}
.pm-meth__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(34px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0; text-wrap: balance;
}
.pm-meth__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.pm-meth__col {
  padding: 36px 32px;
  background: var(--cream-2); border: 1px solid rgba(20,30,30,0.08);
  border-radius: 4px; position: relative;
}
.pm-meth__numeral {
  font-family: var(--font-display); font-weight: 500; font-size: 56px;
  color: var(--gold); line-height: 1; margin-bottom: 16px; letter-spacing: -0.02em;
}
.pm-meth__days {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 600; margin-bottom: 14px;
}
.pm-meth__title {
  font-family: var(--font-display); font-weight: 500; font-size: 24px;
  color: var(--ink); letter-spacing: -0.01em; margin: 0 0 14px;
}
.pm-meth__body {
  font-family: var(--font-body); font-size: 15.5px; line-height: 1.6;
  color: var(--muted-ink); margin: 0 0 22px;
}
.pm-meth__list {
  list-style: none; margin: 0; padding: 22px 0 0;
  border-top: 1px solid rgba(20,30,30,0.08);
}
.pm-meth__list li {
  font-family: var(--font-body); font-size: 14.5px; line-height: 1.5;
  color: var(--ink); padding: 8px 0 8px 18px; position: relative;
}
.pm-meth__list li::before {
  content: ''; position: absolute; left: 0; top: 16px;
  width: 6px; height: 1px; background: var(--gold);
}

/* ---------- TALENT · TILES ---------- */
.pt-tiles {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
  margin-top: 32px;
  border-top: 1px solid rgba(20,30,30,0.08); padding-top: 28px;
}
.pt-tile { padding: 4px 0; }
.pt-tile__num {
  font-family: var(--font-display); font-weight: 500;
  font-size: 32px; line-height: 1.05; color: var(--ink);
  letter-spacing: -0.015em; margin-bottom: 6px;
  font-feature-settings: "tnum"; font-variant-numeric: tabular-nums;
}
.pt-tile__num--word { font-style: italic; color: var(--accent); }
.pt-tile__sub {
  font-family: var(--font-body); font-size: 13px; color: var(--muted-ink);
  font-weight: 400; font-style: normal;
  font-feature-settings: normal;
}
.pt-tile__lbl {
  font-family: var(--font-body); font-size: 12px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--muted-ink);
}

/* ---------- TALENT · CERTIFICATION CARDS ---------- */
.pt-cert { padding: 128px 0; }
.pt-cert__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pt-cert__head { margin-bottom: 56px; max-width: 720px; }
.pt-cert__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 18px;
}
.pt-cert__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(34px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0; text-wrap: balance;
}
.pt-cert__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.pt-cert__card {
  padding: 32px 28px;
  background: var(--cream); border: 1px solid rgba(20,30,30,0.08);
  border-radius: 4px;
}
.pt-cert__tag {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--accent); font-weight: 600; margin-bottom: 16px;
}
.pt-cert__count {
  font-family: var(--font-display); font-weight: 500; font-size: 28px;
  color: var(--ink); letter-spacing: -0.01em; margin: 0 0 18px;
}
.pt-cert__count .num { font-feature-settings: "tnum"; color: var(--gold); }
.pt-cert__list {
  list-style: none; margin: 0; padding: 18px 0 0;
  border-top: 1px solid rgba(20,30,30,0.08);
}
.pt-cert__list li {
  font-family: var(--font-body); font-size: 14px; line-height: 1.5;
  color: var(--ink); padding: 7px 0 7px 16px; position: relative;
}
.pt-cert__list li::before {
  content: ''; position: absolute; left: 0; top: 14px;
  width: 6px; height: 1px; background: var(--gold);
}

/* ---------- TALENT · BENCH TABLE ---------- */
.pt-bench, .pe-own { padding: 128px 0; }
.pt-bench__inner, .pe-own__inner {
  max-width: 1280px; margin: 0 auto; padding: 0 48px;
}
.pt-bench__head, .pe-own__head { margin-bottom: 48px; max-width: 720px; }
.pt-bench__eyebrow, .pe-own__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 18px;
}
.pt-bench__h, .pe-own__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(34px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0; text-wrap: balance;
}
.pt-bench__table, .pe-own__table {
  border-top: 1px solid rgba(20,30,30,0.12);
}
.pt-bench__thead, .pt-bench__row,
.pe-own__thead, .pe-own__row {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1.4fr;
  gap: 32px;
  padding: 22px 8px;
  border-bottom: 1px solid rgba(20,30,30,0.07);
  align-items: baseline;
}
.pt-bench__thead, .pe-own__thead {
  border-bottom: 1px solid rgba(20,30,30,0.16);
  padding-top: 14px; padding-bottom: 14px;
}
.pt-bench__th, .pe-own__th {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 500;
}
.pt-bench__dim, .pe-own__dim {
  font-family: var(--font-body); font-size: 14px; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 600;
}
.pt-bench__promise, .pe-own__pos {
  font-family: var(--font-display); font-weight: 500; font-size: 19px;
  color: var(--ink); letter-spacing: -0.005em;
}
.pt-bench__mech, .pe-own__why {
  font-family: var(--font-body); font-size: 15px; line-height: 1.55;
  color: var(--muted-ink);
}

/* ---------- ENGINEERING · STACK ---------- */
.pe-stack { padding: 128px 0; }
.pe-stack__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pe-stack__head { margin-bottom: 56px; max-width: 720px; }
.pe-stack__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 18px;
}
.pe-stack__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(34px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0; text-wrap: balance;
}
.pe-stack__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.pe-stack__card {
  padding: 32px 28px;
  background: var(--cream-2); border: 1px solid rgba(20,30,30,0.08);
  border-radius: 4px;
}
.pe-stack__tag {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--accent); font-weight: 600; margin-bottom: 16px;
}
.pe-stack__title {
  font-family: var(--font-display); font-weight: 500; font-size: 22px;
  color: var(--ink); letter-spacing: -0.01em; margin: 0 0 14px;
}
.pe-stack__body {
  font-family: var(--font-body); font-size: 14.5px; line-height: 1.6;
  color: var(--muted-ink); margin: 0;
}

/* ---------- FINAL CTA (shared, forest accent) ---------- */
.pm-final, .pt-final, .pe-final {
  background: var(--accent); color: #fff;
  padding: 128px 0; position: relative; overflow: hidden;
}
.pm-final::before, .pt-final::before, .pe-final::before {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(1280px, calc(100% - 96px)); height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.pm-final__inner, .pt-final__inner, .pe-final__inner {
  max-width: 980px; margin: 0 auto; padding: 0 48px; text-align: center; position: relative;
}
.pm-final__cartouche, .pt-final__cartouche, .pe-final__cartouche {
  display: inline-flex; align-items: center; gap: 14px; margin-bottom: 28px;
}
.pm-final__cartouche-line, .pt-final__cartouche-line, .pe-final__cartouche-line {
  width: 32px; height: 1px; background: var(--gold);
}
.pm-final__cartouche-dot, .pt-final__cartouche-dot, .pe-final__cartouche-dot {
  width: 5px; height: 5px; background: var(--gold); border-radius: 50%;
}
.pm-final__eyebrow, .pt-final__eyebrow, .pe-final__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 22px;
}
.pm-final__h, .pt-final__h, .pe-final__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 5vw, 64px); line-height: 1.02; letter-spacing: -0.015em;
  color: #fff; margin: 0 0 36px; text-wrap: balance;
}
.pm-final__cta-row, .pt-final__cta-row, .pe-final__cta-row {
  display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap;
}
.btn-cream {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 28px;
  background: var(--cream); color: var(--accent);
  font-family: var(--font-body); font-size: 16px; font-weight: 500;
  border-radius: var(--r-2);
  transition: background 200ms, transform 200ms, color 200ms;
}
.btn-cream:hover { background: #fff; transform: translateY(-1px); }
.pm-final .btn-text, .pt-final .btn-text, .pe-final .btn-text { color: var(--gold); }
.pm-final .btn-text:hover, .pt-final .btn-text:hover, .pe-final .btn-text:hover { color: #fff; border-bottom-color: #fff; }
.pm-final__ghost, .pt-final__ghost, .pe-final__ghost {
  font-family: var(--font-display); font-weight: 500; font-size: 16px;
  border-bottom: 1px solid transparent; padding-bottom: 2px;
}

/* ---------- PRACTICE PAGES — fade-up baseline ---------- */
.pm-hero .fade-up, .pm-caps .fade-up, .pm-shop .fade-up,
.pm-quote .fade-up, .pm-meth .fade-up, .pm-final .fade-up,
.pt-hero .fade-up, .pt-eor .fade-up, .pt-cert .fade-up,
.pt-bench .fade-up, .pt-shop .fade-up, .pt-final .fade-up,
.pe-hero .fade-up, .pe-phil .fade-up, .pe-stack .fade-up,
.pe-own .fade-up, .pe-shop .fade-up, .pe-final .fade-up {
  opacity: 0; transform: translateY(16px);
  transition: opacity 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)),
              transform 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
.pm-hero .fade-up.in, .pm-caps .fade-up.in, .pm-shop .fade-up.in,
.pm-quote .fade-up.in, .pm-meth .fade-up.in, .pm-final .fade-up.in,
.pt-hero .fade-up.in, .pt-eor .fade-up.in, .pt-cert .fade-up.in,
.pt-bench .fade-up.in, .pt-shop .fade-up.in, .pt-final .fade-up.in,
.pe-hero .fade-up.in, .pe-phil .fade-up.in, .pe-stack .fade-up.in,
.pe-own .fade-up.in, .pe-shop .fade-up.in, .pe-final .fade-up.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .pm-hero .fade-up, .pm-caps .fade-up, .pm-shop .fade-up, .pm-quote .fade-up,
  .pm-meth .fade-up, .pm-final .fade-up, .pt-hero .fade-up, .pt-eor .fade-up,
  .pt-cert .fade-up, .pt-bench .fade-up, .pt-shop .fade-up, .pt-final .fade-up,
  .pe-hero .fade-up, .pe-phil .fade-up, .pe-stack .fade-up, .pe-own .fade-up,
  .pe-shop .fade-up, .pe-final .fade-up { opacity: 1; transform: none; transition: none; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1080px) {
  .pm-hero__inner, .pt-hero__inner, .pe-hero__inner { grid-template-columns: 1fr; gap: 56px; }
  .pm-quote__inner, .pt-eor__inner, .pe-phil__inner { grid-template-columns: 1fr; gap: 40px; }
  .pm-quote__pull, .pt-eor__pull, .pe-phil__pull { position: static; }
  .pm-shop__grid, .pt-shop__grid, .pe-shop__grid { grid-template-columns: 1fr; }
  .pm-meth__grid { grid-template-columns: 1fr; }
  .pt-cert__grid { grid-template-columns: repeat(2, 1fr); }
  .pe-stack__grid { grid-template-columns: repeat(2, 1fr); }
  .pt-tiles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .pm-hero, .pt-hero, .pe-hero { padding: 112px 0 64px; }
  .pm-hero__inner, .pt-hero__inner, .pe-hero__inner { padding: 0 24px; }
  .pm-caps, .pm-shop, .pm-quote, .pm-meth, .pm-final,
  .pt-eor, .pt-cert, .pt-bench, .pt-shop, .pt-final,
  .pe-phil, .pe-stack, .pe-own, .pe-shop, .pe-final { padding: 80px 0; }
  .pm-caps__inner, .pm-shop__inner, .pm-quote__inner, .pm-meth__inner, .pm-final__inner,
  .pt-eor__inner, .pt-cert__inner, .pt-bench__inner, .pt-shop__inner, .pt-final__inner,
  .pe-phil__inner, .pe-stack__inner, .pe-own__inner, .pe-shop__inner, .pe-final__inner { padding: 0 24px; }
  .pm-caps__thead, .pm-caps__row { grid-template-columns: 50px 1fr; gap: 16px; row-gap: 8px; }
  .pm-caps__expr { grid-column: 2; font-size: 14.5px; }
  .pm-caps__th:nth-child(3) { display: none; }
  .pt-bench__thead, .pt-bench__row, .pe-own__thead, .pe-own__row { grid-template-columns: 1fr; gap: 8px; }
  .pt-cert__grid { grid-template-columns: 1fr; }
  .pe-stack__grid { grid-template-columns: 1fr; }
  .pt-tiles { grid-template-columns: 1fr 1fr; gap: 12px; }
}


/* =========================================================
   ENGINEERING PRACTICE — spec-aligned
   .pe-arch / .pe-caps / .pe-comp / .pe-matrix / .pe-build / .pe-shop / .pe-final
   ========================================================= */

/* ---- HERO right-rail: compliance-first architecture diagram ---- */
.pe-arch {
  background: var(--cream-2);
  border: 1px solid rgba(20,30,30,0.08);
  border-radius: 4px;
  padding: 28px 28px 32px;
}
.pe-arch__head {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 500;
}
.pe-arch__head-l { color: var(--ink); }
.pe-arch__rule { height: 1px; background: var(--gold); margin: 14px 0 22px; opacity: 0.6; }
.pe-arch__flow { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.pe-arch__node {
  background: var(--cream); border: 1px solid rgba(20,30,30,0.1);
  border-radius: 4px; padding: 16px 18px; text-align: center;
}
.pe-arch__node--gate {
  background: #fff;
  border-color: var(--gold);
  box-shadow: 0 1px 0 rgba(20,30,30,0.04);
}
.pe-arch__node--ai {
  background: var(--ink); color: #fff; border-color: var(--ink);
}
.pe-arch__node-lbl {
  font-family: var(--font-display); font-weight: 500; font-size: 17px;
  color: inherit; letter-spacing: -0.005em;
}
.pe-arch__node--ai .pe-arch__node-lbl { color: #fff; }
.pe-arch__node-sub {
  font-family: var(--font-body); font-size: 12.5px; line-height: 1.45;
  color: var(--muted-ink); margin-top: 4px;
}
.pe-arch__node--ai .pe-arch__node-sub { color: rgba(255,255,255,0.72); }
.pe-arch__node-tags {
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 10px;
}
.pe-arch__tag {
  display: inline-block; padding: 4px 9px;
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--accent); font-weight: 600;
  background: rgba(45,80,55,0.06);
  border: 1px solid rgba(45,80,55,0.18);
  border-radius: 999px;
}
.pe-arch__tag .num { font-feature-settings: "tnum"; letter-spacing: 0.04em; }
.pe-arch__connector {
  display: flex; flex-direction: column; align-items: center; gap: 0;
  padding: 4px 0;
}
.pe-arch__line {
  width: 1px; height: 18px; background: var(--gold); opacity: 0.7;
}
.pe-arch__caret {
  font-size: 10px; color: var(--gold); line-height: 1; margin-top: -2px;
}

/* ---- SECTION 03 · Three Capabilities ---- */
.pe-caps { padding: 128px 0; }
.pe-caps__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pe-caps__head { margin-bottom: 56px; max-width: 720px; }
.pe-caps__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 18px;
}
.pe-caps__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(34px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0; text-wrap: balance;
}
.pe-caps__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pe-caps__card {
  padding: 36px 32px;
  background: var(--cream); border: 1px solid rgba(20,30,30,0.08);
  border-radius: 4px;
}
.pe-caps__num {
  font-family: var(--font-display); font-weight: 500; font-size: 36px;
  color: var(--gold); line-height: 1; letter-spacing: -0.015em; margin-bottom: 18px;
}
.pe-caps__num .num { font-feature-settings: "tnum"; }
.pe-caps__title {
  font-family: var(--font-display); font-weight: 500; font-size: 26px;
  color: var(--ink); letter-spacing: -0.012em; margin: 0 0 14px;
}
.pe-caps__lede {
  font-family: var(--font-body); font-size: 15.5px; line-height: 1.6;
  color: var(--muted-ink); margin: 0 0 22px;
}
.pe-caps__list {
  list-style: none; margin: 0; padding: 22px 0 0;
  border-top: 1px solid rgba(20,30,30,0.08);
}
.pe-caps__list li {
  font-family: var(--font-body); font-size: 14.5px; line-height: 1.5;
  color: var(--ink); padding: 8px 0 8px 18px; position: relative;
}
.pe-caps__list li::before {
  content: ''; position: absolute; left: 0; top: 16px;
  width: 6px; height: 1px; background: var(--gold);
}

/* ---- SECTION 04 · Compliance-First (5/7 pull-quote) ---- */
.pe-comp { padding: 128px 0; }
.pe-comp__inner {
  max-width: 1280px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 5fr 7fr; gap: 96px; align-items: start;
}
.pe-comp__pull { position: sticky; top: 96px; }
.pe-comp__rule { width: 56px; height: 2px; background: var(--gold); margin-bottom: 24px; }
.pe-comp__pq {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(28px, 2.8vw, 38px); line-height: 1.18; letter-spacing: -0.012em;
  color: var(--ink); margin: 0 0 20px; text-wrap: balance;
}
.pe-comp__attr {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 500;
}
.pe-comp__lead {
  font-family: var(--font-display); font-weight: 500;
  font-size: 24px; line-height: 1.35; letter-spacing: -0.01em;
  color: var(--ink); margin: 0 0 24px;
}
.pe-comp__body p {
  font-family: var(--font-body); font-size: 17px; line-height: 1.65;
  color: var(--muted-ink); margin: 0 0 18px; text-wrap: pretty;
}
.pe-comp__body p:last-child { margin-bottom: 0; }
.pe-comp__body .num { font-feature-settings: "tnum"; color: var(--ink); font-weight: 500; }

/* ---- SECTION 05 · Industry Application Matrix ---- */
.pe-matrix { padding: 128px 0; }
.pe-matrix__inner { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.pe-matrix__head { margin-bottom: 48px; max-width: 720px; }
.pe-matrix__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 18px;
}
.pe-matrix__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(34px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0; text-wrap: balance;
}
.pe-matrix__table { border-top: 1px solid rgba(20,30,30,0.12); }
.pe-matrix__thead, .pe-matrix__row {
  display: grid;
  grid-template-columns: 1.2fr 1.4fr 1.4fr 1.4fr;
  gap: 28px;
  padding: 22px 8px;
  border-bottom: 1px solid rgba(20,30,30,0.07);
  align-items: baseline;
}
.pe-matrix__thead {
  border-bottom: 1px solid rgba(20,30,30,0.16);
  padding-top: 14px; padding-bottom: 14px;
}
.pe-matrix__th {
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--muted-ink); font-weight: 500;
}
.pe-matrix__ind {
  font-family: var(--font-display); font-weight: 500; font-size: 20px;
  color: var(--ink); letter-spacing: -0.005em;
}
.pe-matrix__cell {
  font-family: var(--font-body); font-size: 15px; line-height: 1.55;
  color: var(--muted-ink);
}
.pe-matrix__row:hover { background: rgba(20,30,30,0.02); }

/* ---- SECTION 06 · Featured Build narrative (single column 800) ---- */
.pe-build { padding: 128px 0; background: var(--cream); }
.pe-build__inner { max-width: 800px; margin: 0 auto; padding: 0 48px; }
.pe-build__head { margin-bottom: 48px; }
.pe-build__kicker {
  font-family: var(--font-body); font-weight: 600; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 14px;
}
.pe-build__attr {
  font-family: var(--font-body); font-size: 13px; color: var(--muted-ink);
  letter-spacing: 0.04em; margin-bottom: 28px;
}
.pe-build__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(36px, 4vw, 52px); line-height: 1.04; letter-spacing: -0.02em;
  color: var(--ink); margin: 0; text-wrap: balance;
}
.pe-build__body { border-top: 1px solid rgba(20,30,30,0.12); padding-top: 32px; }
.pe-build__body p {
  font-family: var(--font-body); font-size: 18px; line-height: 1.7;
  color: var(--ink); margin: 0 0 22px; text-wrap: pretty;
}
.pe-build__body p:last-child { margin-bottom: 0; }
.pe-build__body .num { font-feature-settings: "tnum"; font-weight: 500; }

/* ---- num utility re-scoped for new sections ---- */
.pe-arch .num, .pe-caps .num, .pe-comp .num, .pe-matrix .num, .pe-build .num {
  font-feature-settings: "tnum"; font-variant-numeric: tabular-nums;
}

/* ---- fade-up baseline (extend) ---- */
.pe-arch .fade-up, .pe-caps .fade-up, .pe-comp .fade-up,
.pe-matrix .fade-up, .pe-build .fade-up {
  opacity: 0; transform: translateY(16px);
  transition: opacity 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1)),
              transform 700ms var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
.pe-arch .fade-up.in, .pe-caps .fade-up.in, .pe-comp .fade-up.in,
.pe-matrix .fade-up.in, .pe-build .fade-up.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .pe-arch .fade-up, .pe-caps .fade-up, .pe-comp .fade-up,
  .pe-matrix .fade-up, .pe-build .fade-up { opacity: 1; transform: none; transition: none; }
}

/* ---- responsive ---- */
@media (max-width: 1080px) {
  .pe-comp__inner { grid-template-columns: 1fr; gap: 40px; }
  .pe-comp__pull { position: static; }
  .pe-caps__grid { grid-template-columns: 1fr; }
  .pe-matrix__thead, .pe-matrix__row { grid-template-columns: 1fr; gap: 8px; }
  .pe-matrix__th:not(:first-child) { display: none; }
  .pe-matrix__cell { padding-left: 0; }
}
@media (max-width: 720px) {
  .pe-caps, .pe-comp, .pe-matrix, .pe-build { padding: 80px 0; }
  .pe-caps__inner, .pe-comp__inner, .pe-matrix__inner, .pe-build__inner { padding: 0 24px; }
}


/* =========================================================
   LEGAL / COMPLIANCE PAGES — shared editorial document layout
   Used by SOC2, HIPAA, Privacy, Terms, MSA, BAA
   ========================================================= */

/* ---- HERO ---- */
.legal-hero {
  background: var(--cream);
  padding: 144px 0 56px;
  position: relative;
  border-bottom: 1px solid rgba(20,30,30,0.08);
}
.legal-hero__inner {
  max-width: 800px; margin: 0 auto; padding: 0 48px;
  position: relative;
}
.legal-hero__meta {
  position: absolute; top: 0; right: 48px;
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--muted-ink);
}
.legal-hero__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 28px;
}
.legal-hero__h1 {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(40px, 5vw, 56px); line-height: 1.04; letter-spacing: -0.018em;
  color: var(--ink); margin: 0 0 22px; text-wrap: balance;
}
.legal-hero__lead {
  font-family: var(--font-body); font-size: 18px; line-height: 1.6;
  color: var(--muted-ink); margin: 0 0 36px; max-width: 64ch; text-wrap: pretty;
}
.legal-hero__rule {
  width: 100%; height: 1px;
  background: linear-gradient(90deg, var(--gold), rgba(201,169,97,0));
  margin-top: 4px;
}

/* ---- STATUS BANNER (SOC2, HIPAA only) ---- */
.legal-status {
  background: var(--cream-2); border-top: 1px solid rgba(20,30,30,0.06);
  border-bottom: 1px solid rgba(20,30,30,0.06);
}
.legal-status__inner {
  max-width: 800px; margin: 0 auto; padding: 18px 48px;
  display: flex; align-items: center; gap: 14px;
}
.legal-status__dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold); flex: 0 0 auto;
}
.legal-status__dot--ring {
  background: transparent; border: 1.5px solid var(--gold);
}
.legal-status__lbl {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--ink);
}
.legal-status__lbl .num { font-feature-settings: "tnum"; }

/* ---- DOCUMENT BODY (12-col with sticky TOC) ---- */
.legal-doc { padding: 80px 0 96px; }
.legal-doc__inner {
  max-width: 1200px; margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 3fr 9fr; gap: 64px;
  align-items: start;
}

/* TOC */
.legal-toc {
  position: sticky; top: 96px;
  align-self: start;
  padding-right: 8px;
}
.legal-toc__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--muted-ink); margin-bottom: 16px;
  padding-bottom: 12px; border-bottom: 1px solid rgba(20,30,30,0.08);
}
.legal-toc__list { list-style: none; padding: 0; margin: 0; }
.legal-toc__item { margin: 0; }
.legal-toc__link {
  display: block;
  padding: 10px 14px;
  font-family: var(--font-body); font-weight: 500; font-size: 13px;
  letter-spacing: 0.02em; line-height: 1.45;
  color: var(--muted-ink);
  border-left: 2px solid transparent;
  text-decoration: none;
  transition: color 180ms, background 180ms, border-color 180ms;
}
.legal-toc__link:hover {
  color: var(--accent);
  background: var(--cream-2);
}
.legal-toc__link.is-active {
  color: var(--accent);
  border-left-color: var(--gold);
  background: var(--cream-2);
}

/* MAIN BODY */
.legal-body {
  max-width: 720px;
  font-family: var(--font-body);
  color: var(--on-cream);
}
.legal-body section { scroll-margin-top: 96px; }
.legal-h2 {
  font-family: var(--font-display); font-weight: 500;
  font-size: 32px; line-height: 1.15; letter-spacing: -0.012em;
  color: var(--ink);
  margin: 80px 0 16px;
  text-wrap: balance;
}
.legal-body section:first-of-type .legal-h2 { margin-top: 0; }
.legal-h2-rule {
  width: 40px; height: 1px; background: var(--gold);
  opacity: 0.5; margin: 0 0 24px;
}
.legal-lead {
  font-family: var(--font-body); font-size: 18px; line-height: 1.66;
  color: var(--on-cream); margin: 0 0 18px; text-wrap: pretty;
}
.legal-body p {
  font-family: var(--font-body); font-size: 16px; line-height: 1.7;
  color: var(--muted-ink); margin: 0 0 16px; text-wrap: pretty;
}
.legal-body p:last-child { margin-bottom: 0; }
.legal-body strong { font-weight: 600; color: var(--ink); }
.legal-body .num {
  font-feature-settings: "tnum"; font-variant-numeric: tabular-nums;
  font-weight: 600; color: var(--ink);
}

/* DEFINITION-LIKE LIST (no bullets, hairline rules) */
.legal-list { list-style: none; padding: 0; margin: 8px 0 24px; }
.legal-list > li {
  padding: 16px 0;
  border-top: 1px solid rgba(20,30,30,0.08);
  font-family: var(--font-body); font-size: 15.5px; line-height: 1.6;
  color: var(--muted-ink);
}
.legal-list > li:last-child { border-bottom: 1px solid rgba(20,30,30,0.08); }
.legal-list--def > li {
  display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: baseline;
}
.legal-list__term {
  font-family: var(--font-body); font-weight: 500; font-size: 13px;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ink);
}
.legal-list__def {
  font-family: var(--font-body); font-size: 15.5px; line-height: 1.6;
  color: var(--muted-ink);
}

/* PULL QUOTE */
.legal-pull {
  margin: 28px 0 28px;
  padding: 4px 0 4px 28px;
  border-left: 2px solid var(--gold);
}
.legal-pull p {
  font-family: var(--font-display); font-weight: 500;
  font-size: 22px; line-height: 1.35; letter-spacing: -0.005em;
  color: var(--accent); margin: 0;
}

/* CTA BANNER (forest green) */
.legal-cta {
  background: var(--accent); color: #fff;
  padding: 96px 0; position: relative; overflow: hidden;
}
.legal-cta::before {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(1080px, calc(100% - 96px)); height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.legal-cta__inner {
  max-width: 800px; margin: 0 auto; padding: 0 48px;
  text-align: center; position: relative;
}
.legal-cta__eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 18px;
}
.legal-cta__h {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(32px, 3.6vw, 44px); line-height: 1.08; letter-spacing: -0.012em;
  color: #fff; margin: 0 0 32px; text-wrap: balance;
}
.legal-cta__row {
  display: flex; justify-content: center; align-items: center; gap: 24px; flex-wrap: wrap;
}
.legal-cta .btn-cream { background: var(--cream); color: var(--accent); }
.legal-cta .btn-cream:hover { background: #fff; }

/* RESPONSIVE */
@media (max-width: 1080px) {
  .legal-doc__inner { grid-template-columns: 1fr; gap: 32px; }
  .legal-toc { display: none; }
  .legal-body { max-width: 720px; }
}
@media (max-width: 720px) {
  .legal-hero { padding: 112px 0 40px; }
  .legal-hero__inner, .legal-status__inner, .legal-cta__inner { padding-left: 24px; padding-right: 24px; }
  .legal-hero__meta { position: static; margin-bottom: 18px; display: block; }
  .legal-doc { padding: 56px 0 72px; }
  .legal-doc__inner { padding: 0 24px; }
  .legal-list--def > li { grid-template-columns: 1fr; gap: 4px; }
  .legal-cta { padding: 72px 0; }
}

/* ============================================================
   SITEMAP — built on the legal-doc shell
   ============================================================ */
.legal-doc--map .legal-body--map { max-width: 820px; }

.legal-doc--map .legal-body--map > section { margin-bottom: 56px; }
.legal-doc--map .legal-body--map > section:last-child { margin-bottom: 0; }

.sitemap-list {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  border-top: 1px solid rgba(28, 36, 32, 0.12);
}
.sitemap-row {
  border-bottom: 1px solid rgba(28, 36, 32, 0.12);
}
.sitemap-row__a {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: 24px;
  padding: 18px 4px;
  text-decoration: none;
  color: inherit;
  transition: padding-left 180ms ease, background-color 180ms ease;
}
.sitemap-row__a:hover {
  padding-left: 12px;
  background-color: rgba(28, 36, 32, 0.025);
}
.sitemap-row__num {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(28, 36, 32, 0.5);
  font-variant-numeric: tabular-nums;
  min-width: 22px;
}
.sitemap-row__name {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--ink, #1c2420);
}
.sitemap-row__meta {
  display: block;
  margin-top: 4px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(28, 36, 32, 0.62);
}
.sitemap-row__a > .sitemap-row__name {
  /* second column wraps name + meta */
}
.sitemap-row__arrow {
  font-family: var(--font-body);
  font-size: 16px;
  color: rgba(28, 36, 32, 0.4);
  transition: transform 180ms ease, color 180ms ease;
}
.sitemap-row__a:hover .sitemap-row__arrow {
  color: var(--accent, #2d5a3f);
  transform: translateX(4px);
}
.sitemap-row__tag {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(28, 36, 32, 0.5);
  margin-top: 4px;
  display: inline-block;
}
.sitemap-row--soon .sitemap-row__a {
  cursor: default;
  opacity: 0.7;
}
.sitemap-row--soon .sitemap-row__a:hover {
  padding-left: 4px;
  background-color: transparent;
}

/* the second column (name + meta) needs to be a stacked block;
   in the markup, name and meta are siblings inside the row link.
   To make them stack while staying in a 3-col grid, wrap behavior
   below: the link is grid; name/meta/arrow are children. We need
   meta to break to a new line under name. Achieved with grid-column. */
.sitemap-row__a {
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
}
.sitemap-row__a > .sitemap-row__num { grid-row: 1 / span 2; align-self: center; }
.sitemap-row__a > .sitemap-row__name { grid-column: 2; grid-row: 1; }
.sitemap-row__a > .sitemap-row__meta { grid-column: 2; grid-row: 2; }
.sitemap-row__a > .sitemap-row__arrow { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
.sitemap-row__a > .sitemap-row__tag { grid-column: 2; grid-row: 2; }
/* When there's no num column, the row still works because grid auto-places */
.sitemap-row__a:not(:has(.sitemap-row__num)) { grid-template-columns: 1fr auto; }
.sitemap-row__a:not(:has(.sitemap-row__num)) > .sitemap-row__name { grid-column: 1; }
.sitemap-row__a:not(:has(.sitemap-row__num)) > .sitemap-row__meta { grid-column: 1; }
.sitemap-row__a:not(:has(.sitemap-row__num)) > .sitemap-row__arrow { grid-column: 2; }
.sitemap-row__a:not(:has(.sitemap-row__num)) > .sitemap-row__tag { grid-column: 1; }

@media (max-width: 720px) {
  .sitemap-row__a {
    gap: 12px 16px;
    padding: 16px 4px;
  }
  .sitemap-row__name { font-size: 15px; }
  .sitemap-row__meta { font-size: 13px; }
  .sitemap-row__arrow { font-size: 14px; }
}


/* =====================================================
   CAP — Capability sub-page (used across HC / FS / Consulting)
   Structure: hero, problem, how-we-do-it, metrics, methodology, related, CTA
   ===================================================== */
.cap-hero { background: var(--ink); color: var(--cream); padding: clamp(80px, 12vw, 140px) 24px clamp(72px, 10vw, 120px); border-bottom: 1px solid rgba(255,255,255,0.08); }
.cap-hero__inner { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px); align-items: end; }
@media (max-width: 900px){ .cap-hero__inner{ grid-template-columns: 1fr; } }
.cap-hero__eyebrow { display: flex; gap: 8px; align-items: center; font-family: var(--font-body); font-size: 13px; letter-spacing: 0.04em; color: rgba(255,255,255,0.5); margin: 0 0 clamp(28px, 4vw, 48px); }
.cap-hero__eyebrow a { color: rgba(255,255,255,0.5); text-decoration: none; }
.cap-hero__eyebrow a:hover { color: var(--cream); }
.cap-hero__eyebrow [aria-current] { color: var(--cream); }
.cap-hero__h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(40px, 5.4vw, 76px); line-height: 1.04; letter-spacing: -0.02em; color: var(--cream); margin: 0 0 clamp(20px, 3vw, 32px); text-wrap: pretty; }
.cap-hero__lead { font-family: var(--font-body); font-size: clamp(17px, 1.4vw, 19px); line-height: 1.6; color: rgba(255,255,255,0.78); max-width: 60ch; margin: 0; text-wrap: pretty; }
.cap-hero__meta { border-left: 1px solid rgba(255,255,255,0.14); padding-left: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 22px; }
.cap-hero__meta-row { display: grid; grid-template-columns: 110px 1fr; gap: 16px; align-items: baseline; }
.cap-hero__meta-lbl { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.5); }
.cap-hero__meta-val { font-family: var(--font-body); font-size: 14px; color: var(--cream); line-height: 1.45; }

.cap-prob { background: var(--cream); color: var(--ink); padding: clamp(72px, 9vw, 112px) 24px; border-bottom: 1px solid rgba(11,46,52,0.08); }
.cap-prob__inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
@media (max-width: 900px){ .cap-prob__inner{ grid-template-columns: 1fr; gap: 28px; } }
.cap-prob__eyebrow { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); }
.cap-prob__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.12; letter-spacing: -0.015em; margin: 14px 0 0; color: var(--ink); text-wrap: pretty; }
.cap-prob__body { display: flex; flex-direction: column; gap: 18px; font-family: var(--font-body); font-size: 17px; line-height: 1.7; color: rgba(11,46,52,0.86); max-width: 64ch; }
.cap-prob__body p { margin: 0; }

.cap-how { background: var(--cream-2); color: var(--ink); padding: clamp(72px, 9vw, 112px) 24px; border-bottom: 1px solid rgba(11,46,52,0.08); }
.cap-how__inner { max-width: 1280px; margin: 0 auto; }
.cap-how__head { display: grid; grid-template-columns: minmax(0, 0.55fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: end; margin-bottom: clamp(40px, 6vw, 64px); }
@media (max-width: 900px){ .cap-how__head{ grid-template-columns: 1fr; gap: 16px; } }
.cap-how__eyebrow { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); }
.cap-how__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.12; letter-spacing: -0.015em; margin: 14px 0 0; color: var(--ink); }
.cap-how__lede { font-family: var(--font-body); font-size: 17px; line-height: 1.65; color: rgba(11,46,52,0.78); margin: 0; max-width: 60ch; }
.cap-how__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(11,46,52,0.18); border-left: 1px solid rgba(11,46,52,0.18); }
@media (max-width: 720px){ .cap-how__grid{ grid-template-columns: 1fr; border-left: none; border-top: none; } }
.cap-how__cell { padding: clamp(28px, 3.5vw, 40px); border-right: 1px solid rgba(11,46,52,0.18); border-bottom: 1px solid rgba(11,46,52,0.18); display: flex; flex-direction: column; gap: 12px; background: transparent; }
@media (max-width: 720px){ .cap-how__cell{ border: none; border-bottom: 1px solid rgba(11,46,52,0.18); } }
.cap-how__num { font-family: var(--font-body); font-feature-settings: 'tnum'; font-size: 13px; letter-spacing: 0.06em; color: var(--accent); }
.cap-how__cell-h { font-family: var(--font-display); font-weight: 400; font-size: 22px; line-height: 1.2; letter-spacing: -0.01em; color: var(--ink); margin: 0; }
.cap-how__cell-body { font-family: var(--font-body); font-size: 15px; line-height: 1.65; color: rgba(11,46,52,0.78); margin: 0; }

.cap-met { background: var(--cream); padding: clamp(72px, 9vw, 112px) 24px; border-bottom: 1px solid rgba(11,46,52,0.08); }
.cap-met__inner { max-width: 1180px; margin: 0 auto; }
.cap-met__head { text-align: center; margin-bottom: clamp(40px, 5vw, 56px); }
.cap-met__eyebrow { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); }
.cap-met__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(28px, 3.2vw, 40px); line-height: 1.14; letter-spacing: -0.015em; margin: 14px 0 0; color: var(--ink); }
.cap-met__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid rgba(11,46,52,0.16); }
@media (max-width: 720px){ .cap-met__row{ grid-template-columns: 1fr; } }
.cap-met__cell { padding: clamp(24px, 3vw, 36px); border-right: 1px solid rgba(11,46,52,0.16); display: flex; flex-direction: column; gap: 10px; }
.cap-met__cell:last-child { border-right: none; }
@media (max-width: 720px){ .cap-met__cell{ border-right: none; border-bottom: 1px solid rgba(11,46,52,0.16); } .cap-met__cell:last-child{ border-bottom: none; } }
.cap-met__lbl { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); }
.cap-met__num { font-family: var(--font-display); font-weight: 400; font-size: clamp(34px, 4vw, 52px); line-height: 1; letter-spacing: -0.02em; color: var(--ink); font-feature-settings: 'tnum'; }
.cap-met__note { font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: rgba(11,46,52,0.7); }

.cap-meth { background: var(--ink); color: var(--cream); padding: clamp(72px, 9vw, 112px) 24px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.cap-meth__inner { max-width: 1180px; margin: 0 auto; }
.cap-meth__head { text-align: center; margin-bottom: clamp(40px, 5vw, 56px); }
.cap-meth__eyebrow { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.cap-meth__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(28px, 3.2vw, 40px); line-height: 1.14; letter-spacing: -0.015em; margin: 14px 0 0; color: var(--cream); }
.cap-meth__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(255,255,255,0.14); }
@media (max-width: 900px){ .cap-meth__list{ grid-template-columns: 1fr; } }
.cap-meth__phase { padding: 32px 28px; border-right: 1px solid rgba(255,255,255,0.14); display: flex; flex-direction: column; gap: 12px; }
.cap-meth__phase:last-child { border-right: none; }
@media (max-width: 900px){ .cap-meth__phase{ border-right: none; border-bottom: 1px solid rgba(255,255,255,0.14); } .cap-meth__phase:last-child{ border-bottom: none; } }
.cap-meth__roman { font-family: var(--font-display); font-size: 28px; color: rgba(255,255,255,0.4); }
.cap-meth__day { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.cap-meth__name { font-family: var(--font-display); font-weight: 400; font-size: 22px; line-height: 1.2; color: var(--cream); margin: 0; }
.cap-meth__list-li { font-family: var(--font-body); font-size: 14.5px; line-height: 1.55; color: rgba(255,255,255,0.78); padding-left: 14px; position: relative; margin-bottom: 6px; }
.cap-meth__list-li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 1px; background: rgba(255,255,255,0.45); }
.cap-meth__phase ul { list-style: none; padding: 0; margin: 4px 0 0; }

.cap-rel { background: var(--cream); padding: clamp(72px, 9vw, 112px) 24px; border-bottom: 1px solid rgba(11,46,52,0.08); }
.cap-rel__inner { max-width: 1180px; margin: 0 auto; }
.cap-rel__eyebrow { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.cap-rel__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(26px, 3vw, 36px); line-height: 1.14; letter-spacing: -0.015em; margin: 0 0 32px; color: var(--ink); }
.cap-rel__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(11,46,52,0.16); }
@media (max-width: 720px){ .cap-rel__grid{ grid-template-columns: 1fr; } }
.cap-rel__card { padding: 28px 24px; border-right: 1px solid rgba(11,46,52,0.16); border-bottom: 1px solid rgba(11,46,52,0.16); display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--ink); transition: background 0.16s; }
.cap-rel__card:hover { background: var(--cream-2); }
.cap-rel__card:last-child { border-right: none; }
@media (max-width: 720px){ .cap-rel__card{ border-right: none; } }
.cap-rel__num { font-family: var(--font-body); font-feature-settings: 'tnum'; font-size: 12px; color: var(--accent); }
.cap-rel__name { font-family: var(--font-display); font-size: 22px; line-height: 1.2; color: var(--ink); margin: 0; }
.cap-rel__meta { font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: rgba(11,46,52,0.7); margin: 0; }
.cap-rel__arrow { font-family: var(--font-body); font-size: 13px; color: var(--accent); margin-top: 6px; }



/* === HOMEPAGE: HERO === */
/* Headline override — wider clamp + relaxed max-width for the new two-line copy */
.hero .hero__h1 {
  font-size: clamp(56px, 6vw, 88px);
  max-width: 22ch;
}

.hero-pedigree-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted-cream);
}
.hero-pedigree-strip__item { white-space: nowrap; }
.hero-pedigree-strip__sep {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold);
  opacity: 0.6;
  flex-shrink: 0;
}
@media (max-width: 560px) {
  .hero-pedigree-strip { gap: 10px; font-size: 11px; letter-spacing: 0.14em; }
}

/* === HOMEPAGE: ENTERPRISE PEDIGREE STRIP === */
.pedigree { background: var(--cream-2); padding: 80px 0; }
.pedigree__head { text-align: center; max-width: 880px; margin: 0 auto; }
.pedigree__eyebrow {
  display: block;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 24px;
}
.pedigree__h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: var(--on-cream);
  max-width: 60ch;
  margin: 0 auto;
  text-wrap: balance;
}
.pedigree__sub {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: var(--muted-cream);
  max-width: 70ch;
  margin: 20px auto 0;
}
.pedigree__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 60px;
}
@media (max-width: 960px) {
  .pedigree__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .pedigree__grid { grid-template-columns: 1fr; }
}
.pedigree__card {
  background: var(--cream);
  border-top: 1px solid var(--cream-line);
  border-radius: 2px;
  padding: 28px;
  transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1),
              border-top-color 220ms cubic-bezier(0.4, 0, 0.2, 1);
}
.pedigree__card:hover {
  transform: translateY(-2px);
  border-top-color: var(--gold);
}
.pedigree__dot {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}
.pedigree__sector {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--on-cream);
  margin: 16px 0 0;
}
.pedigree__proof {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted-cream);
  max-width: 28ch;
  margin: 8px 0 0;
}
.pedigree__foot {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted-cream);
  text-align: center;
  margin: 40px 0 0;
}

/* Stagger reveal for cards */
.pedigree__card--stagger {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 600ms cubic-bezier(0.4, 0, 0.2, 1) var(--pedigree-delay, 0ms),
              transform 600ms cubic-bezier(0.4, 0, 0.2, 1) var(--pedigree-delay, 0ms);
}
.pedigree__card--stagger.in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .pedigree__card--stagger { opacity: 1; transform: none; transition: none; }
  .pedigree__card { transition: none; }
}


/* === HOMEPAGE: HERO PIPELINE === */
.pipeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  font-family: var(--font-body);
  color: var(--on-cream);
  min-width: 0;
}

/* Header strip */
.pipeline__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
}
.pipeline__head-l {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
}
.pipeline__livedot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  display: inline-block;
  position: relative;
  box-shadow: 0 0 0 0 rgba(201, 169, 97, 0.55);
  animation: pipeline-pulse 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes pipeline-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(201, 169, 97, 0.55); }
  70%  { box-shadow: 0 0 0 10px rgba(201, 169, 97, 0); }
  100% { box-shadow: 0 0 0 0 rgba(201, 169, 97, 0); }
}
.pipeline__clock {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted-cream);
  font-variant-numeric: tabular-nums lining-nums;
}

/* Hairline rules */
.pipeline__rule {
  height: 1px;
  background: var(--cream-line);
  border: 0;
  margin: 0;
  width: 100%;
}
.pipeline__rule--gold { background: var(--gold); opacity: 0.65; }

/* Flow diagram */
.pipeline__flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  padding: 32px 0 26px;
}
.pipeline__trail {
  position: absolute;
  top: 93px;
  left: 18%;
  right: 18%;
  height: 1px;
  pointer-events: none;
}
.pipeline__trail-line {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    transparent 0,
    rgba(201, 169, 97, 0.55) 8%,
    rgba(201, 169, 97, 0.55) 92%,
    transparent 100%
  );
}
.pipeline__trail-dot {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(201, 169, 97, 0.6);
  transform: translate(-50%, -50%);
  animation: pipeline-trail 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes pipeline-trail {
  0%   { left: 0%; opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

/* Stage column */
.pipeline__stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
  position: relative;
}
.pipeline__stage-lbl {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted-cream);
  margin-bottom: 16px;
  font-variant-numeric: tabular-nums;
}
.pipeline__stage-lbl::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 1px;
  background: var(--gold-deep);
  vertical-align: middle;
  margin-right: 8px;
  opacity: 0.7;
}
.pipeline__stage--active .pipeline__stage-lbl { color: var(--gold-deep); }
.pipeline__stage--active .pipeline__stage-lbl::before { background: var(--gold-deep); opacity: 1; width: 18px; }

/* Node circles */
.pipeline__node {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  background: var(--cream);
}
.pipeline__node--ghost {
  background: var(--cream);
  border: 1px solid var(--cream-line);
  box-shadow: inset 0 0 0 1px transparent;
}
.pipeline__node--ghost::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1px dashed rgba(201, 169, 97, 0.45);
}
.pipeline__node--filled {
  background: var(--gold);
  border: 1px solid var(--gold-deep);
  box-shadow: inset 0 0 0 3px var(--cream), 0 0 0 4px rgba(201, 169, 97, 0.18);
}
.pipeline__node-glyph {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--muted-cream);
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
.pipeline__node--filled .pipeline__node-glyph { color: var(--accent); letter-spacing: 0.14em; }

/* Stage list */
.pipeline__list {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 206px;
}
.pipeline__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 2px;
  border-bottom: 1px solid var(--cream-line);
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 400;
  color: var(--muted-cream);
  font-variant-numeric: tabular-nums lining-nums;
}
.pipeline__row:last-child { border-bottom: 0; }
.pipeline__row-name {
  color: var(--on-cream);
  font-weight: 500;
  letter-spacing: 0.005em;
}
.pipeline__row-val {
  color: var(--muted-cream);
  font-weight: 600;
  font-size: 11.5px;
  letter-spacing: 0.02em;
}
.pipeline__row-val--up {
  color: var(--gold-deep);
  font-feature-settings: "tnum";
}

/* "Big" rows for stage 2/3 */
.pipeline__row--big {
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 12px 0 11px;
  text-align: center;
}
.pipeline__big-num {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 26px;
  line-height: 1;
  color: var(--accent);
  letter-spacing: -0.015em;
  font-variant-numeric: tabular-nums lining-nums;
}
.pipeline__big-num--text,
.pipeline__big-num--lang {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: 0.16em;
  color: var(--accent);
  text-transform: uppercase;
  display: inline-flex;
  gap: 6px;
  padding: 4px 0 2px;
}
.pipeline__big-num--lang { letter-spacing: 0.22em; }
.pipeline__big-unit {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 12px;
  color: var(--gold-deep);
  margin-left: 3px;
  vertical-align: 6px;
  letter-spacing: 0.02em;
}
.pipeline__big-lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.16em;
  color: var(--muted-cream);
  text-transform: uppercase;
  margin-top: 2px;
}

/* Bottom strip */
.pipeline__bottom {
  display: grid;
  grid-template-columns: minmax(120px, auto) 1fr;
  gap: 28px;
  align-items: end;
  padding: 22px 0 18px;
}
.pipeline__cycle { display: flex; flex-direction: column; gap: 6px; }
.pipeline__cycle-num {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 56px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--on-cream);
  font-variant-numeric: tabular-nums lining-nums;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}
.pipeline__cycle-unit {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  color: var(--muted-cream);
  letter-spacing: 0.02em;
}
.pipeline__cycle-lbl {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
}

/* Sparkline */
.pipeline__spark { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pipeline__spark-bars {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3px;
  height: 72px;
}
.pipeline__spark-bars .spark__bar {
  flex: 1 1 0;
  min-width: 4px;
  height: 0;
  background: var(--accent);
  opacity: 0.85;
  transition: height 600ms cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 1px 1px 0 0;
}
.pipeline__spark-bars .spark__bar--peak { background: var(--gold); opacity: 1; }
.pipeline__spark-hours {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.06em;
  color: var(--muted-cream);
  font-variant-numeric: tabular-nums lining-nums;
}

/* Footer link */
.pipeline__footer { padding-top: 14px; border-top: 1px solid var(--cream-line); }
.pipeline__footer-link {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 13px;
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(201, 169, 97, 0.5);
  padding-bottom: 2px;
  transition: color 180ms var(--ease-out), border-color 180ms var(--ease-out);
}
.pipeline__footer-link:hover { color: var(--gold-h, var(--gold)); border-bottom-color: var(--gold); }

/* Trust strip number emphasis */
.hero-pedigree-strip__num {
  font-family: var(--font-body);
  font-weight: 600;
  color: var(--accent);
  font-variant-numeric: tabular-nums lining-nums;
  margin-right: 4px;
}

/* Responsive */
@media (max-width: 980px) {
  .pipeline__flow { gap: 14px; padding: 24px 0 20px; }
  .pipeline__trail { top: 81px; }
  .pipeline__cycle-num { font-size: 44px; }
  .pipeline__big-num { font-size: 22px; }
  .pipeline__row { font-size: 12px; }
}
@media (max-width: 560px) {
  .pipeline__bottom { grid-template-columns: 1fr; gap: 18px; }
  .pipeline__spark-bars { height: 56px; }
}

@media (prefers-reduced-motion: reduce) {
  .pipeline__livedot { animation: none; }
  .pipeline__trail-dot { animation: none; opacity: 0; }
  .pipeline__spark-bars .spark__bar { transition: none; }
}
