/* =============================================================
   Advisor Marketing Partners — homepage v8 (Phase 5 selections)
   Spec: 42-fable-hifi-homepage-spec.md (v8). Staging build.
   Palette (binding): white #FFFFFF · near-white #FAFAF8 · ink #161A1D
   forest #123B32 · cool gray #EEF0EF · slate #4D5961 · copper #986842
   Derived, logged in spec 1.1: forest-deep #0C2B24 (hover only),
   rule #DFE2DE (light hairlines), rule-forest #2E4F45 (forest hairlines).
   No gradients, no shadows, no border radius, no other hues.
   ============================================================= */

:root {
  --white: #FFFFFF;
  --paper: #FAFAF8;
  --ink: #161A1D;
  --forest: #123B32;
  --forest-deep: #0C2B24;
  --gray: #EEF0EF;
  --slate: #4D5961;
  --copper: #986842;
  --rule: #DFE2DE;
  --rule-forest: #2E4F45;
  --serif: "Tiempos Text", "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: "Söhne", "Inter", "Helvetica Neue", Arial, sans-serif;
  /* distance from the container content edge to the viewport edge */
  --bleed: max(48px, calc(50vw - 572px));
}
@media (min-width: 768px) and (max-width: 1023px) { :root { --bleed: 32px; } }
@media (max-width: 767px) { :root { --bleed: 20px; } }

/* ---------- Reset / base ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; border-radius: 0; }
html { scroll-behavior: auto; scroll-padding-top: 88px; overflow-x: clip; }
@media (max-width: 1023px) { html { scroll-padding-top: 80px; } }
body {
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--white);
  /* clip (not hidden) prevents horizontal scroll without turning body into a
     scroll container — which would break the sticky nav's pinning. */
  overflow-x: clip;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
ul { list-style: none; }
a { color: var(--forest); }

:focus-visible {
  outline: 2px solid var(--forest);
  outline-offset: 2px;
}
.env-forest a:focus-visible,
.env-forest .btn:focus-visible,
.env-forest :focus-visible { outline-color: var(--white); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Layout primitives ---------- */
.container {
  max-width: 1240px;
  margin: 0 auto;
  padding-left: 48px;
  padding-right: 48px;
}
@media (max-width: 767px) {
  .container { padding-left: 20px; padding-right: 20px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .container { padding-left: 32px; padding-right: 32px; }
}

.sect { padding: 80px 0; }
@media (max-width: 1023px) { .sect { padding: 64px 0; } }
@media (max-width: 767px) { .sect { padding: 52px 0; } }

/* ---------- Type ---------- */
h1 {
  font-size: 44px;
  line-height: 1.14;
  font-weight: 600;
  letter-spacing: -0.012em;
  max-width: 640px;
}
h1 .serif-accent {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0;
}
h2 {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.008em;
}
h3 { font-size: 19px; line-height: 1.35; font-weight: 600; }
@media (max-width: 1023px) {
  h1 { font-size: 36px; }
  h2 { font-size: 25px; }
}
@media (max-width: 767px) {
  h1 { font-size: 29px; line-height: 1.18; }
  h2 { font-size: 23px; }
}

.eyebrow {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--slate);
}
.meta {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--slate);
}
.meta-label {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--slate);
}
.body-lg { font-size: 19px; line-height: 1.5; }
.flag {
  font-size: 12.5px;
  color: var(--slate);
}

/* ---------- Buttons and links ---------- */
.btn {
  display: inline-block;
  background: var(--forest);
  color: var(--white);
  font-family: var(--sans);
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  padding: 16px 28px;
  border: 0;
  transition: background-color 120ms ease;
}
.btn:hover { background: var(--forest-deep); }
.env-forest .btn {
  background: var(--white);
  color: var(--forest);
}
.env-forest .btn:hover { background: var(--gray); }

.btn-compact {
  font-size: 13.5px;
  padding: 10px 18px;
  white-space: nowrap;
  flex: none;
}

.link-secondary,
.link-row {
  font-size: 16px;
  font-weight: 600;
  color: var(--forest);
  text-decoration: none;
  padding: 8px 0;
}
.link-secondary:hover,
.link-row:hover {
  color: var(--forest-deep);
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Invisible 44px hit-area extension for compact interactive elements.
   The visual design does not change; the tap/click target does. */
.nav-links a, .footer-links a, .btn-compact, .menu-toggle,
.link-row, .link-secondary, .rr-staging-note a {
  position: relative;
}
.nav-links a::after, .footer-links a::after, .btn-compact::after,
.menu-toggle::after, .link-row::after, .link-secondary::after,
.rr-staging-note a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 44px;
  min-width: 44px;
}

/* =============================================================
   A. NAVIGATION — flat sticky, shallow
   ============================================================= */
.site-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--white);
  border-bottom: 1px solid var(--rule);
}
.nav-inner {
  height: 64px;
  display: flex;
  align-items: center;
  gap: 36px;
}
.wordmark {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
}
.nav-links {
  display: flex;
  gap: 4px;
  margin-left: auto;
}
.nav-links a {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  padding: 12px 12px;
  white-space: nowrap;
}
@media (min-width: 1024px) and (max-width: 1139px) {
  .nav-inner { gap: 20px; }
  .nav-links a { font-size: 13px; padding: 12px 8px; }
}
.nav-links a:hover {
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: var(--forest);
}
.nav-right { display: flex; align-items: center; gap: 14px; }
.menu-toggle {
  display: none;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  background: none;
  border: 0;
  padding: 12px 10px;
  cursor: pointer;
}
.cta-label-min { display: none; }

.menu-panel {
  background: var(--white);
  border-bottom: 1px solid var(--rule);
}
.menu-panel ul li a {
  display: flex;
  align-items: center;
  min-height: 54px;
  font-size: 17px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--rule);
}
.menu-panel .btn {
  display: block;
  text-align: center;
  margin: 20px 0 24px;
}

@media (max-width: 1023px) {
  .nav-inner { height: 56px; gap: 16px; }
  .nav-links { display: none; }
  .menu-toggle { display: inline-block; margin-left: auto; }
}
@media (max-width: 480px) {
  .site-nav .wordmark { font-size: 15px; line-height: 1.2; white-space: normal; }
  .site-nav .wordmark .wm-l1, .site-nav .wordmark .wm-l2 { display: block; white-space: nowrap; }
  .site-nav .btn-compact { padding: 10px 12px; }
}
@media (max-width: 389px) {
  .cta-label-short { display: none; }
  .cta-label-min { display: inline; }
}

/* Skip link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  background: var(--white);
  color: var(--forest);
  font-size: 17px;
  font-weight: 600;
  padding: 14px 20px;
  text-decoration: none;
}
.skip-link:focus {
  left: 0;
}

/* =============================================================
   B. HERO — copy left, one substantial specimen right
   (Phase 5 selection: hero proof Option A — the advisor
   homepage proof at meaningful scale; montage retired)
   ============================================================= */
.hero { padding: 0; }
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: 56px;
  align-items: stretch;
}
.hero-copy {
  padding: 80px 0 64px;
}
.hero-copy h1 { margin: 18px 0 22px; }
.hero-support {
  font-size: 18.5px;
  line-height: 1.55;
  max-width: 620px; /* v9: widened for the longer founder support line (three sentences) */
  color: var(--ink);
}
.hero-cta-row {
  margin-top: 34px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 28px;
}
.hero-copy .flag { margin-top: 26px; }

/* The proof field bleeds to the right viewport edge */
.hero-visual {
  margin-right: calc(-1 * var(--bleed));
  padding: 28px 0 8px;
  display: flex;
  flex-direction: column;
}
.montage {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* Kicker → field → outcome caption grammar */
.proof-kicker {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: 10px;
}
.hero-proof-field {
  flex: 1;
  background: var(--gray);
  min-height: 420px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 48px 0;
  overflow: hidden;
}
.proof-caption {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink);
  max-width: 640px;
}
.proof-caption strong { font-weight: 600; }
.proof-caption .meta { display: inline; }
.hero-visual .proof-caption { margin-top: 10px; }
.hero-visual .flag { margin-top: 6px; }

/* The advisor homepage proof — one designed page artifact */
.pageproof {
  width: min(560px, 100%);
  border: 1px solid var(--rule);
  background: var(--white);
  display: flex;
  flex-direction: column;
}
.pageproof .spec-kicker { font-size: 7.5px; }
.pp-hero { padding: 18px 26px 14px; }
.pp-hero .spec-kicker { margin-bottom: 10px; }
.pp-hero .gk-d { height: 9px; margin-bottom: 9px; }
.pp-hero .gk { height: 4px; margin-bottom: 6px; }
.pp-position {
  border-top: 1px solid var(--rule);
  padding: 12px 26px 10px;
}
.pp-position-rule { width: 26px; height: 2px; background: var(--copper); margin-bottom: 10px; }
.pp-position p {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  line-height: 1.5;
  color: var(--slate);
}
.pp-services { border-top: 1px solid var(--rule); padding: 10px 26px 14px; }
.pp-services .spec-kicker { margin-bottom: 12px; }
.pp-service-cols { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.pp-cell { border: 1px solid var(--rule); padding: 10px 11px 6px; }
.pp-cell .gk-d { height: 5px; }
.pp-bio {
  border-top: 1px solid var(--rule);
  padding: 10px 26px 12px;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 16px;
}
.pp-bio-block { background: var(--gray); height: 64px; }
.pp-bio .spec-kicker { margin-bottom: 8px; white-space: normal; }
.pp-foot { margin-top: auto; background: var(--forest); height: 12px; }

/* Shared specimen chrome */
.spec {
  position: absolute;
  background: var(--white);
  border: 1px solid var(--rule);
}
.spec-topbar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--rule);
}
.spec-dot { width: 7px; height: 7px; background: var(--forest); flex: none; }
.spec-topbar .gk { height: 3px; margin-bottom: 0; }
.spec-topbar .gk-nav { margin-left: auto; }
.spec-site-hero { padding: 8% 8% 6%; }
.spec-site-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8%;
  padding: 0 8% 8%;
  margin-top: auto;
}

/* Greeked lines */
.gk { background: var(--rule); height: 3px; margin-bottom: 5px; }
.gk-d { background: var(--slate); height: 6px; margin-bottom: 7px; }
.gk-g { background: var(--gray); }
.w95 { width: 95%; } .w90 { width: 90%; } .w85 { width: 85%; }
.w80 { width: 80%; } .w75 { width: 75%; } .w70 { width: 70%; }
.w65 { width: 65%; } .w60 { width: 60%; } .w55 { width: 55%; }
.w50 { width: 50%; } .w45 { width: 45%; } .w40 { width: 40%; }
.w35 { width: 35%; } .w30 { width: 30%; } .w25 { width: 25%; }
.w20 { width: 20%; } .w15 { width: 15%; } .w12 { width: 12%; }
.spec-btn {
  width: 34%;
  height: 11px;
  background: var(--forest);
  margin-top: 10px;
}
.spec-block { background: var(--gray); height: 26px; margin-bottom: 7px; }

/* Presentation-cover chrome (used by the Work section deck specimen) */
.spec-deck-rule { width: 26px; height: 2px; background: var(--copper); margin-bottom: 12px; }
.spec-deck-title {
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 500;
  color: var(--white);
  margin-bottom: 10px;
}
.spec-deck-foot {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.spec-deck-foot .gk { margin-bottom: 0; }

/* One-pager chrome (used by the Work section one-pager specimen) */
.spec-kicker {
  font-size: 6.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: 8px;
  white-space: nowrap;
}
.spec-onepager-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10%;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--rule);
}
.spec-onepager-foot {
  background: var(--forest);
  height: 9px;
  margin: auto -8% -8% -8%;
}

