@import 'tokens.css';

/* ============================================================
   WEBSITE PROPERTIES — HOMEPAGE V2
   Complete stylesheet importing tokens.css
   ============================================================ */


/* ==========================================================
   1. RESET & BASE
   ========================================================== */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.65;
  color: var(--charcoal-deep);
  background: var(--white);
  overflow-x: hidden;
}

::selection {
  background: var(--forest);
  color: var(--white);
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
  border: none;
  background: none;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.1;
  text-wrap: balance;
}

.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #3B6832;
  margin-bottom: clamp(12px, 1.5vw, 20px);
}


/* ==========================================================
   2. NOISE OVERLAY
   ========================================================== */

.noise-overlay {
  position: fixed;
  inset: 0;
  z-index: 99990;
  pointer-events: none;
  opacity: 0.03;
  mix-blend-mode: overlay;
}


/* ==========================================================
   3. SCROLL PROGRESS BAR
   ========================================================== */

.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  z-index: 9999;
  background: linear-gradient(90deg, var(--forest), var(--blue));
  transform-origin: left;
  transform: scaleX(0);
  will-change: transform;
  pointer-events: none;
}


/* ==========================================================
   4. SKIP LINK
   ========================================================== */

.skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 99999;
  padding: 12px 24px;
  background: var(--forest);
  color: white;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  font-weight: 600;
  font-size: 14px;
  transition: top 0.2s;
}

.skip-link:focus {
  top: 0;
}


/* ==========================================================
   5. ANNOUNCEMENT BAR (hides on scroll)
   ========================================================== */

.announcement-bar {
  background: var(--charcoal-deep);
  padding: 10px var(--gutter);
  font-size: 13px;
  color: rgba(255, 255, 255, 0.85);
  overflow: hidden;
  max-height: 56px;
  transition: max-height 0.4s var(--ease-out, cubic-bezier(.22, .61, .36, 1)),
    padding 0.4s var(--ease-out, cubic-bezier(.22, .61, .36, 1)),
    opacity 0.3s var(--ease-out, cubic-bezier(.22, .61, .36, 1));
}

.announcement-bar.is-hidden {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
  pointer-events: none;
}

.announcement-inner {
  max-width: var(--container-max);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.announcement-logo {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border-radius: 4px;
  padding: 3px 6px;
  margin-right: 4px;
}

.announcement-logo img {
  height: 18px;
  width: auto;
  object-fit: contain;
  display: block;
}

.announcement-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.92);
  transition: color 0.2s;
}

.announcement-strong {
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.02em;
}

.announcement-divider {
  color: rgba(255, 255, 255, 0.35);
}

.announcement-light {
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
}

.announcement-cta {
  margin-left: 6px;
  padding-left: 14px;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
  font-weight: 700;
  color: var(--forest-light);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  text-decoration-color: var(--forest-light);
  letter-spacing: 0.02em;
  transition: color 0.2s, text-decoration-color 0.2s, transform 0.2s;
}

.announcement-link:hover .announcement-cta {
  color: #9CDB8A;
  text-decoration-color: #9CDB8A;
  transform: translateX(2px);
}

@media (max-width: 720px) {
  .announcement-bar {
    font-size: 12px;
    padding: 8px var(--gutter);
    max-height: 72px;
  }

  .announcement-light {
    display: none;
  }

  .announcement-divider {
    display: none;
  }

  /* Keep the bar to one uncut line on phones (Shaun, Pixel 9a): drop the
     "Recognition" tail, forbid mid-phrase wrapping, tighten gaps. */
  .announcement-strong-tail {
    display: none;
  }

  .announcement-strong,
  .announcement-cta {
    white-space: nowrap;
  }

  .announcement-inner {
    gap: 8px;
  }

  .announcement-cta {
    margin-left: 2px;
    padding-left: 10px;
  }
}

@media (max-width: 480px) {

  /* Whole bar is one link — the green arrow alone is the affordance on phones */
  .announcement-cta-label {
    display: none;
  }

  .announcement-cta {
    margin-left: 0;
    padding-left: 8px;
  }
}



/* ==========================================================
   6. HEADER
   ========================================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: all 0.3s var(--ease-out);
}

.site-header.scrolled {
  border-bottom-color: var(--charcoal-12);
  box-shadow: var(--shadow-sm);
}

.header-inner {
  max-width: var(--container-max);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--gutter);
  height: 80px;
  transition: height 0.3s var(--ease-out);
}

.site-header.scrolled .header-inner {
  height: 64px;
}

.header-logo {
  display: flex;
  align-items: center;
  gap: 12px;
}

.header-logo img {
  height: 46px;
  width: auto;
}

.header-logo-text {
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: var(--charcoal);
}

.header-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
}

.header-nav>li {
  position: relative;
}

.header-nav>li>a {
  font-size: 14px;
  font-weight: 400;
  color: var(--charcoal-72);
  transition: color 0.2s;
  position: relative;
  padding: 8px 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

.header-nav>li>a:hover {
  color: var(--charcoal);
}

.header-nav>li>a.active {
  color: var(--charcoal);
}

/* Dropdown arrow indicator */
.has-dropdown>a::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--charcoal-42);
  transition: transform 0.25s var(--ease-out), border-color 0.2s;
  position: relative;
  bottom: auto;
  left: auto;
  background: none;
  transform: none;
}

.has-dropdown:hover>a::after {
  transform: rotate(180deg);
  border-top-color: var(--forest);
}

/* Active underline — only for non-dropdown items */
.header-nav>li:not(.has-dropdown)>a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--forest);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s var(--ease-out);
  border: none;
}

.header-nav>li:not(.has-dropdown)>a.active::after {
  transform: scaleX(1);
}

/* ==========================================================
   6b. MEGA DROPDOWN MENUS
   ========================================================== */

.mega-menu {
  position: absolute;
  top: calc(100% + 14px);
  background: var(--white);
  border: 1px solid var(--charcoal-08, rgba(31, 41, 51, 0.08));
  border-radius: 16px;
  box-shadow: 0 30px 80px -28px rgba(15, 27, 35, 0.32),
    0 8px 24px -10px rgba(15, 27, 35, 0.12);
  padding: 28px 28px 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.28s var(--ease-out),
    transform 0.28s var(--ease-out),
    visibility 0.28s;
  z-index: 200;
  overflow: hidden;
}

/* Anchor each menu near its parent. Default: align to left of trigger */
.has-mega {
  position: relative;
}

.has-mega>.mega-menu {
  left: -24px;
}

/* Specific menu sizes/positions.
   Left-anchored items (Sell, Buy, Process) open from the trigger's left edge.
   Right-anchored items (Resources, Company) MUST explicitly set `left: auto`
   to override the base `.has-mega > .mega-menu { left: -24px; }` rule —
   otherwise the browser honours left+width and ignores `right`, which made
   the panel overflow the viewport on the right.
   Also: `max-width: calc(100vw - 32px)` so a panel that's wider than a
   small viewport stays inside it instead of triggering a horizontal scroll. */
/* `.has-mega > .mega-menu` (above) sets `left: -24px` with specificity (0,2,0).
   These per-menu rules use the same parent selector so they have equal/higher
   specificity and the left/right values actually take effect. */
.has-mega>.mega-menu--sell {
  width: 880px;
  left: -32px;
  max-width: calc(100vw - 32px);
}

.has-mega>.mega-menu--buy {
  width: 740px;
  left: -32px;
  max-width: calc(100vw - 32px);
}

.has-mega>.mega-menu--process {
  width: 440px;
  left: -24px;
  max-width: calc(100vw - 32px);
}

/* Right-side triggers: anchor the panel at the trigger's right edge with a small overhang.
   Smaller widths so the panel doesn't sprawl across the left half of the page. */
.has-mega>.mega-menu--resources {
  width: 520px;
  left: auto;
  right: -24px;
  max-width: calc(100vw - 32px);
}

.has-mega>.mega-menu--company {
  width: 520px;
  left: auto;
  right: -24px;
  max-width: calc(100vw - 32px);
}

/* Hover-show (JS will also toggle .is-open) */
.has-mega:hover>.mega-menu,
.has-mega.is-open>.mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Hover bridge — invisible padding above the panel so the cursor can travel */
.mega-menu::before {
  content: '';
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
  background: transparent;
}

.mega-grid {
  display: grid;
  gap: 32px;
  padding-bottom: 24px;
}

/* Sell menu: Start Here mega-items + Verticals column + Recently Closed. */
.mega-grid--sell {
  grid-template-columns: 1.1fr 0.9fr 1.4fr;
  gap: 28px;
}

@media (max-width: 1080px) {
  .mega-grid--sell {
    grid-template-columns: 1fr 1.4fr;
  }

  .mega-col--verticals {
    grid-column: 1 / -1;
  }
}

/* Buy menu: Browse on left, right column stacks horizontal "For Buyers" row + 2x2 listings */
.mega-grid--buy {
  grid-template-columns: 1fr 1.5fr;
}

.mega-grid--process {
  grid-template-columns: 1fr;
}

.mega-grid--resources {
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.mega-grid--company {
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

/* Buy: right column = stacked tools row + featured grid */
.mega-buy-right {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.mega-buy-tools__row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.mega-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid var(--charcoal-12);
  border-radius: 100px;
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--charcoal-deep);
  text-decoration: none;
  background: var(--white);
  transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.mega-pill svg {
  color: var(--forest);
}

.mega-pill:hover {
  border-color: var(--forest);
  color: var(--forest);
  background: rgba(91, 154, 79, 0.05);
}

/* Vertical chip strip — used inside the Verticals column of the Sell mega menu */
.mega-vchips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.mega-vchips--col {
  margin-top: 12px;
}

/* Spacing before the Client Testimonials link that follows the chips */
.mega-vchips--col+.mega-item {
  margin-top: 14px;
}

.mega-vchips__label {
  display: block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 10px;
  width: 100%;
}

.mega-vchips__row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}

.mega-vchip {
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--charcoal);
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: 100px;
  padding: 5px 12px;
  text-decoration: none;
  transition: background var(--duration-fast) var(--ease-out),
    border-color var(--duration-fast) var(--ease-out),
    color var(--duration-fast) var(--ease-out);
}

.mega-vchip:hover {
  background: var(--forest-pale);
  color: var(--forest);
  border-color: var(--forest-12);
}

.mega-col {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mega-eyebrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--charcoal-42, rgba(31, 41, 51, 0.42));
  margin-bottom: 10px;
  padding: 0 10px;
}

.mega-eyebrow-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--forest-pale, rgba(74, 124, 63, 0.10));
  color: var(--forest);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: none;
}

/* Rich item — icon + title + desc */
.mega-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 10px 10px 10px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--charcoal);
  transition: background 0.2s var(--ease-out), transform 0.2s var(--ease-out);
}

.mega-item:hover {
  background: var(--forest-pale, rgba(74, 124, 63, 0.06));
  transform: translateX(2px);
}

.mega-item-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--forest-pale, rgba(74, 124, 63, 0.08));
  color: var(--forest);
  border-radius: 9px;
  transition: background 0.2s, color 0.2s;
}

.mega-item:hover .mega-item-icon {
  background: var(--forest);
  color: var(--white);
}

.mega-item-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.mega-item-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--charcoal);
  line-height: 1.25;
}

.mega-item-desc {
  font-size: 12px;
  font-weight: 400;
  color: var(--charcoal-60, rgba(31, 41, 51, 0.60));
  line-height: 1.4;
}

/* Soft "Soon" tag inside title */
.mega-soon-tag,
.mega-fresh-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mega-soon-tag {
  background: rgba(31, 41, 51, 0.08);
  color: var(--charcoal-60, rgba(31, 41, 51, 0.60));
}

.mega-fresh-tag {
  background: var(--forest-pale, rgba(74, 124, 63, 0.10));
  color: var(--forest);
}

.mega-item.is-soon {
  opacity: 0.78;
}

.mega-item.is-soon:hover {
  opacity: 1;
}

/* Plain vertical list (used in Sell → By Vertical) */
.mega-vertical-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 4px 0;
}

.mega-vertical-list li a {
  display: block;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 500;
  color: var(--charcoal-72, rgba(31, 41, 51, 0.72));
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.18s, color 0.18s, padding-left 0.18s;
}

.mega-vertical-list li a:hover {
  background: var(--forest-pale, rgba(74, 124, 63, 0.06));
  color: var(--forest);
  padding-left: 16px;
}

/* Live signal pill (e.g. "47 buyer matches this month") */
.mega-live-signal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 14px 10px 0;
  padding: 8px 12px;
  background: linear-gradient(135deg, rgba(74, 124, 63, 0.08), rgba(0, 76, 151, 0.06));
  border: 1px solid rgba(74, 124, 63, 0.18);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 500;
  color: var(--charcoal);
}

.mega-live-signal strong {
  font-weight: 700;
  color: var(--forest);
}

.mega-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--forest-light, #7AC369);
  box-shadow: 0 0 0 3px rgba(122, 195, 105, 0.22);
  animation: megaPulse 2.4s ease-in-out infinite;
}

@keyframes megaPulse {

  0%,
  100% {
    box-shadow: 0 0 0 3px rgba(122, 195, 105, 0.22);
  }

  50% {
    box-shadow: 0 0 0 6px rgba(122, 195, 105, 0.05);
  }
}

/* Featured card (Sell, Buy, Resources right column) */
.mega-featured {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 18px 16px;
  background: linear-gradient(160deg, #f7f9f7 0%, #eef1ee 100%);
  border-radius: 12px;
  border: 1px solid var(--charcoal-08, rgba(31, 41, 51, 0.08));
  align-self: start;
}

.mega-featured-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
}

.mega-featured-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.mega-featured-card--article {
  flex-direction: column;
  align-items: stretch;
}

.mega-featured-thumb {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--white);
}

.mega-featured-card--article .mega-featured-thumb {
  width: 100%;
  height: 96px;
}

.mega-featured-thumb--forest {
  background: linear-gradient(135deg, var(--forest), #2d4a26);
}

.mega-featured-thumb--blue {
  background: linear-gradient(135deg, var(--blue), #002c5a);
}

.mega-featured-thumb--charcoal {
  background: linear-gradient(135deg, var(--charcoal), var(--charcoal-deep, #0e1820));
}

.mega-featured-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.mega-featured-type {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--charcoal-60, rgba(31, 41, 51, 0.60));
}

.mega-featured-title {
  font-family: var(--font-display, serif);
  font-size: 16px;
  font-weight: 400;
  color: var(--charcoal);
  line-height: 1.25;
}

.mega-featured-price {
  font-family: var(--font-display, serif);
  font-size: 18px;
  color: var(--forest);
  line-height: 1.1;
}

.mega-featured-price span {
  font-family: var(--font-body, sans-serif);
  font-size: 11px;
  color: var(--charcoal-60, rgba(31, 41, 51, 0.60));
  font-weight: 500;
}

.mega-featured-readtime {
  font-size: 11px;
  font-weight: 500;
  color: var(--charcoal-60, rgba(31, 41, 51, 0.60));
}

.mega-featured-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--forest);
  text-decoration: none;
  letter-spacing: 0.02em;
  margin-top: 2px;
  transition: gap 0.2s, color 0.2s;
}

.mega-featured-link:hover {
  gap: 8px;
  color: #2d4a26;
}

/* Two action links side-by-side (View All Transactions + Case Studies in Sell menu) */
.mega-featured-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 2px;
  flex-wrap: wrap;
}

.mega-featured-actions .mega-featured-link {
  margin-top: 0;
}

.mega-featured-actions .mega-featured-link+.mega-featured-link {
  padding-left: 18px;
  border-left: 1px solid var(--charcoal-12);
}

/* ---- Mega menu featured 2x2 grid (Recently Closed / Listings / Articles) ---- */
.mega-featured--grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mega-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
}

.mega-mini {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px 11px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 10px;
  text-decoration: none;
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
  min-height: 78px;
}

.mega-mini:hover {
  border-color: var(--forest);
  background: rgba(91, 154, 79, 0.05);
  transform: translateY(-1px);
}

.mega-mini__type {
  font-family: var(--font-body);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
}

.mega-mini__name {
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--charcoal-deep);
  line-height: 1.3;
  flex: 1;
}

.mega-mini__price {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 400;
  color: var(--forest);
  margin-top: 2px;
  letter-spacing: -0.01em;
}

/* ---- Process menu phase items ---- */
.mega-col--process {
  gap: 4px;
}

.mega-phase-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--charcoal);
  transition: background 0.2s, transform 0.2s;
}

.mega-phase-item:hover {
  background: var(--forest-pale, rgba(74, 124, 63, 0.06));
  transform: translateX(2px);
}

.mega-phase-num {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--forest-pale, rgba(74, 124, 63, 0.08));
  color: var(--forest);
  border-radius: 50%;
  font-family: var(--font-display, serif);
  font-size: 14px;
  font-weight: 400;
  border: 1px solid rgba(74, 124, 63, 0.20);
  transition: background 0.2s, color 0.2s;
}

.mega-phase-item:hover .mega-phase-num {
  background: var(--forest);
  color: var(--white);
  border-color: var(--forest);
}

.mega-phase-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

/* ---- Company menu team strip ---- */
.mega-team {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px 16px 16px;
  background: linear-gradient(160deg, #f7f9f7 0%, #eef1ee 100%);
  border-radius: 12px;
  border: 1px solid var(--charcoal-08, rgba(31, 41, 51, 0.08));
  align-self: start;
}

.mega-team-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
}

.mega-team-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.mega-team-member {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
}

.mega-team-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--white);
  border: 2px solid var(--white);
  box-shadow: 0 4px 14px -4px rgba(15, 27, 35, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
}

.mega-team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mega-team-avatar--placeholder {
  background: linear-gradient(135deg, var(--forest), #2d4a26);
  color: var(--white);
  font-family: var(--font-display, serif);
  font-size: 18px;
  font-weight: 400;
}

.mega-team-avatar--placeholder span {
  display: block;
  line-height: 1;
}

.mega-team-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--charcoal);
  line-height: 1;
}

.mega-team-role {
  font-size: 10px;
  font-weight: 500;
  color: var(--charcoal-60, rgba(31, 41, 51, 0.60));
  line-height: 1.2;
}

/* ---- Mega menu footer (CTA strip at the bottom) ---- */
.mega-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 -28px;
  padding: 16px 28px;
  background: linear-gradient(180deg, #fafbfa 0%, #f4f6f4 100%);
  border-top: 1px solid var(--charcoal-08, rgba(31, 41, 51, 0.08));
}

.mega-footer-text {
  font-size: 12px;
  color: var(--charcoal-72, rgba(31, 41, 51, 0.72));
}

.mega-footer-text strong {
  color: var(--charcoal);
  font-weight: 700;
}

.mega-footer-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  background: var(--forest);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background 0.2s, transform 0.2s;
  white-space: nowrap;
}

.mega-footer-cta:hover {
  background: #2d4a26;
  transform: translateY(-1px);
}

/* ---- Tricolor accent at the very bottom of every mega menu ---- */
.mega-tricolor {
  display: flex;
  height: 3px;
  margin: 0 -28px;
}

.mega-tricolor span:nth-child(1) {
  background: var(--forest);
  flex: 1;
}

.mega-tricolor span:nth-child(2) {
  background: var(--blue);
  flex: 1;
}

.mega-tricolor span:nth-child(3) {
  background: var(--charcoal);
  flex: 1;
}

.header-cta {
  display: inline-flex;
  align-items: center;
  padding: 10px 24px;
  background: var(--forest);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--radius-md);
  transition: all 0.2s var(--ease-out);
}

.header-cta:hover {
  background: #406a37;
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.mobile-toggle {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
}

.hamburger {
  width: 20px;
  height: 14px;
  position: relative;
}

.hamburger span {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--charcoal);
  transition: all 0.2s;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  top: 6px;
}

.hamburger span:nth-child(3) {
  top: 12px;
}

.mobile-toggle.open .hamburger span:nth-child(1) {
  top: 6px;
  transform: rotate(45deg);
}

.mobile-toggle.open .hamburger span:nth-child(2) {
  opacity: 0;
}

.mobile-toggle.open .hamburger span:nth-child(3) {
  top: 6px;
  transform: rotate(-45deg);
}


/* ==========================================================
   7. TRICOLOR BAR
   ========================================================== */

.tricolor-bar {
  display: flex;
  height: 3px;
}

.tricolor-bar .bar-c {
  flex: 5;
  background: var(--charcoal);
}

.tricolor-bar .bar-f {
  flex: 2;
  background: var(--forest);
}

.tricolor-bar .bar-b {
  flex: 3;
  background: var(--blue);
}


/* ==========================================================
   8. HERO
   ========================================================== */

.hero {
  background: linear-gradient(160deg, var(--charcoal-deep) 0%, var(--charcoal) 40%, #3a4f5a 100%);
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 10vw, 140px) 0 0;
}

/* Background photo (subject anchored right; left side fades to dark) */
.hero-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.hero-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right 75%;
  opacity: 0.55;
}

.hero-photo-fade {
  position: absolute;
  inset: 0;
  background:
    /* Horizontal taper: opaque on the left, ~transparent on the far right */
    linear-gradient(90deg,
      rgba(15, 27, 35, 0.97) 0%,
      rgba(15, 27, 35, 0.95) 30%,
      rgba(15, 27, 35, 0.78) 50%,
      rgba(15, 27, 35, 0.42) 75%,
      rgba(15, 27, 35, 0.18) 100%),
    /* Slight bottom darken for the trackbar */
    linear-gradient(180deg,
      rgba(15, 27, 35, 0) 55%,
      rgba(15, 27, 35, 0.55) 100%);
}

.hero-bg-glow {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse 70% 50% at 15% 50%, rgba(74, 124, 63, 0.10) 0%, transparent 60%),
    radial-gradient(ellipse 50% 70% at 85% 30%, rgba(0, 76, 151, 0.06) 0%, transparent 60%);
  pointer-events: none;
}

.hero-watermark {
  position: absolute;
  left: -2%;
  top: 42%;
  transform: translateY(-50%);
  width: clamp(320px, 35vw, 500px);
  height: auto;
  opacity: 0.05;
  pointer-events: none;
  z-index: 1;
  filter: brightness(0) invert(1);
}

.hero-geo-circle {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.04);
  pointer-events: none;
  z-index: 1;
}

.hero-geo-1 {
  width: 500px;
  height: 500px;
  right: -120px;
  top: -80px;
}

.hero-geo-2 {
  width: 300px;
  height: 300px;
  left: -60px;
  bottom: 40px;
  border-color: rgba(74, 124, 63, 0.06);
}

/* ---- Hero copy (single left column) ---- */
.hero .container {
  position: relative;
  z-index: 2;
}

.hero-copy {
  max-width: 620px;
  padding-bottom: clamp(48px, 6vw, 80px);
}

.hero-eyebrow-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(74, 124, 63, 0.14);
  border: 1px solid rgba(122, 195, 105, 0.30);
  backdrop-filter: blur(6px);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--forest-light);
  text-decoration: none;
  margin-bottom: clamp(20px, 2.4vw, 28px);
  transition: background 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}

.hero-eyebrow-pill:hover {
  background: rgba(74, 124, 63, 0.22);
  border-color: rgba(122, 195, 105, 0.5);
}

.hero-eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 3px rgba(122, 195, 105, 0.18);
}

.hero h1 {
  font-size: clamp(42px, 5.5vw, 78px);
  color: var(--white);
  margin-bottom: clamp(16px, 2vw, 26px);
  line-height: 1.12;
  padding-bottom: 0.05em;
}

.hero h1 em {
  font-style: italic;
  color: var(--forest-light);
}

.hero-body {
  font-size: clamp(17px, 1.55vw, 20px);
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.55;
  max-width: 560px;
  margin-bottom: clamp(26px, 3vw, 36px);
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.hero-tags {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: clamp(20px, 2.5vw, 32px);
}

.hero-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 7px 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 20px;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.02);
  transition: background 0.25s var(--ease-out),
    border-color 0.25s var(--ease-out),
    color 0.25s var(--ease-out),
    transform 0.25s var(--ease-out);
}

.hero-tag:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(122, 195, 105, 0.45);
  color: var(--white);
  transform: translateY(-1px);
}

/* ==========================================================
   HERO CTA ROW + PROOFBAR
   ========================================================== */

/* CTA row: Axial lockup on the LEFT, primary button on the RIGHT */
.hero-cta-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: clamp(16px, 2vw, 28px);
}

.hero-cta-primary {
  /* Sits flush-left in the copy column */
}

.hero-axial-lockup {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 18px 10px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(6px);
}

.hero-axial-logo {
  flex-shrink: 0;
  background: var(--white);
  border-radius: 5px;
  padding: 5px 7px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-axial-logo img {
  height: 22px;
  width: auto;
  object-fit: contain;
}

.hero-axial-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.hero-axial-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.94);
}

.hero-axial-sub {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.50);
}

/* ---- Proofbar (transparent, sits on hero background) ---- */

.hero-proofbar {
  position: relative;
  margin-top: clamp(35px, 4.4vw, 58px);
  margin-bottom: clamp(40px, 5vw, 60px);
  display: grid;
  grid-template-columns: auto repeat(4, 1fr);
  align-items: center;
}

.hero-pb-cell {
  position: relative;
  padding: 6px clamp(18px, 2vw, 28px);
  text-align: left;
}

/* Equal vertical dividers between every cell (except the first) */
.hero-pb-cell+.hero-pb-cell::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: rgba(255, 255, 255, 0.14);
}

/* The first cell sits flush with the container's left edge */
.hero-pb-cell--header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-left: 0;
  padding-right: clamp(24px, 2.6vw, 36px);
}

.hero-pb-title-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.hero-pb-title {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  white-space: nowrap;
}

.hero-pb-subtitle {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.50);
  white-space: nowrap;
}

.hero-pb-value {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.6vw, 36px);
  color: var(--white);
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}

.hero-pb-value::after {
  content: '';
  display: block;
  width: 22px;
  height: 2px;
  margin-top: 8px;
  border-radius: 1px;
  opacity: 0.85;
}

.hero-pb-cell[data-accent="forest"] .hero-pb-value::after {
  background: var(--forest-light);
}

.hero-pb-cell[data-accent="blue"] .hero-pb-value::after {
  background: var(--blue);
}

.hero-pb-label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

/* ---- Responsive ---- */
@media (max-width: 1024px) {
  .hero-proofbar {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 24px;
    column-gap: 0;
  }

  .hero-pb-cell--header {
    grid-column: span 2;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  /* Reset divider rules under the new 2-col layout */
  .hero-pb-cell+.hero-pb-cell::before {
    display: none;
  }

  .hero-pb-cell:nth-child(3)::before,
  .hero-pb-cell:nth-child(5)::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: rgba(255, 255, 255, 0.14);
  }
}

@media (max-width: 760px) {
  .hero-cta-row {
    gap: 16px;
  }

  .hero-cta-primary {
    margin-left: 0;
    width: 100%;
  }

  .hero-axial-lockup {
    order: 2;
  }

  .hero-proofbar {
    grid-template-columns: 1fr;
    row-gap: 22px;
  }

  .hero-pb-cell--header {
    grid-column: span 1;
  }

  .hero-pb-cell:nth-child(3)::before,
  .hero-pb-cell:nth-child(5)::before {
    display: none !important;
  }

  .hero-photo-fade {
    background:
      linear-gradient(180deg, rgba(15, 27, 35, 0.96) 0%, rgba(15, 27, 35, 0.86) 100%);
  }
}

/* Hero Proof Panel */
.hero-panel {
  position: relative;
  border-radius: var(--radius-xl);
  padding: 1px;
  margin-bottom: clamp(60px, 8vw, 100px);
}

.hero-panel-glow {
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: linear-gradient(135deg,
      rgba(74, 124, 63, 0.4) 0%,
      rgba(0, 76, 151, 0.2) 50%,
      rgba(74, 124, 63, 0.3) 100%);
  z-index: 0;
  animation: panelGlow 6s ease-in-out infinite alternate;
}

@keyframes panelGlow {
  0% {
    opacity: 0.6;
    filter: blur(0px);
  }

  100% {
    opacity: 1;
    filter: blur(1px);
  }
}

.hero-panel-inner {
  position: relative;
  z-index: 1;
  background: linear-gradient(165deg,
      rgba(18, 30, 40, 0.92) 0%,
      rgba(14, 24, 32, 0.96) 100%);
  backdrop-filter: blur(20px);
  border-radius: inherit;
  padding: clamp(24px, 3vw, 32px);
}

/* Panel header with ring + title */
.hero-panel-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(18px, 2.5vw, 24px);
  padding-bottom: clamp(14px, 2vw, 20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.hero-panel-ring {
  position: relative;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.hero-panel-ring svg {
  width: 100%;
  height: 100%;
}

.hero-ring-arc {
  animation: ringRotate 8s linear infinite;
  transform-origin: center;
}

@keyframes ringRotate {
  to {
    transform: rotate(360deg);
  }
}

.hero-ring-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
}

.hero-panel-title-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hero-panel-title {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.88);
}

.hero-panel-subtitle {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 400;
}

/* Metric grid */
.hero-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 2px;
}

.hero-metric {
  position: relative;
  background: rgba(255, 255, 255, 0.03);
  padding: clamp(18px, 2.2vw, 26px) clamp(14px, 1.8vw, 20px);
  text-align: center;
  transition: background 0.3s var(--ease-out);
}

.hero-metric:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* Colored top accent per metric */
.hero-metric::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 2px;
  border-radius: 0 0 2px 2px;
  opacity: 0.6;
  transition: opacity 0.3s, left 0.3s, right 0.3s;
}

.hero-metric:hover::before {
  opacity: 1;
  left: 10%;
  right: 10%;
}

.hero-metric[data-accent="forest"]::before {
  background: var(--forest-light);
}

.hero-metric[data-accent="blue"]::before {
  background: var(--blue);
}

.hero-metric-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
}

.hero-metric[data-accent="forest"] .hero-metric-icon {
  color: var(--forest-light);
}

.hero-metric[data-accent="blue"] .hero-metric-icon {
  color: rgba(100, 170, 255, 0.8);
}

.hero-metric-value {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 40px);
  color: var(--white);
  line-height: 1;
  margin-bottom: 6px;
  letter-spacing: 0.04em;
}

.hero-metric-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
}

/* Axial badge */
.hero-panel-badge {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: clamp(16px, 2vw, 20px);
  padding: clamp(14px, 1.8vw, 18px) clamp(16px, 2vw, 20px);
  background: rgba(255, 255, 255, 0.03);
  border-radius: var(--radius-md);
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.hero-badge-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border-radius: 6px;
  padding: 5px 6px;
}

.hero-badge-icon img {
  height: 28px;
  width: auto;
  object-fit: contain;
}

.hero-badge-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;
}

.hero-badge-title {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.88);
}

.hero-badge-desc {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.5);
}

.hero-badge-check {
  flex-shrink: 0;
  opacity: 0.7;
}


/* ==========================================================
   9. SHIMMER TEXT
   ========================================================== */

.shimmer-text {
  font-style: italic;
  /* Italic descenders / overhangs (e.g. "g" tail, "h" hook) extend past the
     glyph's metric box. background-clip:text uses the metric box for clipping,
     so without breathing room those overhangs render as cut-off ghosts.
     inline-block + small horizontal padding keeps them whole. */
  display: inline-block;
  padding-right: 0.08em;
  padding-bottom: 0.06em;
}

/* When Splitting.js is NOT active, apply shimmer to the em itself */
.shimmer-text:not(.splitting) {
  background: linear-gradient(120deg,
      var(--forest-light) 0%,
      var(--forest-light) 40%,
      #9CDB8A 50%,
      var(--forest-light) 60%,
      var(--forest-light) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 5s ease-in-out infinite;
}

/* When Splitting.js IS active, apply shimmer to each char span */
.shimmer-text .char {
  background: linear-gradient(120deg,
      var(--forest-light) 0%,
      var(--forest-light) 40%,
      #9CDB8A 50%,
      var(--forest-light) 60%,
      var(--forest-light) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 5s ease-in-out infinite;
}

@keyframes shimmer {
  0% {
    background-position: 200% 50%;
  }

  100% {
    background-position: -200% 50%;
  }
}


/* ==========================================================
   10. BUTTONS
   ========================================================== */

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: var(--forest);
  color: var(--white);
  font-size: 15px;
  font-weight: 600;
  border-radius: var(--radius-md);
  transition: all 0.2s var(--ease-out);
  border: 2px solid var(--forest);
}

.btn-primary:hover {
  background: #406a37;
  border-color: #406a37;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(74, 124, 63, 0.3);
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  font-size: 15px;
  font-weight: 500;
  border-radius: var(--radius-md);
  border: 2px solid rgba(255, 255, 255, 0.2);
  transition: all 0.2s var(--ease-out);
}

.btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.5);
  color: var(--white);
  transform: translateY(-2px);
}


/* ==========================================================
   11. PROOF LANE
   ========================================================== */

.proof-lane {
  background: var(--blue);
  padding: clamp(20px, 2.5vw, 28px) 0;
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
}

.proof-cell {
  text-align: center;
  position: relative;
}

.proof-cell+.proof-cell::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: rgba(255, 255, 255, 0.15);
}

.proof-value {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.8vw, 32px);
  color: var(--white);
  margin-bottom: 2px;
}

.proof-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}


/* ==========================================================
   12. MARQUEE
   ========================================================== */

.marquee {
  overflow: hidden;
  padding: 16px 0;
  background: var(--blue);
  border-top: none;
  border-bottom: none;
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: marqueeScroll 35s linear infinite;
}

.marquee:hover .marquee-track {
  animation-play-state: paused;
}

.marquee-item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 40px;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--white);
}

.marquee-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(150, 200, 255, 0.7);
  flex-shrink: 0;
}

@keyframes marqueeScroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}


/* ==========================================================
   13. SECTION BASE
   ========================================================== */

.section {
  padding: var(--space-section) 0;
}

.section-header {
  max-width: 700px;
  margin-bottom: clamp(40px, 5vw, 72px);
}

.section-header h2 {
  font-size: clamp(32px, 4vw, 52px);
  margin-bottom: clamp(12px, 1.5vw, 20px);
}

.section-header p {
  font-size: clamp(16px, 1.6vw, 18px);
  color: var(--charcoal-72);
  line-height: 1.75;
}


/* ==========================================================
   14. CASE STUDIES SECTION
   ========================================================== */

.case-studies-section {
  background: var(--white);
  position: relative;
  overflow: hidden;
}

.case-studies-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 5% 60%, rgba(74, 124, 63, 0.14) 0%, transparent 60%),
    radial-gradient(ellipse 50% 70% at 95% 30%, rgba(0, 76, 151, 0.10) 0%, transparent 60%);
  pointer-events: none;
}

.case-studies-section .container {
  position: relative;
  z-index: 1;
}

/* Auto-scrolling ticker */
.case-ticker {
  overflow: hidden;
  position: relative;
}

/* Controls below ticker */
.case-ticker-controls {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: clamp(20px, 2.5vw, 28px);
}

.case-ticker-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--charcoal);
  cursor: pointer;
  transition: all 0.2s var(--ease-out);
}

.case-ticker-arrow:hover {
  background: var(--charcoal);
  color: var(--white);
  border-color: var(--charcoal);
  box-shadow: var(--shadow-md);
}

.case-ticker-track {
  display: flex;
  width: max-content;
  animation: caseTicker 45s linear infinite;
}

.case-ticker:hover .case-ticker-track {
  animation-play-state: paused;
}

@keyframes caseTicker {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* Compact deal card */
.case-card {
  display: flex;
  align-items: stretch;
  width: 360px;
  flex-shrink: 0;
  margin: 0 12px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
}

.case-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

/* Colored accent strip with icon */
.case-card-accent {
  width: 80px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.case-card-accent--forest {
  background: linear-gradient(160deg, #2a3d34 0%, var(--charcoal-deep) 100%);
  color: var(--forest-light);
}

.case-card-accent--blue {
  background: linear-gradient(160deg, #1e3450 0%, var(--charcoal-deep) 100%);
  color: rgba(100, 170, 255, 0.9);
}

.case-card-accent--charcoal {
  background: linear-gradient(160deg, var(--charcoal) 0%, var(--charcoal-deep) 100%);
  color: rgba(255, 255, 255, 0.4);
}

.case-card-accent svg {
  opacity: 0.5;
}

/* Card body */
.case-card-body {
  padding: 20px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.case-card-type {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  margin-bottom: 2px;
}

.case-card-deal {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--charcoal-deep);
  margin-bottom: 4px;
}

.case-card-price {
  font-family: var(--font-display);
  font-size: 28px;
  color: var(--forest);
  line-height: 1.1;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}

.case-card-meta {
  font-size: 12px;
  color: var(--charcoal-42);
  font-weight: 400;
}



/* ==========================================================
   15. DIFFERENTIATORS SECTION
   ========================================================== */

.differentiators-section {
  background: var(--cloud);
}

.differentiators-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
}

.diff-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3.5vw, 40px);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.diff-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.diff-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--forest-pale);
  border: 1px solid var(--forest-12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--forest);
  margin-bottom: 16px;
}

.diff-card h3 {
  font-size: clamp(20px, 2.2vw, 26px);
  margin-bottom: 8px;
}

.diff-card p {
  font-size: 15px;
  color: var(--charcoal-72);
  line-height: 1.7;
}


/* ==========================================================
   15. OUR PROCESS — ANIMATED SNAKE TIMELINE
   ========================================================== */

.process-section {
  background: linear-gradient(170deg, var(--charcoal-deep) 0%, var(--charcoal) 40%, #2a3d47 100%);
  overflow: hidden;
  position: relative;
  color: var(--white);
}

.process-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 8% 15%, rgba(74, 124, 63, 0.14) 0%, transparent 55%),
    radial-gradient(ellipse 50% 60% at 92% 85%, rgba(0, 76, 151, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 40% 30% at 50% 50%, rgba(74, 124, 63, 0.04) 0%, transparent 50%);
  pointer-events: none;
}

.process-section .section-header h2 {
  color: var(--white);
}

.process-section .section-header p {
  color: rgba(255, 255, 255, 0.55);
}

.process-section .eyebrow {
  color: var(--forest-light);
}

/* Background ambient orbs */
.proc-geo {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
}

.proc-geo-1 {
  width: 400px;
  height: 400px;
  right: -50px;
  top: 5%;
  background: rgba(74, 124, 63, 0.12);
}

.proc-geo-2 {
  width: 350px;
  height: 350px;
  left: -80px;
  top: 45%;
  background: rgba(0, 76, 151, 0.08);
}

.proc-geo-3 {
  width: 300px;
  height: 300px;
  right: 10%;
  bottom: 8%;
  background: rgba(74, 124, 63, 0.06);
}

.proc-watermark {
  position: absolute;
  right: 3%;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(280px, 30vw, 420px);
  height: auto;
  opacity: 0.025;
  pointer-events: none;
  z-index: 0;
  filter: brightness(0) invert(1);
}

.process-section .container {
  position: relative;
  z-index: 1;
}

.process-visual {
  position: relative;
}

.process-path-svg {
  width: 100%;
  height: auto;
  display: block;
  max-width: 1000px;
  margin: 0 auto;
}

/* Floating cards */
.proc-card {
  transition: opacity 0.5s var(--ease-out);
}

/* Pulse animation on nodes */
@keyframes procPulse {
  0% {
    r: 8;
    opacity: 0.5;
  }

  100% {
    r: 22;
    opacity: 0;
  }
}

.proc-pulse {
  animation: procPulse 2.5s ease-out infinite;
}

/* Network dots drift */
.proc-net-dot:nth-child(odd) {
  animation: procDrift 7s ease-in-out infinite;
}

.proc-net-dot:nth-child(even) {
  animation: procDrift 9s ease-in-out infinite 1s;
}

@keyframes procDrift {

  0%,
  100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(3px, -4px);
  }
}


/* ==========================================================
   16. VIDEO SECTION
   ========================================================== */

.video-section {
  background: var(--white);
}

.video-layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}

.video-wrapper {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
  aspect-ratio: 16 / 9;
  border: 2px solid var(--charcoal-12);
}

.video-wrapper:hover {
  box-shadow: 0 24px 64px rgba(74, 124, 63, 0.18), var(--shadow-xl);
}

.video-thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: var(--charcoal-deep);
  z-index: 0;
  padding: 8px;
}

.video-wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  border: none;
  z-index: 1;
}

.video-poster {
  position: absolute;
  inset: 0;
  background: rgba(29, 40, 48, 0.45);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  cursor: pointer;
  z-index: 2;
  transition: background 0.4s var(--ease-out);
}

.video-poster:hover {
  background: rgba(29, 40, 48, 0.3);
}

.video-poster.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Pulsing ring behind play button */
.play-btn-ring {
  position: absolute;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 2px solid rgba(74, 124, 63, 0.4);
  animation: playPulse 2s ease-in-out infinite;
}

@keyframes playPulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }

  50% {
    transform: scale(1.25);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.play-btn {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--forest);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  transition: all 0.3s var(--ease-out);
  border: 3px solid rgba(255, 255, 255, 0.3);
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.video-poster:hover .play-btn {
  background: var(--forest-light);
  transform: scale(1.08);
  box-shadow: 0 0 40px rgba(74, 124, 63, 0.4);
  border-color: rgba(255, 255, 255, 0.5);
}

.play-btn svg {
  width: 26px;
  height: 26px;
  margin-left: 3px;
}

.play-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white);
  opacity: 0.85;
}


/* ==========================================================
   17. SERVICES HUB (NEW — tiered funnel)
   ========================================================== */

.services-section {
  background: var(--sage);
}

.service-hero-card {
  background: var(--white);
  border: 2px solid var(--forest);
  border-radius: var(--radius-xl);
  padding: clamp(32px, 4vw, 56px);
  margin-bottom: clamp(20px, 2.5vw, 32px);
  position: relative;
  box-shadow: var(--shadow-lg);
}

.service-hero-layout {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}

.service-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: clamp(12px, 1.5vw, 18px);
}

.service-badge--forest {
  background: var(--forest-pale);
  color: var(--forest);
  border: 1px solid rgba(74, 124, 63, 0.15);
}

.service-badge--blue {
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid rgba(0, 76, 151, 0.15);
}

.service-badge--charcoal {
  background: var(--charcoal-05);
  color: var(--charcoal);
  border: 1px solid var(--charcoal-12);
}

.service-hero-copy h3 {
  font-size: clamp(28px, 3.5vw, 40px);
  margin-bottom: 12px;
}

.service-hero-copy>p {
  font-size: clamp(16px, 1.6vw, 18px);
  color: var(--charcoal-72);
  line-height: 1.75;
  margin-bottom: 20px;
}

.service-features {
  list-style: none;
  margin-bottom: clamp(20px, 2.5vw, 32px);
}

.service-features li {
  font-size: 15px;
  color: var(--charcoal-72);
  padding: 6px 0 6px 22px;
  position: relative;
}

.service-features li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--forest);
  opacity: 0.5;
}

.service-hero-stats {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: clamp(24px, 3vw, 36px);
  background: var(--cloud);
  border-radius: var(--radius-lg);
  border: 1px solid var(--charcoal-12);
}

.service-stat {
  text-align: center;
  padding: 12px 0;
}

.service-stat+.service-stat {
  border-top: 1px solid var(--charcoal-12);
}

.service-stat-value {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 36px);
  color: var(--forest);
}

.service-stat-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--charcoal-42);
}

.service-secondary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2vw, 24px);
}

.service-secondary-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3.5vw, 40px);
  display: flex;
  flex-direction: column;
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.service-secondary-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.service-secondary-card h3 {
  font-size: clamp(22px, 2.5vw, 28px);
  margin-bottom: 8px;
}

.service-secondary-card>p {
  font-size: 15px;
  color: var(--charcoal-72);
  line-height: 1.7;
  margin-bottom: 16px;
  flex: 1;
}

.service-fit-list {
  list-style: none;
  margin-bottom: clamp(16px, 2vw, 24px);
  padding-top: 12px;
  border-top: 1px solid var(--charcoal-12);
}

.service-fit-list li {
  font-size: 14px;
  color: var(--charcoal-72);
  padding: 4px 0 4px 16px;
  position: relative;
}

.service-fit-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--forest);
  opacity: 0.4;
}


/* ==========================================================
   18. VERTICALS SECTION
   ========================================================== */

.verticals-section {
  background: var(--cloud);
}

.verticals-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
}

.vertical-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  border-left: 3px solid var(--charcoal-20);
  padding: clamp(24px, 3vw, 36px);
  transition: transform 0.35s var(--ease-out),
    box-shadow 0.35s var(--ease-out),
    border-left-color 0.35s;
}

/* Alternate left-border colors: forest, blue, charcoal */
.vertical-card:nth-child(1),
.vertical-card:nth-child(4) {
  border-left-color: var(--forest);
}

.vertical-card:nth-child(2),
.vertical-card:nth-child(5) {
  border-left-color: var(--blue);
}

.vertical-card:nth-child(3),
.vertical-card:nth-child(6) {
  border-left-color: var(--charcoal);
}

.vertical-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.vertical-card:nth-child(1):hover,
.vertical-card:nth-child(4):hover {
  border-left-color: var(--forest-light);
}

.vertical-card:nth-child(2):hover,
.vertical-card:nth-child(5):hover {
  border-left-color: #1a6abf;
}

.vertical-card:nth-child(3):hover,
.vertical-card:nth-child(6):hover {
  border-left-color: var(--charcoal-soft);
}

.vertical-card h3 {
  font-size: clamp(20px, 2.2vw, 26px);
  margin-bottom: 8px;
}

.vertical-card p {
  font-size: 15px;
  color: var(--charcoal-72);
  line-height: 1.7;
}

.vertical-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: clamp(12px, 1.5vw, 18px);
  width: fit-content;
}

/* Badge colors matching the card accent */
.vertical-card:nth-child(1) .vertical-badge,
.vertical-card:nth-child(4) .vertical-badge {
  background: var(--forest-pale);
  color: var(--forest);
  border: 1px solid rgba(74, 124, 63, 0.15);
}

.vertical-card:nth-child(2) .vertical-badge,
.vertical-card:nth-child(5) .vertical-badge {
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid rgba(0, 76, 151, 0.15);
}

.vertical-card:nth-child(3) .vertical-badge,
.vertical-card:nth-child(6) .vertical-badge {
  background: var(--charcoal-05);
  color: var(--charcoal);
  border: 1px solid var(--charcoal-12);
}


/* ==========================================================
   19. MID-PAGE CTA (NEW)
   ========================================================== */

.midpage-cta {
  background: linear-gradient(135deg, var(--forest) 0%, #3a6a31 100%);
  padding: clamp(60px, 8vw, 100px) 0;
  text-align: center;
}

.midpage-cta-content {
  max-width: 650px;
  margin: 0 auto;
}

.midpage-cta h2 {
  font-size: clamp(28px, 3.5vw, 44px);
  color: var(--white);
  margin-bottom: clamp(12px, 1.5vw, 20px);
}

.midpage-cta p {
  font-size: clamp(16px, 1.6vw, 18px);
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.75;
  margin-bottom: clamp(24px, 3vw, 36px);
}

.midpage-cta-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}


/* ==========================================================
   20. TESTIMONIALS SECTION (NEW — standalone grid)
   ========================================================== */

.testimonials-section {
  background: var(--charcoal-deep);
  color: var(--white);
}

.testimonials-section .eyebrow {
  color: var(--forest-light);
}

.testimonials-section .section-header p {
  color: rgba(255, 255, 255, 0.55);
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
}

.testimonial-card {
  padding: clamp(28px, 3.5vw, 40px);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-left: 3px solid var(--forest);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background 0.3s var(--ease-out);
}

.testimonial-card:hover {
  background: rgba(255, 255, 255, 0.06);
}

.testimonial-card blockquote {
  font-family: var(--font-body);
  font-size: clamp(17px, 1.8vw, 21px);
  font-style: normal;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: clamp(16px, 2vw, 24px);
}

.testimonial-card cite {
  font-style: normal;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.45);
}


/* ==========================================================
   21. REFERRAL SECTION
   ========================================================== */

.referral-section {
  background: var(--cloud);
}

.referral-card {
  max-width: 800px;
  margin: 0 auto;
  padding: clamp(28px, 3.5vw, 44px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 3px solid var(--blue);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

.referral-card h3 {
  font-size: clamp(22px, 2.5vw, 28px);
  margin-bottom: 8px;
}

.referral-card p {
  font-size: 15px;
  color: var(--charcoal-72);
  line-height: 1.7;
}


/* ==========================================================
   22. FAQ SECTION
   ========================================================== */

.faq-grid {
  max-width: 800px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.faq-item {
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--white);
}

.faq-item summary {
  padding: 18px 24px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background 0.2s;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: '+';
  font-size: 20px;
  font-weight: 300;
  color: var(--charcoal-42);
  transition: transform 0.3s var(--ease-out);
}

.faq-item[open] summary::after {
  transform: rotate(45deg);
}

.faq-item summary:hover {
  background: var(--cloud);
}

.faq-item .faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s var(--ease-out), padding 0.4s;
  padding: 0 24px;
  overflow: hidden;
}

.faq-item .faq-answer>div {
  overflow: hidden;
  font-size: 15px;
  color: var(--charcoal-72);
  line-height: 1.7;
}

.faq-item[open] .faq-answer {
  grid-template-rows: 1fr;
  padding: 0 24px 18px;
}


/* ==========================================================
   23. CTA SECTION
   ========================================================== */

.cta-section {
  background: linear-gradient(160deg, var(--charcoal-deep) 0%, var(--charcoal) 100%);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cta-section::before {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.03);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.cta-content {
  position: relative;
  z-index: 2;
  max-width: 600px;
  margin: 0 auto;
}

.cta-section .eyebrow {
  color: var(--forest-light);
}

.cta-section h2 {
  font-size: clamp(32px, 4vw, 52px);
  color: var(--white);
  margin-bottom: clamp(12px, 1.5vw, 20px);
}

.cta-section p {
  font-size: clamp(16px, 1.6vw, 18px);
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.75;
  margin-bottom: clamp(28px, 3.5vw, 40px);
}

.cta-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: clamp(24px, 3vw, 36px);
}

.cta-secondary {
  display: flex;
  justify-content: center;
  gap: 32px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.4);
}

.cta-secondary a {
  color: rgba(255, 255, 255, 0.4);
  transition: color 0.2s;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 2px;
}

.cta-secondary a:hover {
  color: var(--white);
  border-color: var(--white);
}


/* ==========================================================
   24. FOOTER
   ========================================================== */

.site-footer {
  background: var(--ink);
  padding: clamp(40px, 5vw, 64px) 0 clamp(20px, 2.5vw, 32px);
}

.footer-cta-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: clamp(24px, 3vw, 36px) clamp(28px, 3.5vw, 48px);
  margin-bottom: clamp(40px, 5vw, 64px);
  border-radius: 12px;
  background:
    repeating-linear-gradient(135deg, transparent 0 80px, rgba(255, 255, 255, 0.04) 80px 81px),
    linear-gradient(135deg, var(--forest) 0%, #3a6a31 50%, var(--charcoal-deep) 130%);
}

.footer-cta-band__text {
  font-size: clamp(16px, 1.8vw, 20px);
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
}

.footer-cta-band__text strong {
  color: var(--white);
  font-weight: 600;
}

.footer-cta-band__btn {
  flex-shrink: 0;
  padding: 14px 28px;
  border-radius: 8px;
  background: var(--white);
  color: var(--charcoal-deep);
  font-size: 15px;
  font-weight: 600;
  transition: transform 0.2s, box-shadow 0.2s;
}

.footer-cta-band__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: clamp(24px, 3vw, 48px);
  margin-bottom: clamp(32px, 4vw, 48px);
}

.footer-brand-col .footer-logo {
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: var(--white);
  margin-bottom: 12px;
}

.footer-brand-col p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.7;
  max-width: 300px;
}

.footer-col h4 {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: 16px;
}

.footer-col ul {
  list-style: none;
}

.footer-col li {
  margin-bottom: 8px;
}

.footer-col a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.2s;
}

.footer-col a:hover {
  color: var(--white);
}

.footer-nl-form {
  display: flex;
  gap: 8px;
  margin-top: 20px;
  max-width: 300px;
}

.footer-nl-form input {
  flex: 1;
  min-width: 0;
  padding: 10px 14px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 13px;
}

.footer-nl-form input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

.footer-nl-form input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.3);
}

.footer-nl-form button {
  padding: 10px 16px;
  border: none;
  border-radius: 6px;
  background: var(--forest);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.footer-nl-form button:hover {
  background: #3a6a31;
}



body .footer-nl-form-wrap .frm_form_field input[type="text"],
body .footer-nl-form-wrap .frm_form_field input[type="email"],
body .footer-nl-form-wrap .frm_form_field input[type="tel"] {
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 14px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--white) !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  height: 42px !important;
  box-sizing: border-box !important;
}

body .footer-nl-form-wrap .frm_form_field input::placeholder {
  color: rgba(255, 255, 255, 0.3) !important;
}

body .footer-nl-form-wrap .frm_form_field input:focus {
  outline: none !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  box-shadow: none !important;
}

/* Captcha overrides */
body .footer-nl-form-wrap .frm_type_captcha,
body .footer-nl-form-wrap .frm_captcha {
  grid-column: span 2 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  margin: 6px 0 !important;
}

/* Submit container and button overrides */
body .footer-nl-form-wrap .frm_submit {
  grid-column: span 2 !important;
  width: 100% !important;
  margin-top: -10px !important;
  float: none !important;
  clear: both !important;
}

body .footer-nl-form-wrap .frm_submit input[type="submit"],
body .footer-nl-form-wrap .frm_submit button,
body .footer-nl-form-wrap button[type="submit"] {
  width: 100% !important;
  padding: 10px 16px !important;
  border: none !important;
  border-radius: 6px !important;
  background: var(--forest) !important;
  color: var(--white) !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  height: 42px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body .footer-nl-form-wrap .frm_submit input[type="submit"]:hover,
body .footer-nl-form-wrap .frm_submit button:hover,
body .footer-nl-form-wrap button[type="submit"]:hover {
  background: #3a6a31 !important;
}

/* Hide labels and legend to keep it clean and minimal */
body .footer-nl-form-wrap .frm_primary_label,
body .footer-nl-form-wrap label,
body .footer-nl-form-wrap legend {
  display: none !important;
}

.footer-nl-fine {
  margin-top: 10px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.25);
}

.footer-bottom {
  padding-top: clamp(20px, 2.5vw, 32px);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.25);
}

.footer-legal {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.footer-legal a {
  color: rgba(255, 255, 255, 0.35);
  text-decoration: none;
  transition: color 0.2s;
}

.footer-legal a:hover {
  color: var(--white);
}


/* ==========================================================
   25. RESPONSIVE
   ========================================================== */

@media (max-width: 1120px) {
  .header-nav {
    display: none;
  }

  .header-cta {
    display: none;
  }

  .mobile-toggle {
    display: flex;
  }

  .header-nav.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(20px);
    padding: 16px var(--gutter) 24px;
    gap: 4px;
    border-bottom: 1px solid var(--charcoal-12);
    box-shadow: var(--shadow-lg);
  }

  .header-nav.open>li>a {
    padding: 12px 0;
    display: flex;
  }

  /* ---- Mobile drawer: collapsible accordion mega menus ---- */

  /* Default: collapsed (max-height 0) */
  .header-nav.open .mega-menu {
    position: static;
    transform: none;
    visibility: visible;
    width: 100%;
    left: auto;
    right: auto;
    box-shadow: none;
    border: none;
    border-radius: 0;
    background: transparent;
    margin: 0;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    padding: 0 0 0 14px;
    transition: max-height 0.35s var(--ease-out),
      opacity 0.25s var(--ease-out),
      padding 0.25s var(--ease-out);
  }

  /* When this nav item is tapped open */
  .header-nav.open .has-mega.is-open>.mega-menu {
    max-height: 1600px;
    opacity: 1;
    padding: 4px 0 14px 14px;
  }

  /* Rotate the chevron when expanded */
  .header-nav.open .has-mega.is-open>a::after {
    transform: rotate(180deg);
    border-top-color: var(--forest);
  }

  .header-nav.open .mega-menu::before {
    display: none;
  }

  .header-nav.open .mega-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-bottom: 8px;
  }

  .header-nav.open .mega-eyebrow {
    font-size: 10px;
    color: var(--charcoal-42, rgba(31, 41, 51, 0.42));
    padding: 0;
    margin-bottom: 4px;
  }

  .header-nav.open .mega-item,
  .header-nav.open .mega-phase-item {
    padding: 8px 0;
    gap: 10px;
  }

  .header-nav.open .mega-item:hover,
  .header-nav.open .mega-phase-item:hover {
    background: transparent;
    transform: none;
  }

  .header-nav.open .mega-item-icon,
  .header-nav.open .mega-phase-num {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }

  .header-nav.open .mega-item-title {
    font-size: 13px;
  }

  .header-nav.open .mega-item-desc {
    font-size: 11px;
  }

  .header-nav.open .mega-vertical-list {
    padding: 0;
  }

  .header-nav.open .mega-vertical-list li a {
    font-size: 13px;
    padding: 6px 0;
  }

  .header-nav.open .mega-vertical-list li a:hover {
    padding-left: 0;
  }

  .header-nav.open .mega-live-signal {
    margin: 8px 0 0;
  }

  /* Hide heavy editorial pieces on mobile to reduce clutter */
  .header-nav.open .mega-featured,
  .header-nav.open .mega-team,
  .header-nav.open .mega-footer,
  .header-nav.open .mega-tricolor {
    display: none;
  }

  .hero-layout {
    grid-template-columns: 1fr;
  }

  .hero-panel {
    margin-bottom: 0;
  }

  .hero-copy {
    padding-bottom: clamp(32px, 5vw, 48px);
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-brand-col {
    grid-column: 1 / -1;
  }

  .footer-cta-band {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .differentiators-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .verticals-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .video-layout {
    grid-template-columns: 1fr;
  }

  .service-hero-layout {
    grid-template-columns: 1fr;
  }

  .case-card {
    width: 300px;
  }
}

@media (max-width: 768px) {

  .differentiators-grid {
    grid-template-columns: 1fr;
  }

  .testimonials-grid {
    grid-template-columns: 1fr;
    max-width: 640px;
    margin: 0 auto;
  }

  .service-secondary-grid {
    grid-template-columns: 1fr;
  }

  .proof-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .proof-cell+.proof-cell::before {
    display: none;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }

  .cta-secondary {
    flex-direction: column;
    gap: 12px;
  }

  .verticals-grid {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================
   26. REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html {
    scroll-behavior: auto;
  }
}


/* ==========================================================
   27. FOCUS VISIBLE
   ========================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--forest);
  outline-offset: 2px;
  border-radius: 4px;
}


/* ==========================================================
   28. VERTICAL LANDING PAGES (SaaS / E-Com / Content)
   Shared components used across /verticals/* pages.
   ========================================================== */

/* ---- Page scope background accent ---- */
.vertical-page .hero {
  background: var(--charcoal-deep);
}

/* ---- Vertical hero lead paragraph override ---- */
.vertical-page .hero-body {
  max-width: 620px;
}

/* ---- Vertical market context — two-col split ---- */
.vertical-market {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--white);
}

.vertical-market__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}

.vertical-market__copy .eyebrow {
  color: var(--forest);
}

.vertical-market__copy h2 {
  font-size: clamp(32px, 3.8vw, 52px);
  margin-bottom: clamp(20px, 2vw, 28px);
  line-height: 1.08;
}

.vertical-market__copy p {
  font-size: clamp(16px, 1.55vw, 18px);
  line-height: 1.75;
  color: var(--charcoal-72);
  margin-bottom: clamp(14px, 1.6vw, 20px);
}

.vertical-market__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(14px, 1.6vw, 20px);
}

.vertical-stat {
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(22px, 2.4vw, 30px);
  position: relative;
  overflow: hidden;
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.vertical-stat::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--forest);
}

.vertical-stat:nth-child(even)::before {
  background: var(--blue);
}

.vertical-stat:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.vertical-stat__value {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.6vw, 34px);
  color: var(--charcoal-deep);
  line-height: 1.1;
  margin-bottom: 8px;
}

.vertical-stat__label {
  font-size: 14px;
  line-height: 1.55;
  color: var(--charcoal-72);
}

/* ---- Recent vertical transactions — static grid (2x2) ---- */
.vertical-deals {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--cloud);
}

.vertical-deals__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(18px, 2vw, 28px);
  margin-top: clamp(32px, 4vw, 48px);
}

.vertical-deals__grid .case-card {
  width: auto;
  flex: 1 1 auto;
}

/* ---- Valuation drivers checklist ---- */
.vertical-drivers {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--white);
}

.vertical-drivers__intro {
  max-width: 720px;
  margin-bottom: clamp(40px, 5vw, 64px);
}

.vertical-drivers__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(14px, 1.6vw, 22px);
}

.driver-row {
  display: flex;
  gap: 18px;
  padding: clamp(20px, 2.2vw, 28px);
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  transition: transform 0.3s var(--ease-out), border-color 0.3s var(--ease-out);
}

.driver-row:hover {
  transform: translateY(-2px);
  border-color: var(--forest);
}

.driver-row__check {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--forest-pale);
  border: 1px solid var(--forest-12);
  color: var(--forest);
  display: flex;
  align-items: center;
  justify-content: center;
}

.driver-row__text h3 {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  color: var(--charcoal-deep);
  margin-bottom: 4px;
  line-height: 1.3;
}

.driver-row__text p {
  font-size: 14px;
  color: var(--charcoal-72);
  line-height: 1.6;
}

/* ---- Pitfalls (.diff-card--warning modifier) ---- */
.vertical-pitfalls {
  padding: clamp(80px, 9vw, 140px) 0;
  background: linear-gradient(180deg, var(--cloud) 0%, var(--white) 100%);
}

.vertical-pitfalls .differentiators-grid {
  margin-top: clamp(40px, 4vw, 56px);
}

.diff-card--warning {
  background: #fff;
  border: 1px solid rgba(211, 69, 69, 0.16);
  border-left: 3px solid var(--error);
  position: relative;
}

.diff-card--warning .diff-icon {
  background: rgba(211, 69, 69, 0.06);
  border-color: rgba(211, 69, 69, 0.18);
  color: var(--error);
}

.diff-card--warning h3 {
  color: var(--charcoal-deep);
}

.diff-card--warning p strong {
  color: var(--forest);
  font-weight: 600;
}

/* neutral warning — keep brand-quiet (only hint of red) */
.diff-card--warning:hover {
  border-color: rgba(211, 69, 69, 0.28);
}

/* ---- Vertical process (4-step numbered strip) ---- */
.vertical-process {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--charcoal-deep);
  color: var(--white);
  position: relative;
  overflow: hidden;
}

.vertical-process::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 10%, rgba(74, 124, 63, 0.12), transparent 55%);
  pointer-events: none;
}

.vertical-process .eyebrow {
  color: var(--forest-light);
}

.vertical-process .section-header h2 {
  color: var(--white);
  font-size: clamp(32px, 3.8vw, 52px);
}

.vertical-process .section-header p {
  color: rgba(255, 255, 255, 0.6);
  font-size: clamp(16px, 1.6vw, 18px);
}

.vertical-process__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2vw, 28px);
  margin-top: clamp(40px, 4.5vw, 64px);
  position: relative;
}

.vertical-process__step {
  padding: clamp(24px, 2.6vw, 34px);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: var(--radius-lg);
  transition: background 0.3s var(--ease-out), border-color 0.3s var(--ease-out);
}

.vertical-process__step:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(91, 154, 79, 0.35);
}

.vertical-process__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--forest-light);
  background: rgba(91, 154, 79, 0.1);
  border: 1px solid rgba(91, 154, 79, 0.35);
  margin-bottom: 18px;
}

.vertical-process__step h3 {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 10px;
}

.vertical-process__step p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.65;
}

/* ---- Featured single testimonial (vertical) ---- */
.vertical-featured-quote {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--white);
}

.vertical-featured-quote__card {
  max-width: 900px;
  margin: clamp(32px, 4vw, 48px) auto 0;
  padding: clamp(40px, 5vw, 72px);
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-xl);
  border-left: 4px solid var(--forest);
  position: relative;
}

.vertical-featured-quote__mark {
  font-family: var(--font-display);
  font-size: 96px;
  line-height: 0.6;
  color: var(--forest);
  opacity: 0.22;
  position: absolute;
  top: 28px;
  left: 32px;
}

.vertical-featured-quote blockquote {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 28px);
  font-style: italic;
  line-height: 1.45;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(24px, 3vw, 36px) 0;
  position: relative;
  z-index: 1;
}

.vertical-featured-quote cite {
  font-style: normal;
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--charcoal-deep);
  margin-bottom: 6px;
}

.vertical-featured-quote__meta {
  font-size: 13px;
  color: var(--charcoal-72);
  letter-spacing: 0.04em;
}

/* ---- Vertical-scoped case-ticker single row fallback ---- */
.vertical-deals .case-card-deal {
  min-height: 48px;
}

/* ---- Hero vertical eyebrow pill: force forest accent for series cohesion ---- */
.vertical-page .hero-eyebrow-pill {
  background: rgba(91, 154, 79, 0.12);
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .vertical-market__grid {
    grid-template-columns: 1fr;
  }

  .vertical-market__stats {
    grid-template-columns: 1fr;
  }

  .vertical-deals__grid {
    grid-template-columns: 1fr;
  }

  .vertical-drivers__grid {
    grid-template-columns: 1fr;
  }

  .vertical-process__grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .vertical-process__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ==========================================================
   29. PREMIUM DOMAIN NAMES PAGE
   Editorial "Sotheby's for domains" treatment for
   /premium-domain-names-for-sale/
   ========================================================== */

.domain-page .hero {
  background: linear-gradient(160deg, #0a1218 0%, var(--charcoal-deep) 100%);
}

.domain-page .hero-body {
  max-width: 640px;
}

.domain-page .hero-eyebrow-pill {
  background: rgba(91, 154, 79, 0.12);
}

/* What makes a premium domain — 6 cards */
.premium-defn {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--white);
}

.premium-defn__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(40px, 5vw, 64px);
}

.pdefn-card {
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3vw, 40px);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), background 0.35s;
}

.pdefn-card:hover {
  transform: translateY(-3px);
  background: var(--white);
  box-shadow: var(--shadow-md);
}

.pdefn-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--forest) 0%, var(--blue) 100%);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}

.pdefn-icon svg {
  width: 22px;
  height: 22px;
}

.pdefn-card h3 {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--charcoal-deep);
  line-height: 1.2;
  margin-bottom: 12px;
}

.pdefn-card p {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoal-72);
}

/* Featured domains inventory grid */
.domains-showcase {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--cloud);
}

.domains-showcase__intro {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  margin-bottom: clamp(32px, 4vw, 48px);
  flex-wrap: wrap;
}

.domains-showcase__intro .section-header {
  margin-bottom: 0;
}

.domains-showcase__live {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  color: var(--charcoal-72);
}

.domains-showcase__live::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.2);
  animation: livePulse 2s ease-in-out infinite;
}

@keyframes livePulse {

  0%,
  100% {
    box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.2);
  }

  50% {
    box-shadow: 0 0 0 6px rgba(91, 154, 79, 0.08);
  }
}

.domains-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
}

.domain-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(26px, 2.8vw, 34px);
  position: relative;
  overflow: hidden;
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.35s;
}

.domain-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--forest), var(--blue));
  opacity: 0;
  transition: opacity 0.3s;
}

.domain-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: rgba(74, 124, 63, 0.3);
}

.domain-card:hover::before {
  opacity: 1;
}

.domain-card__tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  padding: 4px 10px;
  background: var(--forest-pale);
  border-radius: 100px;
  margin-bottom: 20px;
}

.domain-card__tag--blue {
  color: var(--blue);
  background: var(--blue-light);
}

.domain-card__tag--charcoal {
  color: var(--charcoal);
  background: var(--charcoal-05);
}

.domain-card__name {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.2vw, 30px);
  color: var(--charcoal-deep);
  line-height: 1.1;
  margin-bottom: 14px;
  word-break: break-word;
  letter-spacing: -0.01em;
}

.domain-card__attrs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--charcoal-42);
  padding-bottom: 18px;
  border-bottom: 1px solid var(--charcoal-12);
  margin-bottom: 18px;
}

.domain-card__attrs span::before {
  content: "·";
  margin-right: 14px;
  color: var(--charcoal-20);
}

.domain-card__attrs span:first-child::before {
  display: none;
}

.domain-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.domain-card__price {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--forest);
  line-height: 1;
}

.domain-card__price--offer {
  font-size: 15px;
  color: var(--charcoal-72);
  font-style: italic;
}

.domain-card__inquire {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--forest);
  padding: 10px 18px;
  border: 1px solid var(--forest);
  border-radius: 100px;
  transition: background 0.25s, color 0.25s;
}

.domain-card__inquire:hover {
  background: var(--forest);
  color: var(--white);
}

/* Valuation factors — reuse vertical-drivers pattern, domain scoped */
.domain-factors {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--white);
}

/* Appraise My Domain form card */
.appraise-section {
  padding: clamp(80px, 9vw, 140px) 0;
  background: linear-gradient(180deg, var(--cloud) 0%, var(--white) 100%);
}

.appraise-card {
  max-width: 820px;
  margin: 0 auto;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-xl);
  padding: clamp(40px, 5vw, 72px);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.appraise-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--forest), var(--blue), var(--charcoal));
}

.appraise-card .eyebrow {
  color: var(--forest);
}

.appraise-card h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  margin-bottom: 16px;
  color: var(--charcoal-deep);
  line-height: 1.15;
}

.appraise-card>p {
  font-size: 16px;
  color: var(--charcoal-72);
  line-height: 1.7;
  margin-bottom: clamp(28px, 3vw, 40px);
  max-width: 60ch;
}

.appraise-form {
  display: grid;
  gap: 18px;
}

.appraise-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.appraise-form label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--charcoal-72);
  margin-bottom: 8px;
}

.appraise-form input,
.appraise-form select,
.appraise-form textarea {
  width: 100%;
  padding: 14px 16px;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--charcoal-deep);
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  transition: border-color 0.25s, background 0.25s, box-shadow 0.25s;
}

.appraise-form input:focus,
.appraise-form select:focus,
.appraise-form textarea:focus {
  outline: none;
  border-color: var(--forest);
  background: var(--white);
  box-shadow: 0 0 0 3px rgba(74, 124, 63, 0.12);
}

.appraise-form textarea {
  min-height: 120px;
  resize: vertical;
}

.appraise-form button {
  justify-self: start;
  background: var(--forest);
  color: var(--white);
  padding: 16px 32px;
  border-radius: 100px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.02em;
  cursor: pointer;
  border: 1px solid var(--forest);
  transition: transform 0.25s, background 0.25s, box-shadow 0.25s;
  margin-top: 8px;
}

.appraise-form button:hover {
  background: var(--forest-light);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(74, 124, 63, 0.35);
}

/* Why list with us — comparison table */
.why-broker {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--white);
}

.broker-table {
  margin-top: clamp(40px, 5vw, 64px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.broker-table__row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  border-bottom: 1px solid var(--charcoal-12);
}

.broker-table__row:last-child {
  border-bottom: none;
}

.broker-table__row>div {
  padding: clamp(18px, 2vw, 26px);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--charcoal-72);
}

.broker-table__row--head {
  background: var(--charcoal-deep);
}

.broker-table__row--head>div {
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-display);
  font-size: 17px;
  text-align: center;
}

.broker-table__row--head>div:first-child {
  text-align: left;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: var(--font-body);
  font-weight: 700;
}

.broker-table__row--head>div.wp-col {
  background: var(--forest);
  color: var(--white);
}

.broker-table__row>div:first-child {
  font-weight: 600;
  color: var(--charcoal-deep);
  background: var(--cloud);
}

.broker-table__row>div.wp-col {
  color: var(--charcoal-deep);
  font-weight: 500;
  background: rgba(74, 124, 63, 0.05);
  border-left: 3px solid var(--forest);
  text-align: center;
}

.broker-table__row>div:not(:first-child):not(.wp-col) {
  text-align: center;
}

/* Past notable sales strip */
.past-sales {
  padding: clamp(80px, 9vw, 140px) 0;
  background: var(--cloud);
}

.past-sales__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.6vw, 20px);
  margin-top: clamp(40px, 5vw, 56px);
}

.past-sale {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.6vw, 32px) clamp(18px, 2vw, 24px);
  text-align: center;
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.past-sale:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.past-sale__name {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.6vw, 22px);
  color: var(--charcoal-deep);
  line-height: 1.15;
  margin-bottom: 12px;
  word-break: break-word;
}

.past-sale__price {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--forest);
  line-height: 1;
  margin-bottom: 8px;
}

.past-sale__meta {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--charcoal-42);
}

/* Responsive — domain page */
@media (max-width: 1024px) {
  .premium-defn__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .domains-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .past-sales__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .broker-table__row {
    grid-template-columns: 1fr;
  }

  .broker-table__row--head {
    display: none;
  }

  .broker-table__row>div {
    border-bottom: 1px solid var(--charcoal-12);
    text-align: left !important;
  }

  .broker-table__row>div.wp-col {
    border-left: none;
    border-top: 3px solid var(--forest);
  }
}

@media (max-width: 768px) {
  .premium-defn__grid {
    grid-template-columns: 1fr;
  }

  .domains-grid {
    grid-template-columns: 1fr;
  }

  .past-sales__grid {
    grid-template-columns: 1fr 1fr;
  }

  .appraise-form__row {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================
   30. IN THE NEWS (PRESS) PAGE
   ========================================================== */

.news-hero {
  position: relative;
  background: linear-gradient(160deg, var(--charcoal-deep) 0%, var(--charcoal) 55%, #2a3d47 100%);
  color: var(--white);
  padding: clamp(90px, 12vw, 150px) 0 clamp(70px, 9vw, 110px);
  overflow: hidden;
}

.news-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(91, 154, 79, 0.22), transparent 45%),
    radial-gradient(circle at 88% 75%, rgba(0, 76, 151, 0.18), transparent 50%);
  pointer-events: none;
}

.news-hero>.container {
  position: relative;
  z-index: 2;
}

.news-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(6px);
}

.news-hero__eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.18);
}

.news-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(38px, 5.2vw, 68px);
  line-height: 1.05;
  margin: 24px 0 20px;
  max-width: 900px;
  letter-spacing: -0.01em;
}

.news-hero h1 em {
  font-style: italic;
  background: linear-gradient(110deg, var(--forest-light) 0%, #a8d295 50%, var(--forest-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.news-hero__lede {
  font-size: clamp(16px, 1.4vw, 19px);
  color: rgba(255, 255, 255, 0.72);
  max-width: 700px;
  line-height: 1.65;
  margin-bottom: 42px;
}

.news-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.news-hero__meta strong {
  color: var(--white);
  font-weight: 600;
}

/* Logo wall */
.logo-wall {
  margin-top: clamp(48px, 6vw, 72px);
  padding-top: clamp(32px, 4vw, 48px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.logo-wall__label {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 28px;
}

.logo-wall__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: clamp(16px, 2vw, 28px);
  align-items: center;
}

.logo-wall__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  font-family: var(--font-display);
  font-size: clamp(16px, 1.6vw, 22px);
  color: rgba(255, 255, 255, 0.78);
  text-align: center;
  letter-spacing: -0.01em;
  transition: all 0.3s ease;
}

.logo-wall__item:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(91, 154, 79, 0.4);
  color: var(--white);
  transform: translateY(-2px);
}

.logo-wall__item--forbes {
  font-weight: 700;
  font-style: italic;
}

.logo-wall__item--inc {
  font-weight: 600;
}

.logo-wall__item--axial {
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.logo-wall__item--tc {
  font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.logo-wall__item--yahoo {
  font-family: var(--font-body);
  font-weight: 700;
}

.logo-wall__item--bi {
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: -0.01em;
  font-size: clamp(13px, 1.3vw, 17px);
}

@media (max-width: 900px) {
  .logo-wall__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 500px) {
  .logo-wall__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Press filter bar */
.press-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: clamp(32px, 4vw, 48px);
  justify-content: center;
}

.press-filter__btn {
  padding: 10px 18px;
  border: 1px solid var(--charcoal-12);
  border-radius: 999px;
  background: var(--white);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--charcoal-72);
  cursor: pointer;
  transition: all 0.25s ease;
}

.press-filter__btn:hover {
  border-color: var(--forest);
  color: var(--forest);
}

.press-filter__btn.is-active {
  background: var(--forest);
  color: var(--white);
  border-color: var(--forest);
}

/* Press card grid */
.press-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
}

@media (max-width: 1000px) {
  .press-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .press-grid {
    grid-template-columns: 1fr;
  }
}

.press-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 16px;
  padding: 28px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.press-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--forest) 0%, var(--forest-light) 60%, var(--blue) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.press-card:hover {
  border-color: rgba(74, 124, 63, 0.3);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(29, 40, 48, 0.08);
}

.press-card:hover::before {
  opacity: 1;
}

.press-card__pub {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--charcoal-05);
}

.press-card__pub-name {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--charcoal-deep);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.press-card__date {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  color: var(--warm-gray);
  letter-spacing: 0.04em;
}

.press-card__type {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--forest);
  background: var(--forest-pale);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
  width: fit-content;
}

.press-card__title {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.25;
  color: var(--charcoal-deep);
  margin: 0 0 14px;
  letter-spacing: -0.01em;
}

.press-card__excerpt {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  margin-bottom: 22px;
  flex: 1;
}

.press-card__link {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--forest);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  letter-spacing: 0.01em;
  transition: gap 0.25s ease;
}

.press-card__link:hover {
  gap: 10px;
}

/* Podcast strip */
.podcast-section {
  background: var(--cloud);
  padding: clamp(80px, 10vw, 130px) 0;
}

.podcast-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
  margin-top: clamp(40px, 5vw, 60px);
}

@media (max-width: 900px) {
  .podcast-grid {
    grid-template-columns: 1fr;
  }
}

.podcast-card {
  display: flex;
  gap: 20px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 16px;
  padding: 24px;
  transition: all 0.3s ease;
}

.podcast-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(29, 40, 48, 0.08);
  border-color: rgba(74, 124, 63, 0.3);
}

.podcast-card__art {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--forest) 0%, var(--charcoal-deep) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.9);
  position: relative;
  overflow: hidden;
}

.podcast-card__art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.12), transparent 60%);
}

.podcast-card__art svg {
  position: relative;
  z-index: 2;
}

.podcast-card__art--blue {
  background: linear-gradient(135deg, var(--blue) 0%, var(--charcoal-deep) 100%);
}

.podcast-card__art--mixed {
  background: linear-gradient(135deg, var(--forest-light) 0%, var(--blue) 100%);
}

.podcast-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.podcast-card__show {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 6px;
}

.podcast-card__title {
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.3;
  color: var(--charcoal-deep);
  margin-bottom: 8px;
}

.podcast-card__meta {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--warm-gray);
  margin-bottom: 16px;
}

.podcast-card__cta {
  margin-top: auto;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--forest);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Talks / timeline */
.talks-list {
  max-width: 860px;
  margin: clamp(40px, 5vw, 60px) auto 0;
  border-top: 1px solid var(--charcoal-12);
}

.talks-list__item {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid var(--charcoal-12);
  transition: background 0.25s ease;
}

.talks-list__item:hover {
  background: var(--forest-pale);
}

.talks-list__year {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.4vw, 32px);
  color: var(--forest);
  font-weight: 400;
}

.talks-list__body h3 {
  font-family: var(--font-display);
  font-size: 19px;
  line-height: 1.3;
  color: var(--charcoal-deep);
  margin-bottom: 4px;
}

.talks-list__body p {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--charcoal-72);
  margin: 0;
}

.talks-list__link {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  color: var(--forest);
  padding: 8px 14px;
  border: 1px solid var(--forest);
  border-radius: 999px;
  transition: all 0.25s ease;
}

.talks-list__link:hover {
  background: var(--forest);
  color: var(--white);
}

@media (max-width: 720px) {
  .talks-list__item {
    grid-template-columns: 80px 1fr;
  }

  .talks-list__link {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

/* Awards strip */
.awards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2vw, 28px);
  margin-top: clamp(40px, 5vw, 60px);
}

@media (max-width: 900px) {
  .awards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.award-card {
  text-align: center;
  padding: 32px 20px;
  border: 1px solid var(--charcoal-12);
  border-radius: 16px;
  background: var(--white);
  transition: all 0.3s ease;
}

.award-card:hover {
  transform: translateY(-3px);
  border-color: rgba(74, 124, 63, 0.35);
  box-shadow: 0 14px 32px rgba(29, 40, 48, 0.06);
}

.award-card__icon {
  display: inline-flex;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--forest-pale);
  color: var(--forest);
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.award-card__year {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--warm-gray);
  margin-bottom: 8px;
}

.award-card__title {
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.3;
  color: var(--charcoal-deep);
  margin-bottom: 6px;
}

.award-card__org {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--charcoal-72);
}

/* Press contact band */
.press-contact {
  background: var(--charcoal-deep);
  color: var(--white);
  padding: clamp(70px, 9vw, 110px) 0;
  position: relative;
  overflow: hidden;
}

.press-contact::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 50%, rgba(91, 154, 79, 0.14), transparent 55%);
}

.press-contact>.container {
  position: relative;
  z-index: 2;
}

.press-contact__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 5vw, 72px);
  align-items: center;
}

@media (max-width: 900px) {
  .press-contact__grid {
    grid-template-columns: 1fr;
  }
}

.press-contact h2 {
  font-family: var(--font-display);
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 1.1;
  margin-bottom: 20px;
}

.press-contact p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 28px;
}

.press-contact__email {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: clamp(20px, 2vw, 26px);
  color: var(--forest-light);
  padding: 16px 22px;
  border: 1px solid rgba(91, 154, 79, 0.35);
  border-radius: 12px;
  background: rgba(91, 154, 79, 0.06);
  transition: all 0.3s ease;
}

.press-contact__email:hover {
  background: rgba(91, 154, 79, 0.12);
  transform: translateY(-2px);
}

.press-contact__kit {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: clamp(28px, 3vw, 40px);
}

.press-contact__kit h3 {
  font-family: var(--font-display);
  font-size: 22px;
  margin-bottom: 8px;
}

.press-contact__kit>p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 24px;
}

.press-contact__kit ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.press-contact__kit li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  transition: all 0.25s ease;
  cursor: pointer;
}

.press-contact__kit li:hover {
  border-color: rgba(91, 154, 79, 0.4);
  color: var(--white);
}

.press-contact__kit li svg {
  color: var(--forest-light);
  flex-shrink: 0;
}


/* ==========================================================
   31. CAREERS PAGE
   ========================================================== */

.careers-hero {
  position: relative;
  background: linear-gradient(170deg, var(--charcoal-deep) 0%, #253541 50%, var(--charcoal) 100%);
  color: var(--white);
  padding: clamp(110px, 14vw, 180px) 0 clamp(90px, 11vw, 140px);
  overflow: hidden;
}

.careers-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 85% 30%, rgba(91, 154, 79, 0.18), transparent 48%),
    radial-gradient(circle at 10% 90%, rgba(0, 76, 151, 0.18), transparent 52%);
}

.careers-hero>.container {
  position: relative;
  z-index: 2;
}

.careers-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  border: 1px solid rgba(91, 154, 79, 0.4);
  background: rgba(91, 154, 79, 0.08);
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest-light);
}

.careers-hero__eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.2);
  animation: pulse-dot 2.4s ease-in-out infinite;
}

@keyframes pulse-dot {

  0%,
  100% {
    box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.2);
  }

  50% {
    box-shadow: 0 0 0 8px rgba(91, 154, 79, 0.06);
  }
}

.careers-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(42px, 5.8vw, 80px);
  line-height: 1.02;
  margin: 28px 0 24px;
  max-width: 1000px;
  letter-spacing: -0.015em;
}

.careers-hero h1 em {
  font-style: italic;
  background: linear-gradient(110deg, var(--forest-light) 0%, #bce0a5 50%, var(--forest-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.careers-hero__lede {
  font-size: clamp(17px, 1.5vw, 20px);
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.6;
  max-width: 720px;
  margin-bottom: 40px;
}

.careers-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.careers-callout {
  padding: clamp(60px, 8vw, 100px) 0;
  background: var(--cloud);
}

.careers-callout__card {
  max-width: 860px;
  margin: 0 auto;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 4px solid var(--forest);
  border-radius: 16px;
  padding: clamp(36px, 4.5vw, 56px);
  position: relative;
}

.careers-callout__card::before {
  content: "";
  position: absolute;
  top: 24px;
  right: 24px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.2);
}

.careers-callout__label {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 16px;
}

.careers-callout h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  margin-bottom: 20px;
  color: var(--charcoal-deep);
}

.careers-callout p {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.3vw, 17px);
  color: var(--charcoal-72);
  line-height: 1.7;
  margin-bottom: 14px;
}

.careers-callout p:last-child {
  margin-bottom: 0;
}

.roles-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, 2.5vw, 32px);
  margin-top: clamp(40px, 5vw, 60px);
}

@media (max-width: 800px) {
  .roles-grid {
    grid-template-columns: 1fr;
  }
}

.role-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 18px;
  padding: clamp(28px, 3vw, 40px);
  transition: all 0.35s ease;
  position: relative;
  overflow: hidden;
}

.role-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3px;
  background: var(--forest);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.35s ease;
}

.role-card:hover {
  transform: translateY(-4px);
  border-color: rgba(74, 124, 63, 0.3);
  box-shadow: 0 18px 44px rgba(29, 40, 48, 0.08);
}

.role-card:hover::before {
  transform: scaleY(1);
}

.role-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.role-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--forest-pale);
  color: var(--forest);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.role-card h3 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 28px);
  color: var(--charcoal-deep);
  line-height: 1.2;
  margin: 0;
}

.role-card__tag {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--blue);
  margin-top: 4px;
}

.role-card p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.7;
  color: var(--charcoal-72);
  margin-bottom: 20px;
}

.role-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.role-card__meta span {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--charcoal-05);
  color: var(--charcoal-72);
}

.culture-section {
  background: var(--charcoal-deep);
  color: var(--white);
  padding: clamp(90px, 11vw, 140px) 0;
  position: relative;
  overflow: hidden;
}

.culture-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(91, 154, 79, 0.12), transparent 50%);
}

.culture-section>.container {
  position: relative;
  z-index: 2;
}

.culture-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 5vw, 72px);
  align-items: start;
}

@media (max-width: 900px) {
  .culture-grid {
    grid-template-columns: 1fr;
  }
}

.culture-section .eyebrow {
  color: var(--forest-light);
}

.culture-section h2 {
  font-family: var(--font-display);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  margin: 16px 0 24px;
}

.culture-section p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 18px;
}

.culture-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
  list-style: none;
  padding: 0;
}

.culture-pills li {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  padding: 12px 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.03);
  transition: all 0.25s ease;
}

.culture-pills li:hover {
  border-color: var(--forest-light);
  background: rgba(91, 154, 79, 0.1);
  color: var(--white);
}

.culture-pills li::before {
  content: "✓ ";
  color: var(--forest-light);
  font-weight: 700;
  margin-right: 6px;
}

.careers-team-strip {
  display: flex;
  justify-content: center;
  gap: clamp(24px, 3vw, 48px);
  flex-wrap: wrap;
  margin-top: clamp(40px, 5vw, 60px);
}

.careers-team-strip .mega-team-member {
  padding: 0;
  text-align: center;
}

.careers-team-strip .mega-team-avatar {
  width: 88px;
  height: 88px;
}

.careers-team-strip .mega-team-avatar--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--forest) 0%, var(--forest-light) 100%);
  color: var(--white);
  font-family: var(--font-display);
  font-size: 32px;
  border-radius: 50%;
}

.careers-team-strip .mega-team-name {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--charcoal-deep);
  display: block;
  margin-top: 14px;
}

.careers-team-strip .mega-team-role {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--warm-gray);
  display: block;
  margin-top: 2px;
  letter-spacing: 0.04em;
}

.careers-form-section {
  padding: clamp(90px, 11vw, 140px) 0;
  background: var(--cloud);
}

.careers-form {
  max-width: 720px;
  margin: clamp(40px, 5vw, 56px) auto 0;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 20px;
  padding: clamp(36px, 4.5vw, 56px);
  box-shadow: 0 20px 60px rgba(29, 40, 48, 0.06);
}

.careers-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

@media (max-width: 640px) {
  .careers-form__row {
    grid-template-columns: 1fr;
  }
}

.careers-form__field {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}

.careers-form__field label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--charcoal-72);
  margin-bottom: 8px;
}

.careers-form__field input,
.careers-form__field select,
.careers-form__field textarea {
  font-family: var(--font-body);
  font-size: 15px;
  padding: 14px 16px;
  border: 1px solid var(--charcoal-12);
  border-radius: 10px;
  background: var(--white);
  color: var(--charcoal-deep);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.careers-form__field input:focus,
.careers-form__field select:focus,
.careers-form__field textarea:focus {
  outline: none;
  border-color: var(--forest);
  box-shadow: 0 0 0 3px rgba(74, 124, 63, 0.12);
}

.careers-form__field textarea {
  resize: vertical;
  min-height: 140px;
}

.careers-form__submit {
  width: 100%;
  margin-top: 12px;
  padding: 18px 24px;
  background: var(--forest);
  color: var(--white);
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: all 0.3s ease;
}

.careers-form__submit:hover {
  background: var(--charcoal-deep);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(29, 40, 48, 0.18);
}

.careers-form__note {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--warm-gray);
  text-align: center;
  margin-top: 16px;
}

.eeo-band {
  padding: 48px 0;
  background: var(--white);
  border-top: 1px solid var(--charcoal-12);
}

.eeo-band p {
  max-width: 860px;
  margin: 0 auto;
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.7;
  color: var(--charcoal-72);
  text-align: center;
}

.eeo-band strong {
  color: var(--charcoal-deep);
}


/* ==========================================================
   SELL CORE PAGES — SHARED COMPONENTS
   For /sell/, /selling-websites-online/, /website-online-business-valuation/.
   Adapted from the Sell-Side Advisory deck (5-phase port) plus
   valuation conversion components. Added 2026-04-08.
   ========================================================== */

.page-hero {
  position: relative;
  background: linear-gradient(165deg, var(--charcoal-deep) 0%, #1a2a33 55%, #203942 100%);
  color: var(--white);
  padding: clamp(80px, 11vw, 160px) 0 clamp(60px, 8vw, 120px);
  overflow: hidden;
  isolation: isolate;
}

/* Process page hero — custom photographic BG over a charcoal scrim */
.page-hero--process {
  background:
    linear-gradient(165deg, rgba(20, 28, 36, 0.78) 0%, rgba(26, 42, 51, 0.72) 55%, rgba(32, 57, 66, 0.68) 100%),
    url('../images/our-sell-side-process-bg-image.png') center/cover no-repeat;
}

.page-hero--process::before {
  background:
    radial-gradient(ellipse 60% 50% at 15% 20%, rgba(74, 124, 63, 0.18) 0%, transparent 65%),
    radial-gradient(ellipse 50% 50% at 90% 80%, rgba(0, 76, 151, 0.14) 0%, transparent 65%);
}

.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 45% at 15% 25%, rgba(74, 124, 63, 0.22) 0%, transparent 60%),
    radial-gradient(ellipse 60% 55% at 90% 80%, rgba(0, 76, 151, 0.18) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}

.page-hero .container {
  position: relative;
  z-index: 2;
}

.page-hero-copy {
  max-width: 760px;
}

.page-hero-copy--center {
  margin: 0 auto;
  text-align: center;
}

.page-hero h1 {
  font-size: clamp(40px, 5.4vw, 76px);
  color: var(--white);
  margin-bottom: clamp(18px, 2.2vw, 28px);
  line-height: 1.08;
}

.page-hero h1 em {
  font-style: italic;
  color: var(--forest-light);
}

.page-hero-body {
  font-size: clamp(17px, 1.55vw, 20px);
  color: rgba(255, 255, 255, 0.74);
  line-height: 1.6;
  margin-bottom: clamp(28px, 3vw, 40px);
  max-width: 640px;
}

.page-hero-copy--center .page-hero-body {
  margin-left: auto;
  margin-right: auto;
}

.page-hero-cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: clamp(40px, 5vw, 64px);
}

.page-hero-copy--center .page-hero-cta-row {
  justify-content: center;
}

.page-hero-proofbar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  padding: clamp(20px, 2.4vw, 28px) 0;
  background: rgba(255, 255, 255, 0.03);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(4px);
}

.page-hero-pb-cell {
  text-align: center;
  padding: 14px 12px;
  position: relative;
}

.page-hero-pb-cell+.page-hero-pb-cell::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: rgba(255, 255, 255, 0.1);
}

.page-hero-pb-value {
  font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 40px);
  color: var(--white);
  line-height: 1;
  margin-bottom: 6px;
}

.page-hero-pb-value--forest {
  color: var(--forest-light);
}

.page-hero-pb-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

/* Steps grid 5 */
.steps-grid-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(14px, 1.6vw, 20px);
}

.step-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-top: 4px solid var(--charcoal);
  border-radius: var(--radius-lg);
  padding: clamp(22px, 2.5vw, 30px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.step-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.step-card:nth-child(1) {
  border-top-color: var(--forest);
}

.step-card:nth-child(2) {
  border-top-color: var(--forest-light);
}

.step-card:nth-child(3) {
  border-top-color: var(--blue);
}

.step-card:nth-child(4) {
  border-top-color: var(--charcoal);
}

.step-card:nth-child(5) {
  border-top-color: var(--forest);
}

.step-card.final {
  background: linear-gradient(160deg, var(--charcoal-deep), var(--charcoal));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-top: 4px solid var(--forest-light);
  color: var(--white);
}

.step-card.final .step-title,
.step-card.final .step-duration {
  color: var(--white);
}

.step-card.final .step-list {
  color: rgba(255, 255, 255, 0.8);
}

.step-num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--charcoal-deep);
  color: var(--white);
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-body);
}

.step-card.final .step-num {
  background: var(--forest);
}

.step-title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2vw, 26px);
  color: var(--charcoal-deep);
  line-height: 1.15;
}

.step-duration {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  padding: 4px 10px;
  background: var(--forest-pale);
  border-radius: 20px;
  width: fit-content;
}

.step-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--charcoal-72);
  margin: 0;
  padding: 0;
}

.step-list li {
  position: relative;
  padding-left: 16px;
}

.step-list li::before {
  content: '\2022';
  color: var(--forest);
  position: absolute;
  left: 0;
  top: -2px;
  font-size: 14px;
}

.steps-bottom-band {
  margin-top: clamp(28px, 3vw, 40px);
  padding: clamp(18px, 2vw, 26px) clamp(24px, 3vw, 36px);
  background: var(--charcoal-deep);
  color: rgba(255, 255, 255, 0.8);
  border-left: 3px solid var(--forest);
  border-radius: var(--radius-md);
  font-size: 15px;
  line-height: 1.6;
}

.steps-bottom-band strong {
  color: var(--white);
  font-weight: 600;
}

/* Phase divider */
.phase-divider {
  background: linear-gradient(165deg, var(--charcoal-deep) 0%, #1a2a33 100%);
  color: var(--white);
  padding: clamp(64px, 8vw, 104px) 0;
  position: relative;
  overflow: hidden;
}

.phase-divider::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 60% at 8% 40%, rgba(74, 124, 63, 0.15) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 95% 60%, rgba(0, 76, 151, 0.12) 0%, transparent 55%);
  pointer-events: none;
}

.phase-divider .container {
  position: relative;
  z-index: 1;
}

.phase-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--forest-light);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.phase-eyebrow::before {
  content: '';
  width: 48px;
  height: 2px;
  background: var(--forest);
}

.phase-title {
  font-family: var(--font-display);
  font-size: clamp(44px, 6vw, 84px);
  color: var(--white);
  margin-bottom: 18px;
  line-height: 1;
}

.phase-sub {
  font-size: clamp(16px, 1.55vw, 19px);
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.65;
  max-width: 720px;
}

/* Phase detail */
.phase-detail {
  padding: clamp(60px, 7vw, 100px) 0;
}

.phase-detail--white {
  background: var(--white);
}

.phase-detail--sage {
  background: var(--sage);
}

.phase-detail h2 {
  font-size: clamp(28px, 3.4vw, 44px);
  color: var(--charcoal-deep);
  margin-bottom: clamp(32px, 4vw, 48px);
  max-width: 760px;
}

.milestone-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(16px, 2vw, 24px);
}

.milestone-grid-2x1 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(16px, 2vw, 24px);
}

.milestone-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 4px solid var(--forest);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.8vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.milestone-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.milestone-card:nth-child(2n) {
  border-left-color: var(--blue);
}

.milestone-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.milestone-num {
  font-family: var(--font-display);
  font-size: 34px;
  color: rgba(74, 124, 63, 0.6);
  line-height: 1;
  flex-shrink: 0;
}

.milestone-title-group {
  flex: 1;
}

.milestone-title {
  font-family: var(--font-display);
  font-size: clamp(19px, 2vw, 24px);
  color: var(--charcoal-deep);
  line-height: 1.2;
  margin-bottom: 6px;
}

.milestone-duration {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  padding: 3px 10px;
  background: var(--forest-pale);
  border-radius: 20px;
}

.milestone-detail-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.milestone-section-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  margin-bottom: 8px;
}

.milestone-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  color: var(--charcoal-72);
  line-height: 1.55;
}

.milestone-list li {
  position: relative;
  padding-left: 14px;
}

.milestone-list li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--forest);
  position: absolute;
  left: 0;
  top: 8px;
}

.milestone-deliverables li::before {
  background: var(--blue);
}

/* Phase callout (4th cell) */
.phase-callout {
  background: linear-gradient(160deg, var(--forest) 0%, #3a6a31 100%);
  color: var(--white);
  border: none;
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3vw, 36px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  position: relative;
  overflow: hidden;
}

.phase-callout::before {
  content: '';
  position: absolute;
  right: -40px;
  top: -40px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
}

.phase-callout-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  position: relative;
}

.phase-callout h3 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 30px);
  color: var(--white);
  line-height: 1.2;
  position: relative;
}

.phase-callout p {
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.85);
  position: relative;
}

/* Principles panel */
.principles-panel {
  margin-top: clamp(24px, 3vw, 36px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-top: 4px solid var(--forest);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3.2vw, 40px);
  box-shadow: var(--shadow-sm);
}

.principles-panel-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 14px;
}

.principles-panel h3 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.6vw, 32px);
  color: var(--charcoal-deep);
  margin-bottom: clamp(20px, 2.2vw, 28px);
}

.principles-panel-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2vw, 28px);
}

.principles-panel-grid>div {
  border-left: 2px solid var(--forest-12);
  padding-left: 18px;
}

.principles-panel-grid strong {
  font-family: var(--font-display);
  font-size: 17px;
  color: var(--charcoal-deep);
  display: block;
  margin-bottom: 6px;
  font-weight: 400;
}

.principles-panel-grid p {
  font-size: 13px;
  color: var(--charcoal-72);
  line-height: 1.6;
}

.phase-bottom-bar {
  background: var(--charcoal-deep);
  color: rgba(255, 255, 255, 0.8);
  padding: clamp(22px, 2.5vw, 32px) clamp(28px, 3vw, 44px);
  border-radius: var(--radius-md);
  font-size: 15px;
  line-height: 1.65;
  margin-top: clamp(24px, 3vw, 36px);
  border-left: 3px solid var(--forest);
}

.phase-bottom-bar strong {
  color: var(--white);
  font-weight: 600;
}

/* Trap grid */
.trap-section {
  background: var(--cloud);
  padding: clamp(80px, 10vw, 140px) 0;
}

.trap-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(18px, 2.2vw, 28px);
  margin-top: clamp(32px, 4vw, 48px);
}

.trap-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-top: 3px solid var(--error);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.8vw, 32px);
  box-shadow: var(--shadow-sm);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.trap-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.trap-card h4 {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.9vw, 22px);
  color: var(--charcoal-deep);
  margin-bottom: 4px;
}

.trap-card .trap-phase {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--error);
  margin-bottom: 14px;
  display: block;
}

.trap-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  color: var(--charcoal-72);
  line-height: 1.55;
}

.trap-list li {
  position: relative;
  padding-left: 20px;
}

.trap-list li::before {
  content: '\2715';
  position: absolute;
  left: 0;
  color: var(--error);
  font-weight: 700;
  font-size: 12px;
  top: 3px;
}

/* Proof layout (Axial credibility) */
.proof-layout-section {
  background: var(--charcoal-deep);
  color: var(--white);
  padding: clamp(80px, 10vw, 140px) 0;
  position: relative;
  overflow: hidden;
}

.proof-layout-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 50% at 20% 30%, rgba(74, 124, 63, 0.15) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 80% 70%, rgba(0, 76, 151, 0.12) 0%, transparent 60%);
  pointer-events: none;
}

.proof-layout-section .container {
  position: relative;
  z-index: 1;
}

.proof-layout-section .section-header h2 {
  color: var(--white);
}

.proof-layout-section .section-header p {
  color: rgba(255, 255, 255, 0.6);
}

.proof-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: stretch;
}

.metric-board {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3vw, 40px);
}

.metric-board h4 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 30px);
  color: var(--white);
  margin-bottom: 8px;
}

.metric-board>p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.65;
  margin-bottom: clamp(22px, 2.5vw, 32px);
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.metric-grid>div {
  padding: 18px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-top: 2px solid var(--forest-light);
  border-radius: var(--radius-md);
}

.metric-grid strong {
  font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 36px);
  color: var(--white);
  display: block;
  line-height: 1;
  margin-bottom: 6px;
}

.metric-grid span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.award-card {
  background: linear-gradient(160deg, rgba(74, 124, 63, 0.16), rgba(0, 76, 151, 0.12));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 3px solid var(--forest-light);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3vw, 40px);
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.award-logo-shell {
  background: var(--white);
  border-radius: var(--radius-md);
  padding: 12px 24px;
  align-self: center;
  max-width: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.award-logo-shell img {
  height: 36px;
  width: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.award-card h4 {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 26px);
  color: var(--white);
  line-height: 1.25;
}

.award-card>p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.65;
}

.award-principles {
  list-style: none;
  margin: 0;
  padding: 18px 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.award-principles li {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.5;
  padding-left: 20px;
  position: relative;
}

.award-principles li::before {
  content: '\2713';
  color: var(--forest-light);
  position: absolute;
  left: 0;
  font-weight: 700;
}

/* Trust band */
.trust-band {
  background: var(--sage);
  padding: clamp(48px, 6vw, 80px) 0;
}

.trust-band-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(24px, 3vw, 48px);
  align-items: center;
}

.trust-band-logo {
  background: var(--white);
  border-radius: var(--radius-md);
  padding: 16px 22px;
  box-shadow: var(--shadow-sm);
}

.trust-band-logo img {
  height: 38px;
  width: auto;
  object-fit: contain;
  display: block;
}

.trust-band-copy h3 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 28px);
  color: var(--charcoal-deep);
  margin-bottom: 4px;
}

.trust-band-copy p {
  font-size: 14px;
  color: var(--charcoal-72);
  line-height: 1.6;
  max-width: 560px;
}

.trust-band-quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 15px;
  color: var(--charcoal-72);
  max-width: 280px;
  border-left: 2px solid var(--forest);
  padding-left: 16px;
  line-height: 1.55;
}

.trust-band-quote cite {
  display: block;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  margin-top: 8px;
}

/* Valuation form card */
.val-hero-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
}

.val-trust-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: clamp(24px, 3vw, 32px);
  max-width: 520px;
  list-style: none;
  padding: 0;
}

.val-trust-row li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.82);
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 2px solid var(--forest-light);
  border-radius: 6px;
}

.val-trust-row svg {
  flex-shrink: 0;
  color: var(--forest-light);
  width: 18px;
  height: 18px;
}

.valuation-form-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  padding: clamp(28px, 3vw, 40px);
  box-shadow: var(--shadow-xl);
  border-top: 4px solid var(--forest);
}

.valuation-form-card h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.6vw, 32px);
  color: var(--charcoal-deep);
  margin-bottom: 4px;
  line-height: 1.2;
}

.valuation-form-card .form-sub {
  font-size: 13px;
  color: var(--charcoal-72);
  margin-bottom: clamp(20px, 2.4vw, 28px);
  font-weight: 500;
}

.val-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.val-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.val-form-field--full {
  grid-column: 1 / -1;
}

.val-form-field label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--charcoal-72);
}

.val-form-field input,
.val-form-field select,
.val-form-field textarea {
  font-family: var(--font-body);
  font-size: 14px;
  padding: 11px 14px;
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  background: var(--cloud);
  color: var(--charcoal-deep);
  transition: border-color 0.2s, background 0.2s;
}

.val-form-field input:focus,
.val-form-field select:focus,
.val-form-field textarea:focus {
  outline: none;
  border-color: var(--forest);
  background: var(--white);
}

.val-form-field textarea {
  min-height: 72px;
  resize: vertical;
}

.val-form-submit {
  width: 100%;
  justify-content: center;
  margin-top: 6px;
}

.val-form-fine {
  font-size: 11px;
  color: var(--charcoal-42);
  line-height: 1.5;
  margin-top: 14px;
  text-align: center;
}

/* Sample report card */
.sample-report-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}

.sample-report-copy ul {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sample-report-copy ul li {
  font-size: 14px;
  color: var(--charcoal-72);
  line-height: 1.65;
  padding-left: 22px;
  position: relative;
}

.sample-report-copy ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 10px;
  height: 2px;
  background: var(--forest);
}

.sample-report-copy ul li strong {
  color: var(--charcoal-deep);
  font-weight: 600;
  display: block;
  margin-bottom: 2px;
  font-size: 15px;
  font-family: var(--font-display);
}

.sample-report {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-top: 4px solid var(--forest);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3vw, 40px);
  box-shadow: var(--shadow-lg);
  position: relative;
  overflow: hidden;
}

.sample-report::before {
  content: 'SAMPLE';
  position: absolute;
  top: 18px;
  right: -30px;
  background: var(--forest);
  color: var(--white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  padding: 4px 40px;
  transform: rotate(35deg);
}

.sample-report-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 8px;
}

.sample-report h4 {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.8vw, 20px);
  color: var(--charcoal-72);
  font-weight: 400;
  margin-bottom: 18px;
}

.sample-report-value {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 58px);
  color: var(--charcoal-deep);
  line-height: 1;
  margin-bottom: 6px;
}

.sample-report-range {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 22px;
}

.sample-report dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 18px 0;
  border-top: 1px solid var(--charcoal-12);
  border-bottom: 1px solid var(--charcoal-12);
  margin-bottom: 18px;
}

.sample-report dt {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  margin-bottom: 2px;
}

.sample-report dd {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--charcoal-deep);
  margin: 0 0 10px;
}

.sample-report-note {
  font-size: 13px;
  color: var(--charcoal-72);
  line-height: 1.6;
  font-style: italic;
  padding-left: 14px;
  border-left: 2px solid var(--forest);
}

/* Differentiators 3-col override */
.differentiators-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

/* Advisor card */
.advisor-card {
  max-width: 680px;
  margin: 0 auto;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-top: 4px solid var(--forest);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3.2vw, 44px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(20px, 2.4vw, 32px);
  align-items: start;
  box-shadow: var(--shadow-md);
}

.advisor-avatar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(160deg, var(--forest) 0%, #3a6a31 100%);
  display: grid;
  place-items: center;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 48px;
  overflow: hidden;
  flex-shrink: 0;
}

.advisor-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.advisor-card h3 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 28px);
  color: var(--charcoal-deep);
  margin-bottom: 2px;
}

.advisor-card .advisor-title {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 14px;
  display: block;
}

.advisor-card p {
  font-size: 14px;
  color: var(--charcoal-72);
  line-height: 1.65;
  margin-bottom: 14px;
}

.advisor-card dt {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  margin-bottom: 6px;
}

.advisor-card dd {
  font-size: 13px;
  color: var(--charcoal-72);
  line-height: 1.6;
  margin: 0;
}

/* Gantt strip */
.gantt-strip {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: clamp(32px, 4vw, 48px);
  max-width: 720px;
}

.gantt-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 16px;
  align-items: center;
  font-size: 12px;
}

.gantt-label {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 10px;
}

.gantt-track {
  position: relative;
  height: 14px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 20px;
  overflow: hidden;
}

.gantt-bar {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 20px;
  background: linear-gradient(90deg, var(--forest) 0%, var(--forest-light) 100%);
  opacity: 0.9;
}

.gantt-bar--blue {
  background: linear-gradient(90deg, var(--blue) 0%, #2a6cb5 100%);
}

.gantt-bar--charcoal {
  background: linear-gradient(90deg, var(--charcoal) 0%, var(--charcoal-soft) 100%);
}

/* Responsive — sell core pages */
@media (max-width: 1080px) {
  .steps-grid-5 {
    grid-template-columns: repeat(2, 1fr);
  }

  .trap-grid,
  .milestone-grid,
  .milestone-grid-2x1,
  .principles-panel-grid,
  .proof-layout,
  .sample-report-layout,
  .val-hero-layout,
  .page-hero-proofbar {
    grid-template-columns: 1fr 1fr;
  }

  .page-hero-proofbar {
    gap: 8px;
  }

  .differentiators-grid--3 {
    grid-template-columns: 1fr 1fr;
  }

  .trust-band-inner {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .advisor-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .advisor-avatar {
    margin: 0 auto;
  }
}

@media (max-width: 720px) {

  .steps-grid-5,
  .trap-grid,
  .milestone-grid,
  .milestone-grid-2x1,
  .principles-panel-grid,
  .proof-layout,
  .sample-report-layout,
  .val-hero-layout,
  .page-hero-proofbar,
  .differentiators-grid--3,
  .val-form-grid {
    grid-template-columns: 1fr;
  }

  .milestone-detail-cols {
    grid-template-columns: 1fr;
  }

  .gantt-row {
    grid-template-columns: 84px 1fr;
  }
}


/* ==========================================================
   CONTACT PAGE — 2026-04
   Hero, routing cards, form, Seattle office, resources
   ========================================================== */

.contact-hero {
  position: relative;
  padding: clamp(60px, 8vw, 110px) 0 clamp(48px, 6vw, 80px);
  background: linear-gradient(180deg, var(--charcoal-deep) 0%, #1b2730 58%, #24333c 100%);
  color: var(--white);
  overflow: hidden;
}

.contact-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.contact-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at 60% 40%, #000 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 60% 40%, #000 0%, transparent 75%);
}

.contact-hero__glow {
  position: absolute;
  width: 640px;
  height: 640px;
  border-radius: 50%;
  left: -160px;
  top: -120px;
  background: radial-gradient(circle, rgba(74, 124, 63, 0.28), transparent 65%);
  filter: blur(20px);
}

.contact-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.contact-hero__copy h1 {
  font-size: clamp(42px, 5.5vw, 78px);
  color: var(--white);
  margin: 18px 0 20px;
  line-height: 1;
}

.contact-hero__copy h1 em {
  font-style: italic;
  background: linear-gradient(100deg, var(--forest-light) 0%, #a8df98 60%, var(--forest-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.contact-hero__body {
  font-size: clamp(16px, 1.5vw, 19px);
  color: rgba(255, 255, 255, 0.72);
  max-width: 58ch;
  line-height: 1.65;
  margin-bottom: 28px;
}

.contact-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.88);
}

.contact-chip__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 3px rgba(91, 154, 79, 0.25);
}

.contact-chip__dot--blue {
  background: #6fa7e0;
  box-shadow: 0 0 0 3px rgba(111, 167, 224, 0.25);
}

.contact-chip__dot--charcoal {
  background: #cfd6db;
  box-shadow: 0 0 0 3px rgba(207, 214, 219, 0.22);
}

.contact-hero__card {
  position: relative;
  padding: clamp(24px, 2.5vw, 34px);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-left: 3px solid var(--forest);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  backdrop-filter: blur(6px);
}

.contact-hero__card-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--forest-light);
  font-weight: 700;
  margin-bottom: 10px;
}

.contact-hero__card-title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 28px);
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 6px;
}

.contact-hero__card-meta {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 18px;
}

.contact-hero__card-lines {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
  margin-bottom: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.contact-hero__line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  transition: color 0.2s;
}

.contact-hero__line strong {
  color: var(--white);
  font-weight: 500;
}

.contact-hero__line:hover {
  color: var(--forest-light);
}

.contact-hero__card-hours {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.contact-hero__card-cta {
  margin: 14px 0 10px;
}

.contact-hero__card-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--forest);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s, gap 0.2s;
}

.contact-hero__card-btn:hover {
  background: var(--forest-light);
  transform: translateY(-1px);
  gap: 14px;
}

/* Routing cards */
.contact-routing__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 1.8vw, 22px);
  margin-top: clamp(32px, 4vw, 48px);
}

.route-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 2.5vw, 32px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out), border-color 0.3s;
}

.route-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--forest);
}

.route-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  background: var(--forest);
}

.route-card--blue::before {
  background: var(--blue);
}

.route-card--charcoal::before {
  background: var(--charcoal);
}

.route-card--press::before {
  background: linear-gradient(180deg, var(--forest), var(--blue));
}

.route-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--forest-pale);
  color: var(--forest);
  margin-bottom: 18px;
}

.route-card--blue .route-card__icon {
  background: var(--blue-light);
  color: var(--blue);
}

.route-card--charcoal .route-card__icon {
  background: var(--charcoal-05);
  color: var(--charcoal);
}

.route-card--press .route-card__icon {
  background: var(--charcoal-05);
  color: var(--charcoal);
}

.route-card__eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 8px;
}

.route-card--blue .route-card__eyebrow {
  color: var(--blue);
}

.route-card--charcoal .route-card__eyebrow,
.route-card--press .route-card__eyebrow {
  color: var(--charcoal);
}

.route-card h3 {
  font-size: clamp(19px, 1.6vw, 22px);
  color: var(--charcoal-deep);
  margin-bottom: 10px;
  line-height: 1.2;
}

.route-card p {
  font-size: 14px;
  color: var(--charcoal-72);
  line-height: 1.6;
  margin-bottom: 18px;
  flex: 1;
}

.route-card__cta {
  display: inline-block;
  font-weight: 600;
  font-size: 14px;
  color: var(--forest);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s, gap 0.2s;
  margin-bottom: 6px;
}

.route-card--blue .route-card__cta {
  color: var(--blue);
}

.route-card__cta:hover {
  border-bottom-color: currentColor;
}

.route-card__alt {
  font-size: 12px;
  color: var(--charcoal-42);
  border-bottom: 1px solid transparent;
}

.route-card__alt:hover {
  color: var(--charcoal);
  border-bottom-color: currentColor;
}

/* Contact form */
.contact-form-section {
  background: var(--cloud);
}

.contact-form-layout {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  margin-top: clamp(24px, 3vw, 40px);
}

.contact-form-col h2 {
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  margin-bottom: 12px;
  color: var(--charcoal-deep);
}

.contact-form__lede {
  font-size: 15px;
  color: var(--charcoal-72);
  line-height: 1.65;
  margin-bottom: 32px;
  max-width: 56ch;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: clamp(24px, 3vw, 36px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.contact-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.contact-field__label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--charcoal);
}

.contact-field__label em {
  color: var(--forest);
  font-style: normal;
}

.contact-field__label small {
  font-size: 11px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  color: var(--charcoal-42);
}

.contact-field input,
.contact-field select,
.contact-field textarea {
  width: 100%;
  padding: 13px 14px;
  font: inherit;
  font-size: 15px;
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  color: var(--charcoal-deep);
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}

.contact-field textarea {
  resize: vertical;
  min-height: 120px;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
  outline: none;
  background: var(--white);
  border-color: var(--forest);
  box-shadow: 0 0 0 3px rgba(74, 124, 63, 0.12);
}

.contact-field--full {
  grid-column: 1 / -1;
}

.contact-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: var(--charcoal-72);
  line-height: 1.5;
  padding: 4px 0;
}

.contact-consent input[type=checkbox] {
  margin-top: 3px;
  accent-color: var(--forest);
}

.contact-form__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.contact-form__actions .btn-primary {
  padding: 14px 28px;
  font-size: 14px;
}

.contact-form__sla {
  font-size: 12px;
  color: var(--charcoal-42);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: sticky;
  top: 100px;
  align-self: start;
}

.contact-next {
  padding: clamp(22px, 2.5vw, 30px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 3px solid var(--forest);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

.contact-next .eyebrow {
  color: var(--forest);
  margin-bottom: 18px;
}

.contact-next__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contact-next__list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.contact-next__num {
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--forest);
  width: 36px;
}

.contact-next__list strong {
  display: block;
  font-size: 14px;
  color: var(--charcoal-deep);
  margin-bottom: 2px;
}

.contact-next__list p {
  font-size: 13px;
  color: var(--charcoal-72);
  line-height: 1.55;
}

.contact-direct {
  padding: clamp(22px, 2.5vw, 30px);
  background: var(--charcoal-deep);
  color: var(--white);
  border-radius: var(--radius-lg);
}

.contact-direct .eyebrow {
  color: var(--forest-light);
  margin-bottom: 16px;
}

.contact-direct__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contact-direct__list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.contact-direct__list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.contact-direct__label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}

.contact-direct__list a {
  color: var(--white);
  font-weight: 500;
  font-size: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  transition: border-color 0.2s;
}

.contact-direct__list a:hover {
  border-bottom-color: var(--forest-light);
}

/* Seattle office dark band */
.contact-office {
  background: linear-gradient(160deg, var(--charcoal-deep) 0%, var(--charcoal) 100%);
  color: var(--white);
  padding: clamp(64px, 8vw, 120px) 0;
  position: relative;
  overflow: hidden;
}

.contact-office::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 50%, rgba(74, 124, 63, 0.14), transparent 55%);
  pointer-events: none;
}

.contact-office__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
}

.contact-office__inner--centered {
  grid-template-columns: 1fr;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.contact-office__inner--centered .contact-office__facts {
  justify-content: center;
}

.contact-office__inner--centered .contact-office__copy h2 em {
  color: var(--forest-light);
}

.contact-office__inner--centered .contact-office__copy a {
  color: var(--forest-light);
  border-bottom: 1px dotted currentColor;
}

.contact-office__copy .eyebrow {
  color: var(--forest-light);
}

.contact-office__copy h2 {
  font-size: clamp(30px, 3.5vw, 46px);
  color: var(--white);
  margin-bottom: 16px;
  line-height: 1.15;
}

.contact-office__copy p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.7;
  margin-bottom: 28px;
  max-width: 48ch;
}

.contact-office__facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 32px;
}

.contact-office__facts dt {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.42);
  margin-bottom: 4px;
}

.contact-office__facts dd {
  font-size: 14px;
  color: var(--white);
  line-height: 1.6;
}

.contact-office__facts a {
  color: var(--white);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.contact-office__facts a:hover {
  border-bottom-color: var(--forest-light);
}

.contact-office__map {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: #2a3a45;
}

.contact-office__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(0.25) contrast(1.05);
}

.contact-office__pin {
  position: absolute;
  left: 20px;
  bottom: 20px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: rgba(29, 40, 48, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  font-size: 13px;
  color: var(--white);
}

.contact-office__pin-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.25);
  animation: tmPulse 2s ease-in-out infinite;
}

@keyframes tmPulse {

  0%,
  100% {
    box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.25);
  }

  50% {
    box-shadow: 0 0 0 8px rgba(91, 154, 79, 0.08);
  }
}

/* Resource cross-links */
.contact-resources__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(32px, 4vw, 48px);
}

.contact-res-link {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: clamp(22px, 2.5vw, 30px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s;
}

.contact-res-link:hover {
  transform: translateX(4px);
  border-color: var(--forest);
  box-shadow: var(--shadow-md);
}

.contact-res-link__num {
  font-family: var(--font-display);
  font-size: 32px;
  color: var(--forest);
  line-height: 1;
}

.contact-res-link h3 {
  font-size: 17px;
  color: var(--charcoal-deep);
  margin-bottom: 4px;
}

.contact-res-link p {
  font-size: 13px;
  color: var(--charcoal-72);
  line-height: 1.5;
}

.contact-res-link__arrow {
  margin-left: auto;
  font-size: 22px;
  color: var(--forest);
  transition: transform 0.25s;
}

.contact-res-link:hover .contact-res-link__arrow {
  transform: translateX(4px);
}

@media (max-width: 1024px) {
  .contact-hero__inner {
    grid-template-columns: 1fr;
  }

  .contact-routing__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-form-layout {
    grid-template-columns: 1fr;
  }

  .contact-sidebar {
    position: static;
  }

  .contact-office__inner {
    grid-template-columns: 1fr;
  }

  .contact-resources__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .contact-routing__grid {
    grid-template-columns: 1fr;
  }

  .contact-form__row {
    grid-template-columns: 1fr;
  }

  .contact-office__facts {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================
   FAQ PAGE — 2026-04
   Hero search, featured card, sticky rail, accordion layout
   ========================================================== */

.faq-hero {
  position: relative;
  padding: clamp(60px, 8vw, 110px) 0 clamp(40px, 5vw, 72px);
  background: linear-gradient(180deg, var(--charcoal-deep) 0%, #21303a 100%);
  color: var(--white);
  overflow: hidden;
  text-align: center;
}

.faq-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 10%, rgba(74, 124, 63, 0.22), transparent 55%),
    radial-gradient(ellipse at 85% 30%, rgba(0, 76, 151, 0.18), transparent 60%);
  pointer-events: none;
}

.faq-hero__inner {
  position: relative;
  max-width: 820px;
  margin: 0 auto;
}

.faq-hero h1 {
  font-size: clamp(36px, 5vw, 66px);
  color: var(--white);
  margin: 18px 0 18px;
  line-height: 1.08;
}

.faq-hero h1 em {
  font-style: italic;
  background: linear-gradient(100deg, var(--forest-light), #a8df98, var(--forest-light));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.faq-hero__body {
  font-size: clamp(16px, 1.5vw, 19px);
  color: rgba(255, 255, 255, 0.72);
  max-width: 64ch;
  margin: 0 auto 32px;
  line-height: 1.65;
}

.faq-search {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px 14px 20px;
  background: var(--white);
  border-radius: 999px;
  max-width: 640px;
  margin: 0 auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.faq-search__icon {
  color: var(--charcoal-42);
  flex-shrink: 0;
}

.faq-search input {
  flex: 1;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: 15px;
  background: transparent;
  color: var(--charcoal-deep);
}

.faq-search input::placeholder {
  color: var(--charcoal-42);
}

.faq-search__count {
  font-size: 12px;
  color: var(--charcoal-42);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.faq-hero__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}

.faq-hero__chip {
  font-size: 12px;
  font-weight: 500;
  padding: 7px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.8);
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.faq-hero__chip:hover {
  background: var(--forest);
  border-color: var(--forest);
  color: var(--white);
}

/* Featured card */
.faq-featured {
  background: var(--cloud);
  padding-top: clamp(48px, 6vw, 88px);
  padding-bottom: clamp(24px, 3vw, 40px);
}

.faq-featured__card {
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(32px, 4vw, 56px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 4px solid var(--forest);
  border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
  box-shadow: var(--shadow-lg);
  position: relative;
}

.faq-featured__tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--forest);
  padding: 6px 12px;
  background: var(--forest-pale);
  border-radius: 999px;
  margin-bottom: 18px;
}

.faq-featured__card h2 {
  font-size: clamp(28px, 3vw, 40px);
  color: var(--charcoal-deep);
  line-height: 1.15;
  margin-bottom: 22px;
}

.faq-featured__body p {
  font-size: 16px;
  color: var(--charcoal-72);
  line-height: 1.75;
  margin-bottom: 14px;
}

.faq-featured__body strong {
  color: var(--charcoal-deep);
  font-weight: 700;
}

.faq-featured__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 28px;
}

.faq-featured__alt {
  font-size: 14px;
  font-weight: 500;
  color: var(--forest);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.faq-featured__alt:hover {
  border-bottom-color: var(--forest);
}

/* FAQ layout */
.faq-body {
  padding-top: clamp(40px, 5vw, 72px);
}

.faq-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}

/* Left rail */
.faq-nav {
  position: sticky;
  top: 100px;
  padding: 24px;
  background: var(--cloud);
  border-radius: var(--radius-lg);
  border: 1px solid var(--charcoal-12);
}

.faq-nav__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--charcoal-42);
  margin-bottom: 14px;
}

.faq-nav nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.faq-nav__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border-radius: var(--radius-md);
  font-size: 14px;
  color: var(--charcoal-72);
  border-left: 2px solid transparent;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.faq-nav__item:hover {
  background: var(--white);
  color: var(--charcoal-deep);
}

.faq-nav__item.is-active {
  background: var(--white);
  color: var(--charcoal-deep);
  border-left-color: var(--forest);
  font-weight: 600;
}

.faq-nav__count {
  font-size: 12px;
  color: var(--charcoal-42);
  font-variant-numeric: tabular-nums;
}

.faq-nav__contact {
  display: block;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--charcoal-12);
  font-size: 13px;
  color: var(--forest);
  font-weight: 600;
}

.faq-nav__contact:hover {
  text-decoration: underline;
}

/* Content */
.faq-content {
  min-width: 0;
}

.faq-category {
  margin-bottom: clamp(48px, 6vw, 80px);
  scroll-margin-top: 100px;
}

.faq-category.is-hidden {
  display: none;
}

.faq-category__header {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 18px;
  row-gap: 4px;
  align-items: baseline;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--charcoal-12);
  margin-bottom: 24px;
}

.faq-category__num {
  font-family: var(--font-display);
  font-size: clamp(36px, 4vw, 52px);
  color: var(--forest);
  line-height: 1;
  grid-row: 1 / span 2;
}

.faq-category__header h2 {
  font-size: clamp(24px, 2.5vw, 32px);
  color: var(--charcoal-deep);
  line-height: 1.15;
}

.faq-category__header p {
  font-size: 14px;
  color: var(--charcoal-72);
  grid-column: 2;
}

.faq-page .faq-grid {
  max-width: 100%;
  gap: 10px;
}

.faq-item.is-hidden {
  display: none;
}

.faq-item[id] {
  scroll-margin-top: 100px;
}

.faq-stuck {
  margin-top: clamp(32px, 4vw, 56px);
  padding: clamp(28px, 3vw, 40px);
  background: var(--forest-pale);
  border: 1px solid var(--forest-12);
  border-radius: var(--radius-lg);
  text-align: center;
}

.faq-stuck h3 {
  font-size: clamp(20px, 2vw, 26px);
  color: var(--charcoal-deep);
  margin-bottom: 8px;
}

.faq-stuck p {
  font-size: 15px;
  color: var(--charcoal-72);
  margin-bottom: 20px;
}

.faq-stuck__actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.faq-stuck__alt {
  font-size: 14px;
  color: var(--forest);
  font-weight: 500;
  border-bottom: 1px solid transparent;
}

.faq-stuck__alt:hover {
  border-bottom-color: var(--forest);
}

@media (max-width: 900px) {
  .faq-layout {
    grid-template-columns: 1fr;
  }

  .faq-nav {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .faq-nav nav {
    flex-direction: row;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 6px;
  }

  .faq-nav__item {
    flex-shrink: 0;
    padding: 8px 14px;
    border-left: 0;
    border-bottom: 2px solid transparent;
  }

  .faq-nav__item.is-active {
    border-left: 0;
    border-bottom-color: var(--forest);
  }

  .faq-nav__count {
    display: none;
  }
}

@media (max-width: 560px) {
  .faq-featured__actions {
    gap: 14px;
  }
}


/* ==========================================================
   TESTIMONIALS PAGE — 2026-04
   Dark hero, featured story, filter, card grid, logos, press
   ========================================================== */

.tm-hero {
  position: relative;
  padding: clamp(60px, 8vw, 120px) 0 clamp(48px, 6vw, 88px);
  background: linear-gradient(165deg, var(--charcoal-deep) 0%, #1a2832 55%, #233540 100%);
  color: var(--white);
  overflow: hidden;
}

.tm-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.tm-hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
}

.tm-hero__glow--a {
  width: 560px;
  height: 560px;
  background: radial-gradient(circle, rgba(74, 124, 63, 0.32), transparent 60%);
  left: -120px;
  top: -120px;
}

.tm-hero__glow--b {
  width: 480px;
  height: 480px;
  background: radial-gradient(circle, rgba(0, 76, 151, 0.25), transparent 60%);
  right: -100px;
  bottom: -160px;
}

.tm-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
}

.tm-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--forest-light);
  padding: 8px 14px;
  background: rgba(91, 154, 79, 0.12);
  border: 1px solid rgba(91, 154, 79, 0.25);
  border-radius: 999px;
  margin-bottom: 20px;
}

.tm-hero__eyebrow-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 3px rgba(91, 154, 79, 0.25);
  animation: tmPulse 2s ease-in-out infinite;
}

.tm-hero h1 {
  font-size: clamp(42px, 5.5vw, 82px);
  line-height: 0.98;
  color: var(--white);
  margin-bottom: 22px;
}

.tm-hero h1 em {
  font-style: italic;
  background: linear-gradient(100deg, var(--forest-light), #a8df98, var(--forest-light));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tm-hero__body {
  font-size: clamp(16px, 1.5vw, 19px);
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.65;
  max-width: 58ch;
  margin-bottom: 36px;
}

.tm-hero__proof {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(12px, 1.5vw, 22px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 24px;
}

.tm-proof__value {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 40px);
  color: var(--white);
  line-height: 1;
}

.tm-proof__value span {
  font-size: 0.55em;
  color: var(--forest-light);
}

.tm-proof__label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 6px;
}

/* Hero collage */
.tm-hero__collage {
  position: relative;
  height: 420px;
}

.tm-collage-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-md);
  backdrop-filter: blur(8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  transition: transform 0.4s var(--ease-out);
}

.tm-collage-card strong {
  display: block;
  font-size: 14px;
  color: var(--white);
}

.tm-collage-card small {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
}

.tm-collage-card--1 {
  top: 0;
  left: 10%;
  transform: rotate(-4deg);
}

.tm-collage-card--2 {
  top: 80px;
  right: 0;
  transform: rotate(3deg);
}

.tm-collage-card--3 {
  top: 190px;
  left: 0;
  transform: rotate(-2deg);
}

.tm-collage-card--4 {
  bottom: 20px;
  right: 10%;
  transform: rotate(4deg);
}

.tm-hero__collage:hover .tm-collage-card {
  transform: rotate(0deg) translateY(-4px);
}

/* Avatar */
.tm-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--white);
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--forest), var(--forest-light));
}

.tm-avatar--blue {
  background: linear-gradient(135deg, var(--blue), #3b7ac4);
}

.tm-avatar--charcoal {
  background: linear-gradient(135deg, var(--charcoal), var(--charcoal-soft));
}

.tm-avatar--forest {
  background: linear-gradient(135deg, var(--forest), var(--forest-light));
}

.tm-avatar--lg {
  width: 56px;
  height: 56px;
  font-size: 24px;
}

/* Featured story */
.tm-featured {
  background: var(--cloud);
}

.tm-featured__card {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  gap: clamp(24px, 3vw, 48px);
  padding: clamp(32px, 4vw, 56px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 4px solid var(--forest);
  border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
  box-shadow: var(--shadow-lg);
  position: relative;
}

.tm-featured__main {
  min-width: 0;
}

.tm-featured__quote {
  color: var(--forest);
  opacity: 0.35;
  margin-bottom: 16px;
}

.tm-featured__main blockquote {
  font-family: var(--font-body);
  font-size: clamp(19px, 2.2vw, 26px);
  font-style: normal;
  color: var(--charcoal-deep);
  line-height: 1.65;
  margin-bottom: 28px;
}

.tm-featured__main blockquote p+p {
  margin-top: 14px;
}

.tm-featured__attrib {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid var(--charcoal-12);
}

.tm-featured__attrib strong {
  display: block;
  color: var(--charcoal-deep);
  font-size: 16px;
}

.tm-featured__attrib span {
  display: block;
  font-size: 13px;
  color: var(--charcoal-72);
}

.tm-featured__meta {
  padding: 28px;
  background: var(--charcoal-deep);
  color: var(--white);
  border-radius: var(--radius-lg);
}

.tm-featured__eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--forest-light);
  font-weight: 700;
  margin-bottom: 16px;
}

.tm-featured__meta dl {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tm-featured__meta dl>div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tm-featured__meta dl>div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.tm-featured__meta dt {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}

.tm-featured__meta dd {
  font-size: 13px;
  color: var(--white);
  text-align: right;
  font-weight: 500;
}

.tm-featured__cta {
  display: block;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 13px;
  font-weight: 600;
  color: var(--forest-light);
}

/* Filter bar */
.tm-wall {
  padding-top: clamp(48px, 6vw, 80px);
}

.tm-filter {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px 24px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  margin-bottom: clamp(24px, 3vw, 40px);
  position: sticky;
  top: 80px;
  z-index: 20;
  box-shadow: var(--shadow-sm);
}

.tm-filter__row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.tm-filter__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--charcoal-42);
  min-width: 80px;
}

.tm-filter__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tm-pill {
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  background: var(--cloud);
  color: var(--charcoal-72);
  border: 1px solid transparent;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.tm-pill:hover {
  background: var(--forest-pale);
  color: var(--forest);
}

.tm-pill.is-active {
  background: var(--forest);
  color: var(--white);
  border-color: var(--forest);
}

.tm-filter__count {
  font-size: 12px;
  color: var(--charcoal-42);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-top: 8px;
  border-top: 1px solid var(--charcoal-12);
}

/* Card grid */
/* Masonry layout via CSS columns — cards flow with natural height,
   columns aren't row-aligned. Matches the original site's testimonials
   layout where each card sizes to its content. */
.tm-grid {
  column-count: 3;
  column-gap: clamp(16px, 2vw, 24px);
}

.tm-card {
  display: flex;
  flex-direction: column;
  padding: clamp(22px, 2.5vw, 30px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s, border-color 0.3s;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: clamp(16px, 2vw, 24px);
  /* width: 100% inside a column track keeps the card filling its column */
  width: 100%;
}

.tm-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--forest);
}

.tm-card.is-hidden {
  display: none;
}

.tm-card__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.tm-card__head strong {
  display: block;
  font-size: 15px;
  color: var(--charcoal-deep);
  line-height: 1.25;
}

.tm-card__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 3px 9px;
  border-radius: 999px;
  margin-top: 5px;
}

.tm-card__badge--forest {
  background: var(--forest-pale);
  color: var(--forest);
}

.tm-card__badge--blue {
  background: var(--blue-light);
  color: var(--blue);
}

.tm-card__badge--charcoal {
  background: var(--charcoal-05);
  color: var(--charcoal);
}

.tm-card blockquote {
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  line-height: 1.7;
  color: var(--charcoal-72);
  margin-bottom: 20px;
  flex: 1;
}

.tm-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding-top: 16px;
  border-top: 1px solid var(--charcoal-12);
  font-size: 12px;
  color: var(--charcoal-42);
  font-weight: 500;
}

.tm-card__tag {
  margin-left: auto;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
}

.tm-card__tag--forest {
  background: var(--forest-pale);
  color: var(--forest);
}

.tm-card__tag--blue {
  background: var(--blue-light);
  color: var(--blue);
}

.tm-card__tag--charcoal {
  background: var(--charcoal-05);
  color: var(--charcoal);
}

/* Logo strip */
.tm-logos {
  background: var(--cloud);
}

.tm-logos__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(14px, 1.5vw, 20px);
  margin-top: clamp(32px, 4vw, 48px);
}

.tm-logo-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px 16px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  font-family: var(--font-display);
  font-size: 15px;
  color: var(--charcoal-72);
  text-align: center;
  line-height: 1.2;
  transition: color 0.2s, border-color 0.2s, transform 0.2s;
}

.tm-logo-tile:hover {
  color: var(--forest);
  border-color: var(--forest);
  transform: translateY(-2px);
}

/* Press strip */
.tm-press {
  padding: clamp(40px, 5vw, 64px) 0;
  background: var(--charcoal-deep);
  color: var(--white);
  text-align: center;
}

.tm-press__eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 22px;
}

.tm-press__row {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
}

.tm-press__name {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 24px);
  color: rgba(255, 255, 255, 0.72);
  letter-spacing: 0.02em;
}

.tm-press__dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
}

@media (max-width: 1024px) {
  .tm-hero__inner {
    grid-template-columns: 1fr;
  }

  .tm-hero__collage {
    display: none;
  }

  .tm-featured__card {
    grid-template-columns: 1fr;
  }

  .tm-grid {
    column-count: 2;
  }

  .tm-logos__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .tm-hero__proof {
    grid-template-columns: repeat(2, 1fr);
  }

  .tm-grid {
    column-count: 1;
  }

  .tm-logos__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tm-filter {
    position: static;
  }
}



/* ================================================================
   MANIFESTO — Section 4 redesign (replaces .differentiators-*)
   Six numbered principles, alternating gutter, charcoal-deep spread
   ================================================================ */

.manifesto {
  position: relative;
  background:
    radial-gradient(ellipse 60% 70% at 12% 10%, rgba(74, 124, 63, 0.10) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 92% 90%, rgba(0, 76, 151, 0.09) 0%, transparent 60%),
    linear-gradient(180deg, var(--charcoal-deep) 0%, #16202a 100%);
  color: var(--white);
  overflow: hidden;
  isolation: isolate;
}

/* Faint vertical printed-page rules at left/right gutters */
.manifesto::before,
.manifesto::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, rgba(232, 237, 229, 0.10) 12%, rgba(232, 237, 229, 0.10) 88%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

.manifesto::before {
  left: clamp(20px, 6vw, 80px);
}

.manifesto::after {
  right: clamp(20px, 6vw, 80px);
}

.manifesto .container {
  position: relative;
  z-index: 1;
}

/* Header — eyebrow row above; large serif title; meta foot under rule */
.manifesto-head {
  padding-bottom: clamp(48px, 6vw, 88px);
  border-bottom: 1px solid rgba(232, 237, 229, 0.10);
  margin-bottom: clamp(64px, 8vw, 120px);
}

.manifesto-head__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: clamp(28px, 3.5vw, 48px);
}

.manifesto-head__eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--forest-light);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.manifesto-head__eyebrow::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--forest-light);
  display: inline-block;
}

.manifesto-head__pages {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.45);
  font-weight: 600;
}

.manifesto-head__title {
  font-family: var(--font-display);
  font-size: clamp(40px, 5.6vw, 88px);
  line-height: 1.02;
  color: var(--white);
  letter-spacing: -0.02em;
  margin: 0;
  max-width: 22ch;
}

.manifesto-head__title em {
  font-style: italic;
  color: var(--forest-light);
  background: linear-gradient(110deg, #6fb15c 0%, #b6dba7 50%, #6fb15c 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: manifestoShimmer 8s linear infinite;
}

@keyframes manifestoShimmer {
  to {
    background-position: 200% 0;
  }
}

/* background-clip:text clips italic overhangs to the glyph metric box (same issue
   as .shimmer-text). These ems span multiple words across line breaks, so
   inline-block is not an option — pad the paint box instead; vertical padding on
   an inline box doesn't move lines, and negative horizontal margins cancel the
   flow shift so adjacent text stays put. */
.manifesto-head__title em,
.news-hero h1 em,
.careers-hero h1 em,
.contact-hero__copy h1 em,
.faq-hero h1 em,
.tm-hero h1 em {
  padding: 0.18em 0.1em;
  margin: -0.18em -0.1em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* The six bands. Asymmetric — even bands flip the gutter. */
.manifesto-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.manifesto-band {
  display: grid;
  grid-template-columns: 0.5fr minmax(0, 1.5fr) 0.7fr;
  align-items: start;
  gap: clamp(24px, 3vw, 56px);
  padding: clamp(40px, 5vw, 80px) 0;
  border-top: 1px solid rgba(232, 237, 229, 0.08);
  position: relative;
}

.manifesto-band:first-child {
  border-top: none;
  padding-top: 0;
}

.manifesto-band:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* Even-numbered bands previously flipped horizontally; per Shaun's feedback all
   numbers now sit on the left so the eye can follow 01 → 06 down a single rail. */
.manifesto-band--flip {
  grid-template-columns: 0.5fr minmax(0, 1.5fr) 0.7fr;
}

.manifesto-band--flip .manifesto-num {
  order: initial;
  text-align: left;
  justify-self: start;
}

.manifesto-band--flip .manifesto-body {
  order: initial;
}

.manifesto-band--flip .manifesto-proof {
  order: initial;
  text-align: left;
  justify-self: start;
}

/* Chapter number — huge serif italic, filled gradient that fades down.
   The italic numerals (02 / 04 / 06 especially) have flowing tails that
   overhang the metric box. background-clip:text + tight line-height was
   clipping those tails. line-height ~1.0 plus side/bottom padding gives
   the gradient enough room to render the full glyph. */
.manifesto-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(96px, 14vw, 200px);
  line-height: 1.0;
  letter-spacing: -0.04em;
  position: relative;
  display: inline-block;
  align-self: start;
  margin-top: 4px;
  padding-right: 0.08em;
  padding-bottom: 0.08em;
  user-select: none;
  /* Two-color forest -> deep gradient, fades to near-transparent at the bottom edge */
  background: linear-gradient(180deg, #6fb15c 0%, #4a7c3f 45%, rgba(74, 124, 63, 0.18) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  /* Subtle outer glow so the digit feels embossed rather than flat */
  filter: drop-shadow(0 0 24px rgba(74, 124, 63, 0.18));
}

/* tiny "no." prefix above the digit for editorial flavor */
.manifesto-num__pre {
  display: block;
  font-family: var(--font-body);
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.55);
  margin-bottom: 14px;
  font-weight: 700;
  background: none;
  -webkit-text-fill-color: rgba(232, 237, 229, 0.55);
}

/* Body — italic serif title; body copy in Outfit; small spec line below */
.manifesto-body {
  max-width: 64ch;
  align-self: start;
}

.manifesto-title {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(28px, 3.4vw, 50px);
  line-height: 1.08;
  color: var(--white);
  margin: 0 0 clamp(16px, 2vw, 26px);
  letter-spacing: -0.005em;
}

.manifesto-title__roman {
  display: block;
  font-style: normal;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--forest-light);
  margin-bottom: clamp(12px, 1.4vw, 18px);
  font-weight: 700;
}

.manifesto-text {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.78;
  color: rgba(232, 237, 229, 0.78);
  margin: 0;
}

.manifesto-text strong {
  color: var(--white);
  font-weight: 600;
}

/* Proof rail — small numbers and labels stacked, with a top notch and side gutter rule */
.manifesto-proof {
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2vw, 26px);
  align-self: start;
  padding: 14px 0 14px 22px;
  position: relative;
  border-left: 1px solid rgba(232, 237, 229, 0.10);
}

.manifesto-band--flip .manifesto-proof {
  padding: 14px 0 14px 22px;
  border-left: 1px solid rgba(232, 237, 229, 0.10);
  border-right: none;
  text-align: left;
  align-items: flex-start;
}

.manifesto-proof::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  width: 3px;
  height: 22px;
  background: var(--forest-light);
}

.manifesto-band--flip .manifesto-proof::before {
  left: -1px;
  right: auto;
}

.manifesto-proof__row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.manifesto-proof__value {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1;
  color: var(--white);
  letter-spacing: -0.02em;
  font-weight: 400;
}

.manifesto-proof__label {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.55);
  font-weight: 700;
}

/* Closing line below the manifesto — italic editorial sign-off */
.manifesto-signoff {
  margin-top: clamp(64px, 8vw, 120px);
  padding-top: clamp(28px, 3vw, 40px);
  border-top: 1px solid rgba(232, 237, 229, 0.08);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: clamp(24px, 3vw, 40px);
}

.manifesto-signoff__line {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.4;
  color: rgba(232, 237, 229, 0.78);
  margin: 0;
  max-width: 60ch;
}

.manifesto-signoff__line::before {
  content: '\201C';
  font-size: 1.4em;
  line-height: 0;
  vertical-align: -0.2em;
  margin-right: 0.05em;
  color: var(--forest-light);
}

.manifesto-signoff__line::after {
  content: '\201D';
  font-size: 1.4em;
  line-height: 0;
  vertical-align: -0.32em;
  margin-left: 0.08em;
  color: var(--forest-light);
}

.manifesto-signoff__cite {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.55);
  font-weight: 600;
  white-space: nowrap;
}

.manifesto-signoff__cite strong {
  color: var(--white);
  font-weight: 700;
}

/* ============================================================
   CREDO — About Us "letter from the senior advisors"
   Deliberately distinct from .manifesto so the same content
   never reads visually identical across pages.
   ============================================================ */
/* ============ CREDO — "The Binding" (dark ceremonial proclamation) ============ */
.credo {
  background: var(--charcoal-deep);
  background-image:
    radial-gradient(ellipse 55% 55% at 25% 20%, rgba(74, 124, 63, 0.06) 0%, transparent 70%),
    radial-gradient(ellipse 45% 50% at 80% 85%, rgba(244, 241, 234, 0.03) 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}

.credo .container {
  max-width: 980px;
}

/* The card reimagined as a bound document — sage binding down the left, no enclosure */
.credo-paper {
  background: transparent;
  padding: 0 0 0 clamp(32px, 4vw, 56px);
  border: 0;
  border-left: 3px solid var(--forest);
  border-radius: 0;
  box-shadow: none;
  position: relative;
}

.credo-paper::before,
.credo-paper::after {
  display: none;
}

/* Header */
.credo-head {
  text-align: left;
  margin-bottom: clamp(36px, 4vw, 56px);
}

.credo-eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--forest-light);
  margin-bottom: 20px;
}

.credo-title {
  font-family: var(--font-display);
  font-size: var(--display-lg);
  line-height: 1.08;
  letter-spacing: -0.018em;
  color: #F4F1EA;
  margin: 0 0 14px;
}

.credo-title em {
  font-style: italic;
  color: var(--forest-light);
}

.credo-subtitle {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--text-lg);
  color: rgba(244, 241, 234, 0.5);
  margin: 0;
}

.credo-rule {
  display: block;
  width: 56px;
  height: 1px;
  background: var(--forest);
  margin: clamp(32px, 3.5vw, 48px) 0 0;
  opacity: 0.5;
}

/* Purpose — epigraph in italic display */
.credo-purpose {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.42;
  color: rgba(244, 241, 234, 0.85);
  max-width: 52ch;
  margin: 0 0 clamp(28px, 3vw, 40px);
  letter-spacing: -0.005em;
}

.credo-purpose em {
  color: var(--forest-light);
  font-style: italic;
  font-weight: 400;
}

/* Lede + illuminated drop cap */
.credo-lede {
  font-family: var(--font-body);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.72;
  color: rgba(244, 241, 234, 0.68);
  max-width: 58ch;
  margin: 0 0 clamp(48px, 5.5vw, 72px);
}

.credo-dropcap {
  float: left;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(96px, 11vw, 140px);
  line-height: 0.82;
  color: var(--forest-light);
  margin: 0.04em 0.14em -0.06em 0;
  font-weight: 400;
  text-shadow: 0 0 60px rgba(74, 124, 63, 0.15);
}

/* THE FOUR RULES — proportional, not bloated */
.credo-rules {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.credo-rule-item {
  display: grid;
  grid-template-columns: 72px 1fr;
  column-gap: clamp(20px, 2.2vw, 28px);
  align-items: baseline;
  padding: clamp(28px, 3vw, 40px) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
}

.credo-rule-item:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.credo-rule-item+.credo-rule-item::before {
  content: none;
}

.credo-rule-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(44px, 5.2vw, 68px);
  line-height: 1;
  color: var(--forest-light);
  text-align: right;
  align-self: start;
  text-shadow: 0 0 40px rgba(74, 124, 63, 0.18);
}

.credo-rule-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.credo-rule-heading {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  color: #F4F1EA;
  margin: 0;
  font-weight: 400;
}

.credo-rule-body p {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.35vw, 17px);
  line-height: 1.75;
  color: rgba(244, 241, 234, 0.62);
  margin: 0;
  max-width: 58ch;
}

.credo-rule-body p em {
  font-style: italic;
  color: var(--forest-light);
}

/* Signature */
.credo-signoff {
  margin-top: clamp(48px, 5.5vw, 72px);
  padding-top: clamp(28px, 3vw, 40px);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
}

.credo-signoff__yours {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(24px, 2.6vw, 32px);
  color: #F4F1EA;
}

.credo-signoff__names {
  font-family: var(--font-display);
  font-size: clamp(15px, 1.5vw, 18px);
  color: rgba(244, 241, 234, 0.78);
  font-weight: 400;
}

.credo-signoff__date {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(244, 241, 234, 0.38);
  margin-top: 10px;
}

/* Responsive */
@media (max-width: 720px) {
  .credo-paper {
    border-left-width: 2px;
    padding-left: clamp(20px, 4vw, 32px);
  }

  .credo-rule-item {
    grid-template-columns: 48px 1fr;
    column-gap: 16px;
  }

  .credo-rule-num {
    font-size: clamp(32px, 8vw, 48px);
  }

  .credo-dropcap {
    font-size: clamp(72px, 16vw, 100px);
  }

  .credo-signoff {
    align-items: flex-start;
    text-align: left;
  }
}

/* Tablet */
@media (max-width: 1024px) {

  .manifesto-band,
  .manifesto-band--flip {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "num   proof"
      "body  body";
    gap: clamp(16px, 2vw, 24px) clamp(20px, 3vw, 40px);
  }

  .manifesto-band .manifesto-num {
    grid-area: num;
    order: 1;
    text-align: left;
    justify-self: start;
  }

  .manifesto-band .manifesto-proof {
    grid-area: proof;
    order: 2;
    align-items: flex-end;
  }

  .manifesto-band .manifesto-body {
    grid-area: body;
    order: 3;
  }

  .manifesto-band--flip .manifesto-proof {
    align-items: flex-end;
    text-align: right;
  }

  .manifesto-band--flip .manifesto-proof::before {
    left: auto;
    right: 0;
  }

  .manifesto-num {
    font-size: clamp(72px, 14vw, 120px);
    margin-top: 0;
  }

  .manifesto-head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .manifesto-head__meta {
    align-items: flex-start;
    text-align: left;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .manifesto-band {
    grid-template-columns: 1fr;
    grid-template-areas:
      "num"
      "body"
      "proof";
    gap: 14px;
    padding: 36px 0;
  }

  .manifesto-band .manifesto-proof {
    align-items: flex-start;
    text-align: left;
  }

  .manifesto-band--flip .manifesto-proof,
  .manifesto-band--flip .manifesto-proof::before {
    left: 0;
    right: auto;
    align-items: flex-start;
    text-align: left;
  }

  .manifesto-num {
    font-size: 72px;
  }

  .manifesto-title {
    font-size: 24px;
  }

  .manifesto-signoff {
    grid-template-columns: 1fr;
  }
}


/* ================================================================
   ROSTER — Section 6 redesign (replaces .verticals-grid 3x2 cards)
   Horizontal 6-up editorial spectrum. Each tile is a tall card with
   monogram tile, abstract SVG art zone, name, description, range, count.
   ================================================================ */

.roster {
  background: var(--cloud);
  position: relative;
  overflow: hidden;
  padding-bottom: clamp(40px, 4vw, 56px);
}

/* Subtle horizontal printed-page rule across the whole section */
/* Decorative horizontal printed-page rule removed — it was cutting through the
   headline + kicker text, not separating them. */
.roster .container {
  position: relative;
  z-index: 1;
}

/* Header — editorial 3-up: eyebrow / headline / kicker */
.roster-head {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: clamp(20px, 3vw, 48px);
  align-items: end;
  margin-bottom: clamp(56px, 7vw, 96px);
  padding-bottom: clamp(28px, 3vw, 40px);
}

.roster-head__eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  display: flex;
  align-items: center;
  gap: 12px;
}

.roster-head__eyebrow::before {
  content: '\B6';
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--forest);
  opacity: 0.8;
}

.roster-head__title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4.4vw, 64px);
  line-height: 1.04;
  color: var(--charcoal-deep);
  letter-spacing: -0.02em;
  margin: 0;
}

.roster-head__title em {
  font-style: italic;
  color: var(--forest);
}

.roster-head__kicker {
  font-family: var(--font-body);
  font-size: clamp(13px, 1.3vw, 15px);
  line-height: 1.65;
  color: var(--charcoal-72);
  text-align: right;
  max-width: 32ch;
  justify-self: end;
}

.roster-head__kicker strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

/* Footnote / serial under the header */
.roster-serial {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 600;
  margin-bottom: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.roster-serial__legend {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

.roster-serial__legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.roster-serial__swatch {
  width: 9px;
  height: 9px;
  border-radius: 2px;
}

.roster-serial__swatch--forest {
  background: var(--forest);
}

.roster-serial__swatch--blue {
  background: var(--blue);
}

.roster-serial__swatch--charcoal {
  background: var(--charcoal);
}

/* 3-up × 2-row grid (was 6×1, which made each tile too narrow). */
.roster-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 1.4vw, 20px);
}

/* A single tile */
.roster-tile {
  position: relative;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: grid;
  grid-template-rows: 0.7fr 1fr;
  text-decoration: none;
  color: inherit;
  isolation: isolate;
  transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out), border-color 0.4s var(--ease-out);
  min-height: 380px;
}

.roster-tile:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(29, 40, 48, 0.10);
  border-color: var(--charcoal-20);
}

.roster-tile:hover .roster-tile__arrow {
  transform: translate(4px, -4px);
  opacity: 1;
}

/* Color accent — top art zone background */
.roster-tile__art {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.roster-tile--forest .roster-tile__art {
  background: linear-gradient(155deg, #2a3d34 0%, var(--charcoal-deep) 100%);
  color: var(--forest-light);
}

.roster-tile--blue .roster-tile__art {
  background: linear-gradient(155deg, #1e3450 0%, var(--charcoal-deep) 100%);
  color: rgba(150, 195, 255, 0.92);
}

.roster-tile--charcoal .roster-tile__art {
  background: linear-gradient(155deg, var(--charcoal) 0%, var(--charcoal-deep) 100%);
  color: rgba(255, 255, 255, 0.7);
}

/* Monogram tile — top-left periodic-table-style badge */
.roster-tile__mono {
  position: absolute;
  top: 16px;
  left: 16px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  z-index: 2;
}

.roster-tile__mono-num {
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 700;
}

.roster-tile__mono-symbol {
  font-family: var(--font-display);
  font-size: 22px;
  font-style: italic;
  color: var(--white);
  letter-spacing: -0.01em;
  line-height: 1;
}

/* Abstract SVG art — center of art zone */
.roster-tile__svg {
  width: 70%;
  max-width: 160px;
  height: auto;
  opacity: 0.7;
}

/* Bottom info zone */
.roster-tile__info {
  padding: clamp(18px, 1.8vw, 24px) clamp(18px, 1.8vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
}

.roster-tile__name {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.15;
  color: var(--charcoal-deep);
  letter-spacing: -0.005em;
  margin: 0;
}

.roster-tile__desc {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--charcoal-72);
  margin: 0 0 4px;
  flex: 1;
}

.roster-tile__foot {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--charcoal-12);
}

.roster-tile__range {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  line-height: 1.35;
}

.roster-tile__count {
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1;
  color: var(--forest);
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.roster-tile--blue .roster-tile__count {
  color: var(--blue);
}

.roster-tile--charcoal .roster-tile__count {
  color: var(--charcoal-deep);
}

.roster-tile__count-label {
  display: block;
  font-family: var(--font-body);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  margin-top: 2px;
  text-align: right;
}

/* Hover-revealed arrow — bottom right of art zone */
.roster-tile__arrow {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  opacity: 0.55;
  transform: translate(0, 0);
  transition: opacity 0.3s var(--ease-out), transform 0.3s var(--ease-out);
  z-index: 2;
}

/* Footer line under the grid */
.roster-foot {
  margin-top: clamp(20px, 2.4vw, 32px);
  padding-top: clamp(16px, 1.8vw, 24px);
  border-top: 1px solid var(--charcoal-12);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.roster-foot__line {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--charcoal-72);
  margin: 0;
}

.roster-foot__line strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

.roster-foot__cta {
  font-family: var(--font-body);
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.25s var(--ease-out), gap 0.25s var(--ease-out);
}

.roster-foot__cta:hover {
  color: var(--forest-light);
  gap: 12px;
}

/* Long-tail strip — every digital category beyond the headline six */
.roster-longtail {
  margin-top: clamp(40px, 4.4vw, 64px);
  padding: clamp(28px, 3vw, 40px) clamp(28px, 3vw, 40px);
  background: linear-gradient(180deg, rgba(91, 154, 79, 0.04) 0%, rgba(91, 154, 79, 0.0) 100%);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  position: relative;
}

.roster-longtail__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: clamp(20px, 2.2vw, 28px);
}

.roster-longtail__eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  white-space: nowrap;
}

.roster-longtail__rule {
  flex: 1;
  height: 1px;
  background: var(--charcoal-12);
}

.roster-longtail__note {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  color: var(--charcoal-60);
  white-space: nowrap;
}

.roster-longtail__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.roster-longtail__list li {
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--charcoal-deep);
  padding: 8px 14px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 100px;
  transition: border-color 0.2s var(--ease-out), color 0.2s var(--ease-out), background 0.2s var(--ease-out);
}

.roster-longtail__list li:hover {
  border-color: var(--forest);
  color: var(--forest);
  background: rgba(91, 154, 79, 0.05);
}

/* Responsive */
@media (max-width: 1180px) {
  .roster-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .roster-head {
    grid-template-columns: 1fr 2fr;
  }

  .roster-head__kicker {
    grid-column: 1 / -1;
    text-align: left;
    max-width: 60ch;
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .roster-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .roster-head {
    grid-template-columns: 1fr;
  }

  .roster-tile {
    min-height: 320px;
  }

  .roster-tile__svg {
    max-width: 110px;
  }

  .roster-longtail__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .roster-longtail__rule {
    display: none;
  }

  .roster-longtail__list li {
    font-size: 12.5px;
    padding: 6px 12px;
  }
}

@media (max-width: 480px) {
  .roster-grid {
    grid-template-columns: 1fr;
  }
}


/* ================================================================
   LEDGER — Section 3 redesign (replaces .case-ticker scrolling marquee)
   Two-column: giant anchor stat (left) + tabular selected-closings (right).
   Printed-statement feel, with a discreet ticker tape at the bottom.
   ================================================================ */

.ledger {
  background: var(--white);
  position: relative;
  overflow: hidden;
}

.ledger::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 65% at 8% 70%, rgba(74, 124, 63, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse 40% 55% at 92% 25%, rgba(0, 76, 151, 0.07) 0%, transparent 60%);
  pointer-events: none;
}

.ledger .container {
  position: relative;
  z-index: 1;
}

/* Header: editorial 2-row */
.ledger-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: clamp(20px, 2vw, 28px);
  border-bottom: 2px solid var(--charcoal);
  margin-bottom: clamp(36px, 4vw, 56px);
  flex-wrap: wrap;
}

.ledger-head__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.1;
  margin: 0;
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
}

.ledger-head__title em {
  font-style: italic;
  color: var(--forest);
}

.ledger-head__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  text-align: right;
}

.ledger-head__eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
}

.ledger-head__page {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 500;
}

/* The 2-column body */
.ledger-body {
  display: grid;
  grid-template-columns: 0.85fr 1.6fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}

/* LEFT — anchor stat */
.ledger-anchor {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.6vw, 22px);
}

.ledger-anchor__pre {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-42);
}

.ledger-anchor__value {
  font-family: var(--font-display);
  font-size: clamp(72px, 10vw, 152px);
  line-height: 0.9;
  color: var(--charcoal-deep);
  letter-spacing: -0.04em;
  margin: 0;
}

.ledger-anchor__value em {
  font-style: italic;
  background: linear-gradient(120deg, var(--forest) 0%, var(--forest-light) 50%, var(--forest) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ledger-anchor__label {
  font-family: var(--font-body);
  font-size: clamp(13px, 1.3vw, 15px);
  line-height: 1.5;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 28ch;
}

.ledger-anchor__sub {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 18px;
  margin-top: clamp(18px, 2vw, 28px);
  padding-top: clamp(18px, 2vw, 28px);
  border-top: 1px solid var(--charcoal-12);
}

.ledger-anchor__sub-item span:first-child {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(20px, 2vw, 26px);
  color: var(--charcoal-deep);
  line-height: 1;
  letter-spacing: -0.01em;
}

.ledger-anchor__sub-item span:last-child {
  display: block;
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  margin-top: 4px;
}

.ledger-anchor__cta {
  margin-top: clamp(20px, 2.4vw, 32px);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--forest);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.25s var(--ease-out), gap 0.25s var(--ease-out), transform 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out);
  align-self: flex-start;
  box-shadow: 0 6px 18px rgba(74, 124, 63, 0.22);
}

.ledger-anchor__cta:hover {
  gap: 14px;
  background: var(--forest-light);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(74, 124, 63, 0.32);
}

.ledger-anchor__cta-note {
  display: block;
  margin-top: 8px;
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.5;
  color: var(--charcoal-42);
  max-width: 28ch;
}

/* RIGHT — ledger table */
.ledger-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.ledger-table thead th {
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-42);
  text-align: left;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--charcoal-12);
  white-space: nowrap;
}

.ledger-table thead th.is-num {
  text-align: right;
}

.ledger-table tbody tr {
  position: relative;
  transition: background 0.25s var(--ease-out);
}

.ledger-table tbody tr:hover {
  background: var(--cloud);
}

.ledger-table tbody td {
  padding: clamp(18px, 2vw, 26px) 12px clamp(18px, 2vw, 26px) 0;
  border-bottom: 1px solid var(--charcoal-05);
  vertical-align: middle;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--charcoal-deep);
}

.ledger-table tbody td:first-child {
  padding-left: 12px;
}

.ledger-table tbody tr:last-child td {
  border-bottom: none;
}

.ledger-q {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-42);
  white-space: nowrap;
}

.ledger-q::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--forest);
}

.ledger-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 999px;
}

.ledger-tag::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}

.ledger-tag--forest {
  background: var(--forest-pale);
  color: var(--forest);
}

.ledger-tag--forest::before {
  background: var(--forest);
}

.ledger-tag--blue {
  background: var(--blue-light);
  color: var(--blue);
}

.ledger-tag--blue::before {
  background: var(--blue);
}

.ledger-tag--charcoal {
  background: var(--charcoal-05);
  color: var(--charcoal-deep);
}

.ledger-tag--charcoal::before {
  background: var(--charcoal-deep);
}

.ledger-deal {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(15px, 1.55vw, 19px);
  color: var(--charcoal-deep);
  line-height: 1.25;
  letter-spacing: -0.005em;
  display: block;
}

.ledger-rev {
  font-size: 12px;
  color: var(--charcoal-42);
  margin-top: 3px;
  display: block;
  letter-spacing: 0.02em;
}

.ledger-price {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.1vw, 28px);
  color: var(--charcoal-deep);
  letter-spacing: -0.01em;
  text-align: right;
  font-feature-settings: "tnum";
  white-space: nowrap;
  line-height: 1.05;
}

.ledger-price small {
  display: block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--forest);
  margin-top: 3px;
  font-style: normal;
}

.ledger-time {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
}

/* Totals row — italic, like a printed footer */
.ledger-table tfoot td {
  padding: clamp(20px, 2vw, 26px) 12px;
  border-top: 2px solid var(--charcoal-deep);
  border-bottom: none;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(14px, 1.4vw, 17px);
  color: var(--charcoal-deep);
}

.ledger-table tfoot td:first-child {
  padding-left: 12px;
}

.ledger-table tfoot td.is-num {
  text-align: right;
  font-style: normal;
  font-size: clamp(20px, 2.2vw, 28px);
  color: var(--forest);
  letter-spacing: -0.01em;
  font-feature-settings: "tnum";
}

/* Confidentiality footnote line under the ledger */
.ledger-foot {
  margin-top: clamp(20px, 2vw, 28px);
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-family: var(--font-body);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--charcoal-42);
}

.ledger-foot__icon {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--forest);
}

/* Tablet/mobile */
@media (max-width: 1024px) {
  .ledger-body {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ledger-anchor {
    position: static;
  }

  .ledger-anchor__sub {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 720px) {

  .ledger-table thead th:nth-child(3),
  .ledger-table tbody td:nth-child(3),
  .ledger-table tfoot td:nth-child(3) {
    display: none;
  }

  .ledger-table thead th:nth-child(5),
  .ledger-table tbody td:nth-child(5),
  .ledger-table tfoot td:nth-child(5) {
    display: none;
  }

  .ledger-anchor__sub {
    grid-template-columns: repeat(2, 1fr);
  }

  .ledger-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .ledger-head__meta {
    align-items: flex-start;
    text-align: left;
  }
}


/* ================================================================
   MOVEMENTS — Section 4 (the previously-commented Process section)
   Five disciplined movements arranged as a horizontal stave with
   a connecting timeline rule. Charcoal-deep with green accents.
   ================================================================ */

.movements {
  position: relative;
  background:
    radial-gradient(ellipse 60% 70% at 8% 18%, rgba(74, 124, 63, 0.10) 0%, transparent 60%),
    radial-gradient(ellipse 45% 60% at 92% 90%, rgba(0, 76, 151, 0.09) 0%, transparent 60%),
    linear-gradient(180deg, #16202a 0%, var(--charcoal-deep) 100%);
  color: var(--white);
  overflow: hidden;
  isolation: isolate;
}

.movements .container {
  position: relative;
  z-index: 1;
}

/* Header — centered, eyebrow above an italic headline */
.movements-head {
  text-align: center;
  max-width: 880px;
  margin: 0 auto clamp(56px, 7vw, 96px);
}

.movements-head__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest-light);
  margin-bottom: clamp(20px, 2vw, 28px);
}

.movements-head__eyebrow::before,
.movements-head__eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: rgba(232, 237, 229, 0.3);
}

.movements-head__title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--white);
  margin: 0 0 clamp(16px, 2vw, 24px);
}

.movements-head__title em {
  font-style: italic;
  color: var(--forest-light);
}

.movements-head__lede {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.55;
  color: rgba(232, 237, 229, 0.78);
  max-width: 56ch;
  margin: 0 auto;
}

/* The horizontal stave — connecting line + 5 phase cards */
.movements-stave {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(8px, 1vw, 16px);
  padding-top: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(20px, 2vw, 32px);
  list-style: none;
  margin: 0;
}

.movements-stave>li::marker {
  content: '';
}

/* Connecting horizontal rule that runs across the top of all phases */
.movements-stave::before {
  content: '';
  position: absolute;
  top: clamp(48px, 6vw, 80px);
  left: 6%;
  right: 6%;
  height: 1px;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(91, 154, 79, 0.55) 12%,
      rgba(91, 154, 79, 0.7) 50%,
      rgba(91, 154, 79, 0.55) 88%,
      transparent 100%);
}

/* Travelling pulse along the connecting line */
.movements-stave::after {
  content: '';
  position: absolute;
  top: calc(clamp(48px, 6vw, 80px) - 4px);
  left: 6%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.25), 0 0 24px rgba(91, 154, 79, 0.5);
  animation: movePulse 9s linear infinite;
}

@keyframes movePulse {
  0% {
    left: 6%;
    opacity: 0;
  }

  6% {
    opacity: 1;
  }

  94% {
    opacity: 1;
  }

  100% {
    left: 94%;
    opacity: 0;
  }
}

.movement {
  position: relative;
  padding-top: clamp(20px, 2.4vw, 32px);
  text-align: center;
}

.movement__node {
  position: absolute;
  top: calc(-1 * clamp(24px, 3vw, 36px));
  left: 50%;
  transform: translateX(-50%);
  width: clamp(20px, 2.4vw, 28px);
  height: clamp(20px, 2.4vw, 28px);
  border-radius: 50%;
  background: var(--charcoal-deep);
  border: 2px solid var(--forest-light);
  display: grid;
  place-items: center;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  color: var(--forest-light);
  z-index: 2;
}

.movement__node::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid rgba(91, 154, 79, 0.18);
  animation: moveNodePulse 4s ease-out infinite;
}

@keyframes moveNodePulse {
  0% {
    transform: scale(0.85);
    opacity: 0.8;
  }

  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}

.movement:nth-child(2) .movement__node::after {
  animation-delay: 0.8s;
}

.movement:nth-child(3) .movement__node::after {
  animation-delay: 1.6s;
}

.movement:nth-child(4) .movement__node::after {
  animation-delay: 2.4s;
}

.movement:nth-child(5) .movement__node::after {
  animation-delay: 3.2s;
}

.movement__num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: rgba(91, 154, 79, 0.55);
  margin-bottom: clamp(10px, 1vw, 16px);
}

.movement__name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.15;
  color: var(--white);
  margin: 0 0 clamp(6px, 0.8vw, 10px);
  letter-spacing: -0.005em;
}

.movement__duration {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--forest-light);
  font-weight: 700;
  margin-bottom: clamp(16px, 2vw, 22px);
  display: inline-block;
  padding: 5px 10px;
  background: rgba(91, 154, 79, 0.12);
  border: 1px solid rgba(91, 154, 79, 0.22);
  border-radius: 999px;
}

.movement__deliv {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: left;
  max-width: 240px;
  margin-inline: auto;
}

.movement__deliv li {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.55;
  color: rgba(232, 237, 229, 0.72);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: start;
}

.movement__deliv li::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--forest-light);
  margin-top: 8px;
  flex-shrink: 0;
}

/* Footer line below the stave */
.movements-foot {
  margin-top: clamp(56px, 7vw, 96px);
  padding-top: clamp(24px, 3vw, 36px);
  border-top: 1px solid rgba(232, 237, 229, 0.10);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.movements-foot__line {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(16px, 1.6vw, 20px);
  color: rgba(232, 237, 229, 0.85);
  margin: 0;
  max-width: 60ch;
}

.movements-foot__line strong {
  font-style: normal;
  color: var(--white);
  font-weight: 600;
}

.movements-foot__cta {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest-light);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border: 1px solid rgba(91, 154, 79, 0.4);
  border-radius: 999px;
  transition: background 0.25s var(--ease-out), gap 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}

.movements-foot__cta:hover {
  background: rgba(91, 154, 79, 0.12);
  border-color: var(--forest-light);
  gap: 14px;
}

/* Tablet — 5-up becomes a vertical stack with rotated stave */
@media (max-width: 1024px) {
  .movements-stave {
    grid-template-columns: 1fr;
    gap: clamp(28px, 4vw, 40px);
    padding-top: clamp(24px, 3vw, 36px);
  }

  .movements-stave::before {
    display: none;
  }

  .movements-stave::after {
    display: none;
  }

  .movement {
    text-align: left;
    padding-top: 0;
    padding-left: clamp(48px, 6vw, 64px);
    border-left: 1px solid rgba(91, 154, 79, 0.35);
  }

  .movement__node {
    top: 4px;
    left: -1px;
    transform: translateX(-50%);
  }

  .movement__deliv {
    margin-inline: 0;
    max-width: 60ch;
  }

  .movements-foot {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ================================================================
   DOORWAYS — Section 5 redesign (replaces .service-hero-card etc.)
   Three doorways: a tall dark primary + two shorter light cards.
   Sage section background. Asymmetric on purpose.
   ================================================================ */

.doorways {
  background:
    radial-gradient(ellipse 50% 60% at 88% 12%, rgba(74, 124, 63, 0.08) 0%, transparent 60%),
    var(--sage);
  position: relative;
  overflow: hidden;
}

.doorways .container {
  position: relative;
  z-index: 1;
}

/* Header — single column, eyebrow + serif headline + lede */
.doorways-head {
  max-width: 880px;
  margin-bottom: clamp(48px, 6vw, 80px);
}

.doorways-head__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: clamp(16px, 1.6vw, 22px);
}

.doorways-head__eyebrow::before {
  content: '\B6';
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--forest);
}

.doorways-head__title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(16px, 1.8vw, 22px);
}

.doorways-head__title em {
  font-style: italic;
  color: var(--forest);
}

.doorways-head__lede {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 64ch;
}

/* The 2-column grid — primary | (secondary stack) */
.doorways-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: clamp(16px, 2vw, 28px);
  align-items: stretch;
}

/* PRIMARY DOORWAY — tall, dark, weighty */
.doorway-primary {
  background:
    radial-gradient(ellipse 100% 60% at 50% 0%, rgba(91, 154, 79, 0.18) 0%, transparent 60%),
    linear-gradient(170deg, #2a3d34 0%, var(--charcoal-deep) 60%, #16202a 100%);
  border-radius: var(--radius-xl);
  padding: clamp(36px, 4vw, 56px);
  color: var(--white);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  border: 1px solid rgba(232, 237, 229, 0.06);
  box-shadow: 0 30px 60px rgba(29, 40, 48, 0.18);
}

.doorway-primary::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -120px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(91, 154, 79, 0.18) 0%, transparent 65%);
  pointer-events: none;
}

.doorway-primary__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest-light);
  padding: 7px 14px;
  background: rgba(91, 154, 79, 0.12);
  border: 1px solid rgba(91, 154, 79, 0.3);
  border-radius: 999px;
  margin-bottom: clamp(20px, 2.2vw, 32px);
}

.doorway-primary__chip::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 10px var(--forest-light);
  animation: doorPulse 2s ease-in-out infinite;
}

@keyframes doorPulse {

  0%,
  100% {
    opacity: 0.6;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.3);
  }
}

.doorway-primary__title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--white);
  margin: 0 0 clamp(14px, 1.6vw, 20px);
}

.doorway-primary__title em {
  font-style: italic;
  color: var(--forest-light);
}

.doorway-primary__copy {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.65;
  color: rgba(232, 237, 229, 0.78);
  margin: 0 0 clamp(24px, 3vw, 36px);
  max-width: 50ch;
}

/* Stat trio — tabular figures inside the primary */
.doorway-primary__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(8px, 1vw, 16px);
  padding: clamp(20px, 2.4vw, 28px) 0;
  margin: 0 0 clamp(24px, 3vw, 36px);
  border-top: 1px solid rgba(232, 237, 229, 0.10);
  border-bottom: 1px solid rgba(232, 237, 229, 0.10);
}

.doorway-primary__stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.doorway-primary__stat-value {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.8vw, 38px);
  line-height: 1;
  color: var(--white);
  letter-spacing: -0.015em;
}

.doorway-primary__stat-label {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.55);
  font-weight: 700;
}

.doorway-primary__list {
  list-style: none;
  margin: 0 0 clamp(28px, 3.5vw, 40px);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.doorway-primary__list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.5;
  color: rgba(232, 237, 229, 0.82);
  align-items: start;
}

.doorway-primary__list li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--forest-light);
  margin-top: 8px;
}

.doorway-primary__cta {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--forest);
  color: var(--white);
  padding: 14px 28px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  border: 1px solid var(--forest-light);
  transition: gap 0.25s var(--ease-out), background 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out);
  box-shadow: 0 12px 32px rgba(74, 124, 63, 0.32);
}

.doorway-primary__cta:hover {
  background: var(--forest-light);
  gap: 14px;
  box-shadow: 0 16px 40px rgba(74, 124, 63, 0.4);
}

/* SECONDARY DOORWAYS — vertically stacked light cards */
.doorways-secondary {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: clamp(16px, 2vw, 28px);
}

.doorway-secondary {
  background: var(--white);
  border-radius: var(--radius-xl);
  padding: clamp(28px, 3vw, 40px);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--charcoal-12);
  transition: transform 0.35s var(--ease-out), border-color 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.doorway-secondary:hover {
  transform: translateY(-4px);
  border-color: var(--charcoal-20);
  box-shadow: 0 24px 48px rgba(29, 40, 48, 0.10);
}

.doorway-secondary__chip {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--blue);
  margin-bottom: clamp(14px, 1.4vw, 18px);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.doorway-secondary--charcoal .doorway-secondary__chip {
  color: var(--charcoal);
}

.doorway-secondary__chip::before {
  content: '';
  width: 24px;
  height: 1px;
  background: currentColor;
}

.doorway-secondary__title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(12px, 1.4vw, 18px);
}

.doorway-secondary__title em {
  font-style: italic;
  color: var(--blue);
}

.doorway-secondary--charcoal .doorway-secondary__title em {
  color: var(--charcoal);
}

.doorway-secondary__copy {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0 0 clamp(16px, 1.8vw, 22px);
}

.doorway-secondary__fits {
  list-style: none;
  margin: 0 0 clamp(20px, 2.2vw, 28px);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.doorway-secondary__fits li {
  font-family: var(--font-body);
  font-size: 12.5px;
  color: var(--charcoal-72);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
}

.doorway-secondary__fits li::before {
  content: '';
  width: 12px;
  height: 1px;
  margin-top: 9px;
  background: var(--charcoal-42);
}

.doorway-secondary__cta {
  margin-top: auto;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--blue);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  align-self: flex-start;
  transition: gap 0.25s var(--ease-out);
}

.doorway-secondary--charcoal .doorway-secondary__cta {
  color: var(--charcoal-deep);
}

.doorway-secondary:hover .doorway-secondary__cta {
  gap: 13px;
}

/* Tablet/mobile */
@media (max-width: 1024px) {
  .doorways-grid {
    grid-template-columns: 1fr;
  }

  .doorways-secondary {
    grid-template-rows: auto auto;
  }

  .doorway-primary__stats {
    grid-template-columns: repeat(3, auto);
    justify-content: space-between;
  }
}

@media (max-width: 640px) {
  .doorway-primary__stats {
    grid-template-columns: 1fr 1fr;
  }
}


/* ================================================================
   INTERVIEW — Section 7 redesign (replaces split video-section layout)
   The video is the centerpiece of an editorial spread.
   ================================================================ */

.interview {
  background: var(--white);
  position: relative;
  overflow: hidden;
}

.interview::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 50% at 5% 5%, rgba(74, 124, 63, 0.05) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 95% 95%, rgba(0, 76, 151, 0.05) 0%, transparent 60%);
  pointer-events: none;
}

.interview .container {
  position: relative;
  z-index: 1;
  max-width: 1140px;
}

/* Top metadata bar — magazine-style issue line */
.interview-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(20px, 2.4vw, 32px);
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 600;
}

.interview-meta strong {
  color: var(--forest);
  font-weight: 700;
}

.interview-meta__rule {
  flex: 1;
  height: 1px;
  background: var(--charcoal-12);
  margin: 0 16px;
}

/* Headline — editorial 2-line italic spread */
.interview-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(20px, 3vw, 48px);
  align-items: end;
  margin-bottom: clamp(36px, 4vw, 56px);
}

.interview-head__title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4.4vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0;
}

.interview-head__title em {
  font-style: italic;
  color: var(--forest);
}

.interview-head__attr {
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--charcoal-42);
  text-align: right;
  line-height: 1.5;
  align-self: end;
  white-space: nowrap;
}

.interview-head__attr strong {
  color: var(--charcoal-deep);
  font-weight: 700;
  display: block;
}

/* Video stage — full-width, photographic frame */
.interview-stage {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(29, 40, 48, 0.18);
  border: 1px solid var(--charcoal-12);
  isolation: isolate;
}

.interview-stage .video-wrapper {
  border-radius: 0;
  border: 0;
  box-shadow: none;
  aspect-ratio: 16 / 9;
}

/* Corner registration marks — subtle editorial detail */
.interview-stage::before,
.interview-stage::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  z-index: 3;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.65);
}

.interview-stage::before {
  top: 14px;
  left: 14px;
  border-right: none;
  border-bottom: none;
}

.interview-stage::after {
  bottom: 14px;
  right: 14px;
  border-left: none;
  border-top: none;
}

/* Pull-quote caption bar — sits below the video frame */
.interview-caption {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(20px, 3vw, 48px);
  align-items: end;
  margin-top: clamp(28px, 3vw, 40px);
  padding-top: clamp(22px, 2.4vw, 32px);
  border-top: 2px solid var(--charcoal-deep);
}

.interview-caption__quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1.45;
  color: var(--charcoal-deep);
  margin: 0;
  max-width: 64ch;
  position: relative;
  padding-left: 28px;
}

.interview-caption__quote::before {
  content: '\201C';
  position: absolute;
  top: -8px;
  left: 0;
  font-size: 1.8em;
  line-height: 1;
  color: var(--forest);
}

.interview-caption__byline {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
  line-height: 1.5;
  align-self: end;
}

.interview-caption__byline strong {
  display: block;
  color: var(--charcoal-deep);
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: none;
  font-family: var(--font-display);
  font-style: italic;
  margin-bottom: 4px;
}

/* 3-up testimonial row under the video — multiple proof, not just one quote */
.interview-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 1.6vw, 24px);
  margin-top: clamp(28px, 3vw, 40px);
  padding-top: clamp(24px, 2.6vw, 36px);
  border-top: 2px solid var(--charcoal-deep);
}

.interview-card {
  margin: 0;
  padding: clamp(18px, 1.8vw, 24px) clamp(18px, 1.8vw, 24px) clamp(18px, 1.8vw, 24px) clamp(22px, 2vw, 28px);
  border-left: 2px solid var(--forest);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.interview-card__quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.5;
  color: var(--charcoal-deep);
  margin: 0;
  flex: 1;
}

.interview-card__quote::before {
  content: '\201C';
  color: var(--forest);
  margin-right: 0.05em;
}

.interview-card__byline {
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 0 12px;
  font-family: var(--font-body);
}

.interview-card__avatar {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--forest-pale);
  color: var(--forest);
  font-family: var(--font-display);
  font-size: 16px;
  font-style: italic;
  font-weight: 400;
  border: 1px solid var(--forest-12);
  overflow: hidden;
}

.interview-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.interview-card__byline strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--charcoal-deep);
  letter-spacing: 0.02em;
}

.interview-card__byline span {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 600;
}

@media (max-width: 900px) {
  .interview-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* Bottom CTA row */
.interview-foot {
  margin-top: clamp(28px, 3vw, 40px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.interview-foot__line {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--charcoal-72);
  margin: 0;
}

.interview-foot__cta {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap 0.25s var(--ease-out), color 0.25s var(--ease-out);
}

.interview-foot__cta:hover {
  gap: 14px;
  color: var(--forest-light);
}

@media (max-width: 720px) {
  .interview-head {
    grid-template-columns: 1fr;
  }

  .interview-head__attr {
    text-align: left;
    align-self: start;
    white-space: normal;
  }

  .interview-caption {
    grid-template-columns: 1fr;
  }

  .interview-caption__byline {
    text-align: left;
  }

  .interview-foot {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ================================================================
   VOICES — Section 8 redesign (replaces .testimonials-grid 3-card stack)
   One monumental lead pull-quote + a thin row of satellite quotes.
   ================================================================ */

.voices {
  background: var(--cloud);
  position: relative;
  overflow: hidden;
}

.voices::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 60% at 88% 12%, rgba(74, 124, 63, 0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 8% 92%, rgba(0, 76, 151, 0.05) 0%, transparent 60%);
  pointer-events: none;
}

.voices .container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
}

/* Magazine-style header */
.voices-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 2px solid var(--charcoal-deep);
  border-bottom: 1px solid var(--charcoal-12);
  padding: clamp(12px, 1.4vw, 18px) 0;
  margin-bottom: clamp(64px, 8vw, 120px);
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
}

.voices-head__lead {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--forest);
}

.voices-head__lead::before {
  content: '\B6';
  font-family: var(--font-display);
  font-size: 16px;
}

.voices-head__count strong {
  color: var(--charcoal-deep);
  font-weight: 800;
}

/* Lead pull-quote — the monument */
.voices-lead {
  position: relative;
  padding: 0 clamp(20px, 4vw, 60px);
  margin-bottom: clamp(72px, 9vw, 120px);
}

.voices-lead__mark {
  position: absolute;
  top: -0.35em;
  left: -0.05em;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(160px, 22vw, 320px);
  line-height: 0.8;
  color: var(--forest);
  opacity: 0.14;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.voices-lead__body {
  position: relative;
  z-index: 1;
}

.voices-lead__quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(28px, 4.4vw, 64px);
  line-height: 1.16;
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(28px, 3.5vw, 48px);
  max-width: 22ch;
}

.voices-lead__quote em {
  font-style: italic;
  color: var(--forest);
}

.voices-lead__attr {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  gap: 18px 24px;
  align-items: center;
  padding-left: 28px;
  border-left: 2px solid var(--forest);
}

.voices-lead__attr-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(20px, 2vw, 26px);
  color: var(--charcoal-deep);
  line-height: 1;
  margin: 0;
}

.voices-lead__attr-meta {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  line-height: 1.4;
}

.voices-lead__attr-meta strong {
  color: var(--forest);
  font-weight: 700;
}

/* Satellite quote row — 3 supporting voices */
.voices-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
  border-top: 1px solid var(--charcoal-12);
  padding-top: clamp(40px, 5vw, 64px);
}

.voice {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.8vw, 22px);
  padding-right: clamp(8px, 1.6vw, 24px);
}

.voice+.voice {
  border-left: 1px solid var(--charcoal-12);
  padding-left: clamp(20px, 2.4vw, 32px);
}

.voice__num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(16px, 1.4vw, 18px);
  color: var(--forest);
  letter-spacing: 0;
  line-height: 1;
}

.voice__quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.55;
  color: var(--charcoal-deep);
  margin: 0;
  flex: 1;
}

.voice__quote::before {
  content: '\201C';
  margin-right: 0.05em;
  color: var(--forest);
}

.voice__quote::after {
  content: '\201D';
  margin-left: 0.05em;
  color: var(--forest);
}

.voice__attr {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 4px 14px;
  margin-top: auto;
  padding-top: clamp(12px, 1.4vw, 18px);
  border-top: 1px solid var(--charcoal-12);
}

.voice__avatar {
  grid-row: span 2;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--forest-pale);
  color: var(--forest);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 18px;
  border: 1px solid var(--forest-12);
  overflow: hidden;
}

.voice__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voice__attr-name {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  color: var(--charcoal-deep);
}

.voice__attr-role {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 600;
}

/* Bottom credibility band */
.voices-foot {
  margin-top: clamp(48px, 6vw, 80px);
  padding-top: clamp(28px, 3vw, 40px);
  border-top: 2px solid var(--charcoal-deep);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
}

.voices-foot__line {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(16px, 1.7vw, 22px);
  color: var(--charcoal-72);
  margin: 0;
  max-width: 60ch;
}

.voices-foot__line strong {
  font-style: normal;
  color: var(--charcoal-deep);
}

.voices-foot__cta {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  transition: gap 0.25s var(--ease-out), color 0.25s var(--ease-out);
}

.voices-foot__cta:hover {
  gap: 14px;
  color: var(--forest-light);
}

@media (max-width: 1024px) {
  .voices-row {
    grid-template-columns: 1fr;
  }

  .voice+.voice {
    border-left: none;
    border-top: 1px solid var(--charcoal-12);
    padding-left: 0;
    padding-top: clamp(20px, 3vw, 32px);
  }
}

@media (max-width: 720px) {
  .voices-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .voices-foot {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ================================================================
   COMPLIMENT — Section 9 redesign (replaces .referral-card)
   "Compliment slip" insert. Slim, centered (straightened per Shaun feedback 2026-07-22).
   ================================================================ */

.compliment {
  padding: clamp(48px, 6vw, 96px) 0;
  background: var(--white);
  position: relative;
  overflow: hidden;
}

.compliment::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 36% 50% at 80% 50%, rgba(0, 76, 151, 0.06) 0%, transparent 60%);
  pointer-events: none;
}

.compliment .container {
  position: relative;
  z-index: 1;
}

/* The slip — pulled toward the right, slightly off-square */
.compliment-slip {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(24px, 3vw, 48px);
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
  background: linear-gradient(170deg, #f7f9f5 0%, #eef3eb 100%);
  border: 1px solid var(--charcoal-12);
  border-radius: 14px;
  padding: clamp(28px, 3.5vw, 48px) clamp(28px, 3.5vw, 56px);
  position: relative;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 24px 64px rgba(29, 40, 48, 0.08),
    0 4px 12px rgba(29, 40, 48, 0.04);
}

/* perforation strip down the left edge — like a cheque-stub */
.compliment-slip::before {
  content: '';
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 14px;
  width: 1px;
  border-left: 1px dashed var(--charcoal-20);
  pointer-events: none;
}

/* round corner punch hole */
.compliment-slip::after {
  content: '';
  position: absolute;
  top: -8px;
  left: 22px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
}

.compliment-copy {
  position: relative;
  padding-left: clamp(8px, 1.6vw, 18px);
}

.compliment-copy__pre {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 700;
  margin-bottom: clamp(12px, 1.2vw, 16px);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.compliment-copy__pre::before {
  content: '\2709';
  font-style: normal;
  font-size: 14px;
  color: var(--blue);
}

.compliment-copy__title {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.15;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(12px, 1.4vw, 18px);
  letter-spacing: -0.01em;
}

.compliment-copy__title strong {
  font-style: normal;
  color: var(--blue);
  font-weight: 600;
}

.compliment-copy__body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0 0 clamp(16px, 2vw, 22px);
  max-width: 50ch;
}

.compliment-copy__body strong {
  color: var(--charcoal-deep);
  font-weight: 700;
}

.compliment-copy__cta {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--blue);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--blue-border);
  padding-bottom: 4px;
  transition: gap 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}

.compliment-copy__cta:hover {
  gap: 14px;
  border-color: var(--blue);
}

/* The amount — the "stamp" on the right */
.compliment-stamp {
  position: relative;
  text-align: center;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: clamp(20px, 2.4vw, 32px);
  border-left: 1px dashed var(--charcoal-20);
}

.compliment-stamp__pre {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
}

.compliment-stamp__amt {
  font-family: var(--font-display);
  font-size: clamp(48px, 6vw, 88px);
  line-height: 0.95;
  color: var(--blue);
  letter-spacing: -0.03em;
  margin: 0;
  position: relative;
}

.compliment-stamp__amt em {
  font-style: italic;
  font-weight: 400;
}

.compliment-stamp__ring {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(72px, 8vw, 104px);
  height: clamp(72px, 8vw, 104px);
  border: 1.5px solid var(--blue);
  border-radius: 50%;
  font-family: var(--font-body);
  font-size: 9.5px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 700;
  text-align: center;
  position: absolute;
  top: 12px;
  right: 12px;
  transform: rotate(8deg);
  background: rgba(255, 255, 255, 0.7);
  line-height: 1.05;
}

.compliment-stamp__sub {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--charcoal-42);
  margin-top: 8px;
}

/* Signature flourish at bottom-right of slip */
.compliment-slip__sig {
  position: absolute;
  bottom: 16px;
  right: 24px;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13px;
  color: var(--charcoal-42);
  letter-spacing: 0.02em;
}

.compliment-slip__sig::before {
  content: '~ ';
  color: var(--blue);
  font-style: normal;
}

@media (max-width: 1024px) {
  .compliment-slip {
    grid-template-columns: 1fr;
    margin-left: 0;
    transform: none;
  }

  .compliment-stamp {
    border-left: none;
    border-top: 1px dashed var(--charcoal-20);
    padding-top: 24px;
  }
}


/* ================================================================
   QANDA — Section 10 redesign (replaces .faq-grid stacked accordions)
   Editorial 2-column Q&A. Left = anchor / introduction.
   Right = expandable questions with serif-italic Q markers.
   ================================================================ */

.qanda {
  background: var(--white);
  position: relative;
  overflow: hidden;
}

.qanda::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 50% at 92% 8%, rgba(74, 124, 63, 0.04) 0%, transparent 60%);
  pointer-events: none;
}

.qanda .container {
  position: relative;
  z-index: 1;
}

.qanda-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.6fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}

/* LEFT — anchor */
.qanda-anchor {
  position: sticky;
  top: 100px;
}

.qanda-anchor__pre {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: clamp(16px, 1.6vw, 22px);
}

.qanda-anchor__pre::before {
  content: 'Q.';
  font-family: var(--font-display);
  font-style: italic;
  font-size: 18px;
  color: var(--forest);
}

.qanda-anchor__title {
  font-family: var(--font-display);
  font-size: clamp(36px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(20px, 2vw, 28px);
}

.qanda-anchor__title em {
  font-style: italic;
  color: var(--forest);
}

.qanda-anchor__lede {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0 0 clamp(28px, 3vw, 40px);
  max-width: 38ch;
}

.qanda-anchor__contact {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(20px, 2.4vw, 28px) clamp(20px, 2.4vw, 28px);
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
}

.qanda-anchor__contact-line {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(15px, 1.5vw, 18px);
  color: var(--charcoal-deep);
  margin: 0;
  line-height: 1.4;
}

.qanda-anchor__contact-cta {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap 0.25s var(--ease-out);
}

.qanda-anchor__contact-cta:hover {
  gap: 14px;
}

/* RIGHT — Q&A items */
.qanda-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 2px solid var(--charcoal-deep);
}

.qanda-item {
  border-bottom: 1px solid var(--charcoal-12);
  padding: 0;
}

.qanda-item__summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(16px, 2vw, 28px);
  align-items: center;
  padding: clamp(20px, 2.2vw, 30px) 0;
  transition: color 0.25s var(--ease-out);
}

.qanda-item__summary::-webkit-details-marker {
  display: none;
}

.qanda-item__num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(20px, 2vw, 26px);
  color: var(--forest);
  letter-spacing: -0.005em;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.qanda-item__num::before {
  content: 'Q';
  font-style: italic;
  color: var(--forest);
}

.qanda-item__num::after {
  content: '.';
  color: var(--forest);
  margin-right: 6px;
}

.qanda-item__q {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.3;
  color: var(--charcoal-deep);
  margin: 0;
  letter-spacing: -0.005em;
}

.qanda-item__toggle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--charcoal-20);
  display: grid;
  place-items: center;
  background: var(--white);
  color: var(--charcoal);
  flex-shrink: 0;
  transition: transform 0.35s var(--ease-out), background 0.35s var(--ease-out), border-color 0.35s var(--ease-out), color 0.35s var(--ease-out);
}

.qanda-item__toggle::before {
  content: '+';
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

.qanda-item[open] .qanda-item__toggle {
  transform: rotate(45deg);
  background: var(--charcoal-deep);
  border-color: var(--charcoal-deep);
  color: var(--white);
}

.qanda-item[open] .qanda-item__q {
  color: var(--forest);
}

.qanda-item__answer {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(16px, 2vw, 28px);
  padding: 0 0 clamp(28px, 3vw, 40px);
  animation: qandaReveal 0.35s var(--ease-out);
}

@keyframes qandaReveal {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.qanda-item__answer::before {
  content: 'A.';
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(20px, 2vw, 26px);
  color: var(--charcoal-42);
  line-height: 1;
}

.qanda-item__answer-body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.75;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 64ch;
}

.qanda-item__answer-body strong {
  color: var(--charcoal-deep);
}

.qanda-item__answer-body p+p {
  margin-top: 12px;
}

@media (max-width: 1024px) {
  .qanda-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .qanda-anchor {
    position: static;
  }
}

@media (max-width: 640px) {
  .qanda-item__summary {
    grid-template-columns: auto 1fr;
  }

  .qanda-item__toggle {
    grid-column: 1 / -1;
    justify-self: flex-end;
    margin-top: 8px;
  }
}


/* ================================================================
   CLOSING — Section 11 redesign (replaces .cta-section)
   The closing handshake. Big editorial typography on charcoal-deep,
   two CTAs, contact line below, signature flourish.
   ================================================================ */

.closing {
  position: relative;
  background:
    radial-gradient(ellipse 60% 70% at 12% 10%, rgba(74, 124, 63, 0.14) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 92% 90%, rgba(0, 76, 151, 0.10) 0%, transparent 60%),
    linear-gradient(180deg, var(--charcoal-deep) 0%, #16202a 100%);
  color: var(--white);
  overflow: hidden;
  isolation: isolate;
}

/* Vertical printed-page rules at left/right gutters — echoes the manifesto */
.closing::before,
.closing::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, rgba(232, 237, 229, 0.10) 18%, rgba(232, 237, 229, 0.10) 82%, transparent 100%);
  pointer-events: none;
}

.closing::before {
  left: clamp(20px, 6vw, 80px);
}

.closing::after {
  right: clamp(20px, 6vw, 80px);
}

.closing .container {
  position: relative;
  z-index: 1;
  max-width: 1100px;
}

.closing-pre {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--forest-light);
  font-weight: 700;
  margin-bottom: clamp(28px, 3vw, 40px);
}

.closing-pre::before,
.closing-pre::after {
  content: '';
  width: 36px;
  height: 1px;
  background: rgba(91, 154, 79, 0.5);
}

.closing-title {
  font-family: var(--font-display);
  font-size: clamp(40px, 5.6vw, 88px);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--white);
  text-align: center;
  margin: 0 0 clamp(20px, 2.4vw, 32px);
  max-width: 18ch;
  margin-inline: auto;
}

.closing-title em {
  font-style: italic;
  background: linear-gradient(110deg, #6fb15c 0%, #b6dba7 50%, #6fb15c 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: closingShimmer 9s linear infinite;
}

@keyframes closingShimmer {
  to {
    background-position: 200% 0;
  }
}

.closing-lede {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.5;
  color: rgba(232, 237, 229, 0.78);
  text-align: center;
  margin: 0 auto clamp(40px, 5vw, 64px);
  max-width: 56ch;
}

.closing-actions {
  display: flex;
  justify-content: center;
  gap: clamp(12px, 1.4vw, 18px);
  flex-wrap: wrap;
  margin-bottom: clamp(40px, 5vw, 64px);
}

.closing-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 16px 30px;
  border-radius: 999px;
  text-decoration: none;
  transition: gap 0.25s var(--ease-out), background 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}

.closing-cta--primary {
  background: var(--forest);
  color: var(--white);
  border: 1px solid var(--forest-light);
  box-shadow: 0 16px 40px rgba(74, 124, 63, 0.36);
}

.closing-cta--primary:hover {
  background: var(--forest-light);
  gap: 14px;
  box-shadow: 0 20px 48px rgba(91, 154, 79, 0.45);
}

.closing-cta--ghost {
  background: transparent;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.closing-cta--ghost:hover {
  border-color: rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.06);
  gap: 14px;
}

/* Direct-contact strip below buttons */
.closing-direct {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(20px, 3vw, 40px);
  flex-wrap: wrap;
  font-family: var(--font-body);
  font-size: 13.5px;
  letter-spacing: 0.05em;
  color: rgba(232, 237, 229, 0.72);
  margin-bottom: clamp(36px, 4vw, 56px);
}

.closing-direct__sep {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(232, 237, 229, 0.3);
}

.closing-direct a {
  color: var(--white);
  text-decoration: none;
  border-bottom: 1px solid rgba(232, 237, 229, 0.2);
  transition: border-color 0.25s var(--ease-out), color 0.25s var(--ease-out);
  padding-bottom: 2px;
}

.closing-direct a:hover {
  border-color: var(--forest-light);
  color: var(--forest-light);
}

.closing-sig {
  text-align: center;
  padding-top: clamp(28px, 3vw, 40px);
  border-top: 1px solid rgba(232, 237, 229, 0.10);
}

.closing-sig__motto {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(15px, 1.5vw, 18px);
  color: rgba(232, 237, 229, 0.72);
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.closing-sig__motto::before,
.closing-sig__motto::after {
  content: '\2042';
  color: var(--forest-light);
  font-style: normal;
  font-size: 1.2em;
  opacity: 0.7;
}

.closing-watermark {
  position: absolute;
  bottom: -120px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(120px, 18vw, 280px);
  line-height: 1;
  color: rgba(91, 154, 79, 0.05);
  letter-spacing: -0.05em;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  white-space: nowrap;
}


/* ================================================================
   WIRE-IN-STORY-OUT — Sell page unique band (top of seller emotion)
   Borrowing the closing-stamp / ribbon language from the Sell-Side Deck.
   Big editorial moment between hero/marquee and the rest of the page.
   ================================================================ */

.wireout {
  position: relative;
  background:
    radial-gradient(ellipse 60% 70% at 8% 18%, rgba(91, 154, 79, 0.10) 0%, transparent 60%),
    linear-gradient(180deg, var(--charcoal-deep) 0%, #16202a 100%);
  color: var(--white);
  overflow: hidden;
  isolation: isolate;
}

.wireout::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, transparent 0 49px, rgba(232, 237, 229, 0.03) 49px 50px);
  pointer-events: none;
  mix-blend-mode: overlay;
  opacity: 0.5;
}

.wireout .container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
}

.wireout-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.55);
  font-weight: 700;
  padding-bottom: clamp(20px, 2.4vw, 32px);
  border-bottom: 1px solid rgba(232, 237, 229, 0.10);
  margin-bottom: clamp(40px, 5vw, 72px);
}

.wireout-meta strong {
  color: var(--forest-light);
  font-weight: 700;
}

.wireout-meta__rule {
  flex: 1;
  height: 1px;
  background: rgba(232, 237, 229, 0.18);
  margin: 0 24px;
}

.wireout-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: clamp(40px, 5vw, 88px);
  align-items: center;
}

.wireout-copy__title {
  font-family: var(--font-display);
  font-size: clamp(48px, 7vw, 116px);
  line-height: 0.98;
  letter-spacing: -0.03em;
  color: var(--white);
  margin: 0 0 clamp(20px, 2.4vw, 32px);
}

.wireout-copy__title em {
  font-style: italic;
  background: linear-gradient(110deg, #6fb15c 0%, #b6dba7 50%, #6fb15c 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: manifestoShimmer 9s linear infinite;
}

.wireout-copy__lede {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.5;
  color: rgba(232, 237, 229, 0.84);
  margin: 0 0 clamp(28px, 3vw, 40px);
  max-width: 56ch;
}

.wireout-copy__body {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.75;
  color: rgba(232, 237, 229, 0.74);
  margin: 0;
  max-width: 56ch;
}

.wireout-copy__body strong {
  color: var(--white);
  font-weight: 600;
}

/* Right side — a "wire transfer" stamp / receipt visual */
.wireout-stamp {
  position: relative;
  background:
    repeating-linear-gradient(135deg, rgba(91, 154, 79, 0.04) 0 4px, transparent 4px 12px),
    rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(91, 154, 79, 0.32);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 3vw, 40px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  isolation: isolate;
}

.wireout-stamp::before {
  content: 'PAID';
  position: absolute;
  top: 16px;
  right: 18px;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.34em;
  color: var(--forest-light);
  border: 1.5px solid var(--forest-light);
  padding: 5px 10px;
  border-radius: 4px;
  transform: rotate(8deg);
  background: rgba(91, 154, 79, 0.05);
  font-weight: 800;
}

.wireout-stamp__field {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 8px;
  align-items: baseline;
  padding-bottom: 12px;
  border-bottom: 1px dashed rgba(232, 237, 229, 0.18);
}

.wireout-stamp__field:last-child {
  border-bottom: none;
}

.wireout-stamp__label {
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.55);
  font-weight: 700;
}

.wireout-stamp__value {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px);
  color: var(--white);
  line-height: 1.2;
}

.wireout-stamp__value--big {
  font-size: clamp(28px, 3vw, 40px);
  color: var(--forest-light);
  letter-spacing: -0.01em;
}

/* Stamp header — top label + reference number */
.wireout-stamp__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(232, 237, 229, 0.18);
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(232, 237, 229, 0.7);
  margin-bottom: 4px;
}

.wireout-stamp__header-label {
  color: var(--forest-light);
}

.wireout-stamp__header-ref {
  color: rgba(232, 237, 229, 0.45);
}

/* Amount field — drama row, big number front and centre */
.wireout-stamp__amount {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: clamp(12px, 1.4vw, 18px) 0;
  border-top: 1px dashed rgba(232, 237, 229, 0.18);
  border-bottom: 1px dashed rgba(232, 237, 229, 0.18);
  margin-top: 4px;
}

.wireout-stamp__amount .wireout-stamp__label {
  margin-bottom: 2px;
}

.wireout-stamp__amount-value {
  font-family: var(--font-display);
  font-size: clamp(38px, 4.6vw, 60px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--forest-light);
  display: flex;
  align-items: baseline;
  font-weight: 400;
}

.wireout-stamp__amount-currency {
  font-size: 0.55em;
  margin-right: 0.05em;
  color: rgba(232, 237, 229, 0.55);
}

.wireout-stamp__amount-unit {
  font-size: 0.32em;
  letter-spacing: 0.18em;
  color: rgba(232, 237, 229, 0.45);
  font-weight: 700;
  text-transform: uppercase;
  margin-left: 0.4em;
  align-self: center;
}

.wireout-stamp__sig {
  margin-top: 8px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(232, 237, 229, 0.10);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  color: rgba(232, 237, 229, 0.7);
}

.wireout-stamp__sig-note {
  font-family: var(--font-body);
  font-style: normal;
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.4);
  font-weight: 600;
}

@media (max-width: 1024px) {
  .wireout-grid {
    grid-template-columns: 1fr;
  }

  .wireout-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .wireout-meta__rule {
    display: none;
  }
}


/* ================================================================
   ARCHETYPES — Sell page "Sellers We Represent" (3 personas)
   Three tall cards, each a seller motivation.
   Different from .doorway (which is service tiers) and .roster (verticals).
   ================================================================ */

.archetypes {
  background: var(--white);
  position: relative;
  overflow: hidden;
}

.archetypes::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 60% at 92% 8%, rgba(0, 76, 151, 0.05) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 8% 92%, rgba(74, 124, 63, 0.05) 0%, transparent 60%);
  pointer-events: none;
}

.archetypes .container {
  position: relative;
  z-index: 1;
}

.archetypes-head {
  display: grid;
  grid-template-columns: 1fr 1.4fr 1fr;
  gap: clamp(20px, 3vw, 48px);
  align-items: end;
  margin-bottom: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(24px, 3vw, 36px);
  border-bottom: 2px solid var(--charcoal-deep);
}

.archetypes-head__eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.archetypes-head__eyebrow::before {
  content: '\B6';
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--forest);
}

.archetypes-head__title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4.4vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0;
}

.archetypes-head__title em {
  font-style: italic;
  color: var(--forest);
}

.archetypes-head__kicker {
  font-family: var(--font-body);
  font-size: clamp(13px, 1.3vw, 15px);
  line-height: 1.65;
  color: var(--charcoal-72);
  text-align: right;
  max-width: 32ch;
  justify-self: end;
}

.archetypes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 28px);
}

.archetype {
  position: relative;
  background: linear-gradient(170deg, var(--cloud) 0%, #ebf0e7 100%);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-xl);
  padding: clamp(28px, 3vw, 40px);
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: hidden;
  min-height: 480px;
  transition: transform 0.4s var(--ease-out), border-color 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}

.archetype:hover {
  transform: translateY(-6px);
  border-color: var(--charcoal-20);
  box-shadow: 0 28px 56px rgba(29, 40, 48, 0.10);
}

.archetype--blue {
  background: linear-gradient(170deg, #f0f4fa 0%, #e3ecf6 100%);
}

.archetype--charcoal {
  background: linear-gradient(170deg, #f5f5f3 0%, #e9e9e6 100%);
}

.archetype__num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(48px, 5vw, 72px);
  color: rgba(74, 124, 63, 0.32);
  line-height: 1;
  margin: 0 0 clamp(14px, 1.6vw, 22px);
  letter-spacing: -0.03em;
}

.archetype--blue .archetype__num {
  color: rgba(0, 76, 151, 0.32);
}

.archetype--charcoal .archetype__num {
  color: rgba(54, 69, 79, 0.32);
}

.archetype__name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(24px, 2.8vw, 36px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(10px, 1.2vw, 16px);
}

.archetype__sketch {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(14px, 1.3vw, 16px);
  color: var(--forest);
  margin: 0 0 clamp(20px, 2.4vw, 28px);
  letter-spacing: 0.005em;
}

.archetype--blue .archetype__sketch {
  color: var(--blue);
}

.archetype--charcoal .archetype__sketch {
  color: var(--charcoal);
}

.archetype__body {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0 0 clamp(20px, 2vw, 28px);
}

.archetype__body strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

.archetype__what {
  margin-top: auto;
  padding-top: clamp(16px, 1.6vw, 22px);
  border-top: 1px solid var(--charcoal-12);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.archetype__what-pre {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
}

.archetype__what ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.archetype__what li {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--charcoal-deep);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: start;
}

.archetype__what li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  margin-top: 7px;
  background: var(--forest);
}

.archetype--blue .archetype__what li::before {
  background: var(--blue);
}

.archetype--charcoal .archetype__what li::before {
  background: var(--charcoal);
}

@media (max-width: 1024px) {
  .archetypes-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .archetype {
    min-height: auto;
  }

  .archetypes-head {
    grid-template-columns: 1fr;
  }

  .archetypes-head__kicker {
    text-align: left;
    max-width: 60ch;
    justify-self: start;
  }
}


/* ================================================================
   TRAPS — Sell page "Common Deal-Killer Traps" (sophistication signal)
   Six numbered cards, each a trap + how WE prevent it.
   Charcoal-deep with cream warning cards (Sell-Side Deck slide 13 idiom).
   ================================================================ */

.traps {
  position: relative;
  background:
    radial-gradient(ellipse 60% 70% at 92% 8%, rgba(211, 69, 69, 0.08) 0%, transparent 60%),
    linear-gradient(180deg, #16202a 0%, var(--charcoal-deep) 100%);
  color: var(--white);
  overflow: hidden;
  isolation: isolate;
}

.traps .container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
}

.traps-head {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(24px, 3vw, 56px);
  align-items: end;
  margin-bottom: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(24px, 3vw, 36px);
  border-bottom: 1px solid rgba(232, 237, 229, 0.10);
}

.traps-head__pre {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #f1aaaa;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.traps-head__pre::before {
  content: '\26A0';
  font-style: normal;
  color: #f1aaaa;
  font-size: 16px;
  opacity: 0.85;
}

.traps-head__title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4.4vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--white);
  margin: 0;
}

.traps-head__title em {
  font-style: italic;
  color: #f1aaaa;
}

.traps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 1.8vw, 24px);
}

.trap {
  position: relative;
  background: linear-gradient(170deg, #fff7ec 0%, #f3e9d8 100%);
  border: 1px solid rgba(232, 237, 229, 0.10);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.6vw, 32px);
  color: var(--charcoal-deep);
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
}

.trap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #d34545 0%, #e89595 100%);
}

.trap__num {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #c54545;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.trap__num::before {
  content: '\26A0';
  font-style: normal;
  font-size: 12px;
  color: #c54545;
}

.trap__name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.18;
  color: var(--charcoal-deep);
  margin: 0;
  letter-spacing: -0.005em;
}

.trap__cause {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(54, 69, 79, 0.85);
  margin: 0;
}

.trap__cause strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

.trap__we {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed rgba(54, 69, 79, 0.32);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.trap__we-pre {
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.trap__we-pre::before {
  content: '\2713';
  color: var(--forest);
  font-size: 12px;
}

.trap__we-line {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--charcoal-deep);
  margin: 0;
  font-weight: 500;
}

.traps-foot {
  margin-top: clamp(48px, 6vw, 72px);
  padding-top: clamp(24px, 3vw, 36px);
  border-top: 1px solid rgba(232, 237, 229, 0.10);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.traps-foot__line {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(16px, 1.6vw, 20px);
  color: rgba(232, 237, 229, 0.85);
  margin: 0;
  max-width: 60ch;
}

.traps-foot__line strong {
  font-style: normal;
  color: var(--white);
  font-weight: 600;
}

@media (max-width: 1024px) {
  .traps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .traps-head {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 640px) {
  .traps-grid {
    grid-template-columns: 1fr;
  }

  .traps-foot {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ================================================================
   BLOG — feature spread + recent grid (used by /website-broker-blog/
   and the Blog Post / Archive templates in Phase G)
   ================================================================ */

.blog-feature {
  background: var(--white);
  position: relative;
  overflow: hidden;
}

.blog-feature__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: clamp(20px, 2vw, 28px);
  border-bottom: 2px solid var(--charcoal-deep);
  margin-bottom: clamp(40px, 5vw, 64px);
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-42);
  flex-wrap: wrap;
  gap: 16px;
}

.blog-feature__eyebrow {
  color: var(--forest);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.blog-feature__eyebrow::before {
  content: '\B6';
  font-family: var(--font-display);
  font-size: 16px;
}

.blog-feature__article {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}

.blog-feature__cover {
  display: grid;
  place-content: center;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-xl);
  background:
    radial-gradient(ellipse 70% 60% at 30% 30%, rgba(91, 154, 79, 0.18) 0%, transparent 70%),
    linear-gradient(160deg, #2a3d34 0%, var(--charcoal-deep) 100%);
  color: var(--forest-light);
  text-align: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.blog-feature__cover::after {
  content: '';
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(232, 237, 229, 0.15);
  border-radius: 12px;
  pointer-events: none;
}

.blog-feature__cover-tag {
  position: absolute;
  top: 24px;
  left: 24px;
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--forest-light);
  font-weight: 700;
}

.blog-feature__cover-title {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(56px, 8vw, 120px);
  line-height: 1;
  letter-spacing: -0.03em;
  color: rgba(232, 237, 229, 0.85);
}

.blog-feature__topic {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 700;
  margin-bottom: 14px;
}

.blog-feature__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.6vw, 50px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(16px, 1.8vw, 24px);
}

.blog-feature__title em {
  font-style: italic;
  color: var(--forest);
}

.blog-feature__body {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0 0 clamp(20px, 2vw, 28px);
}

.blog-feature__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: 11.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 600;
  margin-bottom: clamp(20px, 2vw, 28px);
}

.blog-feature__sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--charcoal-42);
}

.blog-feature__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest);
  text-decoration: none;
  border-bottom: 1px solid var(--forest);
  padding-bottom: 4px;
  transition: gap 0.25s var(--ease-out);
}

.blog-feature__cta:hover {
  gap: 14px;
  color: var(--forest-light);
}

/* Recent posts */
.blog-recent {
  background: var(--cloud);
}

.blog-recent__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(32px, 4vw, 56px);
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: clamp(16px, 2vw, 24px);
  border-bottom: 1px solid var(--charcoal-12);
}

.blog-recent__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.4vw, 44px);
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
  margin: 0;
}

.blog-recent__topics {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.blog-topic {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid var(--charcoal-12);
  color: var(--charcoal-72);
  text-decoration: none;
  transition: all 0.25s var(--ease-out);
}

.blog-topic:hover {
  border-color: var(--charcoal-20);
  color: var(--charcoal-deep);
}

.blog-topic.is-active {
  background: var(--charcoal-deep);
  color: var(--white);
  border-color: var(--charcoal-deep);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
}

.blog-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(24px, 2.8vw, 32px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: inherit;
  transition: transform 0.35s var(--ease-out), border-color 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.blog-card:hover {
  transform: translateY(-4px);
  border-color: var(--charcoal-20);
  box-shadow: 0 24px 48px rgba(29, 40, 48, 0.08);
}

.blog-card__topic {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 700;
  margin-bottom: 4px;
}

.blog-card__title {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--charcoal-deep);
  margin: 0;
}

.blog-card__excerpt {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  margin: 0;
  flex: 1;
}

.blog-card__meta {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 600;
  padding-top: 12px;
  border-top: 1px solid var(--charcoal-12);
}

@media (max-width: 1024px) {
  .blog-feature__article {
    grid-template-columns: 1fr;
  }

  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .blog-grid {
    grid-template-columns: 1fr;
  }
}


/* ================================================================
   TEMPLATES (Phase G) — listing, prospectus, blog post,
   blog archive, press feature, legal, ad-landing, confirmation
   ================================================================ */

/* G1+G2 — LISTING / PROSPECTUS */
.lst-hero {
  background:
    radial-gradient(ellipse 50% 60% at 88% 12%, rgba(74, 124, 63, 0.08) 0%, transparent 60%),
    var(--cloud);
  padding: clamp(48px, 6vw, 88px) 0 clamp(28px, 3vw, 40px);
  border-bottom: 1px solid var(--charcoal-12);
}

.lst-hero__inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: end;
}

.lst-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: clamp(14px, 1.8vw, 22px);
}

.lst-pill {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--forest-pale);
  color: var(--forest);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.lst-pill::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--forest);
  animation: doorPulse 2s ease-in-out infinite;
}

.lst-pill--blue {
  background: var(--blue-light);
  color: var(--blue);
}

.lst-pill--blue::before {
  background: var(--blue);
}

.lst-pill--charcoal {
  background: var(--charcoal-05);
  color: var(--charcoal-deep);
}

.lst-pill--charcoal::before {
  background: var(--charcoal-deep);
}

.lst-pill--ghost {
  background: transparent;
  border: 1px solid var(--charcoal-20);
  color: var(--charcoal-72);
}

.lst-pill--ghost::before {
  display: none;
}

.lst-hero__title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4.4vw, 60px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(12px, 1.4vw, 18px);
}

.lst-hero__title em {
  font-style: italic;
  color: var(--forest);
}

.lst-hero__sub {
  font-family: var(--font-body);
  font-size: clamp(14px, 1.4vw, 16px);
  line-height: 1.6;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 60ch;
}

.lst-priceblock {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
  text-align: right;
  padding: clamp(20px, 2.4vw, 28px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
}

.lst-priceblock__label {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
}

.lst-priceblock__value {
  font-family: var(--font-display);
  font-size: clamp(36px, 4.4vw, 56px);
  line-height: 1;
  color: var(--charcoal-deep);
  letter-spacing: -0.02em;
}

.lst-priceblock__multi {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 700;
}

.lst-glance {
  background: var(--white);
  padding: clamp(40px, 5vw, 64px) 0;
}

.lst-glance__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(8px, 1vw, 16px);
}

.lst-glance__cell {
  padding: 18px 22px;
  background: var(--cloud);
  border-radius: var(--radius-md);
}

.lst-glance__label {
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  margin-bottom: 4px;
}

.lst-glance__value {
  font-family: var(--font-display);
  font-size: clamp(20px, 2vw, 26px);
  color: var(--charcoal-deep);
  line-height: 1;
  letter-spacing: -0.01em;
}

.lst-body {
  background: var(--white);
  padding: 0 0 clamp(40px, 5vw, 80px);
}

.lst-body__grid {
  display: grid;
  grid-template-columns: 1.6fr 0.9fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
}

.lst-prose {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.8;
  color: var(--charcoal-deep);
}

.lst-prose h2 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
  color: var(--charcoal-deep);
  margin: clamp(28px, 3vw, 40px) 0 clamp(12px, 1.4vw, 18px);
}

.lst-prose h2 em {
  font-style: italic;
  color: var(--forest);
}

.lst-prose p {
  margin: 0 0 16px;
}

.lst-prose strong {
  color: var(--charcoal-deep);
}

.lst-aside {
  position: sticky;
  top: 100px;
  padding: clamp(24px, 2.6vw, 32px);
  background: linear-gradient(170deg, var(--cloud) 0%, #ebf0e7 100%);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
}

.lst-aside__pre {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 700;
  margin-bottom: 10px;
}

.lst-aside__title {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.18;
  color: var(--charcoal-deep);
  margin: 0 0 12px;
}

.lst-aside__title em {
  font-style: italic;
  color: var(--forest);
}

.lst-aside__body {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  margin: 0 0 16px;
}

.lst-aside__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--forest);
  color: var(--white);
  padding: 12px 20px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.lst-aside__btn:hover {
  background: var(--forest-light);
}

.lst-aside__alt {
  display: block;
  margin-top: 14px;
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--charcoal-72);
}

.lst-aside__alt a {
  color: var(--forest);
}

.lst-financials {
  background: var(--cloud);
  padding: clamp(40px, 5vw, 80px) 0;
}

.lst-fin-chart {
  aspect-ratio: 16/8;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(20px, 2.4vw, 28px);
  position: relative;
}

.lst-fin-bars {
  display: flex;
  align-items: flex-end;
  gap: clamp(8px, 1vw, 14px);
  height: 100%;
  padding-top: 24px;
}

.lst-fin-bar {
  flex: 1;
  background: linear-gradient(180deg, var(--forest-light), var(--forest));
  border-radius: 4px 4px 0 0;
  position: relative;
}

.lst-fin-bar--blue {
  background: linear-gradient(180deg, rgba(0, 76, 151, 0.7), var(--blue));
}

.lst-fin-bar__label {
  position: absolute;
  bottom: -28px;
  left: 0;
  right: 0;
  text-align: center;
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
}

.lst-fin-legend {
  display: flex;
  gap: 18px;
  margin-top: 16px;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--charcoal-72);
  font-weight: 600;
}

.lst-fin-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.lst-fin-legend i {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  display: inline-block;
}

.lst-fin-legend i.is-rev {
  background: var(--forest);
}

.lst-fin-legend i.is-prof {
  background: var(--blue);
}

@media (max-width: 1024px) {
  .lst-hero__inner {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .lst-priceblock {
    align-self: flex-start;
    align-items: flex-start;
    text-align: left;
  }

  .lst-body__grid {
    grid-template-columns: 1fr;
  }

  .lst-aside {
    position: static;
  }

  .lst-glance__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* G3 — BLOG POST */
.post-hero {
  padding: clamp(40px, 5vw, 80px) 0 clamp(24px, 3vw, 40px);
  background: var(--white);
  border-bottom: 1px solid var(--charcoal-12);
}

.post-hero__meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  margin-bottom: clamp(20px, 2vw, 28px);
}

.post-hero__meta strong {
  color: var(--forest);
  font-weight: 700;
}

.post-hero__title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(16px, 1.8vw, 24px);
  max-width: 22ch;
}

.post-hero__title em {
  font-style: italic;
  color: var(--forest);
}

.post-hero__lede {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.5;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 60ch;
}

.post-body {
  padding: clamp(32px, 4vw, 56px) 0;
}

.post-body__grid {
  display: grid;
  grid-template-columns: 1fr 0.4fr;
  gap: clamp(24px, 4vw, 64px);
}

.post-prose {
  font-family: var(--font-body);
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.78;
  color: var(--charcoal-deep);
  max-width: 65ch;
}

.post-prose h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
  margin: clamp(28px, 3vw, 40px) 0 clamp(12px, 1.4vw, 18px);
}

.post-prose h2 em {
  font-style: italic;
  color: var(--forest);
}

.post-prose p {
  margin: 0 0 18px;
}

.post-prose blockquote {
  margin: clamp(20px, 2vw, 28px) 0;
  padding: 18px 28px;
  border-left: 3px solid var(--forest);
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px);
  color: var(--charcoal-deep);
  line-height: 1.5;
}

.post-prose ul {
  padding-left: 1.4em;
  margin: 0 0 18px;
}

.post-prose li {
  margin-bottom: 6px;
}

.post-prose strong {
  color: var(--charcoal-deep);
}

.post-aside {
  position: sticky;
  top: 100px;
  padding: clamp(20px, 2.4vw, 28px);
  border-left: 2px solid var(--charcoal-deep);
  align-self: start;
}

.post-aside__pre {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  margin-bottom: 12px;
}

.post-aside__heading {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 17px;
  color: var(--charcoal-deep);
  margin: 0 0 8px;
}

.post-aside__list {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.post-aside__list a {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--charcoal-deep);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.post-aside__list a:hover {
  border-color: var(--forest);
}

.post-author {
  margin-top: clamp(40px, 5vw, 64px);
  padding: clamp(24px, 3vw, 36px);
  background: var(--cloud);
  border-radius: var(--radius-lg);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(20px, 2.4vw, 28px);
  align-items: center;
}

.post-author__avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(160deg, var(--forest), #2a3d34);
  color: var(--white);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 32px;
  font-style: italic;
}

.post-author__name {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--charcoal-deep);
  margin: 0 0 4px;
}

.post-author__role {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 700;
  margin-bottom: 8px;
}

.post-author__bio {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  margin: 0;
}

@media (max-width: 1024px) {
  .post-body__grid {
    grid-template-columns: 1fr;
  }

  .post-aside {
    position: static;
    border-left: none;
    border-top: 2px solid var(--charcoal-deep);
    padding-left: 0;
    padding-top: 24px;
  }
}

/* G4 — BLOG ARCHIVE */
.archive-aside {
  padding: clamp(24px, 3vw, 36px);
  background: var(--cloud);
  border-radius: var(--radius-lg);
}

.archive-aside__head {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  margin-bottom: 10px;
}

.archive-aside__title {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--charcoal-deep);
  margin: 0 0 12px;
}

.archive-aside__list {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.archive-aside__list a {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--charcoal-deep);
  text-decoration: none;
}

.archive-aside__list a:hover {
  color: var(--forest);
}

.archive-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: clamp(32px, 4vw, 48px);
}

.archive-page {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--charcoal-12);
  border-radius: 50%;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--charcoal-deep);
  text-decoration: none;
  transition: all 0.25s var(--ease-out);
}

.archive-page:hover {
  border-color: var(--charcoal-deep);
}

.archive-page.is-active {
  background: var(--charcoal-deep);
  color: var(--white);
  border-color: var(--charcoal-deep);
}

/* G6 — LEGAL */
.legal-grid {
  display: grid;
  grid-template-columns: 0.8fr 2fr;
  gap: clamp(40px, 5vw, 72px);
  padding: clamp(48px, 6vw, 88px) 0;
}

.legal-toc {
  position: sticky;
  top: 100px;
  align-self: start;
  padding-right: clamp(20px, 2vw, 28px);
  border-right: 1px solid var(--charcoal-12);
}

.legal-toc__head {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  margin-bottom: 14px;
}

.legal-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.legal-toc__list a {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--charcoal-deep);
  text-decoration: none;
  padding: 4px 0;
  border-left: 2px solid transparent;
  padding-left: 12px;
  transition: all 0.25s var(--ease-out);
}

.legal-toc__list a:hover {
  color: var(--forest);
  border-color: var(--forest);
}

.legal-prose {
  font-family: var(--font-body);
  font-size: clamp(14px, 1.4vw, 16px);
  line-height: 1.85;
  color: var(--charcoal-deep);
  max-width: 70ch;
}

.legal-prose h1 {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0 0 12px;
}

.legal-prose h2 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--charcoal-deep);
  margin: clamp(36px, 4vw, 56px) 0 clamp(12px, 1.4vw, 18px);
  padding-top: clamp(12px, 1.4vw, 18px);
  border-top: 1px solid var(--charcoal-12);
}

.legal-prose__updated {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  font-weight: 700;
  margin-bottom: clamp(28px, 3vw, 40px);
  padding-bottom: clamp(20px, 2.4vw, 28px);
  border-bottom: 1px solid var(--charcoal-12);
}

.legal-prose p {
  margin: 0 0 18px;
}

.legal-prose strong {
  color: var(--charcoal-deep);
}

@media (max-width: 1024px) {
  .legal-grid {
    grid-template-columns: 1fr;
  }

  .legal-toc {
    position: static;
    border-right: none;
    border-bottom: 1px solid var(--charcoal-12);
    padding-right: 0;
    padding-bottom: 24px;
  }
}

/* G7 — AD LANDING (slim chrome) */
.ad-hero {
  background:
    radial-gradient(ellipse 60% 70% at 12% 10%, rgba(74, 124, 63, 0.10) 0%, transparent 60%),
    linear-gradient(180deg, var(--charcoal-deep) 0%, #16202a 100%);
  color: var(--white);
  padding: clamp(48px, 6vw, 96px) 0 clamp(40px, 5vw, 72px);
}

.ad-hero__inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
}

.ad-hero__title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--white);
  margin: 0 0 clamp(16px, 1.8vw, 24px);
}

.ad-hero__title em {
  font-style: italic;
  background: linear-gradient(110deg, #6fb15c 0%, #b6dba7 50%, #6fb15c 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: closingShimmer 9s linear infinite;
}

.ad-hero__lede {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.5;
  color: rgba(232, 237, 229, 0.78);
  margin: 0 0 clamp(28px, 3vw, 40px);
  max-width: 56ch;
}

.ad-form {
  background: var(--white);
  border-radius: var(--radius-xl);
  padding: clamp(28px, 3vw, 40px);
  color: var(--charcoal-deep);
  box-shadow: 0 30px 64px rgba(29, 40, 48, 0.18);
}

.ad-form h3 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.2vw, 28px);
  margin: 0 0 6px;
}

.ad-form__sub {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--charcoal-72);
  margin: 0 0 20px;
}

.ad-form input,
.ad-form select {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 14px;
  margin-bottom: 12px;
}

.ad-form input:focus,
.ad-form select:focus {
  outline: none;
  border-color: var(--forest);
}

.ad-form button {
  width: 100%;
  padding: 14px;
  background: var(--forest);
  color: var(--white);
  border: none;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
}

.ad-form button:hover {
  background: var(--forest-light);
}

@media (max-width: 900px) {
  .ad-hero__inner {
    grid-template-columns: 1fr;
  }
}

/* G8 — CONFIRMATION */
.confirm-hero {
  text-align: center;
  padding: clamp(64px, 8vw, 120px) 0 clamp(40px, 5vw, 64px);
  background:
    radial-gradient(ellipse 50% 60% at 50% 0%, rgba(74, 124, 63, 0.10) 0%, transparent 60%),
    var(--cloud);
}

.confirm-hero__check {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--white);
  display: grid;
  place-items: center;
  margin: 0 auto clamp(20px, 2.4vw, 32px);
  box-shadow: 0 16px 40px rgba(74, 124, 63, 0.32);
}

.confirm-hero__title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 0 0 16px;
  max-width: 22ch;
  margin-inline: auto;
}

.confirm-hero__title em {
  font-style: italic;
  color: var(--forest);
}

.confirm-hero__lede {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(17px, 1.7vw, 22px);
  color: var(--charcoal-72);
  max-width: 56ch;
  margin: 0 auto;
  line-height: 1.5;
}

.confirm-next {
  padding: clamp(40px, 5vw, 72px) 0;
  background: var(--white);
}

.confirm-suggested {
  padding: clamp(32px, 4vw, 56px) 0 clamp(64px, 8vw, 120px);
  background: var(--cloud);
}

.confirm-suggested__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(28px, 3vw, 40px);
}

.confirm-suggested__card {
  padding: clamp(24px, 2.8vw, 32px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: transform 0.35s var(--ease-out), border-color 0.35s var(--ease-out);
}

.confirm-suggested__card:hover {
  transform: translateY(-3px);
  border-color: var(--charcoal-20);
}

@media (max-width: 720px) {
  .confirm-suggested__grid {
    grid-template-columns: 1fr;
  }
}


/* ================================================================
   FEEDBACK WIDGET — floating pill bottom-right + panel
   ================================================================ */

.wsp-fb {
  position: fixed;
  bottom: clamp(16px, 2vw, 24px);
  right: clamp(16px, 2vw, 24px);
  z-index: 9000;
  font-family: var(--font-body);
}

.wsp-fb__pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--charcoal-deep);
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.10);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow: 0 16px 40px rgba(29, 40, 48, 0.28);
  transition: transform 0.25s var(--ease-out), background 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out);
}

.wsp-fb__pill:hover {
  background: var(--forest);
  transform: translateY(-2px);
  box-shadow: 0 20px 48px rgba(74, 124, 63, 0.36);
}

.wsp-fb__pill svg {
  color: var(--forest-light);
  transition: color 0.25s var(--ease-out);
}

.wsp-fb__pill:hover svg {
  color: var(--white);
}

.wsp-fb__count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--forest-light);
  color: var(--charcoal-deep);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0;
}

.wsp-fb__panel {
  position: absolute;
  bottom: calc(100% + 12px);
  right: 0;
  width: min(92vw, 380px);
  background: var(--white);
  color: var(--charcoal-deep);
  border-radius: var(--radius-xl);
  border: 1px solid var(--charcoal-12);
  box-shadow: 0 30px 64px rgba(29, 40, 48, 0.18);
  overflow: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.22s var(--ease-out), transform 0.22s var(--ease-out);
}

.wsp-fb__panel.is-open {
  opacity: 1;
  transform: translateY(0);
}

.wsp-fb__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 18px 20px 12px;
  gap: 12px;
  border-bottom: 1px solid var(--charcoal-05);
}

.wsp-fb__eyebrow {
  display: block;
  font-size: 10.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 700;
  margin-bottom: 4px;
}

.wsp-fb__pageid {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  color: var(--charcoal-deep);
  letter-spacing: 0;
}

.wsp-fb__close {
  background: transparent;
  border: 1px solid var(--charcoal-12);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: var(--charcoal-72);
  cursor: pointer;
  transition: all 0.2s var(--ease-out);
}

.wsp-fb__close:hover {
  background: var(--charcoal-deep);
  color: var(--white);
  border-color: var(--charcoal-deep);
}

.wsp-fb__status {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  font-size: 12px;
  line-height: 1.5;
  background: var(--cloud);
  border-bottom: 1px solid var(--charcoal-05);
}

.wsp-fb__status strong {
  font-weight: 700;
}

.wsp-fb__status--ready {
  color: var(--forest);
}

.wsp-fb__status--ready strong {
  color: var(--forest);
}

.wsp-fb__status--draft {
  background: #fef9ed;
  color: #7a5a16;
  border-bottom-color: rgba(200, 163, 86, 0.32);
}

.wsp-fb__status--draft strong {
  color: #7a5a16;
}

.wsp-fb__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex: 0 0 auto;
}

.wsp-fb__form {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.wsp-fb__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wsp-fb__field span {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-72);
}

.wsp-fb__field input,
.wsp-fb__field textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--charcoal-deep);
  background: var(--white);
  resize: vertical;
}

.wsp-fb__field input:focus,
.wsp-fb__field textarea:focus {
  outline: none;
  border-color: var(--forest);
  box-shadow: 0 0 0 3px rgba(74, 124, 63, 0.12);
}

.wsp-fb__submit {
  background: var(--forest);
  color: var(--white);
  border: none;
  padding: 12px 18px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background 0.25s var(--ease-out);
}

.wsp-fb__submit:hover {
  background: var(--forest-light);
}

.wsp-fb__submit:disabled {
  opacity: 0.6;
  cursor: wait;
}

.wsp-fb__hint {
  font-size: 11.5px;
  color: var(--charcoal-42);
  margin: 0;
  line-height: 1.45;
}

.wsp-fb__hint strong {
  color: var(--charcoal-72);
  font-weight: 600;
}

.wsp-fb__done {
  padding: 28px 20px;
  text-align: center;
}

.wsp-fb__done-check {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--white);
  display: grid;
  place-items: center;
  box-shadow: 0 12px 28px rgba(74, 124, 63, 0.28);
}

.wsp-fb__done-line {
  font-size: 14px;
  color: var(--charcoal-deep);
  margin: 0 0 16px;
}

.wsp-fb__again {
  background: transparent;
  border: 1px solid var(--charcoal-12);
  color: var(--charcoal-deep);
  padding: 8px 16px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  margin-right: 8px;
}

.wsp-fb__again:hover {
  border-color: var(--charcoal-deep);
}

.wsp-fb__viewall {
  display: inline-block;
  padding: 8px 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--forest);
  text-decoration: none;
}

.wsp-fb__viewall:hover {
  color: var(--forest-light);
}

.wsp-fb__error {
  padding: 12px 20px 20px;
  font-size: 12.5px;
  line-height: 1.55;
  color: #7a5a16;
}

.wsp-fb__error a {
  color: #7a5a16;
  text-decoration: underline;
}

@media (max-width: 480px) {
  .wsp-fb__panel {
    bottom: calc(100% + 8px);
    right: -8px;
  }

  .wsp-fb__pill-text {
    display: none;
  }

  .wsp-fb__pill {
    padding: 12px 14px;
  }
}


/* ============================================================
   SHOPIFY PAGE — distinct from /sell, /selling-websites-online
   per playbook §5 (single-owner design pattern rule).
   ============================================================ */

/* HERO — Shopify-native treatment, distinct from .page-hero */
.shop-hero {
  position: relative;
  padding: clamp(80px, 11vw, 160px) 0 clamp(60px, 8vw, 120px);
  background:
    radial-gradient(ellipse 70% 70% at 80% 20%, rgba(150, 191, 71, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse 60% 60% at 12% 80%, rgba(91, 154, 79, 0.06) 0%, transparent 60%),
    var(--cloud);
  overflow: hidden;
}

.shop-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(20, 30, 40, 0.025) 39px 40px);
  pointer-events: none;
  mix-blend-mode: multiply;
}

.shop-hero .container {
  position: relative;
  z-index: 1;
  max-width: 980px;
}

.shop-hero__inner {
  text-align: center;
}

.shop-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: #5b8e3d;
  padding: 8px 16px;
  border: 1px solid rgba(91, 154, 79, 0.35);
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.6);
  margin-bottom: 28px;
}

.shop-hero__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #95bf47;
  /* Shopify-ish green */
  box-shadow: 0 0 0 3px rgba(149, 191, 71, 0.18);
}

.shop-hero__title {
  font-family: var(--font-display);
  font-size: clamp(40px, 5.4vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--charcoal-deep);
  margin: 0 0 clamp(20px, 2.4vw, 32px);
}

.shop-hero__title em {
  font-style: italic;
  color: #5b8e3d;
}

.shop-hero__body {
  font-family: var(--font-body);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.62;
  color: var(--charcoal-72);
  max-width: 64ch;
  margin: 0 auto clamp(28px, 3vw, 40px);
}

.shop-hero__cta-row {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* DUAL-PATH SPLIT */
.shop-split {
  background: var(--white);
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
}

.shop-split__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 2.4vw, 32px);
}

.shop-split__card {
  position: relative;
  padding: clamp(36px, 3.6vw, 56px) clamp(28px, 3vw, 44px);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  background: var(--white);
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: border-color 0.25s var(--ease-out), transform 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out);
}

.shop-split__card:hover {
  border-color: rgba(91, 154, 79, 0.45);
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(20, 30, 40, 0.08);
}

.shop-split__card--sell {
  background: linear-gradient(180deg, var(--white) 0%, rgba(91, 154, 79, 0.04) 100%);
}

.shop-split__card--buy {
  background: linear-gradient(180deg, var(--white) 0%, rgba(0, 76, 151, 0.04) 100%);
}

.shop-split__pre {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  padding-bottom: 4px;
  border-bottom: 1.5px solid var(--forest);
  align-self: flex-start;
}

.shop-split__card--buy .shop-split__pre {
  color: var(--blue);
  border-color: var(--blue);
}

.shop-split__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--charcoal-deep);
  margin: 0;
}

.shop-split__title em {
  font-style: italic;
  color: var(--forest);
}

.shop-split__card--buy .shop-split__title em {
  color: var(--blue);
}

.shop-split__body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0;
}

.shop-split__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.shop-split__list li {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--charcoal-deep);
  padding-left: 22px;
  position: relative;
}

.shop-split__list li::before {
  content: '→';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--forest);
  font-weight: 700;
}

.shop-split__card--buy .shop-split__list li::before {
  color: var(--blue);
}

.shop-split__cta {
  align-self: flex-start;
  margin-top: 8px;
  font-family: var(--font-body);
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: gap 0.2s, color 0.2s;
}

.shop-split__card--buy .shop-split__cta {
  color: var(--blue);
}

.shop-split__cta:hover {
  gap: 12px;
}

/* SHOPIFY EXPERTISE — vertical row list (different from .traps grid) */
.shop-expertise {
  background:
    radial-gradient(ellipse 50% 60% at 92% 8%, rgba(91, 154, 79, 0.04) 0%, transparent 60%),
    var(--cloud);
}

.shop-expertise__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(40px, 5vw, 64px);
}

.shop-expertise__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 14px;
}

.shop-expertise__title {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--charcoal-deep);
  margin: 0 0 14px;
}

.shop-expertise__title em {
  font-style: italic;
  color: var(--forest);
}

.shop-expertise__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 56ch;
  margin-left: auto;
  margin-right: auto;
}

.shop-expertise__list {
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.shop-row {
  display: grid;
  grid-template-columns: 80px 1fr;
  align-items: baseline;
  padding: clamp(22px, 2.4vw, 32px) clamp(24px, 2.6vw, 36px);
  border-top: 1px solid var(--charcoal-12);
}

.shop-row:first-child {
  border-top: none;
}

.shop-row__num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1;
  color: var(--forest);
  font-weight: 400;
}

.shop-row__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.shop-row__title {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--charcoal-deep);
  margin: 0;
  font-weight: 400;
}

.shop-row__body p {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 70ch;
}

.shop-expertise__foot {
  text-align: center;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--charcoal-72);
  margin: clamp(28px, 3vw, 40px) auto 0;
  max-width: 56ch;
}

.shop-expertise__foot strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

/* SHOPIFY EXCHANGE — single editorial column */
.shop-exchange {
  background: var(--white);
}

.shop-exchange__paper {
  max-width: 740px;
  margin: 0 auto;
  padding: clamp(36px, 4vw, 60px) clamp(32px, 4vw, 64px);
  background: linear-gradient(180deg, rgba(91, 154, 79, 0.03) 0%, transparent 100%);
  border-left: 3px solid var(--forest);
  border-radius: 4px;
}

.shop-exchange__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 14px;
}

.shop-exchange__title {
  font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
  margin: 0 0 24px;
}

.shop-exchange__paper p {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.72;
  color: var(--charcoal-72);
  margin: 0 0 16px;
}

.shop-exchange__pull {
  font-family: var(--font-display) !important;
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px) !important;
  color: var(--charcoal-deep) !important;
  padding: 10px 0;
  border-top: 1px solid var(--charcoal-12);
  border-bottom: 1px solid var(--charcoal-12);
  margin: 24px 0 !important;
}

.shop-exchange__compare {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.shop-exchange__compare li {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 8px;
  padding: 16px 18px;
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--charcoal-72);
}

.shop-exchange__compare li span {
  display: block;
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 6px;
}

@media (max-width: 760px) {
  .shop-split__grid {
    grid-template-columns: 1fr;
  }

  .shop-row {
    grid-template-columns: 56px 1fr;
  }

  .shop-row__num {
    font-size: 24px;
  }

  .shop-exchange__compare {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   WEBSITE-BUSINESS-BROKER PAGE — educational explainer
   distinct from /sell archetypes/movements/manifesto stack.
   ============================================================ */

/* COMPARE TABLE — DIY vs Marketplace vs Senior Broker */
.broker-compare {
  background: var(--white);
}

.broker-compare__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(36px, 4vw, 56px);
}

.broker-compare__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 14px;
}

.broker-compare__title {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--charcoal-deep);
  margin: 0 0 14px;
}

.broker-compare__title em {
  font-style: italic;
  color: var(--forest);
}

.broker-compare__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
}

.broker-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: 0 4px 16px rgba(20, 30, 40, 0.04);
}

.broker-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.broker-table thead th {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-60);
  padding: 18px 20px;
  text-align: left;
  background: var(--cloud);
  border-bottom: 2px solid var(--charcoal-12);
}

.broker-table thead th.broker-table__owned {
  color: var(--forest);
  background: rgba(91, 154, 79, 0.08);
}

.broker-table tbody th {
  font-family: var(--font-display);
  font-size: 14.5px;
  font-weight: 400;
  color: var(--charcoal-deep);
  text-align: left;
  padding: 16px 20px;
  background: var(--cloud);
  border-bottom: 1px solid var(--charcoal-12);
  white-space: nowrap;
}

.broker-table tbody td {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--charcoal-72);
  padding: 16px 20px;
  border-bottom: 1px solid var(--charcoal-12);
}

.broker-table tbody td.broker-table__owned {
  color: var(--charcoal-deep);
  font-weight: 500;
  background: rgba(91, 154, 79, 0.04);
  border-left: 1px solid rgba(91, 154, 79, 0.15);
  border-right: 1px solid rgba(91, 154, 79, 0.15);
}

.broker-table tbody tr:last-child th,
.broker-table tbody tr:last-child td {
  border-bottom: none;
}

.broker-compare__foot {
  text-align: center;
  font-family: var(--font-body);
  font-size: 14.5px;
  color: var(--charcoal-72);
  margin: clamp(28px, 3vw, 40px) auto 0;
  max-width: 64ch;
  line-height: 1.65;
}

.broker-compare__foot strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

/* SIGNALS — checklist of when to call */
.broker-signals {
  background: var(--cloud);
}

.broker-signals__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(40px, 5vw, 60px);
}

.broker-signals__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 14px;
}

.broker-signals__title {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--charcoal-deep);
  margin: 0 0 14px;
}

.broker-signals__title em {
  font-style: italic;
  color: var(--forest);
}

.broker-signals__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 56ch;
  margin-left: auto;
  margin-right: auto;
}

.broker-signals__list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2vw, 24px);
}

.broker-signal {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: start;
  gap: 14px;
  padding: clamp(20px, 2vw, 28px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  border-left: 3px solid var(--forest);
}

.broker-signal__check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--forest);
  color: var(--white);
  border-radius: 50%;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 700;
}

.broker-signal__title {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.25;
  color: var(--charcoal-deep);
  margin: 0 0 6px;
  font-weight: 400;
}

.broker-signal p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  margin: 0;
}

/* FEE PICTURE — single editorial block */
.broker-fees {
  background: var(--white);
}

.broker-fees__paper {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(36px, 4vw, 60px) clamp(32px, 4vw, 64px);
  background: linear-gradient(180deg, var(--charcoal-deep) 0%, #16202a 100%);
  color: var(--white);
  border-radius: var(--radius-lg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.broker-fees__paper::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(135deg, transparent 0 80px, rgba(91, 154, 79, 0.04) 80px 81px);
  pointer-events: none;
}

.broker-fees__paper>* {
  position: relative;
  z-index: 1;
}

.broker-fees__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest-light);
  margin-bottom: 16px;
}

.broker-fees__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.12;
  letter-spacing: -0.018em;
  color: var(--white);
  margin: 0 0 18px;
}

.broker-fees__title em {
  font-style: italic;
  color: var(--forest-light);
}

.broker-fees__lede {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: rgba(232, 237, 229, 0.78);
  margin: 0 auto clamp(32px, 4vw, 48px);
  max-width: 56ch;
}

.broker-fees__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 1.6vw, 24px);
  padding: clamp(20px, 2.4vw, 32px) 0;
  border-top: 1px solid rgba(232, 237, 229, 0.18);
  border-bottom: 1px solid rgba(232, 237, 229, 0.18);
}

.broker-fees__cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
}

.broker-fees__cell-value {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1;
  color: var(--forest-light);
  letter-spacing: -0.02em;
}

.broker-fees__cell-label {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(232, 237, 229, 0.55);
}

.broker-fees__note {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(232, 237, 229, 0.62);
  margin: clamp(28px, 3vw, 40px) auto 0;
  max-width: 56ch;
}

@media (max-width: 760px) {
  .broker-signals__list {
    grid-template-columns: 1fr;
  }

  .broker-fees__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}


/* ============================================================
   /selling-websites-online/ — per-phase visuals
   Ported from Sell-Side Advisory Deck (slides 7, 9, 11, 12, 13).
   Each phase has its own metaphor — no repeated milestone-card grid.
   ============================================================ */

/* Common phase-detail header */
.phase-detail-head {
  text-align: center;
  margin-bottom: clamp(36px, 4vw, 56px);
}

.phase-detail-eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 14px;
}

.phase-detail-head h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.018em;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0;
}

/* ---------- Phase 1 — Vertical workflow (3 stacked rows) ---------- */
.workflow-vertical {
  max-width: 880px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.workflow-row {
  position: relative;
  display: grid;
  grid-template-columns: 80px 1fr 100px;
  align-items: center;
  gap: clamp(20px, 2.4vw, 32px);
  padding: clamp(24px, 2.6vw, 32px) clamp(28px, 3vw, 40px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 4px solid var(--forest);
  border-radius: var(--radius-md);
  box-shadow: 0 2px 8px rgba(20, 30, 40, 0.04);
}

.workflow-row+.workflow-row::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 56px;
  width: 1px;
  height: 10px;
  background: rgba(91, 154, 79, 0.4);
}

.workflow-row-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(36px, 4.4vw, 56px);
  line-height: 1;
  color: var(--forest);
  font-weight: 400;
  text-align: center;
}

.workflow-row-content h3 {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.2;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0 0 8px;
}

.workflow-row-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--charcoal-72);
}

.workflow-row-content ul li {
  position: relative;
  padding-left: 14px;
}

.workflow-row-content ul li::before {
  content: '·';
  position: absolute;
  left: 4px;
  top: -2px;
  color: var(--forest);
  font-weight: 700;
  font-size: 16px;
}

.workflow-row-duration {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-deep);
  text-align: right;
  padding: 8px 12px;
  background: var(--cloud);
  border-radius: 100px;
}

/* ---------- Phase 2 — Funnel (4 narrowing bands) ---------- */
.funnel-eyebrow-row {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 880px;
  margin: 0 auto 18px;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-72);
}

.funnel-eyebrow-rule {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--forest), rgba(91, 154, 79, 0.2));
}

.funnel-stack {
  max-width: 880px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.funnel-band {
  display: grid;
  grid-template-columns: 56px 1fr 2fr;
  align-items: center;
  gap: 20px;
  padding: clamp(18px, 2vw, 26px) clamp(22px, 2.4vw, 32px);
  border: 1px solid var(--charcoal-12);
  border-left: 4px solid var(--forest);
  border-radius: var(--radius-md);
}

.funnel-band:nth-child(1) {
  background: var(--white);
}

.funnel-band:nth-child(2) {
  margin: 0 calc(880px * 0.04);
  background: rgba(91, 154, 79, 0.06);
}

.funnel-band:nth-child(3) {
  margin: 0 calc(880px * 0.09);
  background: rgba(91, 154, 79, 0.10);
}

.funnel-band:nth-child(4) {
  margin: 0 calc(880px * 0.14);
  background: var(--charcoal-deep);
  border-color: rgba(232, 237, 229, 0.18);
  border-left-color: var(--forest-light);
}

.funnel-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  color: var(--forest);
  text-align: center;
}

.funnel-band:nth-child(4) .funnel-num {
  color: var(--forest-light);
}

.funnel-title-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.funnel-stage-tag {
  font-family: var(--font-body);
  font-size: 9.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
}

.funnel-band:nth-child(4) .funnel-stage-tag {
  color: var(--forest-light);
}

.funnel-title {
  font-family: var(--font-display);
  font-size: clamp(17px, 1.8vw, 22px);
  line-height: 1.2;
  color: var(--charcoal-deep);
}

.funnel-band:nth-child(4) .funnel-title {
  color: var(--white);
}

.funnel-bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  font-family: var(--font-body);
  font-size: 13.5px;
  color: var(--charcoal-72);
}

.funnel-band:nth-child(4) .funnel-bullets {
  color: rgba(232, 237, 229, 0.78);
}

.funnel-bullets li {
  position: relative;
  padding-left: 12px;
}

.funnel-bullets li::before {
  content: '·';
  position: absolute;
  left: 2px;
  top: -2px;
  color: var(--forest);
  font-weight: 700;
  font-size: 16px;
}

.funnel-band:nth-child(4) .funnel-bullets li::before {
  color: var(--forest-light);
}

/* ---------- Phase 3 — Data room folders + DD workflow ---------- */
.dd-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(28px, 3.6vw, 56px);
  max-width: 1100px;
  margin: 0 auto;
  align-items: start;
}

.dataroom-visual {
  position: relative;
  padding: clamp(24px, 3vw, 36px);
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
}

.dataroom-stack {
  position: relative;
  height: 220px;
  margin-bottom: 24px;
}

.dataroom-folder {
  position: absolute;
  width: 88%;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 4px;
  padding: 26px 18px 16px;
  box-shadow: 0 6px 18px rgba(20, 30, 40, 0.08);
}

.dataroom-folder:nth-child(1) {
  top: 0;
  left: 0;
  transform: rotate(-2.5deg);
  z-index: 1;
}

.dataroom-folder:nth-child(2) {
  top: 36px;
  left: 6%;
  transform: rotate(0.5deg);
  z-index: 2;
}

.dataroom-folder:nth-child(3) {
  top: 72px;
  left: 12%;
  transform: rotate(2.5deg);
  z-index: 3;
}

.dataroom-folder-tab {
  position: absolute;
  top: -10px;
  left: 14px;
  background: var(--forest);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 3px 3px 0 0;
}

.dataroom-folder-line {
  height: 6px;
  background: var(--charcoal-12);
  border-radius: 100px;
  margin-bottom: 6px;
}

.dataroom-folder-line:nth-child(2) {
  width: 90%;
}

.dataroom-folder-line:nth-child(3) {
  width: 70%;
}

.dataroom-folder-line:nth-child(4) {
  width: 85%;
}

.dataroom-folder-line:nth-child(5) {
  width: 60%;
}

.dataroom-folder-line:nth-child(6) {
  width: 75%;
}

.dataroom-caption {
  text-align: center;
  padding-top: 16px;
  border-top: 1px solid var(--charcoal-12);
}

.dataroom-caption-eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 6px;
}

.dataroom-caption h4 {
  font-family: var(--font-display);
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 400;
  color: var(--charcoal-deep);
  margin: 0;
}

.dd-phases-header {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-deep);
  padding-bottom: 12px;
  border-bottom: 2px solid var(--charcoal-deep);
  margin-bottom: 18px;
}

.dd-phase-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dd-phase {
  display: grid;
  grid-template-columns: 56px 1fr 90px;
  gap: 16px;
  align-items: start;
  padding: 16px 20px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 3px solid var(--forest);
  border-radius: var(--radius-sm);
}

.dd-phase-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(24px, 2.6vw, 32px);
  color: var(--forest);
  text-align: center;
  line-height: 1;
}

.dd-phase-content h3 {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.6vw, 19px);
  font-weight: 400;
  color: var(--charcoal-deep);
  margin: 0 0 4px;
}

.dd-phase-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--charcoal-72);
  display: flex;
  flex-wrap: wrap;
  gap: 2px 14px;
}

.dd-phase-content ul li::before {
  content: '· ';
  color: var(--forest);
  font-weight: 700;
}

.dd-phase-duration {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-deep);
  text-align: right;
  align-self: center;
}

.dd-verified {
  margin-top: 18px;
  padding: 16px 20px;
  background: rgba(91, 154, 79, 0.06);
  border: 1px solid rgba(91, 154, 79, 0.25);
  border-radius: var(--radius-sm);
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 16px;
  align-items: center;
}

.dd-verified-stamp {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 2px solid var(--forest);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 20px;
  color: var(--forest);
  font-weight: 400;
  transform: rotate(-8deg);
}

.dd-verified p {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--charcoal-72);
  margin: 0;
}

.dd-verified strong {
  color: var(--charcoal-deep);
}

/* ---------- Phase 4 — Balance scale ---------- */
.negotiation-balance {
  display: grid;
  grid-template-columns: 1fr 80px 1fr;
  gap: clamp(20px, 2.4vw, 32px);
  align-items: stretch;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}

.balance-side {
  padding: clamp(24px, 3vw, 36px);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.balance-side--secure {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-left: 4px solid var(--forest);
}

.balance-side--protect {
  background: var(--charcoal-deep);
  color: var(--white);
  border-left: 4px solid var(--forest-light);
}

.balance-side-eyebrow {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
}

.balance-side--protect .balance-side-eyebrow {
  color: var(--forest-light);
}

.balance-side-title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 400;
  color: var(--charcoal-deep);
  line-height: 1.2;
}

.balance-side--protect .balance-side-title {
  color: var(--white);
}

.balance-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.balance-list li {
  position: relative;
  padding-left: 22px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--charcoal-72);
}

.balance-side--protect .balance-list li {
  color: rgba(232, 237, 229, 0.78);
}

.balance-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--forest);
  font-weight: 700;
}

.balance-side--protect .balance-list li::before {
  color: var(--forest-light);
}

.balance-list li strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

.balance-side--protect .balance-list li strong {
  color: var(--white);
}

.balance-side-meta {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--charcoal-12);
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-72);
}

.balance-side--protect .balance-side-meta {
  border-top-color: rgba(232, 237, 229, 0.18);
  color: rgba(232, 237, 229, 0.6);
}

.balance-fulcrum {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.balance-fulcrum::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  background: var(--forest);
  transform: translateY(-50%);
}

.balance-fulcrum-label {
  position: relative;
  background: var(--forest);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 100px;
  text-align: center;
  line-height: 1.3;
  z-index: 1;
}

/* ---------- Phase 5 — Closing checklist + stamp ---------- */
.closing-layout {
  display: grid;
  grid-template-columns: 1.4fr 0.9fr;
  gap: clamp(28px, 3.6vw, 56px);
  max-width: 1100px;
  margin: 0 auto;
  align-items: start;
}

.closing-checklist {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.closing-checklist-eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-deep);
  padding-bottom: 10px;
  border-bottom: 2px solid var(--charcoal-deep);
  margin-bottom: 6px;
}

.closing-check {
  display: grid;
  grid-template-columns: 40px 1fr 90px;
  gap: 18px;
  align-items: start;
  padding: 18px 22px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-sm);
}

.closing-check-mark {
  width: 32px;
  height: 32px;
  background: var(--forest);
  color: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
}

.closing-check-content h3 {
  font-family: var(--font-display);
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 400;
  color: var(--charcoal-deep);
  margin: 0 0 4px;
}

.closing-check-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--charcoal-72);
  display: flex;
  flex-wrap: wrap;
  gap: 2px 14px;
}

.closing-check-content ul li::before {
  content: '· ';
  color: var(--forest);
  font-weight: 700;
}

.closing-check-duration {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-deep);
  text-align: right;
  align-self: center;
}

.closing-stamp-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  position: sticky;
  top: 80px;
}

.closing-stamp {
  width: 240px;
  height: 240px;
  border-radius: 50%;
  border: 3px solid var(--forest);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle, transparent 65%, rgba(91, 154, 79, 0.05) 70%, transparent 75%),
    var(--cloud);
  transform: rotate(-6deg);
  box-shadow: 0 8px 24px rgba(20, 30, 40, 0.08);
}

.closing-stamp::before {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px dashed var(--forest);
  border-radius: 50%;
  opacity: 0.5;
}

.closing-stamp-inner {
  text-align: center;
  padding: 20px;
}

.closing-stamp-eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 10px;
}

.closing-stamp-inner h3 {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0 0 12px;
}

.closing-stamp-rule {
  display: block;
  width: 50%;
  height: 1px;
  background: var(--forest);
  margin: 0 auto 10px;
}

.closing-stamp-meta {
  font-family: var(--font-body);
  font-size: 9.5px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
}

.closing-outcome-note {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  text-align: center;
  max-width: 28ch;
  margin: 0;
}

.closing-outcome-note strong {
  color: var(--charcoal-deep);
}

/* Responsive */
@media (max-width: 900px) {
  .workflow-row {
    grid-template-columns: 56px 1fr;
  }

  .workflow-row-duration {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: 0;
  }

  .funnel-band {
    grid-template-columns: 40px 1fr;
  }

  .funnel-band:nth-child(2),
  .funnel-band:nth-child(3),
  .funnel-band:nth-child(4) {
    margin-left: 0;
    margin-right: 0;
  }

  .funnel-band .funnel-bullets {
    grid-column: 1 / -1;
    padding-left: 56px;
  }

  .dd-layout {
    grid-template-columns: 1fr;
  }

  .negotiation-balance {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .balance-fulcrum {
    padding: 8px 0;
  }

  .balance-fulcrum::before {
    left: 50%;
    right: auto;
    top: 0;
    bottom: 0;
    width: 2px;
    height: 100%;
    transform: none;
  }

  .closing-layout {
    grid-template-columns: 1fr;
  }

  .closing-stamp-area {
    order: -1;
    position: static;
  }
}

@media (max-width: 600px) {
  .dd-phase {
    grid-template-columns: 40px 1fr;
  }

  .dd-phase-duration {
    grid-column: 1 / -1;
    padding-left: 56px;
    text-align: left;
  }

  .closing-check {
    grid-template-columns: 32px 1fr;
  }

  .closing-check-duration {
    grid-column: 1 / -1;
    padding-left: 50px;
    text-align: left;
  }
}


/* ============================================================
   /testimonials/ — video testimonials section
   3-up grid of YouTube thumbnail cards. Click opens YouTube in a
   new tab (matches homepage video pattern).
   ============================================================ */
.tm-videos {
  background: var(--cloud);
}

.tm-videos .section-header {
  margin-bottom: clamp(36px, 4vw, 56px);
}

.tm-videos .section-header h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 8px 0 12px;
}

.tm-videos .section-header p {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--charcoal-72);
  line-height: 1.6;
  margin: 0;
}

.tm-video-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
  max-width: 1100px;
  margin: 0 auto;
}

.tm-video-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s var(--ease-out);
}

.tm-video-card:hover {
  transform: translateY(-3px);
}

.tm-video-card:hover .tm-video-thumb img {
  transform: scale(1.03);
}

.tm-video-card:hover .tm-video-play {
  background: var(--forest);
  color: var(--white);
}

.tm-video-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--charcoal-deep);
  border: 1px solid var(--charcoal-12);
  box-shadow: 0 4px 16px rgba(20, 30, 40, 0.08);
}

.tm-video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s var(--ease-out);
}

.tm-video-play {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  box-shadow: 0 8px 22px -6px rgba(15, 30, 22, 0.55);
  transition: background 0.2s var(--ease-out), color 0.2s var(--ease-out), transform 0.2s var(--ease-out);
}

.tm-video-card:hover .tm-video-play {
  transform: scale(1.06);
}

.tm-video-thumb img {
  object-position: center top;
}

.tm-video-play svg {
  width: 22px;
  height: 22px;
  margin-left: 3px;
}

.tm-video-name {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 400;
  color: var(--charcoal-deep);
  margin: 0;
  line-height: 1.15;
}

.tm-video-meta {
  font-family: var(--font-body);
  font-size: 12.5px;
  letter-spacing: 0.04em;
  color: var(--charcoal-72);
  font-weight: 500;
}

.tm-video-card:hover .tm-video-meta {
  color: var(--forest);
}

@media (max-width: 900px) {
  .tm-video-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .tm-video-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   /exit-enhancement/ — Exit Enhancement Program page
   12–24 month pre-sale advisory. Page metaphor: "the value lift."
   Distinct from /sell/ (the receipt) and /selling-websites-online/
   (the timeline) — this page is about building value before the
   sale, not running the sale itself.
   ============================================================ */

/* Common section header used across the page */
.ee-section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto clamp(36px, 4vw, 56px);
}

.ee-eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 14px;
}

.ee-eyebrow--dark {
  color: var(--forest-light);
}

.ee-section-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0 0 14px;
}

.ee-section-title em {
  font-style: italic;
  color: var(--forest);
}

.ee-section-lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- HERO ---------- */
/* === EE-HERO: THE PROSPECTUS COVER === */
.ee-hero {
  position: relative;
  padding: clamp(100px, 12vw, 180px) 0 clamp(56px, 6vw, 96px);
  background:
    radial-gradient(ellipse 40% 50% at 0% 0%, rgba(91, 154, 79, 0.14) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 100% 100%, rgba(0, 76, 151, 0.08) 0%, transparent 60%),
    linear-gradient(170deg, var(--charcoal-deep) 0%, #11181f 50%, #0c1218 100%);
  color: var(--white);
  overflow: hidden;
}

.ee-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 59px, rgba(232, 237, 229, 0.018) 59px 60px),
    repeating-linear-gradient(90deg, transparent 0 59px, rgba(232, 237, 229, 0.018) 59px 60px);
  pointer-events: none;
}

.ee-hero__foil {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, var(--forest) 20%, var(--forest-light) 50%, var(--forest) 80%, transparent 100%);
  z-index: 2;
}

.ee-hero .container {
  position: relative;
  z-index: 1;
  max-width: var(--container-max);
}

.ee-hero__grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
  margin-bottom: clamp(48px, 6vw, 80px);
}

.ee-hero__copy {
  text-align: left;
  max-width: 640px;
}

.ee-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest-light);
  padding: 7px 16px;
  border: 1px solid rgba(91, 154, 79, 0.30);
  border-radius: 100px;
  background: rgba(91, 154, 79, 0.08);
  margin-bottom: 28px;
}

.ee-hero__title {
  font-family: var(--font-display);
  font-size: clamp(42px, 5.5vw, 80px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: var(--white);
  margin: 0 0 clamp(20px, 2.4vw, 32px);
  font-weight: 400;
  padding-bottom: 0.08em;
}

.ee-hero__title em {
  font-style: italic;
  background: linear-gradient(110deg, var(--forest-light) 0%, #97c489 50%, var(--forest-light) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  padding: 0 0.08em 0.1em 0;
  line-height: 1.18;
}

.ee-hero__lede {
  font-family: var(--font-body);
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.7;
  color: rgba(232, 237, 229, 0.72);
  max-width: 52ch;
  margin: 0 0 clamp(28px, 3vw, 40px);
}

.ee-hero__cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.btn-ghost--light {
  color: rgba(232, 237, 229, 0.80) !important;
  border-color: rgba(232, 237, 229, 0.25) !important;
}

.btn-ghost--light:hover {
  color: var(--white) !important;
  border-color: rgba(232, 237, 229, 0.50) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Sigil — the monogram mark on the right */
.ee-hero__sigil {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: clamp(24px, 3vw, 40px);
  user-select: none;
}

.ee-hero__sigil-mark {
  font-family: var(--font-display);
  font-size: clamp(72px, 10vw, 140px);
  line-height: 1;
  letter-spacing: 0.12em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(91, 154, 79, 0.28);
  font-weight: 400;
}

.ee-hero__sigil-line {
  width: 1px;
  height: clamp(24px, 3vw, 40px);
  background: linear-gradient(180deg, var(--forest-light) 0%, transparent 100%);
  margin: 8px 0;
}

.ee-hero__sigil-sub {
  font-family: var(--font-body);
  font-size: 9px;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(232, 237, 229, 0.35);
  writing-mode: horizontal-tb;
}

.ee-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: clamp(20px, 2.4vw, 28px) 0;
  border-top: 1px solid rgba(232, 237, 229, 0.10);
  border-bottom: 1px solid rgba(232, 237, 229, 0.10);
  position: relative;
}

.ee-hero__stat {
  position: relative;
  text-align: center;
  padding: 4px clamp(12px, 1.5vw, 24px);
  border-right: 1px solid rgba(232, 237, 229, 0.10);
}

.ee-hero__stat:last-child {
  border-right: 0;
}

.ee-hero__stat-value {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1;
  color: var(--white);
  letter-spacing: -0.02em;
}

.ee-hero__stat-label {
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(232, 237, 229, 0.40);
  margin-top: 6px;
}

/* ---------- FOUNDER LETTER ---------- */
.ee-letter {
  background: var(--white);
}

.ee-letter__grid {
  display: grid;
  grid-template-columns: 1.5fr 0.85fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
  padding: clamp(36px, 4vw, 60px);
  background: linear-gradient(180deg, rgba(91, 154, 79, 0.04) 0%, transparent 100%);
  border-left: 3px solid var(--forest);
  border-radius: 4px;
}

.ee-letter__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 14px;
}

.ee-letter__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0 0 24px;
}

.ee-letter__copy p {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.72;
  color: var(--charcoal-72);
  margin: 0 0 16px;
}

.ee-letter__signoff {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--charcoal-12);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ee-letter__signoff strong {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(20px, 2vw, 24px);
  color: var(--charcoal-deep);
  font-weight: 400;
}

.ee-letter__signoff span {
  font-family: var(--font-body);
  font-size: 11.5px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--charcoal-60);
}

.ee-letter__portrait {
  position: relative;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--cloud);
  border: 4px solid var(--white);
  box-shadow: 0 12px 32px rgba(20, 30, 40, 0.10);
  max-width: 280px;
  justify-self: center;
}

.ee-letter__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ee-letter__portrait--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 80px;
  color: var(--forest);
  background: linear-gradient(135deg, rgba(91, 154, 79, 0.1), rgba(91, 154, 79, 0.04));
}

.ee-letter__portrait--placeholder::after {
  content: 'DF';
}

/* === EE-BRIEF: THE DIAGNOSIS === */
.ee-brief {
  background: var(--white);
  position: relative;
}

.ee-brief::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(120px, 15vw, 240px);
  height: clamp(120px, 15vw, 240px);
  background: linear-gradient(225deg, var(--sage) 50%, transparent 50%);
  pointer-events: none;
}

.ee-brief__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
  max-width: var(--container-max);
  margin: 0 auto;
}

.ee-brief__lead {
  position: sticky;
  top: 120px;
}

.ee-section-head--left {
  text-align: left;
}

.ee-section-head--left .ee-section-lede {
  margin-left: 0;
  margin-right: 0;
}

.ee-pull-quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(19px, 2vw, 26px);
  line-height: 1.35;
  color: var(--charcoal-deep);
  text-align: left;
  margin: clamp(28px, 3vw, 40px) 0 0;
  padding: clamp(20px, 2.4vw, 28px) 0 clamp(20px, 2.4vw, 28px) clamp(20px, 2.4vw, 28px);
  border-left: 3px solid var(--forest);
  border-top: none;
  border-bottom: none;
}

.ee-pull-quote em {
  color: var(--forest);
}

.ee-arc {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 32px;
}

.ee-arc__line {
  position: absolute;
  left: 8px;
  top: 24px;
  bottom: 24px;
  width: 1px;
  background: linear-gradient(180deg, var(--charcoal-deep) 0%, var(--forest) 50%, var(--blue) 100%);
}

.ee-arc__marker {
  position: absolute;
  left: -28px;
  top: 28px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 2px solid var(--forest);
  background: var(--white);
  z-index: 1;
}

.ee-arc__card {
  position: relative;
  padding: clamp(28px, 3vw, 36px) clamp(24px, 2.8vw, 32px);
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  margin-bottom: clamp(16px, 2vw, 24px);
  transition: transform 0.25s var(--ease-out), box-shadow 0.25s, border-color 0.25s;
}

.ee-arc__card:last-child {
  margin-bottom: 0;
}

.ee-arc__card:hover {
  transform: translateX(4px);
  box-shadow: var(--shadow-md);
  border-color: var(--forest);
}

.ee-arc__card:nth-child(2) .ee-arc__marker {
  border-color: var(--charcoal-deep);
  background: var(--charcoal-deep);
}

.ee-arc__card:nth-child(3) .ee-arc__marker {
  border-color: var(--forest);
  background: var(--forest);
}

.ee-arc__card:nth-child(4) .ee-arc__marker {
  border-color: var(--blue);
  background: var(--blue);
}

.ee-arc__num {
  font-family: var(--font-display);
  font-size: clamp(28px, 2.8vw, 36px);
  line-height: 1;
  color: var(--charcoal-42);
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}

.ee-arc__card:nth-child(2) .ee-arc__num {
  color: var(--charcoal-deep);
}

.ee-arc__card:nth-child(3) .ee-arc__num {
  color: var(--forest);
}

.ee-arc__card:nth-child(4) .ee-arc__num {
  color: var(--blue);
}

.ee-arc__title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.15;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0 0 10px;
}

.ee-arc__card p {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
}

@media (max-width: 880px) {
  .ee-brief__layout {
    grid-template-columns: 1fr;
  }

  .ee-brief__lead {
    position: static;
  }

  .ee-brief::before {
    display: none;
  }
}

/* ---------- THE RISK (dark) ---------- */
.ee-risk {
  position: relative;
  padding: clamp(80px, 10vw, 140px) 0 clamp(72px, 8vw, 120px);
  background:
    radial-gradient(ellipse 60% 60% at 92% 8%, rgba(91, 154, 79, 0.08) 0%, transparent 60%),
    linear-gradient(180deg, var(--charcoal-deep) 0%, #16202a 100%);
  color: var(--white);
  overflow: hidden;
}

.ee-risk::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0 49px, rgba(232, 237, 229, 0.03) 49px 50px);
  pointer-events: none;
  mix-blend-mode: overlay;
  opacity: 0.5;
}

.ee-risk .container {
  position: relative;
  z-index: 1;
}

.ee-risk__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(36px, 4vw, 56px);
}

.ee-risk__title {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--white);
  font-weight: 400;
  margin: 0 0 14px;
}

.ee-risk__title em {
  font-style: italic;
  color: var(--forest-light);
}

.ee-risk__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(232, 237, 229, 0.78);
  margin: 0;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

.ee-risk__bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  max-width: 920px;
  margin: 0 auto clamp(48px, 6vw, 72px);
  padding: clamp(20px, 2.4vw, 28px) 0;
  background: rgba(0, 76, 151, 0.18);
  border: 1px solid rgba(0, 76, 151, 0.4);
  border-radius: var(--radius-md);
}

.ee-risk__stat {
  text-align: center;
  padding: 0 16px;
  border-right: 1px solid rgba(232, 237, 229, 0.12);
}

.ee-risk__stat:last-child {
  border-right: 0;
}

.ee-risk__stat-value {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1;
  color: var(--white);
  letter-spacing: -0.02em;
}

.ee-risk__stat-label {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(232, 237, 229, 0.65);
  margin-top: 8px;
}

.ee-risk__body {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: clamp(32px, 4vw, 64px);
  max-width: 1100px;
  margin: 0 auto;
  align-items: start;
}

.ee-risk__mega {
  padding: clamp(20px, 2.4vw, 28px);
}

.ee-risk__mega-num {
  font-family: var(--font-display);
  font-size: clamp(72px, 9vw, 130px);
  line-height: 1;
  color: var(--forest-light);
  letter-spacing: -0.04em;
  font-weight: 400;
}

.ee-risk__mega-body {
  font-family: var(--font-body);
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.6;
  color: rgba(232, 237, 229, 0.85);
  margin: 18px 0 24px;
}

.ee-risk__mega-callout {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(232, 237, 229, 0.65);
  border-left: 2px solid var(--forest-light);
  padding-left: 18px;
  margin: 0;
}

.ee-risk__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.ee-risk__card {
  padding: clamp(18px, 2vw, 24px);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(232, 237, 229, 0.14);
  border-left: 3px solid var(--forest-light);
  border-radius: var(--radius-sm);
}

.ee-risk__card h4 {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.6vw, 19px);
  font-weight: 400;
  color: var(--white);
  margin: 0 0 8px;
}

.ee-risk__card p {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(232, 237, 229, 0.72);
  margin: 0;
}

.ee-risk__flags {
  max-width: 1100px;
  margin: clamp(40px, 5vw, 64px) auto 0;
  padding: clamp(20px, 2.4vw, 28px);
  background: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(232, 237, 229, 0.22);
  border-radius: var(--radius-sm);
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 28px;
  align-items: center;
}

.ee-risk__flags h4 {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 2vw, 22px);
  color: var(--forest-light);
  font-weight: 400;
  margin: 0;
}

.ee-risk__flags ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 24px;
  font-family: var(--font-body);
  font-size: 13.5px;
  color: rgba(232, 237, 229, 0.78);
}

.ee-risk__flags li::before {
  content: '⚠ ';
  color: var(--forest-light);
  font-weight: 700;
  margin-right: 4px;
}

/* === EE-DELTA: THE FAULT LINE === */
.ee-delta {
  background: var(--sage);
  position: relative;
  overflow: hidden;
}

.ee-delta__fracture {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, transparent 0%, var(--charcoal-20) 20%, var(--charcoal-20) 80%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

.ee-delta .container {
  position: relative;
  z-index: 1;
}

.ee-delta__grid {
  display: grid;
  grid-template-columns: 1fr 240px 1fr;
  gap: clamp(20px, 2.4vw, 28px);
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
}

.ee-delta__card {
  padding: clamp(28px, 3vw, 40px);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s;
}

.ee-delta__card:hover {
  transform: translateY(-4px);
}

.ee-delta__card--owner {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  box-shadow: var(--shadow-md);
}

.ee-delta__card--owner:hover {
  box-shadow: var(--shadow-lg);
}

.ee-delta__card--owner .ee-delta__value {
  color: var(--forest);
}

.ee-delta__card--buyer {
  background: var(--charcoal-deep);
  color: var(--white);
  border: 1px solid rgba(232, 237, 229, 0.08);
  box-shadow: 0 16px 48px rgba(29, 40, 48, 0.25);
}

.ee-delta__card--buyer:hover {
  box-shadow: 0 24px 64px rgba(29, 40, 48, 0.35);
}

.ee-delta__card.ee-delta__card--buyer .ee-delta__label {
  color: rgba(255, 255, 255, 0.75);
}

.ee-delta__card.ee-delta__card--buyer .ee-delta__value {
  color: var(--white);
}

.ee-delta__card.ee-delta__card--buyer p {
  color: rgba(255, 255, 255, 0.92);
}

.ee-delta__card.ee-delta__card--buyer ul {
  color: rgba(255, 255, 255, 0.92);
}

.ee-delta__card.ee-delta__card--buyer li {
  color: rgba(255, 255, 255, 0.92);
}

.ee-delta__card.ee-delta__card--buyer li::before {
  color: rgba(255, 255, 255, 0.6);
}

.ee-delta__card.ee-delta__card--buyer .ee-delta__tag {
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.12);
}

.ee-delta__label {
  font-family: var(--font-body);
  font-size: 10.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-42);
  margin-bottom: 12px;
}

.ee-delta__value {
  font-family: var(--font-display);
  font-size: clamp(52px, 7vw, 96px);
  line-height: 1;
  color: var(--charcoal-deep);
  letter-spacing: -0.03em;
  margin-bottom: 16px;
}

.ee-delta__card p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  margin: 0 0 16px;
}

.ee-delta__card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--charcoal-72);
}

.ee-delta__card li {
  position: relative;
  padding-left: 18px;
}

.ee-delta__card li::before {
  content: '·';
  position: absolute;
  left: 4px;
  top: -2px;
  color: var(--forest);
  font-weight: 700;
  font-size: 16px;
}

.ee-delta__tag {
  margin-top: auto;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal-42);
  padding: 6px 12px;
  background: rgba(54, 69, 79, 0.06);
  border-radius: 100px;
  align-self: flex-start;
}

.ee-delta__bridge {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(91, 154, 79, 0.16) 0%, transparent 60%),
    linear-gradient(180deg, #1a2530 0%, var(--charcoal-deep) 50%, #1a2530 100%);
  color: var(--white);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.8vw, 32px);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  border: 1px solid rgba(91, 154, 79, 0.25);
  box-shadow: 0 0 60px rgba(91, 154, 79, 0.08);
  position: relative;
  overflow: hidden;
}

.ee-delta__bridge-crack {
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--forest-light) 50%, transparent 100%);
  margin: 4px auto;
}

.ee-delta__bridge-h {
  font-family: var(--font-body);
  font-size: 9.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest-light);
}

.ee-delta__bridge-num {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1;
  font-weight: 400;
  background: linear-gradient(180deg, var(--white) 0%, #d5e8cd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ee-delta__bridge p {
  font-family: var(--font-body);
  font-size: 11.5px;
  line-height: 1.5;
  color: rgba(232, 237, 229, 0.70);
  margin: 0;
}

.ee-delta__transition {
  text-align: center;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--charcoal-72);
  margin: clamp(36px, 4vw, 56px) auto 0;
  padding: 20px clamp(24px, 3vw, 40px);
  background: var(--white);
  border-radius: var(--radius-md);
  max-width: 56ch;
  box-shadow: var(--shadow-sm);
}

.ee-delta__transition strong {
  color: var(--forest);
  font-weight: 600;
}

/* === EE-FRAMEWORK: THE BLUEPRINT === */
.ee-framework {
  background:
    radial-gradient(ellipse 50% 40% at 20% 80%, rgba(91, 154, 79, 0.12) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 90% 10%, rgba(0, 76, 151, 0.06) 0%, transparent 60%),
    linear-gradient(175deg, #1e2a34 0%, var(--charcoal-deep) 40%, #141e26 100%);
  color: var(--white);
  position: relative;
  overflow: hidden;
}

.ee-framework__grid-bg {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(91, 154, 79, 0.025) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(91, 154, 79, 0.025) 39px 40px);
  pointer-events: none;
}

.ee-framework .container {
  position: relative;
  z-index: 1;
}

.ee-section-title--light {
  color: var(--white);
}

.ee-section-title--light em {
  color: var(--forest-light);
  -webkit-text-fill-color: var(--forest-light);
}

.ee-section-lede--light {
  color: rgba(232, 237, 229, 0.70);
}

.ee-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2vw, 24px);
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.ee-steps__connector {
  display: none;
}

.ee-step {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(232, 237, 229, 0.10);
  padding: clamp(24px, 2.8vw, 32px);
  border-radius: var(--radius-md);
  text-align: center;
  transition: transform 0.25s var(--ease-out), border-color 0.25s, background 0.25s;
}

.ee-step:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(91, 154, 79, 0.35);
  transform: translateY(-3px);
}

.ee-step--final {
  border-color: rgba(91, 154, 79, 0.45);
  background: rgba(91, 154, 79, 0.08);
}

.ee-step__num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: transparent;
  border: 2px solid var(--forest-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--forest-light);
  margin: 0 auto 16px;
  position: relative;
  z-index: 1;
  transition: background 0.25s, color 0.25s;
}

.ee-step:hover .ee-step__num {
  background: var(--forest-light);
  color: var(--charcoal-deep);
}

.ee-step--final .ee-step__num {
  background: var(--forest-light);
  color: var(--charcoal-deep);
  border-color: var(--forest-light);
  box-shadow: 0 0 24px rgba(91, 154, 79, 0.30);
}

.ee-step__title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 24px);
  line-height: 1.1;
  color: var(--white);
  font-weight: 400;
  margin: 0 0 14px;
}

.ee-step ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: left;
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(232, 237, 229, 0.65);
}

.ee-step li {
  position: relative;
  padding-left: 14px;
}

.ee-step li::before {
  content: '\00B7';
  position: absolute;
  left: 2px;
  top: -2px;
  color: var(--forest-light);
  font-weight: 700;
  font-size: 16px;
}

.ee-multiplier {
  max-width: 800px;
  margin: clamp(48px, 6vw, 72px) auto 0;
  padding: clamp(28px, 3vw, 40px) clamp(32px, 4vw, 56px);
  background: rgba(91, 154, 79, 0.08);
  border: 1px solid rgba(91, 154, 79, 0.25);
  color: var(--white);
  border-radius: var(--radius-lg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.ee-multiplier::before {
  content: '\00D7';
  position: absolute;
  top: -50px;
  right: -10px;
  font-family: var(--font-display);
  font-size: 280px;
  line-height: 1;
  color: rgba(91, 154, 79, 0.06);
  pointer-events: none;
  font-style: italic;
}

.ee-multiplier>* {
  position: relative;
}

.ee-multiplier h3 {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 400;
  color: var(--forest-light);
  margin: 0 0 12px;
}

.ee-multiplier p {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.6;
  color: rgba(232, 237, 229, 0.78);
  margin: 0;
  max-width: 56ch;
  margin-left: auto;
  margin-right: auto;
}

.ee-multiplier strong {
  color: var(--white);
  font-weight: 600;
}

/* === EE-STACK: THE LEDGER === */
.ee-stack {
  background: var(--cloud);
  position: relative;
}

.ee-stack__ledger {
  max-width: 960px;
  margin: 0 auto;
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--white);
  box-shadow: var(--shadow-md);
}

.ee-stack__row {
  display: grid;
  grid-template-columns: 72px 180px 1fr;
  gap: 0;
  align-items: center;
  padding: clamp(20px, 2.4vw, 28px) clamp(24px, 2.8vw, 32px);
  border-bottom: 1px solid var(--charcoal-12);
  transition: background 0.2s;
}

.ee-stack__row:last-child {
  border-bottom: none;
}

.ee-stack__row:hover {
  background: var(--forest-pale);
}

.ee-stack__num {
  font-family: var(--font-display);
  font-size: clamp(28px, 2.8vw, 36px);
  line-height: 1;
  color: var(--charcoal-20);
  font-weight: 400;
  letter-spacing: -0.02em;
}

.ee-stack__row:hover .ee-stack__num {
  color: var(--forest);
}

.ee-stack__row h4 {
  font-family: var(--font-display);
  font-size: clamp(17px, 1.8vw, 20px);
  font-weight: 400;
  color: var(--charcoal-deep);
  margin: 0;
  line-height: 1.25;
}

.ee-stack__row p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--charcoal-72);
  margin: 0;
}

.ee-stack__foot {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 960px;
  margin: clamp(40px, 4vw, 56px) auto 0;
  padding-top: clamp(28px, 3vw, 40px);
  border-top: 1px solid var(--charcoal-12);
}

.ee-stack__foot div {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 14px;
  line-height: 1.55;
  color: var(--charcoal-72);
  padding: 0 8px;
}

/* === EE-PRICING: THE INVITATION === */
.ee-pricing {
  background: var(--white);
  position: relative;
}

.ee-plans {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(20px, 2.4vw, 32px);
  max-width: 1060px;
  margin: 0 auto clamp(40px, 5vw, 64px);
  align-items: stretch;
}

.ee-plan {
  position: relative;
  padding: clamp(32px, 3.5vw, 48px);
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s;
}

.ee-plan:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.ee-plan--featured {
  background:
    radial-gradient(ellipse 70% 60% at 30% 10%, rgba(91, 154, 79, 0.12) 0%, transparent 60%),
    linear-gradient(170deg, var(--charcoal-deep) 0%, #11181f 60%, #0c1218 100%);
  color: var(--white);
  border-color: rgba(91, 154, 79, 0.35);
  box-shadow: 0 20px 60px -20px rgba(29, 40, 48, 0.35);
  overflow: hidden;
}

.ee-plan--featured::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--forest) 0%, var(--forest-light) 50%, var(--forest) 100%);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.ee-plan--featured>* {
  position: relative;
}

.ee-plan__badge {
  align-self: flex-start;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  padding: 6px 12px;
  background: rgba(91, 154, 79, 0.08);
  border: 1px solid rgba(91, 154, 79, 0.25);
  border-radius: 100px;
  margin-bottom: 18px;
}

.ee-plan__badge--featured {
  color: var(--charcoal-deep);
  background: var(--forest-light);
  border-color: var(--forest-light);
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(91, 154, 79, 0.35);
}

.ee-plan__name {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.15;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0 0 6px;
}

.ee-plan--featured .ee-plan__name {
  color: var(--white);
}

.ee-plan__cycle {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--charcoal-72);
  margin-bottom: 18px;
}

.ee-plan--featured .ee-plan__cycle {
  color: rgba(232, 237, 229, 0.55);
}

.ee-plan__price {
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1;
  color: var(--charcoal-deep);
  letter-spacing: -0.02em;
  margin-bottom: 4px;
}

.ee-plan__price span {
  font-family: var(--font-body);
  font-size: 13px;
  letter-spacing: 0.04em;
  font-weight: 600;
  color: var(--charcoal-72);
}

.ee-plan--featured .ee-plan__price {
  background: linear-gradient(180deg, var(--white) 0%, #cfe1c8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ee-plan--featured .ee-plan__price span {
  -webkit-text-fill-color: rgba(232, 237, 229, 0.50);
}

.ee-plan__fit {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--charcoal-72);
  margin: 14px 0 22px;
}

.ee-plan--featured .ee-plan__fit {
  color: rgba(232, 237, 229, 0.65);
}

.ee-plan ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid var(--charcoal-12);
  padding-top: 18px;
}

.ee-plan--featured ul {
  border-top-color: rgba(232, 237, 229, 0.12);
}

.ee-plan li {
  position: relative;
  padding-left: 22px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--charcoal-72);
}

.ee-plan--featured li {
  color: rgba(232, 237, 229, 0.78);
}

.ee-plan li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--forest);
  font-weight: 700;
}

.ee-plan--featured li::before {
  color: var(--forest-light);
}

.ee-pricing__fit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2vw, 24px);
  max-width: 1060px;
  margin: 0 auto;
}

.ee-pricing__fit-card {
  padding: clamp(24px, 2.8vw, 32px);
  background: var(--sage);
  border: none;
  border-radius: var(--radius-md);
  position: relative;
  padding-left: clamp(36px, 3.5vw, 48px);
}

.ee-pricing__fit-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--forest) 0%, var(--forest-light) 100%);
  border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.ee-pricing__fit-card h4 {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 400;
  color: var(--charcoal-deep);
  margin: 0 0 8px;
}

.ee-pricing__fit-card p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  margin: 0;
}

/* === EE-CLOSING STEPS: THE HANDSHAKE === */
.ee-closing-steps {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  max-width: 900px;
  margin: clamp(32px, 4vw, 48px) auto;
  border: 1px solid rgba(232, 237, 229, 0.10);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.ee-closing-steps li {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: center;
  padding: clamp(20px, 2.4vw, 28px);
  background: rgba(255, 255, 255, 0.03);
  border-right: 1px solid rgba(232, 237, 229, 0.08);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: rgba(232, 237, 229, 0.75);
  text-align: left;
  transition: background 0.2s;
}

.ee-closing-steps li:last-child {
  border-right: none;
}

.ee-closing-steps li:hover {
  background: rgba(91, 154, 79, 0.06);
}

.ee-closing-steps__num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--forest-light);
  color: var(--forest-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 400;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .ee-letter__grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .ee-letter__portrait {
    margin: 0 auto;
  }

  .ee-letter__signoff {
    align-items: center;
  }

  .ee-arc {
    grid-template-columns: 1fr;
  }

  .ee-risk__body {
    grid-template-columns: 1fr;
  }

  .ee-risk__grid {
    grid-template-columns: 1fr 1fr;
  }

  .ee-delta__grid {
    grid-template-columns: 1fr;
  }

  .ee-delta__bridge {
    order: 0;
    padding: 20px;
  }

  .ee-delta__fracture {
    display: none;
  }

  .ee-steps {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 20px;
  }

  .ee-steps::before {
    display: none;
  }

  .ee-steps__connector {
    display: none;
  }

  .ee-stack__row {
    grid-template-columns: 56px 1fr;
  }

  .ee-stack__row p {
    grid-column: 2;
  }

  .ee-stack__foot {
    grid-template-columns: 1fr;
  }

  .ee-plans {
    grid-template-columns: 1fr;
  }

  .ee-pricing__fit {
    grid-template-columns: 1fr;
  }

  .ee-closing-steps {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .ee-hero__grid {
    grid-template-columns: 1fr;
  }

  .ee-hero__sigil {
    display: none;
  }

  .ee-hero__stats {
    grid-template-columns: 1fr 1fr;
  }

  .ee-hero__stat {
    border-right: 0;
    border-bottom: 1px solid rgba(232, 237, 229, 0.08);
    padding: 12px 0;
  }

  .ee-hero__stat:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .ee-risk__bar {
    grid-template-columns: 1fr;
    padding: 14px 0;
  }

  .ee-risk__stat {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(232, 237, 229, 0.12);
    border-right: 0;
  }

  .ee-risk__stat:last-child {
    border-bottom: 0;
  }

  .ee-risk__grid {
    grid-template-columns: 1fr;
  }

  .ee-risk__flags {
    grid-template-columns: 1fr;
  }

  .ee-risk__flags ul {
    grid-template-columns: 1fr;
  }

  .ee-steps {
    grid-template-columns: 1fr;
  }

  .ee-stack__row {
    grid-template-columns: 48px 1fr;
  }

  .ee-stack__row h4 {
    grid-column: 2;
  }

  .ee-stack__row p {
    grid-column: 1 / -1;
    padding-left: 48px;
  }
}

/* ============================================================
   /selling-websites-online/  Founder video + Proof stats
   Two new sections added between Wireout and Archetypes.
   ============================================================ */

.section.founder-video {
  background: var(--white);
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}

.founder-video-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}

.founder-video-eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 14px;
}

.founder-video-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.1;
  color: var(--charcoal-deep);
  margin: 0 0 16px;
}

.founder-video-title em {
  font-style: italic;
  color: var(--forest);
}

.founder-video-lede {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0 0 20px;
}

.founder-video-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  color: var(--forest);
  text-decoration: none;
  border-bottom: 2px solid var(--forest-12);
  padding-bottom: 3px;
  transition: border-color var(--duration-fast) var(--ease-out);
}

.founder-video-link:hover {
  border-bottom-color: var(--forest);
}

.founder-video-thumb {
  position: relative;
  display: block;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  aspect-ratio: 16 / 9;
  background: var(--charcoal-deep);
  text-decoration: none;
}

.founder-video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--duration-base) var(--ease-out);
}

.founder-video-thumb:hover img {
  transform: scale(1.03);
}

.founder-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--white);
  color: var(--forest);
  display: grid;
  place-items: center;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
  transition: background var(--duration-fast) var(--ease-out),
    transform var(--duration-fast) var(--ease-spring);
}

.founder-video-thumb:hover .founder-video-play {
  background: var(--forest);
  color: var(--white);
  transform: translate(-50%, -50%) scale(1.06);
}

@media (max-width: 820px) {
  .founder-video-grid {
    grid-template-columns: 1fr;
  }

  .founder-video-play {
    width: 60px;
    height: 60px;
  }
}

/* ---- Proof stats band ---- */

.section.proof-stats {
  background: var(--charcoal-deep);
  padding: clamp(48px, 6vw, 80px) 0;
}

.proof-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 3vw, 40px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.proof-stat {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: center;
  padding: 0 8px;
  position: relative;
}

.proof-stat:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 18%;
  bottom: 18%;
  right: calc(clamp(20px, 3vw, 40px) / -2);
  width: 1px;
  background: rgba(232, 237, 229, 0.14);
}

.proof-stat__num {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1;
  color: var(--white);
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
}

.proof-stat__plus {
  font-family: var(--font-body);
  font-size: 0.5em;
  font-weight: 600;
  color: var(--forest-light);
  margin-left: 2px;
}

.proof-stat__label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.62);
}

@media (max-width: 720px) {
  .proof-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 32px;
  }

  .proof-stat:nth-child(2)::after {
    display: none;
  }

  .proof-stat:not(:last-child)::after {
    right: -16px;
  }
}

@media (max-width: 420px) {
  .proof-stats-grid {
    grid-template-columns: 1fr;
  }

  .proof-stat::after {
    display: none !important;
  }
}

/* ============================================================
   /website-online-business-valuation/  redesigned sections
   - val-evaluate   : "What we actually evaluate" (new)
   - val-spine      : "Three steps" timeline-spine (redesign)
   - val-market     : market-data table (redesign)
   - val-advisor    : rich advisor + first-call testimonials (redesign)
   - val-why        : "Why get a valuation now" 3 tonal cards (new)
   ============================================================ */

/* ---- WHAT WE EVALUATE ---- */
.val-evaluate-section {
  background: var(--white);
  padding: clamp(80px, 9vw, 120px) 0;
}

.val-evaluate-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(40px, 5vw, 64px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.val-evaluate-grid>.val-evaluate-head {
  grid-column: 1 / -1;
  max-width: none;
}

@media (min-width: 880px) {
  .val-evaluate-grid {
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
    gap: clamp(40px, 5vw, 72px);
  }

  .val-evaluate-grid>.val-evaluate-head {
    grid-column: 1 / -1;
    max-width: 880px;
  }

  .val-evaluate-aside {
    position: sticky;
    top: clamp(80px, 10vw, 120px);
  }
}

.val-evaluate-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.6vw, 48px);
  line-height: 1.1;
  color: var(--charcoal-deep);
  margin: 8px 0 18px;
  letter-spacing: -0.015em;
}

.val-evaluate-title em {
  font-style: italic;
  color: var(--forest);
}

.val-evaluate-lede {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--charcoal-72);
  max-width: 60ch;
  margin: 0;
}

.val-evaluate-list {
  display: grid;
  gap: clamp(20px, 2.4vw, 28px);
}

.val-evaluate-item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 20px;
  padding-top: clamp(20px, 2.4vw, 28px);
  border-top: 1px solid var(--charcoal-12);
  align-items: start;
}

.val-evaluate-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.val-evaluate-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1;
  color: var(--forest);
  letter-spacing: -0.01em;
}

.val-evaluate-item h4 {
  grid-column: 2;
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 400;
  line-height: 1.2;
  color: var(--charcoal-deep);
  margin: 2px 0 8px;
}

.val-evaluate-item p {
  grid-column: 2;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
}

.val-evaluate-item p em {
  font-style: italic;
  color: var(--charcoal);
}

.val-evaluate-aside {
  background: var(--charcoal-deep);
  color: var(--white);
  padding: clamp(28px, 3vw, 40px);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  align-self: start;
}

.val-evaluate-aside::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg, transparent 0 60px, rgba(91, 154, 79, 0.04) 60px 61px);
  pointer-events: none;
}

.val-evaluate-aside>* {
  position: relative;
}

.val-evaluate-quote {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.35;
  color: var(--white);
  margin: 0 0 28px;
  font-style: normal;
  letter-spacing: -0.005em;
}

.val-evaluate-quote em {
  font-style: italic;
  color: var(--forest-light);
}

.val-evaluate-sources-label {
  display: block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.6);
  margin-bottom: 12px;
}

.val-evaluate-sources-row {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.val-evaluate-sources-row li {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  color: rgba(232, 237, 229, 0.85);
  padding: 5px 10px;
  border: 1px solid rgba(232, 237, 229, 0.18);
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.04);
}

/* ---- THREE STEPS — TIMELINE SPINE ---- */
.val-spine-section {
  background: var(--cloud);
  padding: clamp(80px, 9vw, 120px) 0;
}

.val-spine-head {
  max-width: 720px;
  margin: 0 auto clamp(48px, 5vw, 72px);
  text-align: center;
  padding: 0 var(--gutter);
}

.val-spine-head h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.1;
  color: var(--charcoal-deep);
  margin: 8px 0 14px;
  font-weight: 400;
}

.val-spine-lede {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
}

.val-spine {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 1180px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 28px);
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding: 0 var(--gutter);
}

.val-spine::before {
  content: "";
  position: absolute;
  top: 92px;
  left: calc(var(--gutter) + 32px);
  right: calc(var(--gutter) + 32px);
  height: 2px;
  background: linear-gradient(90deg, var(--forest-12), var(--forest), var(--forest-12));
  z-index: 0;
}

.val-spine__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 1;
}

.val-spine__when {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 16px;
}

.val-spine__node {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--white);
  border: 2px solid var(--forest);
  color: var(--forest);
  margin-bottom: 24px;
  position: relative;
  box-shadow: 0 0 0 6px var(--cloud);
}

.val-spine__step--1 .val-spine__node {
  background: var(--white);
}

.val-spine__step--2 .val-spine__node {
  background: var(--charcoal-deep);
  border-color: var(--charcoal-deep);
  color: var(--white);
}

.val-spine__step--3 .val-spine__node {
  background: var(--forest);
  border-color: var(--forest);
  color: var(--white);
}

.val-spine__title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 400;
  line-height: 1.2;
  color: var(--charcoal-deep);
  margin: 0 0 12px;
}

.val-spine__copy {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0 0 16px;
  flex: 1;
}

.val-spine__chip {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal-72);
  padding: 6px 12px;
  border: 1px dashed var(--charcoal-20);
  border-radius: 100px;
  align-self: flex-start;
}

/* Step 1 panel — soft forest tint */
.val-spine__step--1 {
  background: linear-gradient(180deg, rgba(91, 154, 79, 0.06), rgba(91, 154, 79, 0.02));
  border: 1px solid var(--forest-12);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.6vw, 32px);
}

/* Step 2 panel — charcoal-deep, white text */
.val-spine__step--2 {
  background: var(--charcoal-deep);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.6vw, 32px);
  position: relative;
  overflow: hidden;
}

.val-spine__step--2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg, transparent 0 60px, rgba(91, 154, 79, 0.04) 60px 61px);
  pointer-events: none;
}

.val-spine__step--2>* {
  position: relative;
}

.val-spine__step--2 .val-spine__when {
  color: var(--forest-light);
}

.val-spine__step--2 .val-spine__title {
  color: var(--white);
}

.val-spine__step--2 .val-spine__copy {
  color: rgba(232, 237, 229, 0.78);
}

.val-spine__step--2 .val-spine__chip {
  color: rgba(232, 237, 229, 0.7);
  border-color: rgba(232, 237, 229, 0.22);
}

/* Step 3 panel — cream + faux deliverable receipt */
.val-spine__step--3 {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.6vw, 32px);
}

.val-spine__deliverable {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 14px 12px;
  margin: 0 0 16px;
  background: var(--cloud);
  border: 1px dashed var(--forest-12);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
}

.val-spine__deliverable-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--forest);
}

.val-spine__deliverable-meta {
  font-size: 12px;
  color: var(--charcoal-72);
  margin-bottom: 4px;
}

.val-spine__deliverable-list {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  color: var(--charcoal);
}

.val-spine__deliverable-list li::before {
  content: "✓ ";
  color: var(--forest);
  font-weight: 700;
  margin-right: 4px;
}

@media (max-width: 880px) {
  .val-spine {
    grid-template-columns: 1fr;
  }

  .val-spine::before {
    display: none;
  }
}

/* ---- MARKET TABLE ---- */
.val-market-section {
  background: var(--white);
  padding: clamp(80px, 9vw, 120px) 0;
}

.val-market-head {
  max-width: 760px;
  margin: 0 auto clamp(40px, 5vw, 56px);
  text-align: center;
  padding: 0 var(--gutter);
}

.val-market-head h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.6vw, 46px);
  line-height: 1.1;
  color: var(--charcoal-deep);
  margin: 8px 0 12px;
  font-weight: 400;
}

.val-market-head h2 em {
  font-style: italic;
  color: var(--forest);
}

.val-market-stamp {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--forest);
  background: var(--forest-pale);
  padding: 6px 14px;
  border-radius: 100px;
  margin: 0 0 18px;
}

.val-market-lede {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

.val-market-table {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1fr;
  border-top: 2px solid var(--charcoal-deep);
}

.val-market-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 2fr 1.6fr;
  gap: clamp(16px, 2vw, 28px);
  padding: clamp(18px, 2vw, 22px) 0;
  border-bottom: 1px solid var(--charcoal-12);
  align-items: center;
}

.val-market-row--head {
  background: transparent;
  border-bottom: 1px solid var(--charcoal-deep);
}

.val-market-row--head .val-market-cell {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--charcoal-72);
}

.val-market-row--featured {
  background: linear-gradient(180deg, var(--forest-pale) 0%, transparent 100%);
  margin: 0 calc(var(--gutter) * -0.5);
  padding-left: calc(var(--gutter) * 0.5);
  padding-right: calc(var(--gutter) * 0.5);
  border-radius: var(--radius-md);
  border-bottom-color: var(--forest-12);
}

.val-market-feature-tag {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--forest);
  background: var(--white);
  padding: 4px 10px;
  border-radius: 100px;
  border: 1px solid var(--forest-12);
  margin-bottom: 6px;
}

.val-market-cell {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--charcoal);
}

.val-market-cell--vertical {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.val-market-vertical {
  font-family: var(--font-display);
  font-size: clamp(17px, 1.8vw, 20px);
  font-weight: 400;
  color: var(--charcoal-deep);
  letter-spacing: -0.01em;
}

.val-market-cell--range {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  color: var(--charcoal-deep);
  letter-spacing: -0.01em;
}

.val-market-cell--range strong {
  color: var(--forest);
  font-weight: 400;
}

.val-market-cell--driver {
  color: var(--charcoal-72);
}

.val-market-cell--killer {
  color: var(--charcoal-72);
  font-style: italic;
}

.val-market-foot {
  max-width: 1180px;
  margin: clamp(20px, 2vw, 28px) auto 0;
  padding: 0 var(--gutter);
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--charcoal-72);
  text-align: center;
  font-style: italic;
}

.val-market-foot strong {
  color: var(--forest);
  font-weight: 600;
  font-style: normal;
}

@media (max-width: 880px) {

  .val-market-row,
  .val-market-row--head {
    display: none;
  }

  .val-market-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
    border-top: 1px solid var(--charcoal-12);
    border-bottom: 0;
  }

  .val-market-cell--vertical {
    order: 1;
  }

  .val-market-cell--range {
    order: 2;
    padding: 4px 0;
  }

  .val-market-cell--driver {
    order: 3;
  }

  .val-market-cell--killer {
    order: 4;
  }

  .val-market-cell--driver::before {
    content: "Driver: ";
    font-weight: 700;
    color: var(--forest);
  }

  .val-market-cell--killer::before {
    content: "Range-killer: ";
    font-weight: 700;
    color: var(--charcoal);
    font-style: normal;
  }
}

/* ---- ADVISOR rich layout ---- */
.val-advisor-section {
  background: linear-gradient(180deg, var(--sage) 0%, var(--cloud) 100%);
  padding: clamp(80px, 9vw, 120px) 0;
}

.val-advisor-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(40px, 5vw, 56px);
  padding: 0 var(--gutter);
}

.val-advisor-head h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.6vw, 46px);
  line-height: 1.1;
  color: var(--charcoal-deep);
  margin: 8px 0 12px;
  font-weight: 400;
}

.val-advisor-head h2 em {
  font-style: italic;
  color: var(--forest);
}

.val-advisor-lede {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
}

.val-advisor-card {
  max-width: 1100px;
  margin: 0 auto clamp(40px, 5vw, 56px);
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
}

@media (min-width: 880px) {
  .val-advisor-card {
    grid-template-columns: 0.8fr 1.2fr;
  }

  .val-advisor-card:has(.val-advisor-body--full) {
    grid-template-columns: 1fr;
    max-width: 880px;
  }
}

.val-advisor-body--full {
  max-width: 720px;
  margin: 0 auto;
}

.val-advisor-portrait {
  position: relative;
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--charcoal-deep);
  aspect-ratio: 4 / 5;
  border: 1px solid var(--forest-12);
  box-shadow: 0 16px 40px rgba(20, 30, 40, 0.10);
}

.val-advisor-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.val-advisor-portrait--placeholder {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--forest), var(--forest-light));
  color: var(--white);
  font-family: var(--font-display);
  font-size: 96px;
}

.val-advisor-portrait--placeholder::before {
  content: "DF";
}

.val-advisor-portrait__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(16px, 2vw, 24px) clamp(20px, 2.4vw, 28px);
  background: linear-gradient(180deg, transparent, rgba(20, 30, 40, 0.85));
  color: var(--white);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.val-advisor-portrait__name {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 28px);
  letter-spacing: -0.01em;
}

.val-advisor-portrait__role {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.78);
}

.val-advisor-body {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.4vw, 28px);
}

.val-advisor-bio {
  font-family: var(--font-body);
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.65;
  color: var(--charcoal);
  margin: 0;
}

.val-advisor-deflist {
  margin: 0;
  display: grid;
  gap: 18px;
  padding: clamp(20px, 2.4vw, 24px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
}

.val-advisor-deflist>div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.val-advisor-deflist dt {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--forest);
}

.val-advisor-deflist dd {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--charcoal-72);
  margin: 0;
}

.val-advisor-direct {
  font-family: var(--font-body);
  font-size: 14.5px;
  color: var(--charcoal-72);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.val-advisor-direct__line {
  color: var(--forest);
  text-decoration: none;
  border-bottom: 1px solid var(--forest-12);
}

.val-advisor-direct__line:hover {
  border-bottom-color: var(--forest);
}

.val-advisor-direct__sep {
  color: var(--charcoal-20);
}

/* Voices row */
.val-advisor-voices {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(32px, 4vw, 48px) var(--gutter) 0;
  border-top: 1px solid var(--charcoal-12);
}

.val-advisor-voices__head {
  display: block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--forest);
  text-align: center;
  margin-bottom: clamp(24px, 3vw, 36px);
}

.val-advisor-voices__row {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 2.4vw, 28px);
}

@media (min-width: 880px) {
  .val-advisor-voices__row {
    grid-template-columns: repeat(3, 1fr);
  }
}

.val-advisor-voice {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  padding: clamp(22px, 2.4vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.val-advisor-voice blockquote {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoal);
  margin: 0;
  border-left: 2px solid var(--forest);
  padding-left: 14px;
}

.val-advisor-voice blockquote strong {
  color: var(--forest);
  font-weight: 600;
}

.val-advisor-voice cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: auto;
}

.val-advisor-voice__name {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--charcoal-deep);
  letter-spacing: -0.005em;
}

.val-advisor-voice__biz {
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--charcoal-72);
}

/* ---- WHY GET A VALUATION NOW ---- */
.val-why-section {
  background: var(--white);
  padding: clamp(80px, 9vw, 120px) 0;
}

.val-why-head {
  max-width: 760px;
  margin: 0 auto clamp(40px, 5vw, 56px);
  text-align: center;
  padding: 0 var(--gutter);
}

.val-why-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.6vw, 46px);
  line-height: 1.1;
  color: var(--charcoal-deep);
  margin: 8px 0 12px;
  font-weight: 400;
}

.val-why-title em {
  font-style: italic;
  color: var(--forest);
}

.val-why-lede {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
}

.val-why-grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 2.4vw, 28px);
}

@media (min-width: 880px) {
  .val-why-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.val-why-card {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.6vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
  transition: transform 0.25s var(--ease-out), border-color 0.2s, box-shadow 0.25s;
}

.val-why-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--charcoal-deep);
}

.val-why-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(20, 30, 40, 0.06);
}

.val-why-card--prepare::before {
  background: var(--forest);
}

.val-why-card--prepare {
  background: linear-gradient(180deg, rgba(91, 154, 79, 0.05), var(--white) 60%);
}

.val-why-card--decide::before {
  background: var(--charcoal-deep);
}

.val-why-card--track::before {
  background: var(--blue);
}

.val-why-card--track {
  background: linear-gradient(180deg, rgba(0, 76, 151, 0.04), var(--white) 60%);
}

.val-why-card__chip {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--charcoal-72);
  border: 1px dashed var(--charcoal-20);
  padding: 5px 10px;
  border-radius: 100px;
  align-self: flex-start;
}

.val-why-card--prepare .val-why-card__chip {
  color: var(--forest);
  border-color: var(--forest-12);
}

.val-why-card--decide .val-why-card__chip {
  color: var(--charcoal-deep);
  border-color: var(--charcoal-20);
}

.val-why-card--track .val-why-card__chip {
  color: var(--blue);
  border-color: var(--blue-border);
}

.val-why-card__title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.15;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0;
}

.val-why-card__copy {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
  flex: 1;
}

.val-why-card__copy strong {
  color: var(--charcoal);
  font-weight: 600;
}

.val-why-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--forest);
  text-decoration: none;
  border-bottom: 2px solid var(--forest-12);
  padding-bottom: 3px;
  align-self: flex-start;
  transition: border-color var(--duration-fast) var(--ease-out);
}

.val-why-card__link:hover {
  border-bottom-color: var(--forest);
}

.val-why-card--track .val-why-card__link {
  color: var(--blue);
  border-bottom-color: var(--blue-border);
}

.val-why-card--track .val-why-card__link:hover {
  border-bottom-color: var(--blue);
}

.val-why-card__link--muted {
  color: var(--charcoal-72);
  border-bottom: 0;
  font-style: italic;
  font-weight: 500;
  cursor: default;
}

/* ============================================================
   /verticals/  — All Verticals landing page
   ============================================================ */
.vrt-hero {
  background:
    radial-gradient(ellipse 60% 70% at 12% 18%, rgba(91, 154, 79, 0.10) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 88% 86%, rgba(0, 76, 151, 0.06) 0%, transparent 60%),
    var(--cloud);
  padding: clamp(96px, 12vw, 160px) 0 clamp(48px, 6vw, 80px);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.vrt-hero .container {
  max-width: 880px;
  position: relative;
  z-index: 1;
}

.vrt-hero__eyebrow {
  color: var(--forest);
}

.vrt-hero__title {
  font-family: var(--font-display);
  font-size: clamp(40px, 5.4vw, 76px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin: 12px 0 20px;
  font-weight: 400;
}

.vrt-hero__title em {
  font-style: italic;
  color: var(--forest);
}

.vrt-hero__lede {
  font-family: var(--font-body);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.65;
  color: var(--charcoal-72);
  max-width: 60ch;
  margin: 0 auto;
}

.vrt-grid-section {
  background: var(--white);
  padding: clamp(64px, 7vw, 96px) 0;
}

.vrt-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 28px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}

@media (max-width: 880px) {
  .vrt-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .vrt-grid {
    grid-template-columns: 1fr;
  }
}

.vrt-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(24px, 2.6vw, 32px);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform 0.25s var(--ease-out), border-color 0.2s, box-shadow 0.25s;
}

.vrt-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--forest);
  opacity: 0.7;
  transition: opacity 0.2s, height 0.2s;
}

.vrt-card:hover {
  transform: translateY(-4px);
  border-color: var(--forest);
  box-shadow: 0 16px 40px rgba(20, 30, 40, 0.08);
}

.vrt-card:hover::before {
  opacity: 1;
  height: 4px;
}

.vrt-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: var(--forest-pale);
  color: var(--forest);
  display: grid;
  place-items: center;
  margin-bottom: 4px;
}

.vrt-card__multiple {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--forest);
  background: var(--white);
  border: 1px solid var(--forest-12);
  padding: 5px 12px;
  border-radius: 100px;
  align-self: flex-start;
}

.vrt-card__title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.15;
  color: var(--charcoal-deep);
  font-weight: 400;
  margin: 0;
}

.vrt-card__copy {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
  flex: 1;
}

.vrt-card__link {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--forest);
  margin-top: 4px;
}

/* Tonal accents per vertical */
.vrt-card--saas::before {
  background: var(--blue);
}

.vrt-card--saas .vrt-card__multiple,
.vrt-card--saas .vrt-card__icon,
.vrt-card--saas .vrt-card__link {
  color: var(--blue);
}

.vrt-card--saas .vrt-card__icon {
  background: rgba(0, 76, 151, 0.08);
}

.vrt-card--saas:hover {
  border-color: var(--blue);
}

.vrt-card--ecom::before {
  background: var(--forest);
}

.vrt-card--fba::before {
  background: #c4694a;
}

.vrt-card--fba .vrt-card__multiple,
.vrt-card--fba .vrt-card__icon,
.vrt-card--fba .vrt-card__link {
  color: #c4694a;
}

.vrt-card--fba .vrt-card__icon {
  background: rgba(196, 105, 74, 0.08);
}

.vrt-card--fba:hover {
  border-color: #c4694a;
}

.vrt-card--content::before {
  background: var(--charcoal-deep);
}

.vrt-card--content .vrt-card__multiple,
.vrt-card--content .vrt-card__icon,
.vrt-card--content .vrt-card__link {
  color: var(--charcoal-deep);
}

.vrt-card--content .vrt-card__icon {
  background: rgba(54, 69, 79, 0.08);
}

.vrt-card--content:hover {
  border-color: var(--charcoal-deep);
}

.vrt-card--agency::before {
  background: var(--forest-light);
}

.vrt-card--marketplaces::before {
  background: var(--forest);
}

/* Long-tail section */
.vrt-tail-section {
  background: var(--cloud);
  padding: clamp(80px, 9vw, 120px) 0;
}

.vrt-tail__head {
  max-width: 760px;
  margin: 0 auto clamp(36px, 4vw, 56px);
  text-align: center;
  padding: 0 var(--gutter);
}

.vrt-tail__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.6vw, 46px);
  line-height: 1.1;
  color: var(--charcoal-deep);
  margin: 8px 0 12px;
  font-weight: 400;
}

.vrt-tail__title em {
  font-style: italic;
  color: var(--forest);
}

.vrt-tail__lede {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--charcoal-72);
  margin: 0;
}

.vrt-tail__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 1100px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 0 var(--gutter);
}

@media (max-width: 880px) {
  .vrt-tail__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .vrt-tail__list {
    grid-template-columns: 1fr;
  }
}

.vrt-tail__list li {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--charcoal);
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  padding: 12px 16px;
  border-radius: var(--radius-md);
  text-align: left;
  position: relative;
}

.vrt-tail__list li::before {
  content: "·";
  color: var(--forest);
  font-weight: 700;
  margin-right: 8px;
}

.vrt-tail__foot {
  max-width: 720px;
  margin: clamp(32px, 3.6vw, 48px) auto 0;
  padding: 0 var(--gutter);
  text-align: center;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--charcoal-72);
}

.vrt-tail__link {
  color: var(--forest);
  text-decoration: none;
  border-bottom: 2px solid var(--forest-12);
  padding-bottom: 2px;
  font-weight: 600;
}

.vrt-tail__link:hover {
  border-bottom-color: var(--forest);
}

/* ============================================================
   VOICES — Video conversation cards (homepage, above text voices)
   ============================================================ */
.voices-videos {
  margin: clamp(40px, 5vw, 64px) 0 clamp(56px, 6vw, 80px);
}

.voices-videos__head {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--forest);
  margin: 0 0 clamp(20px, 2.5vw, 32px);
}

.voices-videos__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 28px);
}

.voices-video-card {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  text-align: left;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 14px;
  font-family: inherit;
  color: inherit;
}

.voices-video-card__thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 14px;
  background: var(--charcoal-deep);
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}

.voices-video-card:hover .voices-video-card__thumb {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px -16px rgba(15, 30, 22, 0.4);
}

.voices-video-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.voices-video-card__play {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  box-shadow: 0 8px 22px -6px rgba(15, 30, 22, 0.55);
  transition: transform .25s var(--ease-out);
}

.voices-video-card__play svg {
  width: 22px;
  height: 22px;
  margin-left: 3px;
}

.voices-video-card:hover .voices-video-card__play {
  transform: scale(1.06);
}

.voices-video-card__name {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.7vw, 22px);
  color: var(--charcoal-deep);
  line-height: 1.15;
}

.voices-video-card__meta {
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--charcoal-42);
}

@media (max-width: 900px) {
  .voices-videos__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .voices-videos__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   VIDEO LIGHTBOX — shared overlay for explainer + testimonials
   Click any [data-video-id] element to open the YouTube embed in
   an in-page modal. JS in homepage.js wires the triggers.
   NOTE: requires embedding to be enabled on the WP YouTube channel.
   ============================================================ */
.video-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(15, 30, 22, 0.88);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 4vw, 60px);
  opacity: 0;
  transition: opacity .2s ease;
}

.video-lightbox.is-open {
  display: flex;
  opacity: 1;
}

.video-lightbox__inner {
  position: relative;
  width: 100%;
  max-width: 1100px;
}

.video-lightbox__frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 24px 80px -20px rgba(0, 0, 0, 0.6);
}

.video-lightbox__frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.video-lightbox__close {
  position: absolute;
  top: -48px;
  right: 0;
  appearance: none;
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  padding: 6px 12px;
  transition: opacity .2s ease;
}

.video-lightbox__close:hover {
  opacity: 0.7;
}

@media (max-width: 720px) {
  .video-lightbox__close {
    top: -40px;
    font-size: 28px;
  }
}

/* ============================================================
   PROCESS PAGE — Proof Of Process inline deal cards + closing CTA
   ============================================================ */
.proof-deals {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 1.8vw, 24px);
}

.proof-deal {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-lg);
  padding: clamp(20px, 2vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  transition: transform 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out), border-color 0.25s;
}

.proof-deal:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px -16px rgba(15, 30, 22, 0.25);
  border-color: var(--charcoal-42);
}

.proof-deal::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.proof-deal--blue::before {
  background: var(--blue);
}

.proof-deal--forest::before {
  background: var(--forest);
}

.proof-deal--charcoal::before {
  background: var(--charcoal-deep);
}

.proof-deal__type {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  margin-bottom: 4px;
}

.proof-deal--blue .proof-deal__type {
  color: var(--blue);
}

.proof-deal--forest .proof-deal__type {
  color: var(--forest);
}

.proof-deal--charcoal .proof-deal__type {
  color: var(--charcoal-deep);
}

.proof-deal__name {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 400;
  color: var(--charcoal-deep);
  line-height: 1.2;
}

.proof-deal__price {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  color: var(--charcoal-deep);
  margin-top: 8px;
}

.proof-deal__meta {
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: 12px;
  color: var(--charcoal-72);
  margin-bottom: 12px;
}

.proof-deal__story {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--charcoal-72);
  flex: 1;
}

.proof-deal__structure {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--charcoal);
  padding-top: 12px;
  margin-top: 4px;
  border-top: 1px solid var(--charcoal-05);
  display: flex;
  align-items: center;
  gap: 8px;
}

.proof-deal__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--forest);
  display: inline-block;
}

.proof-deal--blue .proof-deal__dot {
  background: var(--blue);
}

.proof-deal--charcoal .proof-deal__dot {
  background: var(--charcoal-deep);
}

.proof-deals-foot {
  margin-top: clamp(40px, 5vw, 64px);
  padding-top: clamp(24px, 3vw, 32px);
  border-top: 1px solid var(--charcoal-12);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.proof-deals-foot p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal-72);
  max-width: 60ch;
  margin: 0;
}

.proof-deals-foot__link {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--forest);
  text-decoration: none;
  border-bottom: 2px solid var(--forest-12);
  padding-bottom: 2px;
  white-space: nowrap;
}

.proof-deals-foot__link:hover {
  border-bottom-color: var(--forest);
}

@media (max-width: 1000px) {
  .proof-deals {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .proof-deals {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   PROCESS PAGE — In Their Own Words testimonials (3 cards)
   ============================================================ */
.process-voices {
  /* Sage background creates a clear visual break from the cloud-colored
     Proof Of Process section above and the white QANDA section below. */
  background: var(--sage);
  padding: clamp(80px, 10vw, 140px) 0;
  position: relative;
}

.process-voices::before,
.process-voices::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--charcoal-12);
}

.process-voices::before {
  top: 0;
}

.process-voices::after {
  bottom: 0;
}

.process-voices__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
}

.process-voice {
  background: var(--cloud);
  border: 1px solid var(--charcoal-12);
  border-left: 3px solid var(--forest);
  border-radius: var(--radius-lg);
  padding: clamp(24px, 2.6vw, 36px);
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0;
}

.process-voice__quote {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.5vw, 19px);
  font-style: italic;
  line-height: 1.55;
  color: var(--charcoal-deep);
  margin: 0;
  flex: 1;
}

.process-voice__quote strong {
  color: var(--forest);
  font-weight: 600;
  font-style: normal;
}

.process-voice__attr {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px;
  row-gap: 0;
  align-items: center;
  padding-top: 18px;
  border-top: 1px solid var(--charcoal-12);
}

.process-voice__avatar {
  grid-row: 1 / span 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.process-voice__name {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  color: var(--charcoal-deep);
}

.process-voice__role {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--charcoal-72);
}

@media (max-width: 900px) {
  .process-voices__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   EXIT ENHANCEMENT — Design refresh (Khaled May-23 pass 4)
   Layered on top of the existing layout to add visual richness
   without touching the content. Targets every section that read
   as "pulled flat from the deck" — especially the dark-bg + semi-
   dark-green callouts in the Risk section that Khaled flagged.
   ============================================================ */

/* ---- Risk section: deeper gradient, more depth ---- */
.ee-risk {
  background:
    radial-gradient(ellipse 50% 40% at 8% 12%, rgba(91, 154, 79, 0.20) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 95% 80%, rgba(0, 76, 151, 0.16) 0%, transparent 65%),
    linear-gradient(180deg, var(--charcoal-deep) 0%, #11181f 60%, #0c1218 100%);
}

.ee-risk::before {
  background:
    radial-gradient(circle at 50% 0%, rgba(91, 154, 79, 0.06) 0%, transparent 30%),
    repeating-linear-gradient(90deg, transparent 0 49px, rgba(232, 237, 229, 0.025) 49px 50px);
  opacity: 0.7;
}

/* Risk stat bar — glow accent + gradient numbers */
.ee-risk__bar {
  background:
    radial-gradient(ellipse 80% 100% at 50% 100%, rgba(91, 154, 79, 0.10) 0%, transparent 70%),
    rgba(0, 76, 151, 0.14);
  border: 1px solid rgba(91, 154, 79, 0.32);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.05) inset,
    0 30px 60px -30px rgba(0, 0, 0, 0.7);
  position: relative;
  overflow: hidden;
}

.ee-risk__bar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--forest-light) 50%, transparent 100%);
}

.ee-risk__stat-value {
  background: linear-gradient(180deg, #fff 0%, #cfe1c8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 400;
  filter: drop-shadow(0 2px 8px rgba(91, 154, 79, 0.18));
}

/* Mega 88% — dramatic gradient + radial halo */
.ee-risk__mega {
  position: relative;
}

.ee-risk__mega::before {
  content: '';
  position: absolute;
  left: -30px;
  top: -10px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(91, 154, 79, 0.22) 0%, rgba(91, 154, 79, 0.06) 30%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.ee-risk__mega>* {
  position: relative;
  z-index: 1;
}

.ee-risk__mega-num {
  background: linear-gradient(135deg, var(--forest-light) 0%, #d5e8cd 40%, var(--forest-light) 75%, #97c489 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 6px 24px rgba(91, 154, 79, 0.32));
  line-height: 1.15;
  padding-bottom: 0.15em;
  display: inline-block;
}

/* Risk cards — richer gradients, hover lift, indicator dots */
.ee-risk__card {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
  border: 1px solid rgba(232, 237, 229, 0.16);
  border-left: 3px solid var(--forest-light);
  position: relative;
  overflow: hidden;
  transition: transform 0.25s var(--ease-out), border-color 0.25s, background 0.25s, box-shadow 0.25s;
}

.ee-risk__card::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  background: radial-gradient(circle at top right, rgba(91, 154, 79, 0.22) 0%, transparent 70%);
  pointer-events: none;
}

.ee-risk__card:hover {
  transform: translateY(-3px);
  border-color: rgba(91, 154, 79, 0.6);
  background: linear-gradient(160deg, rgba(91, 154, 79, 0.10) 0%, rgba(255, 255, 255, 0.02) 100%);
  box-shadow: 0 18px 36px -18px rgba(0, 0, 0, 0.4);
}

.ee-risk__card h4 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ee-risk__card h4::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--forest-light);
  box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.20);
  flex-shrink: 0;
}

/* Flags box — labelled callout treatment */
.ee-risk__flags {
  background:
    radial-gradient(ellipse 60% 100% at 0% 0%, rgba(91, 154, 79, 0.10) 0%, transparent 65%),
    rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(91, 154, 79, 0.28);
  position: relative;
}

.ee-risk__flags::before {
  content: 'Underwriting flags';
  position: absolute;
  top: -10px;
  left: 24px;
  background: #0d141a;
  padding: 0 12px;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--forest-light);
  font-weight: 700;
}

/* ---- Executive Brief arc cards: subtle dimension (overrides) ---- */

/* ---- Owner vs Buyer delta: bridge overrides (consolidated above) ---- */

/* ---- Framework + Multiplier overrides (consolidated into main block) ---- */
/* (multiplier overrides consolidated into main block) */

/* ---- Value stack overrides (consolidated into main ledger block) ---- */

/* ---- Pricing overrides (consolidated into main block) ---- */

/* ================================================================
   SELL PAGE REDESIGN — /selling-websites-online/
   ================================================================ */

/* ---- 1. SELL HERO — "The Threshold" ---- */
.sell-hero {
  padding: clamp(72px, 8vw, 120px) 0 clamp(48px, 6vw, 80px);
  background: linear-gradient(172deg, #0d1a24 0%, #152530 40%, #1a3038 100%);
}

.sell-hero::before {
  background:
    radial-gradient(ellipse 40% 50% at 8% 30%, rgba(74, 124, 63, 0.18) 0%, transparent 55%),
    radial-gradient(ellipse 35% 40% at 85% 70%, rgba(0, 76, 151, 0.12) 0%, transparent 55%);
}

.sell-hero__grid-bg {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, rgba(232, 237, 229, 0.03) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg, rgba(232, 237, 229, 0.02) 0 1px, transparent 1px 120px);
  mask-image: radial-gradient(ellipse 70% 70% at 60% 50%, black 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse 70% 70% at 60% 50%, black 0%, transparent 70%);
  pointer-events: none;
}

.sell-hero__dateline {
  display: flex;
  align-items: center;
  gap: 0;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.45);
  margin-bottom: clamp(28px, 3.5vw, 48px);
  padding-bottom: clamp(12px, 1.5vw, 18px);
  border-bottom: 1px solid rgba(232, 237, 229, 0.08);
}

.sell-hero__dateline-rule {
  flex: 1;
  height: 1px;
  background: rgba(232, 237, 229, 0.12);
  margin: 0 24px;
}

.sell-hero__split {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
  margin-bottom: clamp(40px, 5vw, 72px);
}

.sell-hero__copy {
  max-width: 700px;
}

.sell-hero h1 {
  text-align: left;
  font-size: clamp(38px, 5vw, 72px);
  line-height: 1.06;
  letter-spacing: -0.02em;
}

.sell-hero .page-hero-body {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  max-width: 54ch;
}

.sell-hero .page-hero-cta-row {
  justify-content: flex-start;
}

.sell-hero .mini-trust-row {
  justify-content: flex-start !important;
}

.sell-hero__monogram {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  justify-self: center;
}

.sell-hero__monogram-glyph {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(100px, 14vw, 200px);
  line-height: 0.85;
  letter-spacing: -0.06em;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(232, 237, 229, 0.12);
  user-select: none;
}

.sell-hero__monogram-sub {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.25);
}

.sell-hero__credentials {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 2px solid rgba(232, 237, 229, 0.12);
  border-bottom: 1px solid rgba(232, 237, 229, 0.06);
}

.sell-hero__cred {
  padding: clamp(24px, 3vw, 40px) clamp(16px, 2vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
  position: relative;
}

.sell-hero__cred+.sell-hero__cred::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: rgba(232, 237, 229, 0.08);
}

.sell-hero__cred-value {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.2vw, 44px);
  color: var(--white);
  line-height: 1;
  letter-spacing: -0.02em;
}

.sell-hero__cred-value--accent {
  color: var(--forest-light);
}

.sell-hero__cred-label {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(232, 237, 229, 0.45);
}

@media (max-width: 1024px) {
  .sell-hero__split {
    grid-template-columns: 1fr;
  }

  .sell-hero__monogram {
    display: none;
  }
}

@media (max-width: 720px) {
  .sell-hero__credentials {
    grid-template-columns: repeat(2, 1fr);
  }

  .sell-hero__dateline {
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
  }

  .sell-hero__dateline-rule {
    display: none;
  }
}

/* ---- 2. WIREOUT — "The Ledger" ---- */
.wireout {
  background:
    radial-gradient(ellipse 50% 60% at 6% 20%, rgba(91, 154, 79, 0.08) 0%, transparent 55%),
    linear-gradient(178deg, #0f1c26 0%, #14222e 60%, #182a36 100%);
}

.wireout::before {
  background:
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(232, 237, 229, 0.025) 79px 80px);
  opacity: 0.6;
}

.wireout-copy__title {
  font-size: clamp(52px, 7.5vw, 124px);
  letter-spacing: -0.035em;
}

.wireout-stamp {
  background: linear-gradient(170deg, rgba(255, 252, 245, 0.06) 0%, rgba(255, 252, 245, 0.02) 100%);
  border: 1px solid rgba(232, 237, 229, 0.14);
  border-radius: var(--radius-xl);
  box-shadow: 0 2px 40px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(232, 237, 229, 0.06);
  backdrop-filter: blur(8px);
}

.wireout-stamp__amount-value {
  font-size: clamp(40px, 5vw, 68px);
}

/* ---- 3. FOUNDER VIDEO — "The Introduction" ---- */
.founder-video {
  background: var(--white);
  position: relative;
  overflow: hidden;
}

.founder-video::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 40% 50% at 0% 50%, rgba(74, 124, 63, 0.04) 0%, transparent 55%);
  pointer-events: none;
}

.founder-video .container {
  position: relative;
  z-index: 1;
}

.founder-video-grid {
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(40px, 5vw, 72px);
  max-width: 1200px;
}

.founder-video-eyebrow {
  position: relative;
  padding-left: 20px;
}

.founder-video-eyebrow::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--forest);
}

.founder-video-title {
  font-size: clamp(30px, 3.8vw, 52px);
}

.founder-video-thumb {
  border-radius: var(--radius-xl);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(54, 69, 79, 0.06);
}

.founder-video-play {
  width: 80px;
  height: 80px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.22), 0 0 0 6px rgba(255, 255, 255, 0.15);
  transition: background var(--duration-fast) var(--ease-out),
    transform var(--duration-fast) var(--ease-spring),
    box-shadow var(--duration-fast) var(--ease-out);
}

.founder-video-thumb:hover .founder-video-play {
  box-shadow: 0 16px 44px rgba(74, 124, 63, 0.35), 0 0 0 8px rgba(91, 154, 79, 0.18);
}

/* ---- 4. PROOF STATS — "The Weigh Station" ---- */
.section.proof-stats {
  background:
    radial-gradient(ellipse 50% 60% at 20% 50%, rgba(74, 124, 63, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 50% 60% at 80% 50%, rgba(0, 76, 151, 0.08) 0%, transparent 55%),
    linear-gradient(180deg, #0f1a24 0%, var(--charcoal-deep) 100%);
  padding: clamp(56px, 7vw, 100px) 0;
}

.proof-stat__num {
  font-size: clamp(36px, 4.6vw, 64px);
  letter-spacing: -0.02em;
}

.proof-stat__label {
  font-size: 11px;
  letter-spacing: 0.22em;
}

.proof-stat:not(:last-child)::after {
  background: linear-gradient(180deg, transparent 0%, rgba(232, 237, 229, 0.14) 30%, rgba(232, 237, 229, 0.14) 70%, transparent 100%);
}

/* ---- 5. ARCHETYPES — "Three Doors" ---- */
.archetypes {
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(232, 237, 229, 0.45) 0%, transparent 50%), var(--white);
}

.archetypes-head {
  grid-template-columns: 0.8fr 1.4fr 1fr;
  padding-bottom: clamp(28px, 3.5vw, 44px);
  border-bottom: 3px solid var(--charcoal-deep);
}

.archetype {
  border-radius: var(--radius-xl);
  padding: clamp(32px, 3.4vw, 48px);
  min-height: 520px;
  border: none;
  box-shadow: 0 1px 0 rgba(54, 69, 79, 0.06), 0 12px 36px -12px rgba(29, 40, 48, 0.08);
  position: relative;
  overflow: hidden;
}

.archetype::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--forest);
  border-radius: 4px 0 0 4px;
}

.archetype--blue::after {
  background: var(--blue);
}

.archetype--charcoal::after {
  background: var(--charcoal);
}

.archetype:hover {
  transform: translateY(-8px);
  box-shadow: 0 1px 0 rgba(54, 69, 79, 0.06), 0 32px 64px -16px rgba(29, 40, 48, 0.14);
}

.archetype__num {
  font-size: clamp(56px, 6vw, 88px);
  opacity: 0.85;
}

.archetype__name {
  font-size: clamp(26px, 3vw, 40px);
}

/* ---- 6. ROSTER — "The Registry" ---- */
.roster {
  background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(232, 237, 229, 0.35) 0%, transparent 50%), var(--cloud);
}

.roster-head__title {
  font-size: clamp(36px, 5vw, 72px);
}

.roster-tile {
  border-radius: var(--radius-xl);
  box-shadow: 0 1px 0 rgba(54, 69, 79, 0.05), 0 8px 28px -8px rgba(29, 40, 48, 0.08);
  transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}

.roster-tile:hover {
  transform: translateY(-6px);
  box-shadow: 0 1px 0 rgba(54, 69, 79, 0.05), 0 24px 56px -12px rgba(29, 40, 48, 0.14);
}

/* ---- 7. TRAPS — "The Fault Line" ---- */
.traps {
  background:
    radial-gradient(ellipse 50% 50% at 85% 10%, rgba(211, 69, 69, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 10% 85%, rgba(211, 69, 69, 0.05) 0%, transparent 55%),
    linear-gradient(176deg, #10181f 0%, #16202a 50%, var(--charcoal-deep) 100%);
}

.traps-head__title {
  font-size: clamp(34px, 4.8vw, 68px);
}

.trap {
  background: linear-gradient(170deg, #fefbf5 0%, #f8f0e0 100%);
  border: none;
  border-radius: var(--radius-xl);
  box-shadow: 0 1px 0 rgba(211, 69, 69, 0.05), 0 12px 36px -12px rgba(0, 0, 0, 0.22);
  padding: clamp(28px, 3vw, 40px);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}

.trap:hover {
  transform: translateY(-4px);
  box-shadow: 0 1px 0 rgba(211, 69, 69, 0.05), 0 28px 56px -16px rgba(0, 0, 0, 0.28);
}

.trap::before {
  height: 4px;
  background: linear-gradient(90deg, #c54545 0%, #e89595 40%, transparent 100%);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.trap__name {
  font-size: clamp(22px, 2.2vw, 28px);
}

/* ---- 8. TRUST BAND — "The Seal" ---- */
.trust-band {
  background: linear-gradient(180deg, var(--sage) 0%, #dce4d7 100%);
  padding: clamp(52px, 7vw, 96px) 0;
  position: relative;
}

.trust-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 60% at 80% 30%, rgba(74, 124, 63, 0.08) 0%, transparent 55%);
  pointer-events: none;
}

.trust-band-inner {
  position: relative;
  z-index: 1;
  gap: clamp(32px, 4vw, 56px);
}

.trust-band-copy h3 {
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.01em;
}

.trust-band-quote {
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(74, 124, 63, 0.12);
  border-radius: var(--radius-lg);
  padding: clamp(20px, 2.4vw, 28px);
  backdrop-filter: blur(4px);
}

/* ---- 9. VOICES — "The Witness Stand" ---- */
.voices {
  background:
    radial-gradient(ellipse 50% 50% at 90% 10%, rgba(74, 124, 63, 0.05) 0%, transparent 55%),
    linear-gradient(180deg, #f8faf6 0%, var(--cloud) 100%);
}

.voices-lead__quote {
  font-size: clamp(24px, 3vw, 42px);
}

.voices-lead__mark {
  font-size: clamp(180px, 24vw, 380px);
  opacity: 0.10;
}

.voice__quote {
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.5;
}

.voice {
  padding: clamp(20px, 2.4vw, 32px);
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--charcoal-12);
  box-shadow: 0 4px 16px -4px rgba(29, 40, 48, 0.05);
}

.voice+.voice {
  border-left: 1px solid var(--charcoal-12);
  padding-left: clamp(20px, 2.4vw, 32px);
}

@media (max-width: 1024px) {
  .voice+.voice {
    border-left: 1px solid var(--charcoal-12);
    padding-left: clamp(20px, 2.4vw, 32px);
    border-top: none;
    padding-top: clamp(20px, 2.4vw, 32px);
  }
}

/* ---- 10. MOVEMENTS — "The Blueprint" ---- */
/* movements override removed — original dark background at line 8249 applies */

/* ---- 11. QANDA — "The Counsel Chamber" ---- */
.qanda {
  background: radial-gradient(ellipse 50% 50% at 10% 20%, rgba(74, 124, 63, 0.03) 0%, transparent 50%), var(--white);
}

.qanda-anchor__title {
  font-size: clamp(28px, 3.4vw, 44px);
}

.qanda-item__summary {
  padding: clamp(18px, 2vw, 28px) 0;
}

.qanda-item__q {
  font-size: clamp(15px, 1.6vw, 20px);
}

.qanda-anchor__contact {
  background: linear-gradient(170deg, var(--cloud) 0%, #e8ede5 100%);
  border: 1px solid rgba(74, 124, 63, 0.12);
  box-shadow: 0 4px 16px -4px rgba(29, 40, 48, 0.06);
}

/* ---- 12. SF-SECTION — "The Invitation" ---- */
.sf-section {
  background: radial-gradient(ellipse 60% 50% at 50% 20%, rgba(232, 237, 229, 0.5) 0%, transparent 50%), var(--cloud);
  padding: clamp(72px, 10vw, 140px) var(--gutter);
}

.sf-section__title {
  font-size: clamp(32px, 4vw, 52px);
  letter-spacing: -0.015em;
}

.sf-card {
  border: 1px solid rgba(54, 69, 79, 0.06);
  border-radius: var(--radius-xl);
  box-shadow: 0 1px 0 rgba(54, 69, 79, 0.04), 0 16px 48px -12px rgba(29, 40, 48, 0.10);
}

/* ---- 13. CLOSING — "The Handshake" ---- */
.closing {
  background:
    radial-gradient(ellipse 50% 60% at 10% 15%, rgba(74, 124, 63, 0.16) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 90% 85%, rgba(0, 76, 151, 0.10) 0%, transparent 55%),
    linear-gradient(176deg, #0d1820 0%, #14222e 50%, #16202a 100%);
  padding: clamp(100px, 12vw, 180px) 0;
}

.closing-title {
  font-size: clamp(44px, 6vw, 96px);
  letter-spacing: -0.03em;
}

.closing-lede {
  font-size: clamp(18px, 1.8vw, 24px);
}

.closing-sig {
  border-top: 2px solid rgba(232, 237, 229, 0.08);
}

.closing-watermark {
  font-size: clamp(100px, 14vw, 240px);
  opacity: 0.025;
}

/* ================================================================
   SELL PAGE — SECOND PASS (deeper redesigns)
   ================================================================ */

/* ---- PROOF STATS v2 — "The Vault Door" ----
   Each stat sits in its own cell with a top accent line
   and an oversized number that feels engraved.
   ------------------------------------------------------------ */
.section.proof-stats {
  padding: clamp(64px, 8vw, 120px) 0;
  border-top: 1px solid rgba(232, 237, 229, 0.06);
}

.proof-stats-grid {
  gap: 0;
  border: 1px solid rgba(232, 237, 229, 0.08);
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
}

.proof-stat {
  padding: clamp(32px, 4vw, 56px) clamp(20px, 2.6vw, 36px);
  text-align: left;
  border-right: 1px solid rgba(232, 237, 229, 0.06);
}

.proof-stat:last-child {
  border-right: none;
}

.proof-stat:not(:last-child)::after {
  display: none;
}

.proof-stat__num {
  font-size: clamp(44px, 5.5vw, 80px);
  letter-spacing: -0.03em;
  background: linear-gradient(180deg, var(--white) 0%, rgba(232, 237, 229, 0.65) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.proof-stat__plus {
  font-size: 0.45em;
  background: linear-gradient(180deg, var(--forest-light) 0%, #8ac47a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.proof-stat__label {
  font-size: 10px;
  letter-spacing: 0.28em;
  color: rgba(232, 237, 229, 0.50);
  margin-top: 4px;
}

@media (max-width: 720px) {
  .proof-stat {
    border-right: none;
    border-bottom: 1px solid rgba(232, 237, 229, 0.06);
  }

  .proof-stat:last-child {
    border-bottom: none;
  }
}

/* ---- ARCHETYPES v2 — "Three Doors" ----
   Staggered heights with offset top position for visual rhythm.
   Each card has a subtle texture and the accent bar grows on hover.
   ------------------------------------------------------------ */
.archetypes-grid {
  align-items: start;
}

.archetype:nth-child(2) {
  transform: translateY(32px);
}

.archetype:nth-child(2):hover {
  transform: translateY(24px);
}

.archetype::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(74, 124, 63, 0.03) 100%);
  pointer-events: none;
  z-index: 0;
}

.archetype--blue::before {
  background: linear-gradient(180deg, transparent 0%, rgba(0, 76, 151, 0.03) 100%);
}

.archetype--charcoal::before {
  background: linear-gradient(180deg, transparent 0%, rgba(54, 69, 79, 0.03) 100%);
}

.archetype::after {
  width: 4px;
  transition: width 0.4s var(--ease-out);
}

.archetype:hover::after {
  width: 6px;
}

/* ---- TRUST BAND v2 — "The Seal" ----
   Becomes a structured 3-column layout with a certification-
   style border treatment and warm texture.
   ------------------------------------------------------------ */
.trust-band {
  border-top: 3px solid var(--forest);
  border-bottom: 1px solid rgba(74, 124, 63, 0.18);
}

.trust-band-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
}

.trust-band-logo {
  padding: clamp(16px, 2vw, 24px);
  background: var(--white);
  border: 1px solid rgba(74, 124, 63, 0.12);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 16px -4px rgba(29, 40, 48, 0.06);
}

.trust-band-logo img {
  height: 44px;
}

.trust-band-copy h3 {
  margin-bottom: 8px;
}

.trust-band-copy p {
  font-size: clamp(13px, 1.3vw, 15px);
  max-width: 44ch;
}

.trust-band-quote {
  max-width: 320px;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.5;
  position: relative;
}

.trust-band-quote::before {
  content: '\201C';
  position: absolute;
  top: -8px;
  left: 12px;
  font-family: var(--font-display);
  font-size: 48px;
  color: var(--forest);
  opacity: 0.2;
  line-height: 1;
}

/* ---- VOICES v2 — "The Witness Stand" ----
   Satellite cards get staggered offsets, a left accent bar,
   and pull quotes before the text for editorial weight.
   ------------------------------------------------------------ */
.voices-row {
  gap: clamp(16px, 2vw, 24px);
  border-top: none;
  padding-top: 0;
}

.voice {
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
  position: relative;
}

.voice::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: var(--forest);
  border-radius: 3px 0 0 3px;
  opacity: 0.5;
  transition: opacity 0.3s var(--ease-out);
}

.voice:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px -8px rgba(29, 40, 48, 0.10);
}

.voice:hover::before {
  opacity: 1;
}

.voice:nth-child(2) {
  transform: translateY(20px);
}

.voice:nth-child(2):hover {
  transform: translateY(16px);
}

.voice+.voice {
  border-left: 1px solid var(--charcoal-12);
}

@media (max-width: 1024px) {
  .voice:nth-child(2) {
    transform: none;
  }

  .voice:nth-child(2):hover {
    transform: translateY(-4px);
  }
}

/* ---- MOVEMENTS v2 — "The Score" ----
   A stave-like timeline with connecting lines that animate.
   Each step card has a gradient top border and
   the node sits on the connecting line.
   ------------------------------------------------------------ */
.movements-stave {
  gap: clamp(12px, 1.4vw, 18px);
}

.movement {
  position: relative;
  overflow: visible;
  transition: background 0.3s var(--ease-out), padding 0.3s var(--ease-out);
  border-radius: var(--radius-lg);
  padding-left: clamp(12px, 1.5vw, 20px);
  padding-right: clamp(12px, 1.5vw, 20px);
}

.movement::before {
  display: none;
}

.movement:hover {
  background: rgba(91, 154, 79, 0.08);
}

.movement__node {
  position: relative;
  z-index: 2;
  border: 3px solid var(--white);
}

.movement__duration {
  background: linear-gradient(135deg, rgba(74, 124, 63, 0.08) 0%, rgba(74, 124, 63, 0.03) 100%);
  border-radius: var(--radius-sm);
  padding: 4px 10px;
  display: inline-block;
}

/* ---- QANDA v2 — "The Counsel Chamber" ----
   Left column gets a subtle dark background panel.
   Accordion items get a wider left gutter with number emphasis.
   ------------------------------------------------------------ */
.qanda-anchor {
  background: linear-gradient(170deg, var(--charcoal-deep) 0%, #1a2a33 100%);
  color: var(--white);
  padding: clamp(32px, 4vw, 48px);
  border-radius: var(--radius-xl);
  position: sticky;
  top: 100px;
}

.qanda-anchor__pre {
  color: var(--forest-light);
}

.qanda-anchor__pre::before {
  color: var(--forest-light);
}

.qanda-anchor__title {
  color: var(--white);
}

.qanda-anchor__title em {
  color: var(--forest-light);
}

.qanda-anchor__lede {
  color: rgba(232, 237, 229, 0.72);
}

.qanda-anchor__lede a {
  color: var(--forest-light) !important;
}

.qanda-anchor__contact {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(232, 237, 229, 0.10);
}

.qanda-anchor__contact-line {
  color: var(--white);
}

.qanda-anchor__contact-cta {
  color: var(--forest-light);
}

.qanda-item {
  transition: background 0.25s var(--ease-out);
}

.qanda-item[open] {
  background: var(--cloud);
  border-radius: var(--radius-lg);
  padding: 0 clamp(16px, 2vw, 24px);
  margin: 4px 0;
}

/* ---- SF-SECTION v2 — "The Invitation" ----
   Warm background with a structured eyebrow and rule.
   The card sits on a subtle shadow pedestal.
   ------------------------------------------------------------ */
.sf-section {
  position: relative;
}

.sf-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: var(--forest);
  border-radius: 3px;
}

.sf-section__eyebrow {
  margin-top: 12px;
}

.sf-card {
  position: relative;
}

.sf-card::before {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 5%;
  right: 5%;
  height: 16px;
  background: rgba(29, 40, 48, 0.04);
  border-radius: 0 0 var(--radius-xl) var(--radius-xl);
  filter: blur(8px);
  z-index: -1;
}

/* ---- CLOSING v2 — "The Handshake" ----
   Vertical rules fade in from edges. A sage accent line
   above the title creates a focal anchor.
   ------------------------------------------------------------ */
.closing::before {
  background: linear-gradient(180deg,
      transparent 0%,
      rgba(232, 237, 229, 0.06) 10%,
      rgba(232, 237, 229, 0.08) 50%,
      rgba(232, 237, 229, 0.06) 90%,
      transparent 100%);
}

.closing::after {
  background: linear-gradient(180deg,
      transparent 0%,
      rgba(232, 237, 229, 0.06) 10%,
      rgba(232, 237, 229, 0.08) 50%,
      rgba(232, 237, 229, 0.06) 90%,
      transparent 100%);
}

.closing-pre::before,
.closing-pre::after {
  width: 56px;
  background: linear-gradient(90deg, transparent 0%, rgba(91, 154, 79, 0.6) 100%);
}

.closing-pre::after {
  background: linear-gradient(90deg, rgba(91, 154, 79, 0.6) 0%, transparent 100%);
}

.closing-cta--primary {
  box-shadow: 0 20px 48px rgba(74, 124, 63, 0.4), 0 0 0 1px rgba(91, 154, 79, 0.3);
}

.closing-cta--primary:hover {
  box-shadow: 0 24px 56px rgba(91, 154, 79, 0.5), 0 0 0 1px rgba(91, 154, 79, 0.5);
}

.closing-sig__motto {
  font-size: clamp(14px, 1.4vw, 17px);
  letter-spacing: 0.06em;
}

/* ---- MARQUEE enhancement ---- */
.marquee {
  background: linear-gradient(90deg, var(--blue) 0%, #003d7a 50%, var(--blue) 100%);
  padding: 18px 0;
  border-top: 1px solid rgba(0, 76, 151, 0.3);
  border-bottom: 1px solid rgba(0, 76, 151, 0.3);
}

.marquee-item {
  font-size: 11px;
  letter-spacing: 0.12em;
}


/* ================================================================
   SELL PAGE — THIRD PASS (final refinements)
   ================================================================ */

/* ---- FOUNDER VIDEO v3 — "The Cinema" ----
   A subtle sage wash behind the copy side creates warmth.
   The thumbnail gets a film-frame border treatment.
   ------------------------------------------------------------ */
.founder-video {
  padding: clamp(88px, 11vw, 160px) 0;
}

.founder-video-grid {
  position: relative;
}

.founder-video-copy {
  position: relative;
  z-index: 1;
}

.founder-video-copy::before {
  content: '';
  position: absolute;
  top: -24px;
  left: -24px;
  right: 24px;
  bottom: -24px;
  background: linear-gradient(160deg, rgba(232, 237, 229, 0.35) 0%, rgba(232, 237, 229, 0.08) 100%);
  border-radius: var(--radius-xl);
  z-index: -1;
}

.founder-video-thumb {
  position: relative;
}

.founder-video-thumb::after {
  content: '';
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(54, 69, 79, 0.08);
  border-radius: calc(var(--radius-xl) + 6px);
  pointer-events: none;
}

/* ---- CLOSING v3 — "The Ceremony" ----
   A structured closing with a horizontal rule device
   and a wide watermark that anchors the whole page.
   ------------------------------------------------------------ */
.closing .container {
  max-width: 960px;
}

.closing .reveal {
  text-align: center;
}

.closing-pre {
  margin-bottom: clamp(20px, 2.5vw, 32px);
}

.closing-title {
  max-width: 16ch;
}

.closing-actions {
  margin-bottom: clamp(32px, 4vw, 48px);
}

.closing-cta {
  padding: 18px 36px;
  font-size: 15px;
}

.closing-direct {
  margin-bottom: clamp(48px, 6vw, 80px);
}

.closing-sig {
  padding-top: clamp(32px, 4vw, 48px);
  position: relative;
}

.closing-sig::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background: var(--forest-light);
  opacity: 0.6;
}

.closing-watermark {
  letter-spacing: 0.1em;
  font-family: var(--font-body);
  font-weight: 200;
}

/* ---- SF-SECTION v3 — "The Threshold Back" ----
   Match closing's dark aesthetic for a seamless
   transition into the closing CTA.
   ------------------------------------------------------------ */
.sf-section__inner {
  max-width: 920px;
}

.sf-section__title {
  margin-bottom: clamp(8px, 1vw, 14px);
}

.sf-section__sub {
  max-width: 580px;
}

/* ---- PROOF STATS v3 — gradient separator accents ---- */
.proof-stat {
  position: relative;
}

.proof-stat::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,
      var(--forest) 0%,
      var(--forest-light) 50%,
      transparent 100%);
  opacity: 0.3;
}

.proof-stat:nth-child(2)::before {
  background: linear-gradient(90deg,
      var(--blue) 0%,
      rgba(0, 76, 151, 0.5) 50%,
      transparent 100%);
}

.proof-stat:nth-child(3)::before {
  background: linear-gradient(90deg,
      var(--forest-light) 0%,
      rgba(91, 154, 79, 0.5) 50%,
      transparent 100%);
}

.proof-stat:nth-child(4)::before {
  background: linear-gradient(90deg,
      rgba(232, 237, 229, 0.3) 0%,
      rgba(232, 237, 229, 0.15) 50%,
      transparent 100%);
}

/* ---- ROSTER v3 — long-tail strip refinement ---- */
.roster-longtail {
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-xl);
  padding: clamp(24px, 3vw, 36px);
  background: var(--white);
}

.roster-longtail__list li {
  font-size: 12px;
  padding: 6px 14px;
  border-radius: var(--radius-sm);
  background: var(--cloud);
  border: 1px solid var(--charcoal-05);
  transition: background 0.2s var(--ease-out), border-color 0.2s var(--ease-out);
}

.roster-longtail__list li:hover {
  background: var(--sage);
  border-color: var(--charcoal-12);
}

/* ================================================================
   SELL PAGE — DESIGN FIXES (layout + sizing corrections)
   ================================================================ */

/* Fix 1: Shrink "One Number, One Day, One Story" headline by 50% */
.wireout-copy__title {
  font-size: clamp(26px, 3.75vw, 62px);
}

/* Fix 2: Sellers We Represent header — full-width stacked rows */
.archetypes-head {
  grid-template-columns: 1fr;
}

.archetypes-head__kicker {
  max-width: 72ch;
  justify-self: start;
  text-align: left;
}

/* Fix 3: Roster header — full-width stacked rows */
.roster-head {
  grid-template-columns: 1fr;
}

.roster-head__kicker {
  max-width: 72ch;
  justify-self: start;
  text-align: left;
}

/* Fix 4: Common Deal Killers — header full-width stacked, grid 2x3 */
.traps-head {
  grid-template-columns: 1fr;
}

.traps-grid {
  grid-template-columns: repeat(3, 1fr);
}

/* Fix 5: Axial — slim green accent strip, logo left + text right */
.trust-band--sell {
  background: linear-gradient(135deg, var(--forest) 0%, #3a6a31 50%, var(--charcoal-deep) 130%);
  padding: clamp(24px, 3vw, 40px) 0;
  position: relative;
  overflow: hidden;
}

.trust-band--sell::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg, transparent 0 80px, rgba(255, 255, 255, 0.04) 80px 81px);
  pointer-events: none;
}

.trust-band--sell .trust-band-inner {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: clamp(20px, 2.5vw, 32px);
  text-align: left;
  max-width: none;
  margin: 0;
}

.trust-band--sell .trust-band-logo {
  background: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-md);
  padding: 12px 18px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.trust-band--sell .trust-band-logo img {
  filter: none;
  opacity: 1;
  height: 36px;
  width: auto;
}

.trust-band--sell .trust-band-copy h3 {
  color: var(--white);
  font-size: clamp(15px, 1.8vw, 20px);
  margin: 0 0 4px;
}

.trust-band--sell .trust-band-copy p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  margin: 0;
  max-width: none;
}

/* Fix 6: Founders We Represent lead quote — full row width */
.voices-lead__quote {
  max-width: none;
}


/* ============ MERGED FAQ ( Faq Buy Sell Online Business) — THE REFERENCE DESK (approved design) ============ */

/* HERO — architectural grid + green binding */
.faq-hero--redesign {
  background:
    repeating-linear-gradient(0deg, transparent, transparent 59px, rgba(232, 237, 229, 0.025) 59px, rgba(232, 237, 229, 0.025) 60px),
    repeating-linear-gradient(90deg, transparent, transparent 59px, rgba(232, 237, 229, 0.025) 59px, rgba(232, 237, 229, 0.025) 60px),
    linear-gradient(175deg, var(--charcoal-deep) 0%, #0f1a13 100%);
  padding: clamp(80px, 8vw, 100px) 0 clamp(60px, 7vw, 90px);
  border-left: 4px solid var(--forest);
}

.faq-hero--redesign .faq-hero__bg {
  background:
    radial-gradient(ellipse at 20% 10%, rgba(74, 124, 63, 0.16), transparent 55%),
    radial-gradient(ellipse at 85% 30%, rgba(0, 76, 151, 0.10), transparent 60%);
}

.faq-hero--redesign .hero-eyebrow-pill {
  border-radius: 2px;
}

.faq-hero--redesign h1 em {
  background: none;
  -webkit-text-fill-color: #9BD08E;
  color: #9BD08E;
}

.faq-hero--redesign .faq-hero__body {
  border-left: 2px solid var(--forest);
  padding-left: 18px;
}

.faq-hero--redesign .faq-search {
  border-radius: 2px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.faq-hero--redesign .faq-hero__chip {
  border-radius: 2px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 11px;
}

/* FEATURED — The Exhibit Card: dark charcoal with white specimen */
.faq-featured--redesign {
  background: var(--charcoal-deep);
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  position: relative;
}

.faq-featured--redesign::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(90deg, transparent, transparent 199px, rgba(232, 237, 229, 0.02) 199px, rgba(232, 237, 229, 0.02) 200px);
}

.faq-featured--redesign .faq-featured__card {
  border-radius: 2px;
  border-left: 4px solid var(--forest);
  box-shadow: 8px 8px 0 -2px var(--sage), 8px 8px 0 0 rgba(54, 69, 79, 0.2);
  position: relative;
  z-index: 2;
}

.faq-featured--redesign .faq-featured__tag {
  border-radius: 2px;
  background: var(--charcoal-deep);
  color: var(--white);
}

/* BODY — The Case Files: sage ground, sharp nav + charcoal-topped cards */
.faq-body--redesign {
  background: var(--sage);
  padding-bottom: clamp(60px, 7vw, 100px);
}

.faq-body--redesign .faq-nav {
  border-radius: 2px;
  background: var(--charcoal-deep);
  border-color: transparent;
  color: var(--white);
}

.faq-body--redesign .faq-nav__label {
  color: #9BD08E;
}

.faq-body--redesign .faq-nav__item {
  color: rgba(255, 255, 255, 0.6);
  border-radius: 2px;
  border-left-color: transparent;
}

.faq-body--redesign .faq-nav__item:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--white);
}

.faq-body--redesign .faq-nav__item.is-active {
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
  border-left-color: var(--forest);
}

.faq-body--redesign .faq-nav__count {
  color: rgba(255, 255, 255, 0.4);
}

.faq-body--redesign .faq-nav__contact {
  color: #9BD08E;
  border-top-color: rgba(255, 255, 255, 0.1);
}

.faq-body--redesign .faq-category__header {
  border-bottom-color: var(--forest);
}

.faq-body--redesign .faq-category__num {
  font-style: italic;
}

.faq-body--redesign .faq-item {
  border-radius: 2px;
  border: 1px solid var(--charcoal-12);
  background: var(--white);
  border-top: 3px solid var(--charcoal-deep);
}

.faq-body--redesign .faq-item[open] {
  border-top-color: var(--forest);
}

.faq-body--redesign .faq-item summary {
  border-radius: 2px;
}

.faq-body--redesign .faq-item.is-hidden,
.faq-body--redesign .faq-category.is-hidden {
  display: none;
}

.faq-body--redesign .faq-noresults {
  border-radius: 2px;
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-top: 3px solid var(--forest);
  padding: 28px;
  display: none;
}

.faq-body--redesign .faq-noresults.is-visible {
  display: block;
}

/* CLOSING — The Handoff */
.closing--detailed-faq {
  background: var(--cloud);
}

.closing--detailed-faq .closing-pre,
.closing--detailed-faq .closing-title,
.closing--detailed-faq .closing-lede,
.closing--detailed-faq .closing-direct,
.closing--detailed-faq .closing-direct a,
.closing--detailed-faq .closing-sig__motto {
  color: var(--charcoal-deep);
}

.closing--detailed-faq .closing-title em {
  color: var(--forest);
}

.closing--detailed-faq .closing-lede {
  color: var(--charcoal-72);
}

.closing--detailed-faq .closing-cta--primary {
  background: var(--charcoal-deep);
  color: var(--white);
  border-radius: 2px;
}

.closing--detailed-faq .closing-cta--primary:hover {
  background: var(--forest);
}

.closing--detailed-faq .closing-cta--ghost {
  border-color: var(--charcoal-20);
  color: var(--charcoal-deep);
  border-radius: 2px;
}

.closing--detailed-faq .closing-watermark {
  color: var(--charcoal-12);
}

.closing--detailed-faq .closing-direct__sep {
  background: var(--charcoal-20);
}

/* ---- Privacy Policy ---- */

.legal-hero {
  background: var(--charcoal-deep);
  color: var(--white);
  padding: clamp(120px, 14vw, 180px) 0 clamp(56px, 7vw, 88px);
}

.legal-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 56px);
  color: var(--white);
  margin: 0 0 12px;
}

.legal-hero p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.6);
  max-width: 640px;
  margin: 0;
}

.legal-body {
  padding: clamp(48px, 6vw, 80px) 0;
}

.legal-body p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--charcoal);
  margin: 0 0 20px;
}

.legal-placeholder {
  padding: 24px 28px;
  border-left: 3px solid var(--forest);
  background: var(--cloud);
  border-radius: 0 8px 8px 0;
  font-size: 15px;
  color: var(--charcoal);
}



/* ================================================================
BUYER ALERT PROGRAM — FULL REBUILD (page-scoped, ba-)
Editorial layouts, fine rules, ledger rows, hairline grids.
Section rhythm: green hero > light form spread > white ledger >
dark hairline table > sage comparison > white FAQ > green close.
No repeated card grids. No motto row.
================================================================ */

/* ---- Shared editorial heading kit ---- */
.ba-eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--forest);
  margin: 0 0 var(--space-sm);
}

.ba-h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(30px, 3.8vw, 52px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
  margin: 0 0 var(--space-md);
}

.ba-h2 em {
  font-style: italic;
  color: var(--forest);
}

.ba-lede {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.5vw, 17.5px);
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 56ch;
}

/* ---- 1. SIGNUP — page opener: text rail + form card ---- */
.ba-signup {
  background: linear-gradient(180deg, var(--sage) 0%, var(--cloud) 30%, var(--cloud) 100%);
  padding: clamp(56px, 7vw, 104px) 0 var(--space-section);
}

.ba-signup .ba-h2 {
  font-size: clamp(34px, 4.2vw, 58px);
}

.ba-signup .container {
  max-width: 1200px;
  display: grid;
  grid-template-columns: 0.85fr 1.25fr;
  gap: clamp(36px, 5vw, 80px);
  align-items: start;
}

.ba-form {
  position: sticky;
  top: 110px;
}

.ba-signup-rail .ba-lede {
  margin-bottom: clamp(26px, 3vw, 36px);
}

.ba-rail-steps {
  border-top: 1px solid var(--charcoal-12);
}

.ba-rail-step {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--charcoal-12);
  align-items: start;
}

.ba-rail-step-num {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.1;
  color: var(--sage);
  -webkit-text-stroke: 1px var(--forest);
}

.ba-rail-step h3 {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  color: var(--charcoal-deep);
  margin: 0 0 4px;
}

.ba-rail-step p {
  font-size: 13.5px;
  color: var(--charcoal-72);
  line-height: 1.6;
  margin: 0;
}

.ba-rail-note {
  margin-top: clamp(22px, 2.6vw, 30px);
  font-size: 13.5px;
  color: var(--charcoal-72);
  line-height: 1.65;
}

.ba-rail-note a {
  color: var(--forest);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid var(--forest-12);
  padding-bottom: 2px;
  transition: border-color 0.2s var(--ease-out);
}

.ba-rail-note a:hover {
  border-color: var(--forest);
}

/* Form card */
.ba-form {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-top: 4px solid var(--forest);
  border-radius: var(--radius-lg);
  box-shadow: 0 20px 60px -20px rgba(29, 40, 48, 0.14);
  padding: clamp(28px, 3.4vw, 48px) clamp(24px, 3vw, 48px);
}

.ba-form h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 30px);
  color: var(--charcoal-deep);
  margin: 0 0 8px;
  line-height: 1.15;
}

.ba-form-sub {
  font-size: 14px;
  color: var(--charcoal-72);
  margin: 0 0 clamp(22px, 2.4vw, 30px);
  line-height: 1.6;
}

.form-row {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
}

.form-row--2 {
  grid-template-columns: 1fr 1fr;
}

.form-field label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--charcoal);
  margin-bottom: 7px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--charcoal-deep);
  background: var(--cloud);
  transition: border-color .25s, box-shadow .25s, background .25s;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--forest);
  box-shadow: 0 0 0 3px rgba(74, 124, 63, 0.12);
  background: var(--white);
}

.form-field textarea {
  min-height: 100px;
  resize: vertical;
}

/* Chip selector */
.chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.chip-label {
  position: relative;
  cursor: pointer;
  user-select: none;
  padding: 10px 18px;
  border: 1px solid var(--charcoal-12);
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 500;
  color: var(--charcoal-72);
  background: var(--cloud);
  transition: all .2s;
}

.chip-label input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.chip-label:hover {
  border-color: var(--forest);
  color: var(--forest);
  background: var(--white);
}

.chip-label:has(input:checked) {
  background: var(--forest);
  color: var(--white);
  border-color: var(--forest);
  box-shadow: 0 4px 12px rgba(74, 124, 63, 0.25);
}

/* Radio row */
.radio-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.radio-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--charcoal-72);
  cursor: pointer;
  padding: 8px 14px;
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  transition: all .2s;
}

.radio-item:hover {
  background: var(--cloud);
  border-color: var(--charcoal-12);
}

.radio-item input {
  accent-color: var(--forest);
}

/* Consent row */
.check-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 13px;
  color: var(--charcoal-72);
  line-height: 1.55;
  padding: 14px 16px;
  background: var(--cloud);
  border-radius: var(--radius-md);
}

.check-row input {
  margin-top: 3px;
  accent-color: var(--forest);
}

.form-submit {
  margin-top: 28px;
}

.form-submit button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 17px 44px;
  background: var(--forest);
  color: var(--white);
  font-size: 15px;
  font-weight: 600;
  font-family: var(--font-body);
  border-radius: var(--radius-md);
  border: 2px solid var(--forest);
  cursor: pointer;
  transition: all .3s var(--ease-out);
  letter-spacing: 0.02em;
}

.form-submit button:hover {
  background: #3e6b34;
  border-color: #3e6b34;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(74, 124, 63, 0.35);
}

.form-note {
  font-size: 12px;
  color: var(--charcoal-42);
  margin-top: 14px;
  line-height: 1.55;
}

/* ---- 3. HOW IT WORKS — full-width numbered ledger rows ---- */
.ba-how {
  background: var(--white);
  padding: var(--space-section) 0;
}

.ba-how .container {
  max-width: 1200px;
}

.ba-how-head {
  max-width: 720px;
  margin-bottom: clamp(36px, 4.5vw, 60px);
}

.ba-step {
  display: grid;
  grid-template-columns: clamp(56px, 8vw, 110px) minmax(0, 0.85fr) 1.4fr;
  gap: clamp(18px, 3vw, 56px);
  padding: clamp(26px, 3.2vw, 42px) 0;
  border-top: 1px solid var(--charcoal-12);
  align-items: start;
}

.ba-step:last-of-type {
  border-bottom: 1px solid var(--charcoal-12);
}

.ba-step-num {
  font-family: var(--font-display);
  font-size: clamp(36px, 4.4vw, 64px);
  line-height: 0.9;
  color: var(--sage);
  -webkit-text-stroke: 1.2px var(--forest);
  padding-top: 2px;
}

.ba-step h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(20px, 2.2vw, 27px);
  line-height: 1.22;
  color: var(--charcoal-deep);
  margin: 0;
}

.ba-step p {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 58ch;
}

/* ---- 4. WHAT YOU GET — dark hairline table, 3x2 cells ---- */
.ba-included {
  background: var(--charcoal-deep);
  position: relative;
  overflow: hidden;
  padding: var(--space-section) 0;
}

.ba-included::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 60% at 90% 10%, rgba(74, 124, 63, 0.16), transparent 60%),
    radial-gradient(ellipse 40% 50% at 5% 95%, rgba(74, 124, 63, 0.08), transparent 55%);
  pointer-events: none;
}

.ba-included .container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
}

.ba-included-head {
  max-width: 720px;
  margin-bottom: clamp(36px, 4.5vw, 60px);
}

.ba-included-head .ba-eyebrow {
  color: #9BD08E;
}

.ba-included-head .ba-h2 {
  color: var(--white);
}

.ba-included-head .ba-h2 em {
  color: #cde5c2;
}

.ba-included-head .ba-lede {
  color: rgba(255, 255, 255, 0.66);
}

.ba-included-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.ba-included-cell {
  background: var(--charcoal-deep);
  padding: clamp(24px, 2.8vw, 40px) clamp(20px, 2.4vw, 34px);
  transition: background 0.3s var(--ease-out);
}

.ba-included-cell:hover {
  background: #243340;
}

.ba-included-tag {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #9BD08E;
  margin: 0 0 14px;
}

.ba-included-cell h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(19px, 1.9vw, 24px);
  line-height: 1.25;
  color: var(--white);
  margin: 0 0 10px;
}

.ba-included-cell p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.7;
  margin: 0;
}

/* ---- 6. FAQ — sticky left column with member list, fine-rule accordion ---- */
.ba-faq {
  background: var(--white);
  padding: var(--space-section) 0;
}

.ba-faq .container {
  max-width: 1200px;
  display: grid;
  grid-template-columns: 0.85fr 1.4fr;
  gap: clamp(36px, 5vw, 88px);
  align-items: start;
}

.ba-faq-rail {
  position: sticky;
  top: 110px;
}

.ba-faq-rail .ba-lede {
  margin-bottom: clamp(24px, 3vw, 34px);
}

.ba-faq-who {
  border-top: 1px solid var(--charcoal-12);
  padding-top: 18px;
  margin-bottom: clamp(22px, 2.6vw, 30px);
}

.ba-faq-who-label {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  margin: 0 0 12px;
}

.ba-faq-who ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ba-faq-who li {
  font-size: 14px;
  color: var(--charcoal-72);
  line-height: 1.6;
  padding: 7px 0 7px 20px;
  position: relative;
}

.ba-faq-who li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  width: 10px;
  height: 2px;
  background: var(--forest);
}

.ba-faq-rail-link {
  font-family: var(--font-body);
  font-size: 14.5px;
  font-weight: 600;
  color: var(--forest);
  text-decoration: none;
  border-bottom: 2px solid var(--forest-12);
  padding-bottom: 3px;
  transition: border-color 0.2s var(--ease-out);
}

.ba-faq-rail-link:hover {
  border-color: var(--forest);
}

.ba-faq-list {
  border-top: 1px solid var(--charcoal-12);
}

.ba-faq-list details {
  border-bottom: 1px solid var(--charcoal-12);
}

.ba-faq-list summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: clamp(18px, 2.2vw, 26px) 4px;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(17px, 1.8vw, 22px);
  color: var(--charcoal-deep);
  transition: color 0.2s var(--ease-out);
}

.ba-faq-list summary:hover {
  color: var(--forest);
}

.ba-faq-list summary::-webkit-details-marker {
  display: none;
}

.ba-faq-list summary::after {
  content: '+';
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid var(--charcoal-20);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 300;
  color: var(--forest);
  line-height: 1;
  transition: transform 0.25s var(--ease-out), background 0.25s, color 0.25s;
}

.ba-faq-list details[open] summary::after {
  transform: rotate(45deg);
  background: var(--forest);
  border-color: var(--forest);
  color: var(--white);
}

.ba-faq-answer {
  padding: 0 4px clamp(18px, 2.2vw, 26px);
  font-size: 14.5px;
  color: var(--charcoal-72);
  line-height: 1.75;
  max-width: 60ch;
}

.ba-faq-answer a {
  color: var(--forest);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid var(--forest-12);
  padding-bottom: 1px;
}

.ba-faq-answer a:hover {
  border-color: var(--forest);
}

/* ---- 7. FINAL CTA — green band, centered, flows into footer ---- */
.ba-final {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background:
    repeating-linear-gradient(135deg, transparent 0 80px, rgba(255, 255, 255, 0.04) 80px 81px),
    linear-gradient(135deg, var(--forest) 0%, #3a6a31 50%, var(--charcoal-deep) 130%);
  padding: clamp(72px, 9vw, 132px) 0;
  text-align: center;
}

.ba-final::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 110%, rgba(29, 40, 48, 0.4) 0%, transparent 60%);
  pointer-events: none;
}

.ba-final .container {
  position: relative;
  z-index: 1;
  max-width: 860px;
}

.ba-final-eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 18px;
}

.ba-final h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(32px, 4.4vw, 60px);
  line-height: 1.08;
  letter-spacing: -0.015em;
  color: var(--white);
  margin: 0 0 clamp(16px, 2vw, 24px);
}

.ba-final h2 em {
  font-style: italic;
  color: #cde5c2;
}

.ba-final-lede {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: clamp(15.5px, 1.5vw, 18px);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
  max-width: 52ch;
  margin: 0 auto clamp(30px, 3.6vw, 44px);
}

.ba-final-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: clamp(34px, 4vw, 52px);
}

.ba-final-actions .btn-primary {
  background: var(--white);
  color: var(--forest);
  border-color: var(--white);
}

.ba-final-actions .btn-ghost {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.4);
}

.ba-final-actions .btn-ghost:hover {
  background: rgba(255, 255, 255, 0.08);
}

.ba-final-links {
  display: flex;
  justify-content: center;
  gap: clamp(18px, 3vw, 40px);
  flex-wrap: wrap;
  padding-top: clamp(22px, 2.6vw, 30px);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.ba-final-links a {
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  padding-bottom: 3px;
  transition: color 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}

.ba-final-links a:hover {
  color: var(--white);
  border-color: var(--white);
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1040px) {
  .ba-signup .container {
    grid-template-columns: 1fr;
  }

  .ba-signup-rail {
    position: static;
  }

  .ba-faq .container {
    grid-template-columns: 1fr;
  }

  .ba-faq-rail {
    position: static;
  }
}

@media (max-width: 920px) {
  .ba-step {
    grid-template-columns: clamp(48px, 8vw, 72px) 1fr;
  }

  .ba-step h3 {
    margin-bottom: 8px;
  }

  .ba-step p {
    grid-column: 2;
  }

  .ba-included-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .form-row--2 {
    grid-template-columns: 1fr;
  }

  .ba-included-grid {
    grid-template-columns: 1fr;
  }
}


/* ================================================================
    WEBSITE BUSINESS BROKERS — V7 REBUILD (page-scoped styles, wbb-)
    Live page's six pillars carried over as an editorial ledger,
    Q&A + comparison + proof band kept below. Green-strip hero,
    fine rules, dark/light/sage rhythm. No icon-card grids.
    ================================================================ */

/* ---- 1. HERO — approved green gradient strip motif ---- */
.wbb-hero {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background:
    repeating-linear-gradient(135deg, transparent 0 80px, rgba(255, 255, 255, 0.04) 80px 81px),
    linear-gradient(135deg, var(--forest) 0%, #3a6a31 50%, var(--charcoal-deep) 130%);
  padding: clamp(72px, 8vw, 124px) 0 clamp(56px, 7vw, 96px);
}

.wbb-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 55% 70% at 88% 12%, rgba(29, 40, 48, 0.35) 0%, transparent 60%);
  pointer-events: none;
}

.wbb-hero .container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  text-align: left;
}

.wbb-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: clamp(22px, 2.6vw, 34px);
}

.wbb-hero-eyebrow::before {
  content: '';
  width: 30px;
  height: 1px;
  background: rgba(255, 255, 255, 0.55);
}

.wbb-hero h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(38px, 5.2vw, 76px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--white);
  max-width: 17ch;
  margin: 0 0 clamp(18px, 2vw, 26px);
}

.wbb-hero h1 em {
  font-style: italic;
  color: #cde5c2;
}

.wbb-hero-sub {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.84);
  max-width: 58ch;
  margin: 0 0 clamp(30px, 3.6vw, 44px);
}

.wbb-hero-actions {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 26px);
  flex-wrap: wrap;
  margin-bottom: clamp(52px, 6.5vw, 88px);
}

.wbb-hero-actions .btn-primary {
  background: var(--white);
  color: var(--forest);
  border-color: var(--white);
  white-space: nowrap;
}

.wbb-hero-quietlink {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding-bottom: 3px;
  transition: color 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}

.wbb-hero-quietlink:hover {
  color: var(--white);
  border-color: var(--white);
}

.wbb-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  padding-top: clamp(26px, 3.2vw, 42px);
}

.wbb-hero-stat {
  position: relative;
  padding-right: clamp(14px, 1.8vw, 28px);
}

.wbb-hero-stat+.wbb-hero-stat {
  padding-left: clamp(16px, 2.2vw, 32px);
}

.wbb-hero-stat+.wbb-hero-stat::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12%;
  height: 76%;
  width: 1px;
  background: rgba(255, 255, 255, 0.18);
}

.wbb-hero-stat-value {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.9vw, 42px);
  color: var(--white);
  line-height: 1;
  letter-spacing: -0.01em;
  margin-bottom: 9px;
}

.wbb-hero-stat-value em {
  font-style: italic;
  color: #cde5c2;
}

.wbb-hero-stat-label {
  font-family: var(--font-body);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

@media (max-width: 880px) {
  .wbb-hero-stats {
    grid-template-columns: 1fr 1fr;
    row-gap: 26px;
  }

  .wbb-hero-stat:nth-child(3) {
    padding-left: 0;
  }

  .wbb-hero-stat:nth-child(3)::before {
    display: none;
  }
}

@media (max-width: 520px) {
  .wbb-hero-stats {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .wbb-hero-stat+.wbb-hero-stat {
    padding-left: 0;
  }

  .wbb-hero-stat+.wbb-hero-stat::before {
    display: none;
  }
}

/* ---- Shared editorial heading kit ---- */
.wbb-eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--forest);
  margin: 0 0 var(--space-sm);
}

.wbb-h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(30px, 3.8vw, 52px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--charcoal-deep);
  margin: 0 0 var(--space-md);
}

.wbb-h2 em {
  font-style: italic;
  color: var(--forest);
}

.wbb-lede {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.5vw, 17.5px);
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 56ch;
}

/* ---- 2. SIX PILLARS — sticky intro + numbered editorial ledger ---- */
.wbb-why {
  background: var(--white);
  padding: var(--space-section) 0;
}

.wbb-why .container {
  max-width: 1200px;
  display: grid;
  grid-template-columns: 0.85fr 1.3fr;
  gap: clamp(36px, 5vw, 88px);
  align-items: start;
}

.wbb-why-intro {
  position: sticky;
  top: 110px;
}

.wbb-why-intro .wbb-lede {
  margin-bottom: 26px;
}

.wbb-why-intro-link {
  font-family: var(--font-body);
  font-size: 14.5px;
  font-weight: 600;
  color: var(--forest);
  text-decoration: none;
  border-bottom: 2px solid var(--forest-12);
  padding-bottom: 3px;
  transition: border-color var(--duration-fast) var(--ease-out);
}

.wbb-why-intro-link:hover {
  border-color: var(--forest);
}

.wbb-pillar {
  display: grid;
  grid-template-columns: clamp(56px, 7vw, 92px) 1fr;
  gap: clamp(18px, 2.6vw, 40px);
  padding: clamp(26px, 3vw, 38px) 0;
  border-top: 1px solid var(--charcoal-12);
  transition: background var(--duration-base) var(--ease-out);
}

.wbb-pillar:last-of-type {
  border-bottom: 1px solid var(--charcoal-12);
}

.wbb-pillar-num {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1;
  color: var(--sage);
  -webkit-text-stroke: 1px var(--forest);
  padding-top: 4px;
  transition: color var(--duration-base) var(--ease-out);
}

.wbb-pillar:hover .wbb-pillar-num {
  color: var(--forest-pale);
}

.wbb-pillar-kicker {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--charcoal-42);
  margin: 0 0 6px;
}

.wbb-pillar h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(20px, 2.1vw, 26px);
  line-height: 1.25;
  color: var(--charcoal-deep);
  margin: 0 0 10px;
}

.wbb-pillar p {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--charcoal-72);
  margin: 0;
  max-width: 58ch;
}

.wbb-pillar p+p {
  margin-top: 10px;
}

.wbb-pillar p strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

@media (max-width: 920px) {
  .wbb-why .container {
    grid-template-columns: 1fr;
  }

  .wbb-why-intro {
    position: static;
  }
}

/* ---- 3. Q&A — shared qanda component on sage ---- */
.wbb-page .qanda {
  background: var(--sage);
}

/* ---- 5. PROOF BAND — cloud section, dark editorial panel ---- */
.wbb-proof {
  background: var(--cloud);
}

.wbb-proof-panel {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 55% 60% at 90% 0%, rgba(74, 124, 63, 0.16) 0%, transparent 60%),
    linear-gradient(165deg, var(--charcoal-deep) 0%, #1a2a35 100%);
  color: var(--white);
  border-radius: var(--radius-xl);
  padding: clamp(32px, 4.2vw, 64px);
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(32px, 4.5vw, 72px);
  max-width: 1140px;
  margin: 0 auto;
}

.wbb-proof-panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--forest) 0%, var(--forest-light) 100%);
}

.wbb-proof-eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--forest-light);
  margin: 0 0 14px;
}

.wbb-proof-panel h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.12;
  color: var(--white);
  margin: 0 0 12px;
}

.wbb-proof-panel h2 em {
  font-style: italic;
  color: var(--forest-light);
}

.wbb-proof-lede {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 clamp(22px, 2.6vw, 34px);
  max-width: 46ch;
}

.wbb-proof-stat {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.wbb-proof-stat:last-of-type {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.wbb-proof-stat-value {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.8vw, 38px);
  line-height: 1;
  color: var(--white);
  min-width: 4.6ch;
}

.wbb-proof-stat-label {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.wbb-proof-quote {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding-left: clamp(0px, 3vw, 40px);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.wbb-proof-quote-mark {
  font-family: var(--font-display);
  font-size: clamp(56px, 6vw, 84px);
  line-height: 0.5;
  color: var(--forest-light);
  opacity: 0.85;
  margin-bottom: clamp(20px, 2.2vw, 28px);
}

.wbb-proof-quote blockquote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(16.5px, 1.7vw, 21px);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0 clamp(22px, 2.6vw, 32px);
  padding: 0;
}

.wbb-proof-attrib {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 14px;
}

.wbb-proof-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: 19px;
  background: rgba(91, 154, 79, 0.22);
  color: #cde5c2;
  border: 1px solid rgba(91, 154, 79, 0.4);
}

.wbb-proof-attrib cite {
  font-style: normal;
  display: block;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 700;
  color: var(--white);
}

.wbb-proof-co {
  font-family: var(--font-body);
  font-size: 12.5px;
  margin-top: 2px;
  color: rgba(232, 237, 229, 0.55);
}

@media (max-width: 880px) {
  .wbb-proof-panel {
    grid-template-columns: 1fr;
  }

  .wbb-proof-quote {
    padding-left: 0;
    border-left: none;
    padding-top: clamp(24px, 4vw, 36px);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
}


/* ============ ABOUT PAGE STYLES ============ */

/* ============ HERO — "Front Page" masthead ============ */
.about-hero {
  position: relative;
  background: var(--charcoal-deep);
  padding: clamp(96px, 11vw, 148px) 0 0;
  overflow: hidden;
  isolation: isolate;
}

.about-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 25%, rgba(255, 255, 255, 0.045) 0%, transparent 70%),
    radial-gradient(ellipse 42% 60% at 92% 82%, rgba(74, 124, 63, 0.13) 0%, transparent 60%);
}

.about-hero-blueprint {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.about-hero-shell {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  text-align: left;
}

/* Dated rule (masthead dateline) */
.about-hero-dateline {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: clamp(36px, 4.5vw, 64px);
}

.about-hero-dateline .ahd-dot {
  color: rgba(255, 255, 255, 0.3);
}

.about-hero-dateline .ahd-rule {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.18);
  margin-left: 8px;
  transform-origin: left center;
}

/* Masthead grid: words left, oversized numeral right */
.about-hero-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(40px, 5vw, 96px);
  padding-bottom: clamp(56px, 7vw, 96px);
}

.about-hero-words {
  min-width: 0;
}

.about-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(38px, 5.4vw, 76px);
  color: var(--white);
  line-height: 1.04;
  letter-spacing: -0.005em;
  margin: 0 0 clamp(20px, 2vw, 28px);
}

.about-hero h1 em {
  font-style: italic;
  color: var(--forest-light);
  font-family: var(--font-display);
}

.about-hero .hero-sub {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.55vw, 18px);
  color: rgba(255, 255, 255, 0.72);
  font-weight: 300;
  line-height: 1.7;
  max-width: 56ch;
  margin: 0 0 clamp(28px, 3vw, 40px);
}

.about-hero-cta-row {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.4vw, 34px);
  flex-wrap: wrap;
  margin: 0;
}

.about-hero-cta-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--white);
  padding-bottom: 5px;
}

.about-hero-cta-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.4);
  transition: background 0.25s ease;
}

.about-hero-cta-link:hover::after {
  background: var(--forest-light);
}

.about-hero-cta-link span {
  transition: transform 0.25s ease;
}

.about-hero-cta-link:hover span {
  transform: translateX(4px);
}

/* Oversized numeral — the "24" promoted from stat to art */
.about-hero-numeral {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  column-gap: 4px;
  row-gap: 16px;
  align-items: start;
  justify-self: end;
}

.ahn-figure {
  grid-column: 1;
  grid-row: 1;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(160px, 22vw, 320px);
  line-height: 0.82;
  letter-spacing: -0.03em;
  background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.45) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ahn-plus {
  grid-column: 2;
  grid-row: 1;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(56px, 7vw, 110px);
  line-height: 1;
  color: var(--forest-light);
  align-self: start;
  margin-top: 0.1em;
}

.ahn-label {
  grid-column: 1 / span 2;
  grid-row: 2;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 12px;
}

/* Bylines ribbon — magazine masthead strip */
.about-hero-ribbon {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3.4vw, 56px);
  flex-wrap: wrap;
  padding: clamp(20px, 2.4vw, 30px) clamp(24px, 4vw, 48px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.025);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.ahr-item {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  font-family: var(--font-body);
}

.ahr-key {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(17px, 1.8vw, 22px);
  color: var(--white);
  line-height: 1;
}

.ahr-val {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.ahr-div {
  width: 1px;
  height: 28px;
  background: rgba(255, 255, 255, 0.18);
}

/* Hero reveal — single staggered load, then nothing */
@keyframes ah-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.about-hero-dateline,
.about-hero h1,
.about-hero .hero-sub,
.about-hero-cta-row,
.about-hero-numeral,
.about-hero-ribbon {
  animation: ah-rise 700ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.about-hero-dateline {
  animation-delay: 0ms;
}

.about-hero h1 {
  animation-delay: 120ms;
}

.about-hero .hero-sub {
  animation-delay: 240ms;
}

.about-hero-cta-row {
  animation-delay: 360ms;
}

.about-hero-numeral {
  animation-delay: 480ms;
  animation-duration: 900ms;
}

.about-hero-ribbon {
  animation-delay: 600ms;
}

@media (prefers-reduced-motion: reduce) {

  .about-hero-dateline,
  .about-hero h1,
  .about-hero .hero-sub,
  .about-hero-cta-row,
  .about-hero-numeral,
  .about-hero-ribbon {
    animation: none;
  }
}

/* ============ STORY — "The Chronicle" editorial column ============ */
.about-story {
  background: var(--cloud);
  position: relative;
  overflow: hidden;
}

.about-story::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 15% 20%, rgba(74, 124, 63, 0.04) 0%, transparent 60%),
    radial-gradient(ellipse 50% 45% at 85% 75%, rgba(0, 76, 151, 0.03) 0%, transparent 55%);
}

.about-story .container {
  position: relative;
  z-index: 1;
}

/* ---- Header ---- */
.story2-head {
  max-width: 760px;
  margin-bottom: clamp(44px, 6vw, 84px);
}

.story2-head .eyebrow {
  color: var(--forest);
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.story2-head .eyebrow::after {
  content: '';
  width: clamp(40px, 5vw, 72px);
  height: 1px;
  background: var(--forest);
  opacity: 0.5;
}

.story2-head h2 {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  margin-top: 18px;
}

/* ---- Origin: giant year anchor + narrative ---- */
.story2-origin {
  display: grid;
  grid-template-columns: clamp(180px, 24vw, 340px) 1fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: start;
  padding-bottom: clamp(44px, 6vw, 80px);
}

.story2-year-num {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(64px, 11vw, 150px);
  line-height: 0.84;
  letter-spacing: -0.03em;
  color: var(--charcoal-deep);
  white-space: nowrap;
}

.story2-year-label {
  display: block;
  margin-top: 18px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--forest);
}

.story2-year-label::before {
  content: '';
  display: block;
  width: 36px;
  height: 2px;
  background: var(--forest);
  margin-bottom: 14px;
}

.story2-origin-copy {
  padding-top: clamp(6px, 1vw, 16px);
}

.story2-origin-copy p {
  font-size: clamp(16px, 1.55vw, 19px);
  line-height: 1.8;
  color: var(--charcoal-72);
  margin: 0 0 20px;
  max-width: 60ch;
}

.story2-origin-copy p:last-child {
  margin-bottom: 0;
}

.story2-origin-copy strong {
  color: var(--charcoal-deep);
  font-weight: 600;
}

/* ---- Founder quote: the hinge (dark gradient centerpiece) ---- */
.story2-quote {
  position: relative;
  overflow: hidden;
  color: var(--white);
  margin: 0;
  padding: clamp(34px, 4vw, 56px) clamp(28px, 4vw, 64px);
  border-radius: 18px;
  background:
    repeating-linear-gradient(135deg, transparent 0 80px, rgba(255, 255, 255, 0.04) 80px 81px),
    linear-gradient(135deg, var(--forest) 0%, #3a6a31 50%, var(--charcoal-deep) 130%);
}

.story2-quote::before {
  content: '\201C';
  position: absolute;
  top: clamp(-14px, 0.5vw, 8px);
  left: clamp(18px, 4vw, 56px);
  font-family: var(--font-display);
  font-size: clamp(150px, 21vw, 300px);
  line-height: 1;
  color: rgba(255, 255, 255, 0.10);
  pointer-events: none;
}

.story2-quote blockquote {
  position: relative;
  margin: 0;
  max-width: 22ch;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(25px, 3.4vw, 46px);
  line-height: 1.28;
  color: var(--white);
}

.story2-quote figcaption {
  position: relative;
  margin-top: clamp(24px, 3vw, 40px);
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.story2-quote-name {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.8vw, 22px);
  color: var(--white);
}

.story2-quote-role {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(205, 229, 194, 0.92);
}

/* Responsive: mobile adjustments */
@media (max-width: 760px) {
  .story2-origin {
    grid-template-columns: 1fr;
    gap: clamp(6px, 2vw, 16px);
  }

  .story2-year-num {
    font-size: clamp(72px, 24vw, 132px);
  }
}

/* Differentiators (lift from homepage pattern) */
.about-diffs {
  background: var(--cloud);
}

.about-diffs-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(40px, 5vw, 64px);
}

.about-diffs-header h2 {
  font-size: clamp(28px, 3.4vw, 42px);
  margin-bottom: 14px;
}

.about-diffs-header p {
  font-size: clamp(15px, 1.6vw, 18px);
  color: var(--charcoal-72);
  line-height: 1.7;
}

.about-diffs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(18px, 2.2vw, 28px);
  max-width: 1040px;
  margin: 0 auto;
}

.about-diff {
  background: var(--white);
  border: 1px solid var(--charcoal-12);
  border-radius: 16px;
  padding: clamp(28px, 3.5vw, 40px);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  position: relative;
  overflow: hidden;
}

.about-diff::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--forest), var(--blue));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.about-diff:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px -20px rgba(15, 27, 35, 0.18);
  border-color: rgba(74, 124, 63, 0.3);
}

.about-diff:hover::before {
  transform: scaleX(1);
}

.about-diff-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--forest-pale);
  border: 1px solid var(--forest-12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--forest);
  margin-bottom: 20px;
}

.about-diff h3 {
  font-size: clamp(20px, 2.2vw, 26px);
  margin-bottom: 10px;
  color: var(--charcoal-deep);
}

.about-diff p {
  font-size: 15px;
  color: var(--charcoal-72);
  line-height: 1.7;
}

/* Expand credo section to full main-div width */
.credo .container {
  max-width: var(--container-max);
}

/* ============ AXIAL — "The Seal" commendation strip ============ */
.axial-section {
  background: var(--sage);
  position: relative;
  overflow: hidden;
}

.axial-section::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 65% at 10% 50%, rgba(74, 124, 63, 0.06) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 90% 30%, rgba(255, 255, 255, 0.5) 0%, transparent 55%);
}

/* Decorative corner brackets — certificate framing */
.axial-corners {
  position: absolute;
  inset: clamp(16px, 2vw, 32px);
  pointer-events: none;
}

.axial-corners::before,
.axial-corners::after {
  content: '';
  position: absolute;
  width: clamp(28px, 3.5vw, 48px);
  height: clamp(28px, 3.5vw, 48px);
  border-color: var(--forest-12);
  border-style: solid;
  border-width: 0;
}

.axial-corners::before {
  top: 0;
  left: 0;
  border-top-width: 1px;
  border-left-width: 1px;
}

.axial-corners::after {
  bottom: 0;
  right: 0;
  border-bottom-width: 1px;
  border-right-width: 1px;
}

.axial-corners-extra::before,
.axial-corners-extra::after {
  content: '';
  position: absolute;
  width: clamp(28px, 3.5vw, 48px);
  height: clamp(28px, 3.5vw, 48px);
  border-color: var(--forest-12);
  border-style: solid;
  border-width: 0;
}

.axial-corners-extra::before {
  top: 0;
  right: 0;
  border-top-width: 1px;
  border-right-width: 1px;
}

.axial-corners-extra::after {
  bottom: 0;
  left: 0;
  border-bottom-width: 1px;
  border-left-width: 1px;
}

.axial-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(36px, 5vw, 80px);
  align-items: center;
}

/* Seal side — the logo as a formal emblem */
.axial-seal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(14px, 1.6vw, 20px);
}

.axial-logo-frame {
  width: clamp(120px, 14vw, 180px);
  height: clamp(120px, 14vw, 180px);
  border-radius: 50%;
  background: var(--white);
  border: 2px solid var(--charcoal-12);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 0 0 clamp(6px, 0.8vw, 10px) var(--sage),
    0 0 0 clamp(7px, 0.9vw, 11px) var(--forest-12),
    var(--shadow-lg);
  position: relative;
}

.axial-logo-frame img {
  width: clamp(72px, 9vw, 110px);
  height: auto;
  object-fit: contain;
}

.axial-seal-year {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--forest);
  background: var(--white);
  padding: 5px 14px;
  border: 1px solid var(--forest-12);
  border-radius: 2px;
}

/* Text side — the commendation */
.axial-text {
  text-align: left;
}

.axial-text .eyebrow {
  color: var(--forest);
  position: relative;
  display: inline-block;
}

.axial-text h2 {
  font-size: clamp(26px, 3.2vw, 42px);
  line-height: 1.15;
  color: var(--charcoal-deep);
  margin-bottom: clamp(14px, 1.8vw, 22px);
}

.axial-text p {
  font-size: clamp(15px, 1.55vw, 17px);
  color: var(--charcoal-72);
  line-height: 1.8;
  margin-bottom: clamp(18px, 2vw, 28px);
  max-width: 60ch;
}

.axial-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--forest);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.04em;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--forest-12);
  transition: border-color 0.25s ease, gap 0.25s ease;
}

.axial-link:hover {
  border-color: var(--forest);
  gap: 14px;
}

.axial-link svg {
  transition: transform 0.25s ease;
  flex-shrink: 0;
}

.axial-link:hover svg {
  transform: translateX(2px);
}

/* Responsive: stack on mobile */
@media (max-width: 768px) {
  .axial-layout {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .axial-seal {
    order: -1;
  }

  .axial-text {
    text-align: center;
  }

  .axial-text p {
    max-width: none;
  }

  .axial-corners,
  .axial-corners-extra {
    display: none;
  }
}

/* Leadership — "The Bench" */
/* ============ LEADERSHIP — "The Partners" (white-room gallery) ============ */
.leadership-section {
  background: var(--white);
  padding: clamp(80px, 10vw, 140px) 0;
  position: relative;
}

.leadership-header {
  text-align: left;
  max-width: 640px;
  margin: 0 0 clamp(48px, 6vw, 80px);
}

.leadership-header .eyebrow {
  color: var(--forest);
  margin-bottom: 16px;
}

.leadership-header h2 {
  font-size: var(--display-lg);
  margin-bottom: 16px;
  color: var(--charcoal-deep);
  line-height: 1.08;
}

.leadership-header p {
  font-size: var(--text-lg);
  color: var(--charcoal-72);
  line-height: 1.7;
}

/* 4-column partner gallery — equal treatment, photos do the work */
.partners-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(24px, 3vw, 44px);
}

.partner-card {
  text-align: left;
}

.partner-portrait {
  position: relative;
  width: clamp(140px, 16vw, 200px);
  height: clamp(140px, 16vw, 200px);
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: clamp(20px, 2.4vw, 28px);
  border: 3px solid var(--charcoal-12);
  box-shadow: 0 4px 20px -6px rgba(15, 27, 35, 0.12);
}

.partner-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  filter: grayscale(30%);
  transition: filter 0.5s var(--ease-out), transform 0.5s var(--ease-out);
}

.partner-card:hover .partner-portrait img {
  filter: grayscale(0%);
  transform: scale(1.06);
}

.partner-portrait::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(29, 40, 48, 0.08);
  pointer-events: none;
}

.partner-card h3 {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 26px);
  color: var(--charcoal-deep);
  margin-bottom: 6px;
  line-height: 1.15;
}

.partner-card .leader-role {
  display: block;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: clamp(12px, 1.4vw, 18px);
}

.partner-card .leader-tagline {
  font-size: clamp(13px, 1.3vw, 15px);
  color: var(--charcoal-72);
  line-height: 1.65;
  margin-bottom: 14px;
  max-width: 32ch;
}

.partner-card .leader-link {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: var(--forest);
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: border-color var(--duration-fast) ease;
}

.partner-card .leader-link:hover {
  border-color: var(--forest);
}

.leadership-footer {
  text-align: left;
  margin-top: clamp(48px, 6vw, 72px);
}

.leadership-footer .btn-ghost {
  color: var(--charcoal-deep);
  border: 1px solid var(--charcoal-20);
  background: transparent;
}

.leadership-footer .btn-ghost:hover {
  background: var(--cloud);
  border-color: var(--forest);
  color: var(--forest);
}

@media (max-width: 1024px) {
  .partners-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .partners-gallery {
    grid-template-columns: 1fr;
    max-width: none;
  }
}

/* Credentials strip — THE COLOPHON */
.credentials-strip {
  background: var(--charcoal-deep);
  padding: clamp(52px, 6vw, 80px) 0;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.credentials-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 80% at 50% 100%, rgba(74, 124, 63, 0.06) 0%, transparent 60%);
}

.credentials-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  position: relative;
  z-index: 1;
}

/* Fleuron — the publisher's ornament */
.colophon-fleuron {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  margin-bottom: clamp(28px, 3.5vw, 44px);
}

.colophon-fleuron-rule {
  width: clamp(48px, 6vw, 80px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
}

.colophon-fleuron-mark {
  width: 10px;
  height: 10px;
  border: 1px solid rgba(74, 124, 63, 0.6);
  transform: rotate(45deg);
  position: relative;
}

.colophon-fleuron-mark::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  background: var(--forest);
  opacity: 0.5;
}

/* Firm name — the imprint */
.colophon-imprint {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(20px, 2.4vw, 30px);
  color: var(--white);
  letter-spacing: 0.01em;
  line-height: 1;
  margin-bottom: clamp(6px, 0.8vw, 10px);
}

/* Founding line */
.colophon-founding {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: clamp(24px, 3vw, 36px);
}

/* Credential items — stacked vertically with thin separators */
.colophon-details {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3vw, 40px);
  flex-wrap: wrap;
}

.credential-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: center;
}

.credential-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(74, 124, 63, 0.7);
}

.credential-value {
  font-family: var(--font-body);
  font-size: clamp(13px, 1.3vw, 15px);
  color: rgba(255, 255, 255, 0.7);
  font-weight: 400;
  letter-spacing: 0.02em;
}

.credential-value a {
  color: rgba(255, 255, 255, 0.7);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  transition: color 0.2s, border-color 0.2s;
}

.credential-value a:hover {
  color: var(--forest-light);
  border-color: var(--forest-light);
}

.credential-divider {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.1);
}

/* Bottom rule */
.colophon-foot {
  margin-top: clamp(28px, 3.5vw, 40px);
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.5vw, 20px);
}

.colophon-foot-rule {
  width: clamp(28px, 3vw, 48px);
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.colophon-foot-text {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.25);
}

/* CTA — THE OPEN DOOR */
.about-cta {
  background: var(--sage);
  padding: clamp(80px, 10vw, 140px) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.about-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 70% at 50% 0%, rgba(255, 255, 255, 0.6) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(74, 124, 63, 0.04) 0%, transparent 50%);
}

.about-cta .container {
  position: relative;
  z-index: 2;
}

.about-cta-ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2vw, 24px);
  margin-bottom: clamp(36px, 4.5vw, 56px);
}

.about-cta-ornament-line {
  width: clamp(40px, 5vw, 72px);
  height: 1px;
  background: var(--forest-12);
}

.about-cta-ornament-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--forest);
  opacity: 0.3;
}

.about-cta h3 {
  font-family: var(--font-display);
  font-size: clamp(32px, 4.2vw, 56px);
  font-style: italic;
  color: var(--charcoal-deep);
  line-height: 1.1;
  margin-bottom: clamp(18px, 2vw, 28px);
  letter-spacing: -0.01em;
}

.about-cta p {
  font-family: var(--font-body);
  font-size: clamp(15px, 1.5vw, 17px);
  color: var(--charcoal-72);
  max-width: 580px;
  margin: 0 auto clamp(32px, 4vw, 48px);
  line-height: 1.8;
  font-weight: 300;
}

.about-cta .btn-primary {
  background: var(--forest);
  color: var(--white);
  border-color: var(--forest);
  padding: 16px 40px;
  font-size: 14px;
  letter-spacing: 0.06em;
  box-shadow: 0 8px 24px -8px rgba(74, 124, 63, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.about-cta .btn-primary:hover {
  background: var(--charcoal-deep);
  border-color: var(--charcoal-deep);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -8px rgba(29, 40, 48, 0.3);
}

.about-cta-secondary {
  display: block;
  margin-top: clamp(20px, 2.5vw, 28px);
  color: var(--charcoal-42);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.about-cta-secondary a {
  color: var(--charcoal-72);
  border-bottom: 1px solid var(--charcoal-20);
  transition: color 0.2s, border-color 0.2s;
}

.about-cta-secondary a:hover {
  color: var(--forest);
  border-color: var(--forest);
}

/* Responsive */
@media (max-width: 1120px) {
  .bench-principal {
    grid-template-columns: 1fr;
  }

  .bench-advisors {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-diffs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1024px) {
  .about-hero-masthead {
    grid-template-columns: 1fr;
    gap: clamp(32px, 4vw, 56px);
  }

  .about-hero-numeral {
    justify-self: start;
  }

  .ahn-figure {
    font-size: clamp(140px, 32vw, 220px);
  }
}

@media (max-width: 640px) {
  .bench-advisors {
    grid-template-columns: 1fr;
  }

  .about-diffs-grid {
    grid-template-columns: 1fr;
  }

  .credential-divider {
    display: none;
  }

  .colophon-details {
    flex-direction: column;
    gap: 20px;
  }

  .about-hero-dateline .ahd-rule {
    display: none;
  }

  .about-hero h1 {
    font-size: clamp(34px, 9vw, 48px);
  }

  .about-hero-ribbon {
    gap: 16px;
    padding: 18px 16px;
  }

  .ahr-div {
    display: none;
  }
}

/* Roster "serial" strip (Shaun, 2026-07-23): single flex row wrapped badly on
   phones — label broke to 3 lines and the legend clipped off-canvas. Stack it. */
@media (max-width: 720px) {
  .roster-serial {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .roster-serial__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
  }
}

/* Founder-video section (Shaun, 2026-07-23): the 2-col grid had NO mobile rule —
   phone width kept text+thumb side by side (skinny column, tiny video). Stack it. */
@media (max-width: 860px) {
  .founder-video-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .founder-video-copy::before {
    left: -14px;
    right: -14px;
  }

  .founder-video-thumb {
    max-width: 560px;
  }
}

/* ---- Shaun .eml batch 2026-07-23 ---- */
/* 1. Hash-jump landings: clear the sticky header (FAQ categories + known targets) */
.faq-category[id],
[id^="cat-"],
#case-studies,
#faq,
#cta,
#differentiators,
#referral,
#process {
  scroll-margin-top: 96px;
}

/* 3a. Sales-process "Proof of Process" head: inline 2-col grid had no mobile rule */
@media (max-width: 720px) {
  .process-proof>.container:first-of-type {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    row-gap: 18px !important;
  }
}

/* 4. Traps grid: the late v3 block re-declared 3-col after the tablet rules */
@media (max-width: 1024px) {
  .traps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .traps-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- Mobile cascade fixes (Shaun feedback, 2026-07-23) ----
   The "MOVEMENTS v2" / "QANDA v2" blocks above re-declare .movement and
   .qanda-anchor AFTER the tablet media queries, so those mobile overrides
   lose the cascade. These corrections must stay below the v2 blocks.
   Fixes: (1) stage roman numeral sits beside the rail circle, not under it;
   (2) FAQ dark anchor card must not stick on mobile (items scrolled over it). */
@media (max-width: 1024px) {
  .movement {
    padding-left: clamp(48px, 6vw, 64px);
  }

  .movement__node {
    position: absolute;
    top: 5px;
    left: -1px;
    transform: translateX(-50%);
  }

  .qanda-anchor {
    position: static;
  }
}