@media (max-width: 1023px) {
  .hero-grid { grid-template-columns: 1fr; gap: 0; }
  .hero-copy { padding: 48px 0 40px; }
  .hero-visual {
    margin-left: calc(-1 * var(--bleed));
    margin-right: calc(-1 * var(--bleed));
    padding-top: 0;
  }
  .hero-visual .proof-kicker,
  .hero-visual .proof-caption,
  .hero-visual .flag {
    margin-left: var(--bleed);
    margin-right: var(--bleed);
  }
  .hero-proof-field { flex: none; min-height: 0; padding: 32px 40px 0; }
  .pageproof { width: min(520px, 100%); }
}
@media (max-width: 767px) {
  .hero-copy { padding: 36px 0 32px; }
  .hero-cta-row { margin-top: 24px; }
  .hero-cta-row .btn { display: block; width: 100%; text-align: center; }
  .hero-proof-field { padding: 24px 20px 0; }
  .pp-hero, .pp-position, .pp-services, .pp-bio { padding-left: 18px; padding-right: 18px; }
  .pp-service-cols { gap: 8px; }
  .pp-bio { grid-template-columns: 48px 1fr; gap: 12px; }
  .pp-bio-block { height: 48px; }
  .spec-deck-title { font-size: 13px; }
}

/* =============================================================
   C. PROOF STRIP
   ============================================================= */
.proof-strip {
  background: var(--paper);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 26px 0 22px;
}
.proof-items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.proof-items p {
  font-size: 14.5px;
  line-height: 1.45;
  font-weight: 500;
  color: var(--ink);
  padding: 2px 24px 2px 0;
}
.proof-items p + p {
  border-left: 1px solid var(--rule);
  padding-left: 24px;
}
.proof-strip .flag { margin-top: 12px; }
@media (max-width: 1023px) {
  .proof-items { grid-template-columns: 1fr 1fr; row-gap: 14px; }
  .proof-items p:nth-child(3) { border-left: 0; padding-left: 0; }
}
@media (max-width: 767px) {
  .proof-items { grid-template-columns: 1fr; }
  .proof-items p { border-left: 0 !important; padding-left: 0 !important; padding-right: 0; }
  .proof-items p + p { border-top: 1px solid var(--rule); padding-top: 14px; margin-top: 14px; }
}

/* =============================================================
   D. WHAT ARE YOU BUILDING? — tabbed self-selection
   ============================================================= */
.paths-head { max-width: 640px; margin-bottom: 36px; }
.paths-head p { margin-top: 10px; color: var(--slate); }

.paths-tablist {
  display: none;
  border-bottom: 1px solid var(--rule);
  gap: 8px;
}
.js .paths-tablist { display: flex; }
.paths-tab {
  font-family: var(--sans);
  font-size: 15.5px;
  font-weight: 600;
  color: var(--slate);
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 14px 18px;
  margin-bottom: -1px;
  cursor: pointer;
}
.paths-tab:hover { color: var(--forest); }
/* First-person labels are longer: compress at narrow desktop so the row holds one line */
@media (min-width: 1024px) and (max-width: 1139px) {
  .paths-tab { font-size: 14px; padding: 14px 12px; }
}
.paths-tab[aria-selected="true"] {
  color: var(--forest);
  border-bottom-color: var(--forest);
}

.path-panel { padding: 28px 0 8px; }
.js .path-panel[hidden] { display: none; }
.path-title { margin-bottom: 14px; }
.js-tabs .path-panel .path-title { position: absolute; left: -9999px; }
.path-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: 64px;
}
.path-problem {
  font-size: 22px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -0.006em;
  max-width: 520px;
}
/* Legacy pathway micro-label (unused in v10; retained harmlessly) */
.path-problem .gap-word {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 5px;
}
#paths .flag { margin-top: 8px; }
.path-outcome {
  margin-top: 14px;
  max-width: 560px;
  color: var(--slate);
}
.path-side { border-left: 1px solid var(--rule); padding-left: 32px; }
.path-offer-name { font-weight: 600; }
.path-price { margin-top: 2px; color: var(--slate); font-size: 15px; }
.path-action { margin-top: 18px; }

@media (max-width: 1023px) {
  .js .paths-tablist { display: none; }
  .path-panel { padding: 28px 0; border-top: 1px solid var(--rule); }
  .js .path-panel[hidden] { display: block; }
  .js-tabs .path-panel .path-title { position: static; left: auto; }
  .path-grid { grid-template-columns: 1fr; gap: 20px; }
  .path-problem { font-size: 19px; }
  .path-side { border-left: 0; padding-left: 0; }
}

/* =============================================================
   E. WORK — three examples with designed specimens
   ============================================================= */
.work-head { max-width: 660px; }
.work-head .meta { margin-top: 10px; }
.work-item {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 64px;
  align-items: center;
  margin-top: 48px;
}
.work-item.rev .work-spec { order: 2; }
.work-text .meta-label { display: block; margin-bottom: 10px; }
.work-text h3 { font-size: 22px; margin-bottom: 14px; letter-spacing: -0.006em; }
.work-text .work-problem { max-width: 480px; }
.work-text .work-built { margin-top: 12px; max-width: 480px; color: var(--slate); }
.work-text .meta { margin-top: 16px; }

.work-spec {
  position: relative;
  background: var(--gray);
  min-height: 380px;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .work-item:not(.rev) .work-spec { margin-left: calc(-1 * var(--bleed)); }
  .work-item.rev .work-spec { margin-right: calc(-1 * var(--bleed)); }
}

/* Work specimen 1 — advisor site + search presence */
.ws-site {
  width: 58%;
  min-width: 280px;
  top: 36px;
  left: 8%;
  aspect-ratio: 4 / 3.2;
  display: flex;
  flex-direction: column;
}
.ws-serp {
  width: 46%;
  min-width: 250px;
  bottom: 40px;
  right: 7%;
  padding: 18px 20px 14px;
  z-index: 2;
}
.ws-serp .gk { margin-bottom: 6px; }
.ws-serp-title { background: var(--slate); height: 6px; margin-bottom: 7px; }
.ws-serp-url { background: var(--forest); height: 3.5px; margin-bottom: 9px; }
.ws-serp-gap { height: 12px; }

/* Work specimen 2 — service architecture map */
.ws-map {
  width: 74%;
  min-width: 300px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 26px 28px 28px;
}
.ws-map-kicker {
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slate);
  margin-bottom: 14px;
}
.ws-map-top {
  border: 1px solid var(--rule);
  padding: 12px 14px 8px;
  width: 56%;
  margin: 0 auto;
}
.ws-map-stem { width: 1px; height: 16px; background: var(--rule); margin: 0 auto; }
.ws-map-bar { height: 1px; background: var(--rule); width: 66%; margin: 0 auto; }
.ws-map-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  margin-top: 16px;
}
.ws-map-cell {
  border: 1px solid var(--rule);
  padding: 10px 12px 6px;
}
.ws-map-cell .gk-d { height: 5px; }

/* Work specimen 3 — one-pager + presentation cover */
.ws-onepager {
  width: 42%;
  min-width: 220px;
  top: 32px;
  left: 10%;
  aspect-ratio: 3 / 4.05;
  padding: 6% 5%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ws-onepager .spec-onepager-foot { margin: auto -6% -7% -6%; }
.ws-deck {
  width: 46%;
  min-width: 240px;
  bottom: 36px;
  right: 8%;
  aspect-ratio: 16 / 10;
  background: var(--forest);
  border: 1px solid var(--forest-deep);
  padding: 5% 6%;
  display: flex;
  flex-direction: column;
  z-index: 2;
}
.ws-deck .gk { background: var(--rule-forest); }

@media (max-width: 1023px) {
  .work-item { grid-template-columns: 1fr; gap: 24px; margin-top: 48px; }
  .work-item.rev .work-spec { order: 0; }
  .work-spec { min-height: 320px; margin-left: calc(-1 * var(--bleed)); margin-right: calc(-1 * var(--bleed)); }
  .ws-site { left: 32px; width: 46%; }
  .ws-serp { right: 32px; }
  .ws-onepager { left: 32px; width: 32%; min-width: 200px; }
  .ws-deck { right: 32px; }
}
@media (max-width: 767px) {
  .work-spec { min-height: 250px; }
  .ws-site { width: 62%; min-width: 210px; top: 20px; left: 20px; }
  .ws-serp { min-width: 195px; bottom: 20px; right: 20px; padding: 14px 16px 10px; }
  .ws-map { min-width: 0; width: 86%; padding: 16px 18px; }
  .ws-map-cols { gap: 8px; }
  .ws-onepager { width: 46%; min-width: 160px; top: 20px; left: 20px; }
  .ws-deck { min-width: 180px; bottom: 20px; right: 20px; }
}

/* =============================================================
   F. OFFERS — two detailed modules + compact mentions
   ============================================================= */
.offers-head { max-width: 640px; }
.offer-module {
  border-top: 1px solid var(--rule);
  padding: 40px 0 48px;
  margin-top: 36px;
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: 64px;
}
.offer-module.first { margin-top: 32px; }
.offer-main h3 { font-size: 24px; letter-spacing: -0.008em; }
.offer-who { margin-top: 6px; color: var(--slate); }
.offer-problem {
  margin-top: 18px;
  font-size: 19px;
  line-height: 1.45;
  max-width: 720px; /* v9: single-line problem register */
}
.offer-scope { margin-top: 26px; }
.offer-scope-row {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 24px;
  padding: 13px 0;
  border-top: 1px solid var(--rule);
}
.offer-scope-row:last-child { border-bottom: 1px solid var(--rule); }
.offer-scope-row .meta-label { padding-top: 3px; }
.offer-scope-row p { font-size: 16px; line-height: 1.55; }
.offer-ownership { margin-top: 18px; }
.offer-ownership .meta-label { display: block; margin-bottom: 4px; }

.offer-rail { padding-top: 6px; }
.offer-rail .meta-label { display: block; }
.offer-price {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 6px 0 24px;
}
.offer-rail .meta { margin-top: 12px; max-width: 260px; }

.offers-compact {
  border-top: 1px solid var(--rule);
  margin-top: 40px;
  padding-top: 28px;
}
.offers-compact .meta-label { display: block; margin-bottom: 6px; }
.offer-compact-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  padding: 14px 0;
}
.offer-compact-row + .offer-compact-row { border-top: 1px solid var(--rule); }
.offer-compact-name { font-weight: 600; font-size: 17px; }
.offer-compact-desc { color: var(--slate); font-size: 15.5px; }
.offer-compact-price { color: var(--slate); font-size: 14.5px; }
.offer-compact-row .link-row { font-size: 15px; margin-left: auto; }

@media (max-width: 1023px) {
  .offer-module { grid-template-columns: 1fr; gap: 28px; padding: 36px 0 40px; }
  .offer-rail { border-top: 1px solid var(--rule); padding-top: 22px; }
  .offer-price { margin-bottom: 18px; }
  .offer-compact-row .link-row { margin-left: 0; flex-basis: 100%; }
}
@media (max-width: 767px) {
  .offer-scope-row { grid-template-columns: 1fr; gap: 4px; padding: 12px 0; }
  .offer-rail .btn { display: block; text-align: center; }
}

/* =============================================================
   G. METHOD — the engagement ledger (Phase 5 selection:
   milestone-based rows, participation marks, no per-day claims)
   ============================================================= */
.method { background: var(--paper); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.method.sect { padding: 52px 0; } /* band register — logged in spec 2.7 */
.method-head { max-width: 680px; }
.method-name-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--forest);
}
.method-name-label::before { content: ""; width: 26px; height: 2px; background: var(--forest); }
.method-head h2 { margin-top: 12px; }
.method-head p { margin-top: 8px; color: var(--slate); }
.ledger { margin-top: 24px; border-top: 1px solid var(--rule); }
.ledger-row {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 250px;
  gap: 28px;
  border-bottom: 1px solid var(--rule);
  padding: 10px 0 8px;
}
.ledger-stage { font-size: 17px; font-weight: 600; }
.ledger-desc {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--slate);
  max-width: 560px;
  padding-top: 2px;
}
.ledger-desc .meta { font-size: 13px; }
.ledger-mark { font-size: 13px; line-height: 1.45; color: var(--ink); padding-top: 4px; }
.ledger-mark .mk,
.ledger-legend .mk { display: inline-block; width: 8px; height: 8px; margin-right: 8px; }
.mk-client { background: var(--forest); }
.mk-amp { background: var(--white); border: 1px solid var(--slate); }
.ledger-mark .mk-amp,
.ledger-legend .mk-amp { width: 6px; height: 6px; }
.ledger-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px 28px;
  margin-top: 8px;
}
.ledger-legend { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.ledger-legend span { font-size: 12.5px; color: var(--slate); }
@media (max-width: 1023px) {
  .method.sect { padding: 46px 0; }
  .ledger-row { grid-template-columns: 150px minmax(0, 1fr); gap: 18px; }
  .ledger-mark { grid-column: 2; padding-top: 0; }
}
@media (max-width: 767px) {
  .method.sect { padding: 42px 0; }
  .ledger-row { grid-template-columns: 1fr; gap: 4px; }
  .ledger-mark { grid-column: 1; margin-top: 4px; }
}

/* =============================================================
   H. AUTHORITY — the one high-impact forest section
   ============================================================= */
.authority {
  background: var(--forest);
  color: var(--white);
  padding: 72px 0;
}
.authority-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 72px;
}
.authority h2 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 32px;
  line-height: 1.28;
  letter-spacing: 0;
  max-width: 480px;
}
.authority-lede {
  margin-top: 18px;
  max-width: 500px;
  color: var(--gray);
}
.authority-areas { border-top: 1px solid var(--rule-forest); }
.authority-areas li {
  border-bottom: 1px solid var(--rule-forest);
  padding: 15px 0;
  font-size: 16.5px;
  font-weight: 500;
}
@media (max-width: 1023px) {
  .authority { padding: 56px 0; }
  .authority-grid { grid-template-columns: 1fr; gap: 32px; }
  .authority h2 { font-size: 26px; }
}

/* =============================================================
   I. INSIGHTS — future flagship utility + two in-development slots
   ============================================================= */
.insights-head { max-width: 640px; }
.insights-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 64px;
  margin-top: 24px;
}
.insights-flagship {
  border: 1px solid var(--rule);
  padding: 28px 32px 30px;
}
.insights-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--slate);
}
.insights-status::before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--copper);
}
.insights-flagship h3 { font-size: 22px; margin: 14px 0 12px; }
.insights-flagship .body { max-width: 520px; }
/* The Marketing Review structure — four-movement review output
   (legacy homepage insights block; unused in v10) */
.review-structure {
  margin-top: 12px;
  border-top: 1px solid var(--rule);
}
.rs-row {
  border-bottom: 1px solid var(--rule);
  padding: 9px 0 8px;
}
.rs-name {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 4px;
}
.insights-flagship .meta { margin-top: 12px; }
.insights-flagship .rs-row .meta { max-width: 520px; margin-top: 0; }

.insights-articles .meta-label { display: block; margin-bottom: 8px; }
.insight-article {
  border-top: 1px solid var(--rule);
  padding: 18px 0;
}
.insight-article:last-of-type { border-bottom: 1px solid var(--rule); }
.insight-article .name { font-weight: 600; font-size: 17px; }
.insight-article .meta { margin-top: 3px; }
.insights-articles > .meta { margin-top: 14px; }

@media (max-width: 1023px) {
  .insights-grid { grid-template-columns: 1fr; gap: 40px; }
  .insights-flagship { padding: 24px; }
}

/* =============================================================
   J. FINAL CTA + compact light footer
   ============================================================= */
.final-cta {
  background: var(--forest);
  color: var(--white);
  padding: 76px 0;
}
.final-cta h2 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 34px;
  letter-spacing: 0;
  max-width: 560px;
}
.final-cta .final-line {
  margin-top: 14px;
  max-width: 540px;
  color: var(--gray);
}
.final-cta .btn { margin-top: 30px; }
.final-cta .flag { margin-top: 22px; color: var(--gray); }
@media (max-width: 767px) {
  .final-cta { padding: 56px 0; }
  .final-cta h2 { font-size: 27px; }
  .final-cta .btn { display: block; text-align: center; }
}

.site-footer {
  background: var(--white);
  border-top: 1px solid var(--rule);
  padding: 36px 0 32px;
}
.footer-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 32px;
}
.footer-row .wordmark { font-size: 17px; }
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 4px;
  margin-left: auto;
}
.footer-links a {
  font-size: 13.5px;
  color: var(--slate);
  text-decoration: none;
  padding: 10px;
}
.footer-links a:hover { color: var(--forest); text-decoration: underline; text-underline-offset: 4px; }
.footer-legal {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--rule);
}
@media (max-width: 767px) {
  .footer-links { margin-left: 0; }
  .footer-links a { padding-left: 0; padding-right: 16px; }
}

/* =============================================================
   v9 additions — offer outcome/scope-note, footer description
   ============================================================= */
.offer-outcome {
  margin-top: 8px;
  color: var(--slate);
}
.offer-rail .meta + .meta { margin-top: 8px; }
.ledger-note {
  font-size: 12.5px;
  color: var(--slate);
}
.footer-desc {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--rule);
  max-width: 760px;
}
.footer-desc + .footer-legal { border-top: 0; padding-top: 0; margin-top: 4px; }

/* =============================================================
   Request-a-review page (v9) — qualification page, form, FAQ,
   designed confirmation state. Same flat system: zero radius,
   zero shadows, rules only where they separate real content.
   ============================================================= */
.staging-notice {
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
  padding: 10px 0;
}

.rr-head { padding: 64px 0 8px; }
.rr-head h1 { font-size: 38px; max-width: 720px; }
.rr-lede {
  margin-top: 14px;
  font-size: 19px;
  line-height: 1.5;
  max-width: 640px;
}
.rr-intro { margin-top: 18px; max-width: 720px; color: var(--slate); }

.rr-sect { padding: 40px 0; }
.rr-sect h2 { margin-bottom: 18px; }

.rr-eval { border-top: 1px solid var(--rule); }
.rr-eval-block {
  border-bottom: 1px solid var(--rule);
  padding: 20px 0;
}
.rr-eval-block h3 { margin-bottom: 8px; }
.rr-eval-block p { max-width: 720px; color: var(--slate); }

.rr-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
}
.rr-two-col p { max-width: 520px; }
.rr-list { margin-top: 12px; max-width: 520px; }
.rr-list li {
  border-top: 1px solid var(--rule);
  padding: 10px 0;
  color: var(--slate);
}

.rr-steps {
  list-style: decimal;
  padding-left: 24px;
  max-width: 720px;
}
.rr-steps li { padding: 6px 0; }
.rr-steps li::marker { font-weight: 600; color: var(--forest); }
.rr-quiet { margin-top: 14px; color: var(--slate); max-width: 720px; }
.rr-narrow { max-width: 720px; color: var(--slate); }

/* --- Form --- */
.rr-form-sect { border-top: 1px solid var(--rule); }
.rr-form { max-width: 640px; }
.rr-field { margin-bottom: 22px; }
.rr-field label {
  display: block;
  font-size: 15.5px;
  font-weight: 600;
  margin-bottom: 6px;
}
.rr-req, .rr-opt { font-weight: 400; color: var(--slate); font-size: 13.5px; }
.rr-hint { font-size: 13.5px; color: var(--slate); margin: -2px 0 8px; }
.rr-field input,
.rr-field select,
.rr-field textarea {
  display: block;
  width: 100%;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.4;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--slate);
  padding: 11px 14px;
  min-height: 44px;
}
.rr-field textarea { resize: vertical; }
.rr-field select { appearance: none; -webkit-appearance: none; }
.rr-field input:focus-visible,
.rr-field select:focus-visible,
.rr-field textarea:focus-visible {
  outline: 2px solid var(--forest);
  outline-offset: 2px;
}
/* Invalid fields: indicated by a thicker border AND descriptive error
   text below (never color alone — the closed v9 palette has no dedicated
   error hue, so weight/thickness/text carry the signal). */
.rr-field input[aria-invalid="true"],
.rr-field select[aria-invalid="true"],
.rr-field textarea[aria-invalid="true"] {
  border: 2px solid var(--ink);
  padding: 10px 13px;
}
.rr-error {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
  margin: 8px 0 0;
}
.rr-error[hidden] { display: none; }
.rr-form-status {
  font-size: 15.5px;
  font-weight: 600;
  color: var(--ink);
  margin-top: 18px;
}
.rr-form-status:empty { display: none; }
/* Honeypot: hidden from sighted users and assistive tech, never focusable. */
.rr-hp { display: none; }
.rr-compliance {
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid var(--rule);
  max-width: 640px;
}
.rr-submit-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin-top: 28px;
}
.rr-submit-row .meta { max-width: 320px; }
.rr-form .btn[disabled] {
  background: var(--gray);
  color: var(--slate);
  cursor: not-allowed;
}
.rr-staging-note {
  margin-top: 18px;
  border-top: 1px solid var(--rule);
  padding-top: 12px;
  font-size: 13.5px;
  color: var(--slate);
  max-width: 640px;
}
.rr-staging-note a { color: var(--forest); font-weight: 600; }

/* --- FAQ: native details/summary, flat system --- */
.rr-faq-sect { border-top: 1px solid var(--rule); }
.rr-faq { border-top: 1px solid var(--rule); max-width: 780px; }
.rr-faq details { border-bottom: 1px solid var(--rule); }
.rr-faq summary {
  list-style: none;
  cursor: pointer;
  font-size: 17px;
  font-weight: 600;
  padding: 15px 36px 15px 0;
  position: relative;
  min-height: 44px;
  display: block;
}
.rr-faq summary::-webkit-details-marker { display: none; }
.rr-faq summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  font-weight: 400;
  color: var(--forest);
}
.rr-faq details[open] summary::after { content: "−"; }
.rr-faq summary:hover { color: var(--forest); }
.rr-faq summary:focus-visible { outline: 2px solid var(--forest); outline-offset: 2px; }
.rr-faq-body { padding: 0 0 18px; }
.rr-faq-body p { max-width: 720px; font-size: 16px; color: var(--slate); }
.rr-back { margin-top: 28px; }

/* --- Designed confirmation state: anchor-reachable in staging, and
   toggled by script.js (.is-active) after a real successful submission --- */
.rr-confirmation { display: none; }
.rr-confirmation:target,
.rr-confirmation.is-active { display: block; }
.rr-confirmation { border-top: 1px solid var(--rule); }
.rr-confirm-panel {
  margin-top: 14px;
  border: 1px solid var(--rule);
  background: var(--paper);
  padding: 32px 36px 30px;
  max-width: 720px;
}
.rr-confirm-panel h2 { margin-bottom: 12px; }
.rr-confirm-panel p { max-width: 620px; color: var(--slate); }

@media (max-width: 1023px) {
  .rr-head { padding: 48px 0 4px; }
  .rr-head h1 { font-size: 31px; }
  .rr-two-col { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 767px) {
  .rr-head { padding: 40px 0 0; }
  .rr-head h1 { font-size: 27px; }
  .rr-lede { font-size: 17.5px; }
  .rr-sect { padding: 32px 0; }
  .rr-submit-row .btn { display: block; width: 100%; text-align: center; }
  .rr-confirm-panel { padding: 24px 20px; }
}

/* =============================================================
   V10 — buyer-focused rebuild (spec v10). Reuses the flat
   white/forest system, zero radius, sans-first, existing tokens.
   ============================================================= */

/* --- Section 1: hero secondary line + editorial placeholder frame --- */
.hero-secondary {
  margin-top: 18px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--slate);
  max-width: 560px;
}
.hero-placeholder {
  flex: 1;
  min-height: 420px;
  background: var(--gray);
  border: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
}
.placeholder-note {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.55;
  color: var(--slate);
  text-align: center;
  max-width: 360px;
}
@media (max-width: 1023px) {
  .hero-placeholder { flex: none; min-height: 280px; }
}

/* --- Section 2: the look-up moment --- */
.lookup h2 { max-width: 760px; }
.lookup-copy {
  margin-top: 18px;
  max-width: 660px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink);
}
.lookup-core {
  margin-top: 28px;
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.4;
  font-weight: 500;
  max-width: 700px;
  border-left: 2px solid var(--copper);
  padding-left: 22px;
}
@media (max-width: 767px) {
  .lookup-core { font-size: 20px; padding-left: 16px; }
}

/* --- Section 3: three buyer paths, stacked (not equal tabs) --- */
.buyer-intro { margin-top: 10px; max-width: 640px; color: var(--slate); }
.buyer-paths { margin-top: 26px; border-top: 1px solid var(--rule); }
.buyer-path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px 48px;
  align-items: start;
  border-bottom: 1px solid var(--rule);
  padding: 24px 0;
}
.buyer-path-name {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.006em;
}
.buyer-path-desc { margin-top: 8px; color: var(--slate); max-width: 620px; }
.buyer-path-offer { text-align: right; }
.buyer-path-offer .offer-nm { font-weight: 600; font-size: 15.5px; white-space: nowrap; }
.buyer-path-offer .offer-pr { color: var(--slate); font-size: 14.5px; margin-top: 2px; }
.buyer-path-offer .link-row { font-size: 14.5px; }
/* Lead path — individual advisor, most prominent */
.buyer-path--lead { padding: 32px 0; }
.buyer-path--lead .buyer-path-name { font-size: 25px; }
.buyer-path--lead .buyer-path-desc { font-size: 18px; color: var(--ink); }
/* Secondary path — RIA, visibly smaller and lower */
.buyer-path--secondary { padding: 18px 0; }
.buyer-path--secondary .buyer-path-name { font-size: 17px; color: var(--slate); }
.buyer-path--secondary .buyer-path-desc { font-size: 15px; }
.buyer-spec { margin-top: 22px; max-width: 720px; font-size: 15px; color: var(--slate); }
@media (max-width: 767px) {
  .buyer-path { grid-template-columns: 1fr; gap: 12px; }
  .buyer-path-offer { text-align: left; }
}

/* --- Section 4: one proof story --- */
.proof-story h2 { max-width: 640px; }
.proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: 56px;
  margin-top: 28px;
  align-items: start;
}
.proof-visual {
  background: var(--gray);
  border: 1px solid var(--rule);
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
}
.proof-visual .pageproof { width: min(480px, 100%); }
.proof-frame { border-top: 1px solid var(--rule); padding: 16px 0; }
.proof-frame:first-child { border-top: 0; padding-top: 0; }
.proof-frame .meta-label { display: block; margin-bottom: 6px; }
.proof-frame p { max-width: 520px; }
.proof-frames > .meta { margin-top: 16px; }
.proof-visual-label { margin-top: 18px; }
@media (max-width: 1023px) {
  .proof-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* --- Section 5: engagements (compact modules) --- */
.engagements h2 { margin-bottom: 6px; }
.engagement {
  border-top: 1px solid var(--rule);
  padding: 24px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 48px;
  align-items: baseline;
}
.engagement:first-of-type { margin-top: 20px; }
.engagement-name { font-size: 20px; font-weight: 600; letter-spacing: -0.006em; }
.engagement-who { margin-top: 4px; color: var(--slate); font-size: 15.5px; }
.engagement-price { font-size: 20px; font-weight: 600; white-space: nowrap; text-align: right; }
.engagement-includes {
  grid-column: 1 / -1;
  margin-top: 4px;
  color: var(--slate);
  font-size: 15.5px;
  line-height: 1.55;
  max-width: 780px;
}
.engagement-cta { grid-column: 1 / -1; margin-top: 8px; }
.engagement-note { grid-column: 1 / -1; margin-top: 2px; color: var(--slate); font-size: 14.5px; }
.engagement--lead { padding: 30px 0 26px; }
.engagement--lead .engagement-name { font-size: 25px; }
.engagement--secondary { padding: 18px 0; }
.engagement--secondary .engagement-name { font-size: 17px; }
.engagement--secondary .engagement-price { font-size: 17px; }
@media (max-width: 767px) {
  .engagement { grid-template-columns: 1fr; gap: 6px; }
  .engagement-price { text-align: left; }
}

/* --- Section 6: why AMP + how it works --- */
.why-lead {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 30px;
  line-height: 1.25;
  letter-spacing: 0;
  max-width: 640px;
}
.why-copy { margin-top: 18px; max-width: 680px; color: var(--slate); }
.why-founder {
  margin-top: 22px;
  border-left: 2px solid var(--rule);
  padding-left: 20px;
  max-width: 680px;
  color: var(--slate);
  font-size: 15.5px;
  line-height: 1.55;
}
.how-works { margin-top: 44px; border-top: 1px solid var(--rule); }
.how-head { margin: 22px 0 14px; }
.how-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.how-step { border-top: 2px solid var(--forest); padding-top: 12px; }
.how-num {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--forest);
}
.how-step p:last-child { margin-top: 6px; font-size: 15.5px; font-weight: 500; line-height: 1.4; }
@media (max-width: 1023px) {
  .why-lead { font-size: 26px; }
}
@media (max-width: 767px) {
  .how-steps { grid-template-columns: 1fr 1fr; gap: 18px; }
}

/* ===== Corrected V10 additions (2026-07-19) ===== */

/* Hero before/after clarity concept (stacked within the hero column for legibility) */
.ba-label { font: 600 12px/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--copper); margin: 0 0 10px; }
.ba-concept { display: grid; grid-template-columns: 1fr; gap: 12px; }
.ba-state { border: 1px solid var(--rule); background: var(--white); padding: 16px 18px; }
.ba-before { background: var(--gray); }
.ba-after { border-left: 3px solid var(--forest); }
.ba-tag { display: inline-block; font: 600 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate); margin-bottom: 8px; }
.ba-tag--on { color: var(--forest); }
.ba-h { font: 500 17px/1.3 var(--serif); color: var(--ink); margin: 0 0 6px; }
.ba-before .ba-h { color: var(--slate); }
.ba-sub { font: 400 14px/1.45 var(--sans); color: var(--slate); margin: 0 0 8px; }
.ba-line { font: 400 14px/1.45 var(--sans); color: var(--ink); margin: 0 0 6px; }
.ba-before .ba-line { color: var(--slate); }
.ba-ref { color: var(--forest); }
.ba-svc { font: 400 13px/1.5 var(--sans); color: var(--slate); margin: 0 0 10px; }
.ba-cta-ghost { display: inline-block; font: 500 13px/1 var(--sans); color: var(--slate); border: 1px solid var(--rule); padding: 8px 14px; }
.ba-cta-solid { display: inline-block; font: 500 13px/1 var(--sans); color: var(--white); background: var(--forest); padding: 9px 15px; }
.ba-caption { font: 400 14px/1.5 var(--sans); color: var(--slate); margin-top: 12px; }
.ba-caption strong { color: var(--ink); }

/* Look-up stages */
.lookup-stages { list-style: none; margin: 20px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 20px 32px; }
.lookup-stages li { font: 500 16px/1.3 var(--sans); color: var(--ink); display: flex; align-items: baseline; gap: 10px; }
.ls-n { font: 600 13px/1 var(--sans); color: var(--white); background: var(--forest); width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none; }

/* Buyer path problem/outcome text */
.buyer-path-problem { font: 500 16px/1.4 var(--sans); color: var(--ink); margin: 0 0 8px; }
.buyer-path-outcome { font: 400 15px/1.5 var(--sans); color: var(--slate); margin: 0; }

/* Section 4 before/after comparison */
.proof-support { font: 400 18px/1.6 var(--sans); color: var(--slate); max-width: 60ch; margin: 8px 0 24px; }
.proof-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 20px; }
.proof-col { border: 1px solid var(--rule); padding: 20px 22px; background: var(--white); }
.proof-col--after { border-left: 3px solid var(--forest); }
.proof-col ul { margin: 12px 0 0; padding-left: 18px; }
.proof-col li { font: 400 16px/1.7 var(--sans); color: var(--ink); }
.proof-col--before li { color: var(--slate); }
.proof-why { font: 400 17px/1.6 var(--sans); color: var(--ink); max-width: 62ch; }
.proof-why strong { color: var(--forest); }

/* Engagements additions */
.engagement-outcome { font: 500 18px/1.4 var(--serif); color: var(--ink); margin: 6px 0 8px; }
.engagement-ongoing { font: 400 15px/1.6 var(--sans); color: var(--slate); margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--rule); }

/* Why-AMP proof line */
.why-proof { font: 500 18px/1.55 var(--sans); color: var(--forest); max-width: 62ch; margin: 12px 0 18px; }

/* Final CTA secondary line */
.final-secondary { font: 400 14px/1.5 var(--sans); color: var(--gray); opacity: .85; margin-top: 12px; }

/* Review page: positioning line, receive list */
.rr-positioning { font: 500 16px/1.5 var(--sans); color: var(--forest); margin-top: 10px; }
.rr-receive { margin: 12px 0 0; padding-left: 20px; max-width: 60ch; }
.rr-receive li { font: 400 17px/1.7 var(--sans); color: var(--ink); }

/* Side-by-side before/after in the hero only when there's room (wide desktop) */
@media (min-width: 1200px) {
  .ba-concept { grid-template-columns: 1fr 1fr; }
}
/* Stack the Section-4 comparison on narrow screens */
@media (max-width: 767px) {
  .proof-compare { grid-template-columns: 1fr; gap: 16px; }
  .lookup-stages { gap: 14px; }
}

/* ===== V10 polish (2026-07-19): large editorial hero comparison + hierarchy ===== */
/* Hero: stack the promise over a full-width, large-type before/after comparison */
.hero-grid { grid-template-columns: 1fr; gap: 44px; }
.hero-copy { max-width: 720px; }
.hero-visual { max-width: none; }
.ba-label { margin-bottom: 14px; }

.ba2 { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 22px; }
.ba2-state { padding: 30px 32px; border: 1px solid var(--rule); }
.ba2-before { background: var(--gray); }
.ba2-after { background: var(--white); border-left: 3px solid var(--forest); }
.ba2-tag { display:inline-block; font: 600 12px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; color: var(--slate); margin-bottom: 16px; }
.ba2-tag--on { color: var(--forest); }
.ba2-h { font: 500 27px/1.22 var(--serif); color: var(--ink); margin: 0 0 12px; }
.ba2-before .ba2-h { color: var(--slate); }
.ba2-sub { font: 400 16px/1.5 var(--sans); color: var(--slate); margin: 0 0 18px; max-width: 40ch; }
.ba2-signals { list-style: none; margin: 0 0 18px; padding: 0; }
.ba2-signals li { font: 400 16px/1.95 var(--sans); color: var(--slate); }
.ba2-signals--on li { color: var(--ink); }
.ba2-signals--on li::before { content: "— "; color: var(--forest); }
.ba2-ref { font: italic 400 17px/1.45 var(--serif); color: var(--slate); margin: 0; }
.ba2-ref--on { color: var(--ink); }
.ba2-cta { display:inline-block; margin-top: 18px; font: 500 14px/1 var(--sans); color: var(--white); background: var(--forest); padding: 12px 18px; }
.ba2-arrow { align-self: center; justify-self: center; font: 400 30px/1 var(--sans); color: var(--forest); }

@media (max-width: 900px) {
  .ba2 { grid-template-columns: 1fr; gap: 14px; }
  .ba2-arrow { transform: rotate(90deg); }
  .ba2-h { font-size: 22px; }
  .ba2-state { padding: 22px 22px; }
}

/* Review page: make "What you receive" the dominant block; de-emphasize the rest */
.rr-receive li { font-size: 18px; line-height: 1.75; }
.rr-secondary { padding-top: 8px; padding-bottom: 8px; }
.rr-secondary h2 { font-size: 15px; text-transform: uppercase; letter-spacing: .06em; color: var(--slate); }
.rr-secondary p { font-size: 15px; color: var(--slate); }
.rr-secondary .rr-two-col { gap: 32px; }

/* ===== Hero editorial photo (2026-07-19) — copy | photo top row, concept below ===== */
.hero-top { display: grid; grid-template-columns: 44fr 56fr; gap: 44px; align-items: start; margin-bottom: 48px; }
.hero-photo { }
.hero-photo picture { display: block; }
.hero-photo img { display: block; width: 100%; height: auto; border: 1px solid var(--rule); }
@media (max-width: 900px) {
  .hero-top { grid-template-columns: 1fr; gap: 28px; margin-bottom: 36px; }
  .hero-copy { max-width: none; }
}
@media (max-width: 640px) {
  .hero-photo img { height: 420px; object-fit: cover; object-position: center 30%; }
}

/* ===== Category article pages (2026-07-19) ===== */
.article { max-width: 760px; margin: 0 auto; padding: 40px 0 8px; }
.article .eyebrow { color: var(--copper); }
.article h1 { font: 500 40px/1.15 var(--serif); color: var(--ink); margin: 8px 0 16px; }
.breadcrumb { font: 400 13px/1.5 var(--sans); color: var(--slate); margin-bottom: 20px; }
.breadcrumb a { color: var(--slate); }
.byline { font: 400 14px/1.5 var(--sans); color: var(--slate); border-bottom: 1px solid var(--rule); padding-bottom: 20px; margin-bottom: 28px; }
.def-block { background: var(--gray); border-left: 3px solid var(--forest); padding: 20px 24px; margin: 8px 0 28px; }
.def-block p { font: 500 19px/1.55 var(--sans); color: var(--ink); margin: 0; }
.article h2 { font: 500 26px/1.25 var(--serif); color: var(--ink); margin: 40px 0 12px; }
.article h3 { font: 600 17px/1.4 var(--sans); color: var(--ink); margin: 26px 0 8px; }
.article p { font: 400 18px/1.7 var(--sans); color: var(--ink); margin: 0 0 16px; }
.article ul, .article ol { margin: 0 0 18px; padding-left: 22px; }
.article li { font: 400 18px/1.7 var(--sans); color: var(--ink); margin-bottom: 6px; }
.checklist { list-style: none; padding-left: 0; }
.checklist li { position: relative; padding-left: 30px; }
.checklist li::before { content: "□"; position: absolute; left: 0; color: var(--forest); font-size: 20px; line-height: 1.5; }
.article .meta { font-size: 14px; }
.article-faq details { border-top: 1px solid var(--rule); padding: 14px 0; }
.article-faq summary { font: 600 17px/1.4 var(--sans); color: var(--ink); cursor: pointer; list-style: none; }
.article-faq summary::-webkit-details-marker { display: none; }
.article-faq summary::after { content: " +"; color: var(--forest); }
.article-faq details[open] summary::after { content: " –"; }
.article-faq .rr-faq-body p { font-size: 17px; margin-top: 10px; }
.article-cta { background: var(--forest); color: var(--white); padding: 32px; margin: 40px 0 8px; }
.article-cta h2 { color: var(--white); margin-top: 0; }
.article-cta p { color: #D9E2DD; }
.article-cta .btn { background: var(--white); color: var(--forest); }
.article-ba { border: 1px solid var(--rule); display: grid; grid-template-columns: 1fr 1fr; margin: 8px 0 8px; }
.article-ba > div { padding: 20px 22px; }
.article-ba .ba-b { background: var(--gray); }
.article-ba .ba-a { border-left: 3px solid var(--forest); }
.article-ba .ba-t { font: 600 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--slate); }
.article-ba .ba-a .ba-t { color: var(--forest); }
.article-ba .ba-h { font: 500 18px/1.3 var(--serif); margin: 8px 0 0; }
.article-ba .ba-b .ba-h { color: var(--slate); }
@media (max-width: 640px){ .article h1 { font-size: 30px; } .article-ba { grid-template-columns: 1fr; } }

/* ===== V10 visual correction (2026-07-19): photography moments ===== */
/* Temporary editorial-photo note — staging only; JS reveals it off the production host, hidden otherwise */
figure.hero-photo, figure.work-photo, figure.proof-sample { margin: 0; }
.photo-temp-note { font: 600 11px/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--copper); margin-top: 8px; }

/* Section 4: moved sample-concept specimen + Before / After / Outcome narrative caption */
.proof-sample { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--rule); }
.proof-sample .ba-label { margin-bottom: 14px; }
.proof-sample-cap { margin-top: 22px; display: grid; gap: 12px; max-width: 74ch; }
.psc-row { display: grid; grid-template-columns: 104px 1fr; gap: 18px; align-items: baseline; }
.psc-k { font: 600 12px/1.7 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--forest); }
.psc-row p { font: 400 16px/1.6 var(--sans); color: var(--ink); margin: 0; }
@media (max-width: 640px) { .psc-row { grid-template-columns: 1fr; gap: 3px; } }

/* Section 6: one restrained working-materials band */
.work-photo { margin: 40px 0 8px; }
.work-photo picture { display: block; }
.work-photo img { display: block; width: 100%; height: auto; border: 1px solid var(--rule); }

/* ===== Proof section rebuild + Advisor Presence Sample (2026-07-19) ===== */

/* --- Shared specimen card: readable finished copy, never a wireframe --- */
.specimen { border: 1px solid var(--rule); background: var(--white); }
.specimen-label { font: 600 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--copper); margin: 0; padding: 12px 24px; border-bottom: 1px solid var(--rule); background: var(--gray); }
.specimen-body { padding: 28px 32px; }
.specimen--feature { margin-top: 8px; }
.specimen--feature .specimen-body { padding: 40px 44px; }
.specimen-eyebrow { font: 600 12px/1.4 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--slate); margin: 0 0 14px; }
.specimen-h { font: 500 34px/1.15 var(--serif); color: var(--ink); margin: 0 0 14px; }
.specimen-sub { font: 400 17px/1.55 var(--sans); color: var(--slate); margin: 0 0 20px; max-width: 54ch; }
.specimen-cta { display: inline-block; font: 500 14px/1 var(--sans); color: var(--white); background: var(--forest); padding: 13px 20px; }
.specimen-p { font: 400 16px/1.65 var(--sans); color: var(--ink); margin: 0 0 12px; }
.specimen-p:last-child { margin-bottom: 0; }
.specimen-muted { color: var(--slate); }
.specimen-mono { font: 500 15px/1.55 var(--sans); color: var(--ink); margin: 0; }
@media (max-width: 640px){ .specimen-h { font-size: 26px; } .specimen--feature .specimen-body { padding: 28px 22px; } .specimen-body { padding: 22px 22px; } }

/* --- Homepage proof: before / work / after + application labels --- */
.bwa { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 32px 0 8px; }
.bwa-col { border-top: 2px solid var(--rule); padding-top: 14px; }
.bwa-col--work { border-top-color: var(--copper); }
.bwa-col--after { border-top-color: var(--forest); }
.bwa-k { display: block; font: 600 12px/1.6 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate); margin-bottom: 6px; }
.bwa-col--work .bwa-k { color: var(--copper); }
.bwa-col--after .bwa-k { color: var(--forest); }
.bwa-col p { font: 400 15.5px/1.6 var(--sans); color: var(--ink); margin: 0; }
.proof-apps { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 12px; padding: 0; margin: 20px 0 28px; }
.proof-apps li { font: 600 12px/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--forest); border: 1px solid var(--rule); padding: 9px 14px; background: var(--white); }
.proof-cta { margin: 0 0 14px; }
.proof-disclosure { color: var(--slate); }
@media (max-width: 767px){ .bwa { grid-template-columns: 1fr; gap: 16px; } }

/* --- Sample page --- */
.sp-disclosure-bar { background: var(--ink); }
.sp-disclosure-bar p { font: 500 13px/1.5 var(--sans); color: var(--white); margin: 0; padding: 12px 0; letter-spacing: .01em; }
.sp-disclosure-bar strong { color: var(--copper); }
.sp-wrap { max-width: 900px; padding-top: 28px; padding-bottom: 24px; }
.sp-sect { margin-top: 56px; }
.sp-lead { font: 400 18px/1.6 var(--sans); color: var(--slate); max-width: 66ch; margin: 10px 0 22px; }
.sp-sect h2 { font: 500 30px/1.2 var(--serif); color: var(--ink); margin: 0 0 6px; }
.sp-sect h3 { font: 600 17px/1.4 var(--sans); color: var(--ink); margin: 0 0 12px; }

.sp-hero { padding: 20px 0 8px; border-bottom: 1px solid var(--rule); }
.sp-hero .eyebrow { color: var(--copper); }
.sp-firm { font: 600 13px/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--slate); margin: 6px 0 10px; }
.sp-hero h1 { font: 500 48px/1.08 var(--serif); color: var(--ink); margin: 0 0 18px; }
.sp-hero-sub { font: 400 20px/1.5 var(--sans); color: var(--ink); max-width: 60ch; margin: 0 0 24px; }
.sp-cta-row { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 26px; margin-bottom: 22px; }
.sp-btn-static { cursor: default; }
.sp-hero-note { font: 400 14px/1.6 var(--sans); color: var(--slate); border-left: 2px solid var(--rule); padding-left: 16px; max-width: 64ch; }

.sp-situations { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; }
.sp-situations li { border-top: 1px solid var(--rule); padding-top: 12px; }
.sp-sit-k { display: block; font: 600 15px/1.4 var(--sans); color: var(--ink); margin-bottom: 4px; }
.sp-situations p { font: 400 15px/1.55 var(--sans); color: var(--slate); margin: 0; }

.sp-story { background: var(--gray); padding: 36px 40px; }
.sp-story h2 { font-size: 27px; max-width: 24ch; }
.sp-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 40px; margin-top: 16px; }
.sp-story-grid p { font: 400 16px/1.65 var(--sans); color: var(--ink); margin: 0; }

.sp-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 18px; }
.sp-pillar { border-top: 2px solid var(--forest); padding-top: 14px; }
.sp-pillar-k { font: 600 16px/1.35 var(--sans); color: var(--ink); margin: 0 0 8px; }
.sp-pillar p { font: 400 15px/1.6 var(--sans); color: var(--slate); margin: 0; }

.sp-service { border: 1px solid var(--rule); padding: 24px 28px; margin-bottom: 16px; }
.sp-service dl { display: grid; grid-template-columns: 160px 1fr; gap: 10px 22px; margin: 0; }
.sp-service dt { font: 600 12px/1.7 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--forest); }
.sp-service dd { font: 400 16px/1.6 var(--sans); color: var(--ink); margin: 0; }

.sp-bio-body { max-width: 70ch; }
.sp-bio-body p { font: 400 17px/1.7 var(--sans); color: var(--ink); margin: 0 0 14px; }
.sp-note { font-size: 14px !important; color: var(--slate) !important; border-left: 2px solid var(--copper); padding-left: 14px; }

.sp-verify { list-style: none; padding: 0; margin: 0; }
.sp-verify li { font: 400 16px/1.6 var(--sans); color: var(--ink); border-top: 1px solid var(--rule); padding: 12px 0; }
.sp-v-k { font-weight: 600; color: var(--ink); }

.sp-referral { background: var(--gray); padding: 36px 40px; }
.sp-ref-quote { margin: 0 0 20px; border-left: 3px solid var(--forest); padding-left: 22px; }
.sp-ref-quote p { font: 400 20px/1.5 var(--serif); color: var(--ink); margin: 0; }
.sp-ref-lead { font: 600 15px/1.5 var(--sans); color: var(--ink); margin: 0 0 8px; }
.sp-ref-fit { margin: 0 0 18px; padding-left: 20px; }
.sp-ref-fit li { font: 400 16px/1.7 var(--sans); color: var(--ink); }
.sp-ref-cta .link-row { color: var(--slate); }

.sp-channels { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 12px; }
.sp-channels .specimen { display: flex; flex-direction: column; }

.sp-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 12px; }
.sp-ba-col { border: 1px solid var(--rule); padding: 22px 24px; }
.sp-ba-before { background: var(--gray); }
.sp-ba-after { border-left: 3px solid var(--forest); }
.sp-ba-k { font: 600 12px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--slate); margin: 0 0 12px; }
.sp-ba-after .sp-ba-k { color: var(--forest); }
.sp-ba-col ul { margin: 0; padding-left: 18px; }
.sp-ba-col li { font: 400 16px/1.8 var(--sans); color: var(--ink); }
.sp-ba-before li { color: var(--slate); }
.sp-ba-label { margin-top: 14px; color: var(--slate); }

.sp-back { margin-top: 56px; }
.sp-back-link { margin-top: 20px; }

@media (max-width: 767px){
  .sp-hero h1 { font-size: 34px; }
  .sp-situations, .sp-story-grid, .sp-pillars, .sp-channels, .sp-ba { grid-template-columns: 1fr; gap: 16px; }
  .sp-service dl { grid-template-columns: 1fr; gap: 4px 0; }
  .sp-service dt { margin-top: 10px; }
  .sp-story, .sp-referral { padding: 26px 22px; }
}

/* ===== Private-markets specialization (2026-07-19) ===== */
/* Homepage: 4th buyer path (specialization wedge) */
.buyer-path--spec .offer-spec-note { font: 400 14px/1.5 var(--sans); color: var(--slate); margin: 4px 0 8px; max-width: 34ch; }
.buyer-path--spec .offer-nm { color: var(--copper); }

/* Homepage: specialization band (subordinate to hero + individual-advisor ICP) */
.spec-band { background: var(--gray); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.spec-eyebrow { font: 600 12px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--copper); margin: 0 0 12px; }
.spec-band h2 { font: 500 30px/1.2 var(--serif); color: var(--ink); max-width: 22ch; margin: 0 0 14px; }
.spec-copy { font: 400 18px/1.6 var(--sans); color: var(--ink); max-width: 64ch; margin: 0 0 18px; }
.spec-diff { font: 500 18px/1.5 var(--serif); color: var(--forest); max-width: 62ch; margin: 0 0 18px; padding-left: 18px; border-left: 3px solid var(--forest); }
.spec-links { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-bottom: 16px; }
.spec-disclaimer { color: var(--slate); max-width: 74ch; }

/* Sample page: 1031 decision path */
.sp-dp-eyebrow { color: var(--copper); margin-bottom: 2px; }
.sp-dp-disclaimer { border: 1px solid var(--copper); background: var(--white); padding: 18px 22px; margin: 4px 0 28px; }
.sp-dp-disc-k { font: 600 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--copper); margin: 0 0 10px; }
.sp-dp-disclaimer ul { margin: 0; padding-left: 18px; }
.sp-dp-disclaimer li { font: 400 15px/1.6 var(--sans); color: var(--ink); }
.sp-dp-path { display: grid; gap: 14px; margin: 8px 0 24px; }
.sp-dp-step { display: grid; grid-template-columns: 40px 1fr; gap: 16px; align-items: start; border-top: 1px solid var(--rule); padding-top: 14px; }
.sp-dp-n { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--forest); color: var(--white); font: 600 15px/1 var(--sans); }
.sp-dp-h3 { font: 600 16px/1.35 var(--sans); color: var(--ink); margin: 0 0 4px; }
.sp-dp-step p:last-child, .sp-dp-opt p:last-child { font: 400 15px/1.55 var(--sans); color: var(--slate); margin: 0; }
.sp-dp-branch-label { font: 600 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--copper); margin: 6px 0 0; }
.sp-dp-branch { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sp-dp-opt { border: 1px solid var(--rule); border-top: 2px solid var(--copper); padding: 16px 18px; background: var(--white); }
.sp-dp-optk { font: 600 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--copper); }
.sp-dp-opt .sp-dp-h3 { margin-top: 8px; }
.sp-dp-questions { background: var(--gray); padding: 20px 24px; margin: 0 0 28px; }
.sp-dp-qk { font: 600 13px/1.4 var(--sans); color: var(--ink); margin: 0 0 10px; }
.sp-dp-questions ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0; padding: 0; }
.sp-dp-questions li { font: 600 13px/1 var(--sans); color: var(--forest); border: 1px solid var(--rule); background: var(--white); padding: 8px 13px; }
.sp-figure { margin: 0 0 28px; border: 1px solid var(--rule); padding: 22px 24px; background: var(--white); }
.sp-figcap { font: 600 12px/1.4 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--slate); margin: 0 0 14px; }
.sp-svg { display: block; width: 100%; height: auto; max-width: 720px; margin: 0 auto; }
.sp-figure-note { font: 400 13px/1.5 var(--sans); color: var(--slate); margin: 12px 0 0; }
.sp-dp-close { font: 400 17px/1.6 var(--serif); color: var(--ink); max-width: 62ch; }

/* Insights page */
.ins-h1 { font: 500 42px/1.12 var(--serif); color: var(--ink); margin: 6px 0 16px; }
.ins-intro { font: 400 19px/1.6 var(--sans); color: var(--ink); max-width: 68ch; margin: 0 0 14px; }
.ins-note { font: 400 14px/1.6 var(--sans); color: var(--slate); border-left: 2px solid var(--copper); padding-left: 14px; max-width: 66ch; margin: 0 0 8px; }
.ins-list { list-style: none; counter-reset: ins; padding: 0; margin: 32px 0 40px; }
.ins-item { border-top: 1px solid var(--rule); padding: 22px 0; max-width: 72ch; }
.ins-item h2 { font: 600 20px/1.35 var(--sans); color: var(--ink); margin: 0 0 8px; }
.ins-item p { font: 400 16px/1.65 var(--sans); color: var(--slate); margin: 0; }

@media (max-width: 767px){
  .sp-dp-branch { grid-template-columns: 1fr; }
  .spec-band h2, .ins-h1 { font-size: 27px; }
}

/* ============================================================
   V11 EDITORIAL HOMEPAGE (2026-07-19)
   ============================================================ */

/* --- Hero: layered AMP artifact over the editorial photo --- */
.hero-photo { position: relative; }
.hero-artifact {
  position: absolute; left: -18px; bottom: -26px; width: 260px;
  background: var(--white); border: 1px solid var(--rule);
  box-shadow: 0 18px 40px -24px rgba(18,59,50,.45);
  padding: 16px 18px;
}
.hero-artifact-k { display:block; font: 600 10px/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; color: var(--copper); margin-bottom: 12px; }
.hero-artifact-b, .hero-artifact-a { display:block; font: 600 9px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; color: var(--slate); }
.hero-artifact-a { color: var(--forest); margin-top: 10px; }
.hero-artifact-before { font: 400 14px/1.3 var(--serif); color: var(--slate); margin: 4px 0 0; text-decoration: line-through; text-decoration-color: var(--rule); }
.hero-artifact-after { font: 500 15px/1.28 var(--serif); color: var(--ink); margin: 4px 0 0; }
@media (max-width: 900px){ .hero-artifact { position: static; width: auto; margin-top: 16px; box-shadow: none; } }

/* --- Section 2: referral look-up journey --- */
.lookup2 { border-top: 1px solid var(--rule); }
.lookup2-support { font: 400 18px/1.6 var(--sans); color: var(--slate); max-width: 60ch; margin: 8px 0 30px; }
.journey { list-style: none; margin: 0 0 26px; padding: 0 0 6px; display: flex; align-items: stretch; gap: 34px; overflow-x: auto; }
.journey > li { position: relative; flex: 0 0 auto; }
.journey > li:not(:first-child)::before { content: "\2192"; position: absolute; left: -25px; top: 50%; transform: translateY(-50%); color: var(--copper); font: 400 16px/1 var(--sans); }
.jn-k { display:block; font: 600 12px/1.3 var(--sans); letter-spacing:.04em; color: var(--forest); }
.jn-sub { display:block; font: 400 12px/1.4 var(--sans); color: var(--slate); margin-top: 4px; max-width: 15ch; }
.journey-node { align-self: center; width: 120px; }
.surf-k { display:block; font: 600 10px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; color: var(--slate); margin-bottom: 8px; }
.surf { width: 190px; height: 118px; border: 1px solid var(--rule); background: var(--white); padding: 12px 13px; overflow: hidden; }
.surf-serp .serp-url { font: 400 10px/1.2 var(--sans); color: #3b6b4f; margin: 0; }
.surf-serp .serp-title { font: 500 14px/1.25 var(--serif); color: var(--forest); margin: 3px 0 4px; }
.surf-serp .serp-desc { font: 400 10.5px/1.4 var(--sans); color: var(--slate); margin: 0; }
.surf-site { padding-top: 0; }
.surf-bar { display:block; height: 10px; margin: 0 -13px 12px; background: var(--gray); border-bottom: 1px solid var(--rule); }
.surf-site-h { font: 500 15px/1.2 var(--serif); color: var(--ink); margin: 0 0 6px; }
.surf-site-sub { font: 400 10.5px/1.4 var(--sans); color: var(--slate); margin: 0; }
.surf-li { position: relative; padding-top: 34px; }
.li-avatar { position:absolute; top: 12px; left: 13px; width: 26px; height: 26px; border-radius: 50%; background: var(--forest); color: var(--white); font: 600 10px/26px var(--sans); text-align:center; letter-spacing:.02em; }
.li-name { font: 600 12px/1.2 var(--sans); color: var(--ink); margin: 0 0 4px; }
.li-head { font: 400 10.5px/1.4 var(--sans); color: var(--slate); margin: 0; }
.surf-pdf { position: relative; }
.pdf-tab { position:absolute; top: 12px; right: 13px; font: 600 8px/1 var(--sans); letter-spacing:.1em; color: var(--copper); border: 1px solid var(--copper); padding: 3px 5px; }
.pdf-h { font: 500 13px/1.25 var(--serif); color: var(--ink); margin: 0 0 5px; max-width: 20ch; }
.pdf-line { font: 400 10.5px/1.4 var(--sans); color: var(--slate); margin: 0; }
.lookup2-core { font: 500 22px/1.4 var(--serif); color: var(--ink); max-width: 34ch; border-left: 3px solid var(--forest); padding-left: 20px; }

/* --- Section 3: featured transformation --- */
.feature { background: var(--gray); }
.feature-eyebrow { font: 600 12px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; color: var(--copper); margin: 0 0 12px; }
.feature h2 { max-width: 22ch; }
.feature-spread { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-flow: row dense; gap: 16px; margin: 26px 0 24px; }
.frag { background: var(--white); border: 1px solid var(--rule); padding: 18px 20px; }
.frag-k { display:block; font: 600 10px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; color: var(--copper); margin-bottom: 10px; }
.frag-line { font: 400 15px/1.5 var(--sans); color: var(--ink); margin: 0; }
.frag-mono { font: 500 13px/1.5 var(--sans); color: var(--ink); margin: 0; }
.frag-lead { grid-column: 1 / 3; grid-row: 1 / 3; display: flex; flex-direction: column; justify-content: center; padding: 30px 34px; }
.frag-firm { font: 600 11px/1.4 var(--sans); letter-spacing:.06em; text-transform:uppercase; color: var(--slate); margin: 0 0 12px; }
.frag-h { font: 500 30px/1.14 var(--serif); color: var(--ink); margin: 0 0 12px; }
.frag-sub { font: 400 15px/1.55 var(--sans); color: var(--slate); margin: 0; max-width: 42ch; }
.frag-viz { display:flex; flex-direction:column; }
.frag-svg { width: 100%; height: auto; margin-top: auto; }
.feature-bwa { margin-top: 8px; }
.feature-bwa .bwa-col { border-top-color: var(--rule); }
.feature-cta { margin: 26px 0 12px; }
.feature-disclosure { color: var(--slate); }

/* --- Section 4: specialization artifacts --- */
.spec2 { border-top: 1px solid var(--rule); }
.spec2-support { font: 400 18px/1.6 var(--sans); color: var(--slate); max-width: 64ch; margin: 8px 0 26px; }
.artifacts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 26px; }
.artifact { margin: 0; border: 1px solid var(--rule); background: var(--white); padding: 18px 20px 20px; }
.artifact-cap { font: 600 12px/1.4 var(--sans); letter-spacing:.05em; text-transform:uppercase; color: var(--slate); margin: 0 0 14px; }
.artifact-svg { width: 100%; height: auto; }
.spec2 .spec-diff { margin-top: 8px; }

/* --- Section 5: engagements (tight) --- */
.eng-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 20px; align-items: start; }
.eng { border-top: 2px solid var(--rule); padding-top: 16px; }
.eng--lead { border-top-color: var(--forest); }
.eng--secondary { opacity: .9; }
.eng-name { font: 600 17px/1.3 var(--sans); color: var(--ink); margin: 0 0 6px; }
.eng--lead .eng-name { font-size: 20px; }
.eng-price { font: 500 22px/1 var(--serif); color: var(--forest); margin: 0 0 12px; }
.eng-buyer { font: 600 13px/1.4 var(--sans); color: var(--slate); margin: 0 0 8px; }
.eng-outcome { font: 400 15px/1.5 var(--sans); color: var(--ink); margin: 0 0 8px; }
.eng-scope { font: 400 13.5px/1.5 var(--sans); color: var(--slate); margin: 0 0 12px; }
.eng-cta { margin: 0; }

/* --- Section 6: Review block --- */
.review-block { background: var(--gray); }
.review-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.review-support { font: 400 18px/1.6 var(--sans); color: var(--slate); max-width: 52ch; margin: 10px 0 22px; }
.review-cta { margin: 0 0 12px; }
.review-line { font: 500 15px/1.5 var(--sans); color: var(--forest); margin: 0; }
.review-deliverables { list-style: none; margin: 0; padding: 0; }
.review-deliverables li { display: grid; grid-template-columns: 44px 1fr; align-items: baseline; gap: 12px; font: 400 18px/1.5 var(--sans); color: var(--ink); border-top: 1px solid var(--rule); padding: 16px 0; }
.rd-n { font: 600 13px/1 var(--sans); letter-spacing:.06em; color: var(--copper); }

/* --- Section 7: final CTA --- */
.final-brand { font: 500 26px/1.3 var(--serif); color: var(--white); max-width: 22ch; margin: 0 auto 24px; }

/* --- Responsive --- */
@media (max-width: 900px){
  .feature-spread { grid-template-columns: 1fr 1fr; }
  .frag-lead { grid-column: 1 / 3; grid-row: auto; }
  .artifacts { grid-template-columns: 1fr; max-width: 380px; margin-left: auto; margin-right: auto; }
  .eng-grid { grid-template-columns: 1fr; gap: 24px; }
  .review-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 640px){
  .feature-spread { grid-template-columns: 1fr; }
  .frag-lead { grid-column: auto; }
  .frag-h { font-size: 24px; }
  .lookup2-core { font-size: 19px; }
}

/* --- Insights index (publication) --- */
.ins-articles { list-style: none; counter-reset: none; margin: 34px 0 26px; padding: 0; }
.ins-card { border-top: 1px solid var(--rule); padding: 26px 0; max-width: 74ch; }
.ins-card:last-child { border-bottom: 1px solid var(--rule); }
.ins-card-meta { font: 600 11px/1.4 var(--sans); letter-spacing:.03em; color: var(--slate); margin: 0 0 10px; }
.ins-card-cat { color: var(--copper); text-transform: uppercase; letter-spacing:.08em; }
.ins-card h2 { font: 500 27px/1.2 var(--serif); color: var(--ink); margin: 0 0 10px; }
.ins-card h2 a { color: inherit; text-decoration: none; }
.ins-card h2 a:hover { color: var(--forest); }
.ins-card-dek { font: 400 17px/1.6 var(--sans); color: var(--slate); margin: 0 0 12px; }
.ins-card-read { margin: 0; }
@media (max-width:640px){ .ins-card h2 { font-size: 22px; } }

/* --- Sample page: chapter markers (case-study framing) --- */
.sp-chapter { font: 600 12px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color: var(--ink); margin: 0 0 18px; padding-top: 16px; border-top: 2px solid var(--forest); }
.sp-chapter-n { color: var(--copper); margin-right: 12px; }
.sp-story .sp-chapter, .sp-referral .sp-chapter { border-top-color: var(--copper); }

/* ===== Specialization redesign (2026-07-19): homepage proof cards + /specialization/ page ===== */

/* Homepage: editorial proof cards (replaces stacked diagrams) */
.spec-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 8px 0 26px; }
.spec-card { display: flex; flex-direction: column; border: 1px solid var(--rule); background: var(--white); padding: 24px 24px 20px; text-decoration: none; color: inherit; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.spec-card:hover, .spec-card:focus-visible { border-color: var(--forest); box-shadow: 0 18px 36px -28px rgba(18,59,50,.55); transform: translateY(-2px); }
.spec-card-viz { display: block; height: 64px; margin-bottom: 18px; }
.spec-card-viz svg { height: 64px; width: auto; display: block; }
.spec-card-title { font: 500 21px/1.22 var(--serif); color: var(--ink); margin: 0 0 8px; }
.spec-card-desc { font: 400 15px/1.5 var(--sans); color: var(--ink); margin: 0 0 10px; }
.spec-card-note { font: 400 13.5px/1.5 var(--sans); color: var(--slate); margin: 0 0 18px; }
.spec-card-link { margin-top: auto; font: 600 13px/1 var(--sans); letter-spacing:.02em; color: var(--forest); }
.spec-card:hover .spec-card-link { color: var(--copper); }
@media (max-width: 767px){
  .spec-cards { grid-template-columns: 1fr; gap: 12px; }
  .spec-card { padding: 20px; }
  .spec-card-viz { height: 52px; margin-bottom: 14px; }
  .spec-card-viz svg { height: 52px; }
  .spec-card-title { font-size: 20px; }
}

/* /specialization/ page: large editorial flows */
.spz { margin-top: 60px; padding-top: 40px; border-top: 1px solid var(--rule); }
.spz-k { font: 600 12px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; color: var(--copper); margin: 0 0 12px; }
.spz h2 { font: 500 32px/1.16 var(--serif); color: var(--ink); margin: 0 0 12px; }
.spz-lead { font: 400 18px/1.6 var(--sans); color: var(--slate); max-width: 64ch; margin: 0 0 30px; }
.spz-cap { font: 400 13.5px/1.6 var(--sans); color: var(--slate); margin: 0; max-width: 72ch; }

.flow { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.flow-step { position: relative; display: flex; gap: 14px; align-items: flex-start; }
.flow-step:not(:last-child)::after { content: ""; position: absolute; top: 17px; right: -14px; width: 28px; height: 2px; background: var(--rule); }
.flow-n { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: var(--forest); color: var(--white); font: 600 16px/36px var(--sans); text-align: center; }
.flow-l { font: 600 16px/1.3 var(--sans); color: var(--ink); margin: 0 0 5px; }
.flow-s { font: 400 14px/1.45 var(--sans); color: var(--slate); margin: 0; }
@media (max-width: 767px){
  .flow { grid-template-columns: 1fr; gap: 0; }
  .flow-step { padding: 16px 0; border-top: 1px solid var(--rule); }
  .flow-step:not(:last-child)::after { display: none; }
}

.spz-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 0 20px; }
.spz-path { border: 1px solid var(--rule); border-top: 2px solid var(--copper); padding: 18px 20px; background: var(--white); }
.spz-path-k { font: 600 15px/1.3 var(--sans); color: var(--ink); margin: 0 0 6px; }
.spz-path p { font: 400 14px/1.5 var(--sans); color: var(--slate); margin: 0; }
@media (max-width: 767px){ .spz-paths { grid-template-columns: 1fr; } }

.tiers { display: flex; flex-direction: column; align-items: center; margin: 0 0 20px; }
.tier { width: 100%; max-width: 440px; text-align: center; padding: 16px 18px; font: 500 16px/1.3 var(--sans); border: 1px solid var(--rule); color: var(--ink); }
.tier-plain { background: var(--gray); }
.tier-forest { background: var(--forest); color: var(--white); border-color: var(--forest); }
.tier-copper { background: var(--white); border: 1px solid var(--copper); }
.tier-join { width: 2px; height: 22px; background: var(--slate); opacity: .5; }
.tier-row { display: flex; gap: 16px; width: 100%; max-width: 440px; }
.tier-row .tier { flex: 1; }
.tier-sm { font-size: 14px; padding: 13px 14px; }
.tier-sm span { display: block; font: 400 12px/1.4 var(--sans); color: var(--slate); margin-top: 2px; }
.tier-forest.tier-sm span, .tier-copper.tier-sm span { }

.spz-tradeoffs { font: 500 16px/1.6 var(--sans); color: var(--ink); background: var(--gray); padding: 16px 20px; margin: 0 0 18px; }
.spz-tradeoffs span { color: var(--copper); font: 600 12px/1 var(--sans); letter-spacing:.06em; text-transform: uppercase; margin-right: 10px; }
.spz-diff { margin-top: 52px; }

/* ============================================================
   /specialization/ PREMIUM EDITORIAL EXPLAINERS (2026-07-19)
   ============================================================ */
.spx-sect { padding: 68px 0; border-top: 1px solid var(--rule); }
.spx-alt { background: var(--gray); }
.spx-n { font: 600 13px/1 var(--sans); letter-spacing:.12em; color: var(--copper); margin: 0 0 16px; }
.spx-sect h2 { font: 500 34px/1.16 var(--serif); color: var(--ink); max-width: 24ch; margin: 0 0 16px; }
.spx-lead { font: 400 19px/1.6 var(--sans); color: var(--slate); max-width: 60ch; margin: 0 0 32px; }
.spx-cap { font: 400 13.5px/1.6 var(--sans); color: var(--slate); max-width: 74ch; margin: 26px 0 0; }

/* Hero */
.spx-hero { padding: 52px 0 60px; }
.spx-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 52px; align-items: center; }
.spx-hero h1 { font: 500 46px/1.08 var(--serif); color: var(--ink); margin: 14px 0 20px; }
.spx-hero-sub { font: 400 19px/1.55 var(--sans); color: var(--ink); max-width: 46ch; margin: 0 0 26px; }
.spx-hero-cta { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.spx-hero-visual { position: relative; margin: 0 0 24px; }
.spx-hero-visual img { width: 100%; height: auto; border: 1px solid var(--rule); display: block; }
.spx-hero-frag { position: absolute; left: -18px; bottom: -26px; width: 300px; background: var(--white); border: 1px solid var(--rule); box-shadow: 0 18px 40px -24px rgba(18,59,50,.45); padding: 18px 20px; display: flex; flex-direction: column; }
.spx-frag-k { font: 600 10px/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; color: var(--copper); margin-bottom: 10px; }
.spx-frag-h { font: 500 17px/1.25 var(--serif); color: var(--ink); margin-bottom: 8px; }
.spx-frag-line { font: 400 13px/1.45 var(--sans); color: var(--slate); }

/* Communication problem */
.spx-fails { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 40px; padding: 0; margin: 0 0 40px; max-width: 62ch; }
.spx-fails li { font: 400 15.5px/1.75 var(--sans); color: var(--ink); padding-left: 18px; position: relative; }
.spx-fails li::before { content: ""; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; background: var(--copper); }
.spx-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.spx-compare-col { border-top: 2px solid var(--rule); padding-top: 16px; }
.spx-compare-col--need { border-top-color: var(--forest); }
.spx-compare-k { font: 600 12px/1.3 var(--sans); letter-spacing:.06em; text-transform:uppercase; color: var(--slate); margin: 0 0 12px; }
.spx-compare-col--need .spx-compare-k { color: var(--forest); }
.spx-compare-col ul { list-style: none; margin: 0; padding: 0; }
.spx-compare-col li { font: 400 16px/1.95 var(--sans); color: var(--ink); }

/* 1031 journey */
.jrny { list-style: none; margin: 0 0 40px; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.jrny-step { position: relative; padding-top: 46px; }
.jrny-n { position: absolute; top: 0; left: 0; width: 34px; height: 34px; border-radius: 50%; background: var(--forest); color: #fff; font: 600 15px/34px var(--sans); text-align: center; }
.jrny-step::before { content: ""; position: absolute; top: 16px; left: 42px; right: -20px; height: 2px; background: var(--rule); }
.jrny-step:last-child::before { display: none; }
.jrny-l { font: 600 15px/1.3 var(--sans); color: var(--ink); margin: 0 0 5px; }
.jrny-s { font: 400 13px/1.45 var(--sans); color: var(--slate); margin: 0; }

/* split main + aside */
.spx-split { display: grid; grid-template-columns: 1.5fr 1fr; gap: 44px; align-items: start; }
.spx-sub-k { font: 600 12px/1.3 var(--sans); letter-spacing:.06em; text-transform:uppercase; color: var(--copper); margin: 0 0 14px; }
.spx-paths2 { list-style: none; margin: 0 0 12px; padding: 0; }
.spx-paths2 li { font: 400 16px/1.55 var(--sans); color: var(--slate); border-top: 1px solid var(--rule); padding: 13px 0; }
.spx-paths2 li strong { color: var(--ink); font-weight: 600; }
.spx-note-inline { font: italic 400 14px/1.5 var(--sans); color: var(--slate); margin: 0; }
.spx-aside { background: var(--gray); border-left: 3px solid var(--forest); padding: 22px 24px; }
.spx-alt .spx-aside { background: var(--white); }
.spx-aside-k { font: 600 12px/1.3 var(--sans); letter-spacing:.06em; text-transform:uppercase; color: var(--forest); margin: 0 0 14px; }
.spx-aside ul { list-style: none; margin: 0; padding: 0; }
.spx-aside li { font: 400 15px/1.5 var(--sans); color: var(--ink); padding: 9px 0; border-top: 1px solid var(--rule); }
.spx-aside li:first-child { border-top: none; padding-top: 0; }

/* DST roles */
.roles { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 40px; border: 1px solid var(--rule); background: var(--white); }
.role { padding: 26px 26px; border-right: 1px solid var(--rule); border-top: 3px solid var(--forest); }
.role:last-child { border-right: none; }
.role:nth-child(2) { border-top-color: var(--copper); }
.role-k { font: 500 21px/1.2 var(--serif); color: var(--forest); margin: 0 0 10px; }
.role:nth-child(2) .role-k { color: var(--copper); }
.role p { font: 400 14.5px/1.55 var(--sans); color: var(--slate); margin: 0; }
.spx-checklist { list-style: none; margin: 0; padding: 0; }
.spx-checklist li { font: 400 15.5px/1.5 var(--sans); color: var(--ink); padding: 11px 0 11px 26px; position: relative; border-top: 1px solid var(--rule); }
.spx-checklist li:first-child { border-top: none; }
.spx-checklist li::before { content: ""; position: absolute; left: 0; top: 15px; width: 8px; height: 8px; border: 1.5px solid var(--forest); }
.spx-aside--example { border-left-color: var(--copper); }
.spx-bad, .spx-better { font: 400 15px/1.6 var(--sans); margin: 0 0 16px; }
.spx-better { color: var(--ink); }
.spx-bad { color: var(--slate); }
.spx-tag { display: inline-block; font: 600 10px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; padding: 5px 8px; margin-right: 8px; }
.spx-tag--bad { background: var(--gray); color: var(--slate); }
.spx-tag--better { background: var(--forest); color: #fff; }

/* 721 sequence */
.seq { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 10px; }
.seq-step { display: grid; grid-template-columns: 152px 1fr; gap: 22px; align-items: center; border-top: 1px solid var(--rule); padding: 15px 0; }
.seq-type { font: 600 11px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; padding: 7px 11px; justify-self: start; }
.seq-type--process { background: var(--forest); color: #fff; }
.seq-type--cond { background: #EADFCF; color: #6B4A2B; }
.seq-type--maybe { background: var(--white); border: 1px solid var(--slate); color: var(--slate); }
.seq-type--review { background: var(--gray); color: var(--ink); }
.seq-l { font: 500 16px/1.4 var(--sans); color: var(--ink); margin: 0; }
.spx-flag { font: 600 17px/1.5 var(--sans); color: var(--ink); background: #F3ECE3; border-left: 3px solid var(--copper); padding: 16px 20px; margin: 0 0 28px; }
.spx-aside--wide { background: var(--gray); border-left: 3px solid var(--forest); padding: 24px 26px; }
.spx-aside-2col { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; }
.spx-aside-2col li { border-top: 1px solid var(--rule); padding: 10px 0; font: 400 15px/1.45 var(--sans); color: var(--ink); }

/* modules */
.modules { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.module { background: var(--white); padding: 30px 32px; }
.module-k { font: 500 21px/1.2 var(--serif); color: var(--ink); margin: 0 0 10px; }
.module p { font: 400 15px/1.55 var(--sans); color: var(--slate); margin: 0; }

/* applications */
.spx-channels { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 10px; padding: 0; margin: 0 0 30px; }
.spx-channels li { font: 600 12px/1 var(--sans); letter-spacing:.03em; color: var(--slate); border: 1px solid var(--rule); padding: 9px 13px; background: #fff; }
.spx-examples { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.specimen-link { text-decoration: none; color: inherit; display: block; transition: border-color .15s ease, box-shadow .15s ease; }
.specimen-link:hover, .specimen-link:focus-visible { border-color: var(--forest); box-shadow: 0 16px 32px -26px rgba(18,59,50,.5); }

/* review CTA */
.spx-review-card { background: var(--forest); color: var(--white); padding: 48px; }
.spx-review-card h2 { color: var(--white); max-width: 24ch; }
.spx-n--light { color: #C79A6E; }
.spx-review-sub { font: 400 18px/1.6 var(--sans); color: #D9E2DD; max-width: 56ch; margin: 12px 0 24px; }
.spx-review-card .btn { background: var(--white); color: var(--forest); }
.spx-review-line { font: 500 15px/1.5 var(--sans); color: #D9E2DD; margin: 14px 0 0; }
.spx-cap--foot { margin-top: 24px; }

/* responsive */
@media (max-width: 900px){
  .spx-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .spx-hero-visual { margin-bottom: 40px; }
  .spx-hero-frag { position: static; width: auto; box-shadow: none; margin-top: 16px; }
  .jrny { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 767px){
  .spx-sect { padding: 52px 0; }
  .spx-sect h2 { font-size: 27px; }
  .spx-hero h1 { font-size: 34px; }
  .spx-fails { grid-template-columns: 1fr; }
  .spx-compare { grid-template-columns: 1fr; gap: 20px; }
  .jrny { grid-template-columns: 1fr; gap: 0; }
  .jrny-step { padding: 0 0 22px 50px; }
  .jrny-step::before { top: 34px; left: 16px; right: auto; width: 2px; height: calc(100% - 34px); }
  .spx-split { grid-template-columns: 1fr; gap: 28px; }
  .roles { grid-template-columns: 1fr; }
  .role { border-right: none; border-bottom: 1px solid var(--rule); }
  .role:last-child { border-bottom: none; }
  .seq-step { grid-template-columns: 1fr; gap: 8px; }
  .spx-aside-2col { grid-template-columns: 1fr; }
  .modules { grid-template-columns: 1fr; }
  .spx-examples { grid-template-columns: 1fr; }
  .spx-review-card { padding: 32px 24px; }
}

/* ===== Direction-1 palette skin — Review page only (form + analytics untouched) ===== */
body.d1r{--white:#F8FAF9;--gray:#DDE3DF;--rule:#C9D0CC;--forest:#0E4B3C;--forest-deep:#0B3A2F;--copper:#58615D;--ink:#161918;--slate:#58615D;background:#E7EBE8}
body.d1r .site-nav{background:#E7EBE8}
body.d1r input,body.d1r textarea,body.d1r select{background:#F8FAF9}
body.d1r .site-footer{background:#E7EBE8}
body.d1r h1,body.d1r h2,body.d1r .rr-lede{font-family:"Tiempos Text",Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.008em}
body.d1r .rr-head h1{font-size:56px;line-height:1.04}
body.d1r .rr-positioning{color:var(--forest)}
