/* amp-build:2218-pull-to-refresh */
/* amp-build:2207-mi-report-rebuild */
/* amp-build:2201-mi-33-public */
/* amp-build:2194-polish-step4-wide-howwehelp-specialty-photos */
/* amp-build:2193-step3-sbs-step4-cards-confirm-legible */
/* amp-build:2192-em-er-photo */
/* amp-build:2191-client-region-years-align-four */
/* amp-build:2190-client-region-mike-plan */
/* amp-build:2189-client-region-tighten */
/* amp-build:2188-client-spec-side-by-side */
/* amp-build:2187-client-spec-3x3-other-row */
/* amp-build:2185-drop-nationwide-specialty-strip */
/* amp-build:2184-specialty-under-sub-sky-bridge-restore */
/* amp-build:2183-bridge-under-sub-inter-teal-faces */
/* amp-build:2182-footer-wallpaper-bleed */
/* amp-build:2181-still-there-swipe */
/* amp-build:2180-footer-no-overscroll-mobile */
/* amp-build:2179-footer-no-overscroll */
/* amp-build:2178-hero-first-stack */
/* amp-build:2177-zach-scope-strip */
/* amp-build:2176-specialty-still-there-examples */
/* amp-build:2175-ok-tn-pca-partners */
/* amp-build:2174-facility-still-there-examples */
/* amp-build:2173-confirm-guide-name */
/* amp-build:2172-client-top-clean */
/* amp-build:2171-bridge-blue-stretch */
/* amp-build:2170-place-stay-bridge-steps */
/* amp-build:2168-mi-photo-title-clear */
/* amp-build:2167-l1-wallpaper-under-header */
/* amp-build:2166-tuck-opaque-soft */
/* amp-build:2165-row2-nested-tuck */
/* amp-build:2161-stats-mi-row */
/* amp-build:2158-v3-home-client-funnel */
/* amp-build:2157-mi-map-pinch-zoom */
/* amp-build:2156-mi-place-draw-heat */
/* amp-build:2154-hero-cleanup-kansas */
/* amp-build:2153-hero-rotator-mobile-slim */
/* amp-build:2151-ret-card-type-strengthen */
/* amp-build:2145 crawlable education/door cards */
a.residents-education-card,
a.mi-education-card {
  text-decoration: none;
  color: inherit;
}
a.card {
  text-decoration: none;
  color: inherit;
}

/* amp-build:2144-mountain-seo-scrub */
/* amp-build:2142-engagement-pass */
/* amp-build:2141-david-cleanup */
/* amp-build:2133-no-mountain */
/* amp-build:2132-brand-retheme */
/* amp-build:2131-mobile-rank-cards */
/* amp-build:2130-confirm-discuss */
/* amp-build:2129-meeting-cta-gap */
/* amp-build:2128-home-path-finetune */
/* amp-build:2127-home-path-clarity */
/* amp-build:2123-pages-confirm */
/* amp-build:2117-fqhc-spec-order */
/* amp-build:2116-why-amp-history */
/* amp-build:2115-copy-lock */
/* amp-build:2114-why-amp-glow */
/* amp-build:2113-why-amp-history */
/* amp-build:2112-client-bd-consult */
/* amp-build:2111-public-forms */
/* amp-build:2115-hero-lighten */
/* amp-build:2110-hero-lighten */
/* amp-build:2008 — path crumbs removed sitewide; hide if any remain */
.crumb { display: none !important; }

/* AMP site — LinkedIn card palette · Sep 18 2026 brand retheme */
:root {
  /* LinkedIn AMP card palette — Sep 18 2026 brand stamp */
  --teal: #6BE0AD;              /* Allied mint (primary accent) */
  --teal-dark: #2FAF7A;         /* darker mint — hover / links on light */
  --teal-deep: #1F8A5E;         /* deep mint — body link contrast on white */
  --teal-glow: rgba(107, 224, 173, 0.45);
  --teal-soft: #E8FBF3;         /* mint mist */
  --sky: #78C4E5;               /* Provider sky — secondary accent / highlights */
  --sky-soft: #E8F6FC;
  --navy: #152332;              /* primary / logo / dark surfaces */
  --navy-2: #1A2C3F;
  --navy-3: #243B52;
  --mist: #E8EEF2;              /* soft navy-tinted mist (not mountain teal) */
  --sunrise: #78C4E5;           /* retired gold sunrise → sky secondary */
  --ink: #152332;
  --muted: #64748b;
  --line: rgba(148, 163, 184, 0.28);
  --glass: rgba(21, 35, 50, 0.55);
  --radius: 16px;
  --shadow: 0 18px 50px rgba(21, 35, 50, 0.35);
  --font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body {
  margin: 0; padding: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--navy);
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
}
body { min-height: 100dvh; overflow-x: hidden; }

/* Themed scrollbars — dark track, teal thumb (match Contact / btn-primary) */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--teal) rgba(15, 23, 42, 0.92);
}
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.92);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb {
  background: var(--teal);
  border-radius: 999px;
  border: 2px solid rgba(15, 23, 42, 0.92);
  background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--teal-dark);
  border: 2px solid rgba(15, 23, 42, 0.92);
  background-clip: padding-box;
}
*::-webkit-scrollbar-corner {
  background: rgba(15, 23, 42, 0.92);
}
a { color: var(--teal-dark); text-decoration: none; }
a:hover { color: var(--teal); }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
.hidden { display: none !important; }

/* ——— Sticky nav ——— */
/* Blur lives on ::before so CSS filter glow on the lockup does not paint a Safari rect box. */
.site-nav {
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 10px 18px;
  min-height: 64px;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  isolation: isolate;
}
.site-nav::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgba(21, 35, 50, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
/* Home glass — also used on funnel/trailhead photo pages (setNavMode is-home). */
.site-nav.is-home {
  position: absolute; left: 0; right: 0; top: 0;
  z-index: 200;
  pointer-events: auto;
  background: linear-gradient(180deg, rgba(8,12,20,.72), transparent);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 0;
  box-shadow: none;
}
.site-nav.is-home::before { display: none; }
.brand {
  display: flex; align-items: center; gap: 10px;
  color: #fff; cursor: pointer; border: 0; background: transparent; padding: 4px;
  text-decoration: none;
  flex: 0 0 auto;
  max-width: min(42vw, 240px);
  position: relative;
  z-index: 2;
}
/* Full horizontal AMP lockup (Mess / Team Hub style) — not mark + text */
/* lockup glow: no clip box */
.brand.brand-lockup {
  gap: 0;
  padding: 2px 4px;
  overflow: visible;
}
.brand.brand-lockup .brand-lockup-img {
  width: clamp(168px, 18vw, 220px);
  height: auto;
  max-height: 56px;
  object-fit: contain;
  display: block;
  overflow: visible;
}
.brand.brand-lockup .brand-lockup-img.is-black { display: none; }
.brand.brand-lockup.brand-glow-black .brand-lockup-img.is-white { display: none; }
.brand.brand-lockup.brand-glow-black .brand-lockup-img.is-black { display: block; }
/* Default: white lockup + strong white glow (best on dark mountain hero) */
.brand.brand-glow-white .brand-lockup-img.is-white {
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,.95))
    drop-shadow(0 0 8px rgba(255,255,255,.75))
    drop-shadow(0 0 18px rgba(255,255,255,.45));
}
.site-nav.is-home .brand.brand-glow-white .brand-lockup-img.is-white {
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,1))
    drop-shadow(0 0 10px rgba(255,255,255,.9))
    drop-shadow(0 0 22px rgba(255,255,255,.55))
    drop-shadow(0 0 36px rgba(255,255,255,.28));
}
/* Alt: black lockup + white glow — toggle class brand-glow-black on .brand */
.brand.brand-glow-black .brand-lockup-img.is-black {
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,.95))
    drop-shadow(0 0 8px rgba(255,255,255,.8))
    drop-shadow(0 0 18px rgba(255,255,255,.5));
}
.site-nav.is-home .brand.brand-glow-black .brand-lockup-img.is-black {
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,1))
    drop-shadow(0 0 10px rgba(255,255,255,.95))
    drop-shadow(0 0 24px rgba(255,255,255,.6))
    drop-shadow(0 0 40px rgba(255,255,255,.32));
}
/* Legacy mark+text (unused on home nav; keep for safety if reintroduced) */
.brand > img:not(.brand-lockup-img) { width: 34px; height: 34px; object-fit: contain; }
.brand-lock {
  display: flex; flex-direction: column; line-height: 1.05; text-align: left;
}
.brand-lock strong {
  font-size: 11px; letter-spacing: .14em; font-weight: 750;
}
.brand-lock span {
  font-size: 10px; letter-spacing: .08em; opacity: .72; font-weight: 500;
}
.nav-links {
  display: flex; flex-wrap: wrap; gap: 4px; align-items: center; justify-content: flex-end;
  flex: 1 1 auto;
  min-width: 0;
  margin-left: 12px;
}
.nav-links a, .nav-links button.nav-link {
  color: rgba(238,246,243,.88);
  background: transparent; border: 0; cursor: pointer;
  font-size: 12px; font-weight: 600; letter-spacing: .02em;
  padding: 8px 10px; border-radius: 999px;
  text-decoration: none;
}
.nav-links a.nav-link .tm,
.mobile-nav-sheet-links a .tm {
  font-size: 0.7em;
  vertical-align: super;
  margin-left: 1px;
  font-weight: 700;
}
.nav-links a:hover, .nav-links button.nav-link:hover {
  color: #fff; background: rgba(13,148,136,.18);
}
.nav-cta {
  background: var(--teal) !important; color: #fff !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 8px 24px rgba(13,148,136,.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}
.nav-cta:hover,
.nav-cta:focus,
.nav-cta:active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
@media (max-width: 760px) {
  .nav-links .hide-sm { display: none; }
  .brand-lock span { display: none; }
  .brand.brand-lockup .brand-lockup-img {
    width: clamp(168px, 42vw, 220px);
    max-height: 58px;
  }
}

/* ——— Views ——— */
#app { min-height: 100dvh; }
.view { display: none; min-height: 100dvh; position: relative; }
.view.on { display: block; }
/* Soft land only when NOT coming from a walk-forward hop (instant / soft pages) */
.view.on.soft-in { animation: none !important; } /* No fade; only home video moves */
@keyframes viewIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

/*
  Walk-forward hops (Physician Path source of truth):
  Outgoing still: perspective + translateZ(400px) scale(1.2) over 3s
  cubic-bezier(0.25, 1, 0.5, 1). Opacity stays 1. No fade. No blur.
  UI chrome fades ~220ms, then instant land on next screen.
*/
.view.walk-forward {
  display: block !important;
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
  overflow: hidden;
  min-height: 100dvh;
  background: #0b1210;
}
.view.walk-forward .shot {
  perspective: 1000px;
}
.view .shot img.still,
.home-stage #home-video,
.home-stage .home-poster {
  transform: translateZ(0) scale(1);
  transform-origin: 50% 38%;
  transition: transform 3s cubic-bezier(0.25, 1, 0.5, 1);
}
.view.walk-forward .shot img.still {
  transform: translateZ(400px) scale(1.2);
  opacity: 1;
}
.home-stage.walk-forward {
  perspective: 1000px;
}
.home-stage.walk-forward #home-video,
.home-stage.walk-forward .home-poster {
  transform: translateZ(400px) scale(1.2);
  opacity: 1;
}
.view.walk-forward .view-chrome,
.view.walk-forward .trailhead-stage,
.view.walk-forward .home-overlay,
.view.walk-forward .home-skip,
.view.walk-forward .home-mist,
.home-stage.walk-forward .home-overlay,
.home-stage.walk-forward .home-skip,
.home-stage.walk-forward .home-mist {
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms linear;
}

/* Funnel screens: full-bleed still + chrome overlay */
.view.funnel {
  background: #0b1210;
  color: var(--ink);
}
.view.funnel > .shot {
  /* Viewport-locked: FAQ/details expand must NOT stretch this layer and re-crop the mountain. */
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  z-index: 0;
  overflow: hidden;
  line-height: 0;
  background: #0b1210;
  pointer-events: none;
}
.view.funnel > .shot img.still {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 28%; /* peak bias · Imagine crop 2026-09-09 */
  filter: brightness(0.78) saturate(1.05);
}
/* Full-bleed mountain on post-video funnel pages (not trailhead freeze) */
.view.funnel:not(.trailhead) > .shot img.still {
  position: absolute;
  inset: 0;
  max-width: none; /* override global img{max-width:100%} — kills side letterbox bars */
  max-height: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 28%;
}
/* Trailhead still must match #approach-video-hold video (cover 50% 50%).
   contain here was letterboxing vs video cover — planks jumped on handoff. */
.view.funnel.trailhead > .shot img.still {
  object-fit: cover;
  object-position: 50% 50%;
  filter: none;
  background: #0b1210;
}
.view.funnel.trailhead > .shot {
  background: #0b1210;
}
.view.funnel > .view-chrome {
  position: relative;
  z-index: 2;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
.view.funnel .hero-band {
  background: transparent;
}
.view.funnel .hero-band .bg,
.view.funnel .hero-band .veil {
  display: none;
}
.view.funnel .hero-band {
  background:
    linear-gradient(180deg, rgba(11,18,32,.42) 0%, rgba(11,18,32,.55) 55%, rgba(11,18,32,.82) 100%);
}
.view.funnel .section-lite {
  margin-top: 0;
  flex: 1;
}

/* Journey brightness — nudge up toward the peak */
.view.funnel[data-route="physician"] > .shot img.still { filter: brightness(1.00) saturate(1.04); }
.view.funnel[data-route="physician-rank"] > .shot img.still { filter: brightness(1.05) saturate(1.05); }
.view.funnel[data-route="physician-region"] > .shot img.still { filter: brightness(1.10) saturate(1.05); }
.view.funnel[data-route="physician-jobs"] > .shot img.still { filter: brightness(1.16) saturate(1.06); }
.view.funnel[data-route="job"] > .shot img.still { filter: brightness(1.22) saturate(1.07); }
.view.funnel[data-route="job-contact"] > .shot img.still,
.view.funnel[data-route="chat"] > .shot img.still,
.view.funnel[data-route="confirm-mess"] > .shot img.still { filter: brightness(1.24) saturate(1.08); }
.view.funnel[data-route="client"] > .shot img.still { filter: brightness(1.00) saturate(1.04); } /* match physician trailhead */
.view.funnel[data-route="client-specialty"] > .shot img.still { filter: brightness(1.14) saturate(1.06); }
.view.funnel[data-route="client-region"] > .shot img.still,
.view.funnel[data-route="client-retained"] > .shot img.still { filter: brightness(1.20) saturate(1.07); }
.view.funnel[data-route="client-meeting"] > .shot img.still,
.view.funnel[data-route="confirm-client"] > .shot img.still { filter: brightness(1.24) saturate(1.08); }

@media (prefers-reduced-motion: reduce) {
  .view.on.soft-in { animation: none !important; }
  .view .shot img.still,
  .view.walk-forward .shot img.still,
  .home-stage #home-video,
  .home-stage .home-poster,
  .home-stage.walk-forward #home-video,
  .home-stage.walk-forward .home-poster {
    transform: none !important;
    transition: none !important;
  }
}

/* ——— HOME: video → settle → Explore your route ——— */
.home-stage {
  position: relative;
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  background: #0b1210;
  color: #fff;
}
#home-video, .home-poster {
  position: absolute; top: 0; left: 0; right: 0;
  width: 100%; height: 100dvh;
  object-fit: cover; object-position: 50% 50%;
  background: #0b1210;
  pointer-events: none;
}
.home-stage > picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100dvh;
  display: block;
  pointer-events: none;
}
.home-poster { z-index: 0; transition: opacity .4s ease; }
#home-video { z-index: 0; }
.view .shot picture {
  display: block;
  width: 100%;
  height: 100%;
}
.home-stage.playing .home-poster { opacity: 0; pointer-events: none; }
/* Settled = wide still — keep poster visible (no auto zoom-in to 4s frame) */
.home-stage.settled:not(.playing) .home-poster { opacity: 1; }
.home-stage.settled:not(.playing) #home-video { opacity: 0; pointer-events: none; }
.home-stage.playing #home-video { opacity: 1; }
.home-mist {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(ellipse 80% 55% at 50% 18%, rgba(251,191,119,.18), transparent 55%),
    linear-gradient(180deg, rgba(8,12,20,.35) 0%, rgba(8,12,20,.15) 35%, rgba(8,12,20,.55) 70%, rgba(8,12,20,.88) 100%);
}
.home-stage.playing .home-overlay { opacity: 0; pointer-events: none; }
.home-overlay {
  position: relative; z-index: 3;
  min-height: 100dvh;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  padding: 72px 20px 56px;
  transition: opacity .55s ease;
}
.explore-block {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 8px;
  opacity: 0; transform: translateY(18px);
}
.home-stage.settled .explore-block {
  opacity: 1; transform: none;
  transition: opacity .9s cubic-bezier(.22,.61,.36,1) .15s, transform .9s cubic-bezier(.22,.61,.36,1) .15s;
}
.explore-kicker {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: #78C4E5; margin-bottom: 14px;
}
.explore-kicker::before, .explore-kicker::after {
  content: ""; width: 28px; height: 1px; background: linear-gradient(90deg, transparent, #6BE0AD);
}
.explore-title {
  margin: 0;
  font-size: clamp(32px, 6vw, 56px);
  font-weight: 650; letter-spacing: -.03em; line-height: 1.08;
  /* Shimmer = white ↔ sky ↔ mint (LinkedIn card; no mountain gold) */
  background: linear-gradient(
    90deg,
    #ffffff 0%,
    #E8F6FC 18%,
    #78C4E5 42%,
    #6BE0AD 68%,
    #ffffff 100%
  );
  background-size: 220% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: exploreDoorShimmer 3.6s ease-in-out infinite alternate;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.35))
          drop-shadow(0 0 16px rgba(120, 196, 229, 0.35));
  text-shadow:
    0 0 18px rgba(255, 255, 255, 0.35),
    0 0 36px rgba(107, 224, 173, 0.25);
}
@keyframes exploreDoorShimmer {
  0% { background-position: 0% center; }
  100% { background-position: 100% center; }
}
@media (prefers-reduced-motion: reduce) {
  .explore-title {
    animation: none;
    background: linear-gradient(90deg, #ffffff, #78C4E5 55%, #6BE0AD);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 12px rgba(120, 196, 229, 0.35));
    text-shadow: 0 2px 18px rgba(0,0,0,.5);
  }
}
.explore-sub {
  display: inline-block;
  margin: 14px auto 0;
  max-width: 46ch;
  font-size: clamp(15px, 2.2vw, 18px);
  line-height: 1.45;
  /* amp-build:2135 — static subline; no shimmer / gradient text animation */
  color: rgba(238,246,243,0.92);
  background-image: none;
  -webkit-text-fill-color: rgba(238,246,243,0.92);
}
.explore-range-row {
  position: relative;
  z-index: 4;
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 0 20px;
}
.explore-range-invite {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #99f6e4;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .04em;
  cursor: pointer;
  text-shadow: 0 0 18px rgba(45, 212, 191, .35);
}
.explore-range-invite span[aria-hidden="true"] {
  font-size: 15px;
  line-height: 1;
  animation: exploreRangeBob 1.8s ease-in-out infinite;
}
.explore-range-invite:hover { color: #ccfbf1; }
@keyframes exploreRangeBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .explore-range-invite span[aria-hidden="true"] { animation: none; }
}

.home-stage.settled .explore-sub {
  /* amp-build:2135 — no text shimmer */
  animation: none;
}
@keyframes exploreSubTextShimmer {
  0%, 100% { background-position: 0 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .home-stage.settled .explore-sub {
    animation: none;
  }
}
.story-chips {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  margin-top: 18px;
}
.story-chip {
  font-size: 11px; font-weight: 650; letter-spacing: .04em;
  padding: 6px 12px; border-radius: 999px;
  background: rgba(15,23,42,.45);
  border: 1px solid rgba(153,246,228,.28);
  color: #ccfbf1;
}
.doors {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(960px, 100%);
  opacity: 0; transform: translateY(24px);
}
.home-stage.settled .doors {
  opacity: 1; transform: none;
  transition: opacity .95s cubic-bezier(.22,.61,.36,1) .35s, transform .95s cubic-bezier(.22,.61,.36,1) .35s;
}
@media (max-width: 820px) {
  .doors { grid-template-columns: 1fr; width: min(420px, 100%); }
}
.door {
  position: relative;
  display: block;
  text-align: left;
  text-decoration: none;
  font: inherit;
  border: 1px solid rgba(153,246,228,.22);
  background: linear-gradient(165deg, rgba(15,23,42,.72), rgba(17,94,89,.35));
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 20px 18px 18px;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease, border-color .35s ease, background .35s ease;
}
.door::before {
  content: ""; position: absolute; inset: -1px; border-radius: 19px;
  background: linear-gradient(135deg, rgba(13,148,136,.55), transparent 50%, rgba(251,191,119,.25));
  opacity: 0; z-index: -1; transition: opacity .35s ease;
}
.door:hover, .door:focus-visible {
  transform: translateY(-8px) scale(1.02);
  border-color: rgba(153,246,228,.55);
  box-shadow:
    0 0 0 1px rgba(13,148,136,.35),
    0 0 28px rgba(13,148,136,.35),
    0 22px 50px rgba(0,0,0,.4);
  outline: none;
}
.door:hover::before, .door:focus-visible::before { opacity: 1; }
.door-icon {
  width: 42px; height: 42px; border-radius: 12px;
  display: grid; place-items: center;
  background: rgba(13,148,136,.22);
  border: 1px solid rgba(153,246,228,.3);
  font-size: 20px; margin-bottom: 12px;
}
.door h2 {
  margin: 0 0 6px; font-size: 18px; font-weight: 750; letter-spacing: -.02em;
}
.door p {
  margin: 0; font-size: 13px; line-height: 1.4; color: rgba(226,232,240,.85);
}
.door .door-cta {
  margin-top: 14px; display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: #99f6e4;
}
.home-skip {
  position: absolute; z-index: 5; right: 16px; bottom: 16px;
  background: rgba(15,23,42,.55); color: #e2e8f0; border: 1px solid rgba(148,163,184,.3);
  border-radius: 999px; padding: 8px 14px; font-size: 12px; font-weight: 600; cursor: pointer;
}
.home-stage.settled .home-skip { display: none; }

/* ——— Page chrome ——— */
.page {
  background:
    radial-gradient(ellipse 70% 40% at 50% -10%, rgba(13,148,136,.18), transparent 60%),
    linear-gradient(180deg, #0b1220 0%, #0f172a 40%, #f1f5f9 40.1%, #f8fafc 100%);
  color: var(--ink);
  min-height: 100dvh;
}
.view.page[data-route="blog-post"] { background: #f8fafc; color: var(--ink); }
.view.page[data-route="blog-post"] .crumb { color: var(--muted); }
.page-dark {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(13,148,136,.22), transparent 55%),
    linear-gradient(180deg, #0b1220, #0f172a 60%, #111827);
  color: #e2e8f0;
}
.hero-band {
  position: relative;
  padding: 48px 20px 36px;
  color: #fff;
  overflow: hidden;
}
.hero-band .bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: brightness(.72) saturate(1.05);
  transform: scale(1.04);
}
.hero-band .veil {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(11,18,32,.35), rgba(11,18,32,.78));
}
.hero-inner { position: relative; z-index: 1; max-width: 1080px; margin: 0 auto; }
.crumb {
  font-size: 12px; color: rgba(204,251,241,.85); margin-bottom: 10px;
}
.crumb button {
  background: none; border: 0; color: inherit; cursor: pointer; font: inherit; padding: 0;
  text-decoration: underline; text-underline-offset: 2px;
}
.hero-inner h1 {
  margin: 0 0 10px;
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 750; letter-spacing: -.03em; line-height: 1.1;
}
.hero-inner .lede {
  margin: 0; max-width: 58ch; font-size: 16px; line-height: 1.5; color: rgba(226,232,240,.9);
}
.trail-sign {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 16px;
  padding: 8px 14px; border-radius: 999px;
  background: rgba(13,148,136,.2);
  border: 1px solid rgba(153,246,228,.35);
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: #ccfbf1;
}

.section {
  max-width: 1080px; margin: 0 auto; padding: 28px 20px 56px;
}
.section-lite { background: #fff; border-radius: 24px 24px 0 0; margin-top: -18px; position: relative; z-index: 2; box-shadow: 0 -10px 40px rgba(2,12,27,.12); }

/* Cards / glow lift */
.grid-cards {
  display: grid; gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 8px 24px rgba(15,23,42,.05);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  cursor: pointer;
  text-align: left; color: inherit; width: 100%;
  text-decoration: none;
  box-sizing: border-box;
}
.card:hover, .card:focus-visible {
  transform: translateY(-6px);
  border-color: rgba(13,148,136,.45);
  box-shadow: 0 0 0 1px rgba(13,148,136,.2), 0 0 24px var(--teal-glow), 0 18px 40px rgba(15,23,42,.12);
  outline: none;
}
.card .tag {
  display: inline-block; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase;
  color: var(--teal-deep); background: var(--teal-soft); border: 1px solid #99f6e4;
  border-radius: 999px; padding: 3px 9px; margin-bottom: 10px;
}
.card h3 { margin: 0 0 6px; font-size: 17px; letter-spacing: -.02em; }
.card p { margin: 0; font-size: 13.5px; color: var(--muted); line-height: 1.45; }
.card .meta { margin-top: 12px; font-size: 12px; font-weight: 650; color: var(--teal-dark); }

.panel {
  background: #fff; border: 1px solid var(--line); border-radius: 18px;
  padding: 22px; box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.panel-dark {
  background: rgba(15,23,42,.72);
  border: 1px solid rgba(148,163,184,.22);
  color: #e2e8f0;
}

/* Buttons */
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 999px; padding: 12px 18px;
  font-size: 14px; font-weight: 700; border: 0; cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  text-decoration: none;
  box-sizing: border-box;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  background: var(--teal); color: #fff;
  box-shadow: 0 10px 24px rgba(13,148,136,.35);
}
.btn-primary:hover { background: var(--teal-dark); }
.btn-dark { background: var(--navy-2); color: #fff; }
.btn-ghost {
  background: #fff; color: var(--teal-deep);
  border: 1.5px solid var(--teal);
}
.btn-ghost-light {
  background: transparent; color: #fff;
  border: 1px solid rgba(255,255,255,.35);
}

/* Destination chips Mess / BD Hub */
.dest-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.dest-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; border-radius: 999px;
  font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase;
}
.dest-chip.mess {
  background: #1e3a5f; color: #e0f2fe;
  box-shadow: 0 0 16px rgba(56,189,248,.25);
}
.dest-chip.bd {
  background: #134e4a; color: #ccfbf1;
  box-shadow: 0 0 16px rgba(45,212,191,.25);
}
.dest-chip .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #34d399; box-shadow: 0 0 8px #34d399;
  animation: pulse 1.6s ease infinite;
}
@keyframes pulse {
  50% { opacity: .45; transform: scale(.85); }
}

/* Forms */
.form-grid { display: grid; gap: 12px; }
.form-grid.two { grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .form-grid.two { grid-template-columns: 1fr; } }
label.field { display: grid; gap: 6px; font-size: 12px; font-weight: 650; color: var(--muted); }
label.field input, label.field select, label.field textarea {
  width: 100%; border: 1px solid #cbd5e1; border-radius: 12px;
  padding: 12px 14px; background: #fff; color: var(--ink);
}
label.field textarea { min-height: 96px; resize: vertical; }
label.field input:focus, label.field select:focus, label.field textarea:focus {
  outline: 2px solid rgba(13,148,136,.35); border-color: var(--teal);
}

/* Job tease */
.job-layout {
  display: grid; gap: 18px;
  grid-template-columns: 1.4fr .9fr;
}
@media (max-width: 900px) { .job-layout { grid-template-columns: 1fr; } }
.job-hero {
  border-radius: 18px; overflow: hidden; position: relative;
  min-height: 240px; background: #0f172a;
}
.job-hero img { width: 100%; height: 260px; object-fit: cover; }
.job-hero .badge {
  position: absolute; left: 12px; bottom: 12px;
  background: rgba(15,23,42,.8); color: #fff;
  font-size: 11px; font-weight: 650; padding: 6px 12px; border-radius: 999px;
}
.bullets { margin: 12px 0 0; padding-left: 18px; }
.bullets li { margin-bottom: 8px; font-size: 14.5px; color: #334155; }
.bullets strong { color: var(--teal-deep); }
.gate-note {
  margin-top: 14px; padding: 12px 14px; border-radius: 12px;
  background: #f0fdfa; border: 1px dashed #5eead4;
  font-size: 13px; color: #115e59; font-style: italic;
}
.job-guide-aside .job-guide-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 4px;
}
.job-guide-aside .job-guide-avatar {
  width: 72px;
  height: 72px;
  margin-bottom: 0;
  flex-shrink: 0;
  font-size: 18px;
}
.job-guide-aside .job-guide-avatar.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.job-guide-aside .job-guide-body { min-width: 0; flex: 1; }
.job-guide-aside .job-guide-name {
  margin: 0 0 2px;
  font-weight: 750;
  font-size: 16px;
  letter-spacing: -0.02em;
}
.job-guide-aside .job-guide-role {
  margin: 0 0 6px;
  font-size: 12px;
}
.job-guide-aside .job-guide-blurb {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.seo-drawer {
  margin-top: 18px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
}
.seo-drawer summary {
  cursor: pointer; padding: 12px 14px; font-size: 12px; font-weight: 750;
  letter-spacing: .08em; text-transform: uppercase; background: #0f172a; color: #99f6e4;
}
.seo-drawer pre {
  margin: 0; padding: 14px; font-size: 11px; white-space: pre-wrap;
  background: #f8fafc; color: #475569; max-height: 260px; overflow: auto;
}

/* Chatbot */
.chat-shell {
  max-width: 520px; margin: 0 auto;
  background: #fff; border-radius: 20px; border: 1px solid var(--line);
  box-shadow: var(--shadow); overflow: hidden;
}
.chat-head {
  background: linear-gradient(135deg, #115e59, #0d9488);
  color: #fff; padding: 16px 18px; font-weight: 700;
}
.chat-body { padding: 16px; display: grid; gap: 10px; min-height: 280px; background: #f8fafc; }
.bubble {
  max-width: 85%; padding: 10px 12px; border-radius: 14px; font-size: 13.5px; line-height: 1.4;
}
.bubble.bot { background: #fff; border: 1px solid var(--line); color: #1e293b; }
.bubble.me { background: var(--teal); color: #fff; margin-left: auto; }
.chat-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 16px; }

/* Confirm / Mess screens */
.confirm-hero {
  text-align: center; padding: 40px 20px 20px;
}
.confirm-hero .check {
  width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%;
  display: grid; place-items: center; font-size: 28px;
  background: linear-gradient(135deg, #0d9488, #14b8a6);
  color: #fff; box-shadow: 0 0 30px rgba(13,148,136,.45);
}
.mess-mock {
  background: #0b1220; color: #e2e8f0; border-radius: 16px; padding: 16px;
  border: 1px solid rgba(56,189,248,.25);
  font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px;
}
.mess-mock .row { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(148,163,184,.15); }
.mess-mock .row:last-child { border-bottom: 0; }
.mess-mock .ok { color: #34d399; }

/* Blog */
.blog-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.article { max-width: 740px; margin: 0 auto; }
.article h1 { font-size: clamp(28px, 4vw, 40px); letter-spacing: -.03em; line-height: 1.15; margin: 0 0 12px; }
.article .meta-desc {
  font-size: 13px; color: var(--muted); padding: 10px 12px; border-left: 3px solid var(--teal);
  background: #f8fafc; margin-bottom: 22px;
}
.article h2 { margin: 28px 0 10px; font-size: 22px; letter-spacing: -.02em; color: var(--navy-2); }
.article p, .article li { font-size: 16px; line-height: 1.7; color: #334155; }
.article p { margin: 0 0 14px; }
.article ul, .article ol { margin: 0 0 16px; padding-left: 22px; }
.faq { margin-top: 28px; display: grid; gap: 10px; overflow-anchor: none; }
.faq details {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px;
}
.faq details, .seo-drawer { overflow-anchor: none; }
.faq summary { font-weight: 700; cursor: pointer; color: var(--navy-2); }
.faq p { margin: 10px 0 0; font-size: 14.5px; }

/* AMP Score */
.score-meter {
  display: grid; gap: 10px; margin: 18px 0;
}
.score-bar {
  height: 12px; border-radius: 999px; background: #e2e8f0; overflow: hidden;
}
.score-bar > span {
  display: block; height: 100%; border-radius: inherit;
  background: linear-gradient(90deg, #0d9488, #2dd4bf);
  box-shadow: 0 0 12px rgba(13,148,136,.5);
}
.score-legend { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); }

/* Footer */
.site-footer {
  background: #0b1220; color: #94a3b8; padding: 36px 20px 48px;
  border-top: 1px solid rgba(148,163,184,.12);
}
.footer-inner {
  max-width: 1080px; margin: 0 auto;
  display: grid; gap: 24px;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
}
@media (max-width: 800px) { .footer-inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .footer-inner { grid-template-columns: 1fr; } }
.site-footer h4 {
  margin: 0 0 10px; color: #e2e8f0; font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
}
.site-footer a, .site-footer button.linkish {
  display: block; color: #94a3b8; background: none; border: 0; padding: 4px 0;
  font: inherit; text-align: left; cursor: pointer;
}
.site-footer a:hover, .site-footer button.linkish:hover { color: #99f6e4; }
.seo-mock-links {
  margin-top: 22px; padding-top: 16px; border-top: 1px solid rgba(148,163,184,.15);
  font-size: 11px; color: #64748b;
}
.seo-mock-links span { margin-right: 12px; }

/* Utility */
.muted { color: var(--muted); }
.center { text-align: center; }
.mt-0 { margin-top: 0; }
.mt-8 { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mb-0 { margin-bottom: 0; }
.pill {
  display: inline-block; border-radius: 999px; padding: 4px 10px;
  font-size: 11px; font-weight: 700; background: var(--teal-soft); color: var(--teal-deep);
  border: 1px solid #99f6e4;
}
.dark-card {
  background: rgba(15,23,42,.65); border: 1px solid rgba(148,163,184,.2);
  border-radius: 16px; padding: 16px; color: #e2e8f0;
}
.dark-card:hover {
  border-color: rgba(13,148,136,.5);
  box-shadow: 0 0 24px rgba(13,148,136,.25);
}


/* Proof chips + SEO pillars */
.proof-chips {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  margin-top: 16px;
}
.proof-chip {
  font-size: 12px; font-weight: 650;
  padding: 8px 12px; border-radius: 999px;
  background: rgba(15,23,42,.55);
  border: 1px solid rgba(153,246,228,.3);
  color: #e2e8f0;
}
.proof-chip strong { color: #99f6e4; font-weight: 750; margin-right: 4px; }
.proof-chip.lite {
  background: #f0fdfa;
  border: 1px solid #99f6e4;
  color: #134e4a;
}
.proof-chip.lite strong { color: #0f766e; }
.proof-note { font-size: 12.5px; margin-top: 12px; }
.seo-pillars-rail {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.seo-pillars-head { margin-bottom: 12px; }
.seo-pillars-title {
  margin: 8px 0 6px;
  font-size: clamp(18px, 3vw, 24px);
  letter-spacing: -.02em;
}
.seo-pillar-links {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  margin-top: 14px;
}
.pillar-card { text-align: left; }
.funnel-panel {
  background: rgba(248,250,252,.96);
  border-radius: 24px 24px 0 0;
  margin-top: auto;
  box-shadow: 0 -10px 40px rgba(2,12,27,.18);
  padding: 28px 20px 56px;
}
.funnel-panel.narrow { max-width: 640px; margin-left: auto; margin-right: auto; width: 100%; border-radius: 24px; margin-top: 24px; margin-bottom: 40px; }
.funnel .page-light-pad { padding: 48px 20px 56px; }


/* MPC contingent — wilderness + telescope visual beat */
.mpc-beat {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 860px) {
  .mpc-beat { grid-template-columns: 1fr; }
}
.mpc-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 8px 24px rgba(15,23,42,.06);
  text-align: left;
}
.mpc-panel .tag {
  display: inline-block; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase;
  color: var(--teal-deep); background: var(--teal-soft); border: 1px solid #99f6e4;
  border-radius: 999px; padding: 3px 9px; margin-bottom: 10px;
}
.mpc-panel h3 { margin: 0 0 8px; font-size: 17px; letter-spacing: -.02em; }
.mpc-panel p { margin: 0; font-size: 13.5px; color: var(--muted); line-height: 1.45; }
.mpc-icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center; font-size: 22px; margin-bottom: 10px;
  background: rgba(13,148,136,.12); border: 1px solid rgba(13,148,136,.25);
}
.mpc-panel.wild { border-color: rgba(101,163,13,.35); }
.mpc-panel.wild .mpc-icon { background: rgba(101,163,13,.12); border-color: rgba(101,163,13,.3); }
.mpc-panel.scope { border-color: rgba(56,189,248,.35); }
.mpc-panel.scope .mpc-icon { background: rgba(56,189,248,.12); border-color: rgba(56,189,248,.3); }
.mpc-panel.retained { border-color: rgba(13,148,136,.45); box-shadow: 0 0 0 1px rgba(13,148,136,.12), 0 10px 28px rgba(13,148,136,.12); }
.view.funnel[data-route="mpc"] > .shot img.still { filter: brightness(1.12) saturate(1.05); }


/* ——— Expedition agreements: Summit Clear · Shared Ascent (MPC buried rail) ——— */
.agreement-stage { position: relative; }
.agreement-layout {
  display: grid;
  gap: 20px;
  /* Rail removed from HTML — single full-width main (was 168px + 1fr crushing cards) */
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  width: 100%;
}
.agreement-main, .agreement-chooser { min-width: 0; width: 100%; } /* amp-build:1978-agree-fullwidth */

@media (max-width: 900px) {
  .agreement-layout { grid-template-columns: 1fr; }
  .agreement-rail {
    order: 3;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    padding: 12px 14px;
    border-style: dashed;
    opacity: .78;
  }
  .agreement-rail .rail-kicker { margin: 0; }
  .agreement-rail .rail-note { margin: 0; flex: 1 1 100%; }
}
.agreement-rail {
  position: sticky;
  top: 88px;
  padding: 14px 12px;
  border-radius: 16px;
  border: 1px solid rgba(148,163,184,.28);
  background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(241,245,249,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.rail-kicker {
  margin: 0 0 10px;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #94a3b8;
}
.rail-link {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  width: 100%;
  text-align: left;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(56,189,248,.22);
  background: rgba(255,255,255,.72);
  color: #334155;
  cursor: pointer;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.rail-link:hover, .rail-link:focus-visible {
  border-color: rgba(56,189,248,.45);
  box-shadow: 0 0 16px rgba(56,189,248,.18);
  transform: translateY(-2px);
  outline: none;
}
.rail-icon {
  flex: 0 0 auto;
  width: 32px; height: 32px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: rgba(56,189,248,.1);
  border: 1px solid rgba(56,189,248,.25);
  font-size: 16px;
}
.rail-copy { font-size: 12px; line-height: 1.35; color: #64748b; }
.rail-copy strong { display: block; color: #0f172a; font-size: 12.5px; margin-bottom: 2px; }
.rail-note {
  margin: 10px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: #94a3b8;
}

.agreement-chooser {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 760px) {
  .agreement-chooser { grid-template-columns: 1fr; }
}

.agree-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  text-align: left;
  cursor: pointer;
  color: #e2e8f0;
  border-radius: 22px;
  padding: 22px 20px 20px;
  border: 1px solid rgba(153,246,228,.22);
  background:
    radial-gradient(ellipse 90% 60% at 12% -10%, rgba(45,212,191,.22), transparent 55%),
    linear-gradient(165deg, rgba(15,23,42,.96), rgba(17,94,89,.42) 55%, rgba(15,23,42,.92));
  box-shadow:
    0 14px 36px rgba(2,12,27,.28),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease, border-color .35s ease;
  width: 100%;
  font: inherit;
}
.agree-card.ascent {
  background:
    radial-gradient(ellipse 90% 60% at 88% -10%, rgba(56,189,248,.2), transparent 55%),
    linear-gradient(165deg, rgba(15,23,42,.96), rgba(30,58,95,.55) 50%, rgba(15,23,42,.94));
  border-color: rgba(125,211,252,.22);
}
.agree-card .agree-glow {
  position: absolute; inset: -40% -20% auto;
  height: 70%;
  background: radial-gradient(circle at 50% 40%, rgba(45,212,191,.28), transparent 60%);
  opacity: .55;
  pointer-events: none;
  z-index: 0;
  transition: opacity .35s ease;
}
.agree-card.ascent .agree-glow {
  background: radial-gradient(circle at 50% 40%, rgba(56,189,248,.26), transparent 60%);
}
.agree-card > *:not(.agree-glow) { position: relative; z-index: 1; }
.agree-card:hover, .agree-card:focus-visible {
  transform: translateY(-10px) scale(1.015);
  border-color: rgba(153,246,228,.55);
  box-shadow:
    0 0 0 1px rgba(13,148,136,.35),
    0 0 36px rgba(13,148,136,.35),
    0 28px 56px rgba(2,12,27,.45);
  outline: none;
}
.agree-card.ascent:hover, .agree-card.ascent:focus-visible {
  border-color: rgba(125,211,252,.55);
  box-shadow:
    0 0 0 1px rgba(56,189,248,.35),
    0 0 36px rgba(56,189,248,.28),
    0 28px 56px rgba(2,12,27,.45);
}
.agree-card:hover .agree-glow, .agree-card:focus-visible .agree-glow { opacity: 1; }

.agree-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}
.contrast-chip {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
}
.contrast-chip.clear {
  color: #ecfdf5;
  background: rgba(13,148,136,.28);
  border-color: rgba(153,246,228,.4);
}
.contrast-chip.risk {
  color: #e0f2fe;
  background: rgba(14,165,233,.22);
  border-color: rgba(125,211,252,.4);
}
.agree-icon {
  width: 44px; height: 44px;
  border-radius: 14px;
  display: grid; place-items: center;
  font-size: 22px;
  background: rgba(15,23,42,.45);
  border: 1px solid rgba(153,246,228,.28);
  box-shadow: 0 0 18px rgba(13,148,136,.2);
}
.agree-card.ascent .agree-icon {
  border-color: rgba(125,211,252,.3);
  box-shadow: 0 0 18px rgba(56,189,248,.18);
}
.agree-card h2 {
  margin: 0 0 4px;
  font-size: clamp(24px, 3.2vw, 30px);
  letter-spacing: -.03em;
  font-weight: 780;
  color: #f8fafc;
}
.agree-aka {
  margin: 0 0 12px;
  font-size: 12px;
  color: rgba(153,246,228,.9);
  font-weight: 650;
}
.agree-card.ascent .agree-aka { color: rgba(186,230,253,.92); }
.aka-label {
  display: inline-block;
  margin-right: 6px;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(148,163,184,.9);
  font-weight: 700;
}
.aka-paren { color: rgba(148,163,184,.85); font-weight: 550; }
.agree-story {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(226,232,240,.88);
}
.agree-bullets {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.agree-bullets li {
  position: relative;
  padding-left: 18px;
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(203,213,225,.95);
}
.agree-bullets li::before {
  content: "";
  position: absolute;
  left: 0; top: .55em;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #2dd4bf;
  box-shadow: 0 0 8px rgba(45,212,191,.65);
}
.agree-card.ascent .agree-bullets li::before {
  background: #38bdf8;
  box-shadow: 0 0 8px rgba(56,189,248,.65);
}
.agree-bullets strong { color: #f8fafc; font-weight: 700; }
.agree-cta {
  margin-top: 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #99f6e4;
}
.agree-card.ascent .agree-cta { color: #7dd3fc; }
.agree-card:hover .agree-cta { text-shadow: 0 0 12px rgba(153,246,228,.45); }

.agreement-footer {
  background:
    linear-gradient(180deg, rgba(240,253,250,.9), #fff);
  border: 1px solid rgba(153,246,228,.35);
}
.picked-agreement {
  margin-top: 16px;
  border-color: rgba(13,148,136,.35);
  background: linear-gradient(135deg, #f0fdfa, #fff);
}
.picked-agreement .tag { margin-bottom: 8px; }
.view.funnel[data-route="client-retained"] > .shot img.still {
  filter: brightness(1.16) saturate(1.08);
}

/* Summit Clear primary sell hierarchy */
.agreement-chooser {
  align-items: stretch;
}
.agree-card.is-primary {
  grid-column: span 1;
  transform: scale(1.02);
  z-index: 2;
  padding: 26px 22px 22px;
  border-color: rgba(153,246,228,.45);
  box-shadow:
    0 0 0 1px rgba(13,148,136,.28),
    0 0 40px rgba(13,148,136,.28),
    0 22px 48px rgba(2,12,27,.38),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.agree-card.is-primary:hover,
.agree-card.is-primary:focus-visible {
  transform: translateY(-12px) scale(1.035);
  box-shadow:
    0 0 0 1px rgba(13,148,136,.5),
    0 0 48px rgba(13,148,136,.45),
    0 32px 64px rgba(2,12,27,.5);
}
.agree-card.is-secondary {
  opacity: .92;
  transform: scale(.96);
  z-index: 1;
  filter: saturate(.92);
}
.agree-card.is-secondary:hover,
.agree-card.is-secondary:focus-visible {
  opacity: 1;
  filter: none;
  transform: translateY(-8px) scale(.99);
}
.rec-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 14px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4, #99f6e4 55%, #fde68a);
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: 0 0 20px rgba(45,212,191,.45);
}
.primary-sell {
  color: #fde68a;
  font-weight: 750;
}
.secondary-sell {
  color: rgba(148,163,184,.95);
  font-weight: 650;
}
.agree-cta-primary {
  display: inline-flex;
  margin-top: 20px;
  padding: 12px 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0d9488, #14b8a6);
  color: #042f2e !important;
  box-shadow: 0 0 24px rgba(13,148,136,.45);
  letter-spacing: .06em;
}
.agree-card.is-primary:hover .agree-cta-primary {
  box-shadow: 0 0 32px rgba(45,212,191,.65);
}
@media (min-width: 761px) {
  .agreement-chooser {
    grid-template-columns: 1.22fr 0.9fr;
  }
}

/* MPC dual capture routes — client BD vs candidate Mess Responses */
.mpc-route-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}
@media (max-width: 720px) {
  .mpc-route-grid { grid-template-columns: 1fr; }
}
.mpc-route {
  border-radius: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 8px 22px rgba(15,23,42,.05);
}
.mpc-route h4 {
  margin: 8px 0 6px;
  font-size: 16px;
  letter-spacing: -.02em;
  color: var(--navy-2);
}
.mpc-route .btn { margin-top: 10px; }
.mpc-route.client-route {
  border-color: rgba(13,148,136,.35);
  background: linear-gradient(180deg, #f0fdfa, #fff);
}
.mpc-route.candidate-route {
  border-color: rgba(56,189,248,.3);
  background: linear-gradient(180deg, #f0f9ff, #fff);
}


/* ——— HOME: 2 heroes + subtle extras ——— */
.home-proof-subtle {
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
  opacity: 0.92;
}
.home-proof-subtle .proof-chip {
  /* amp-build:2135 — larger homepage proof pills */
  font-size: 14px;
  font-weight: 700;
  padding: 10px 16px;
  background: rgba(255,255,255,0.09);
  border: 1px solid rgba(153,246,228,0.28);
}
.home-proof-subtle .proof-chip strong {
  font-size: 15px;
  font-weight: 800;
  margin-right: 5px;
}
.doors-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: min(880px, 100%);
  margin: 0 auto;
}
.door-hero {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  padding: 26px 26px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  background:
    linear-gradient(160deg, rgba(8,15,28,0.78) 0%, rgba(13,40,48,0.62) 55%, rgba(15,23,42,0.72) 100%);
  border: 1px solid rgba(94, 234, 212, 0.32);
  border-radius: 22px;
  box-shadow:
    0 22px 60px rgba(0,0,0,0.42),
    0 0 0 1px rgba(255,255,255,0.05) inset,
    0 0 48px rgba(45, 212, 191, 0.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease, border-color .35s ease;
}

.door-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  z-index: 0;
  pointer-events: none;
  transform: scale(1.02);
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
}
.door-photo-shade {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(2,8,18,0.35) 0%, rgba(2,8,18,0.18) 42%, rgba(2,8,18,0.72) 100%),
    linear-gradient(90deg, rgba(2,8,18,0.12) 0%, rgba(2,8,18,0.22) 38%, rgba(2,8,18,0.72) 100%);
}
.door-hero:hover .door-photo,
.door-hero:focus-visible .door-photo {
  transform: scale(1.06);
}
.door-hero {
  /* photo carries the scene; keep glass border/shadow */
  background: rgba(8,15,28,0.35);
}

.home-partners {
  width: min(920px, 100%);
  margin: 36px auto 8px;
  padding: 22px 18px 18px;
  text-align: center;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(8,15,28,0.55) 0%, rgba(8,15,28,0.72) 100%);
  border: 1px solid rgba(148,163,184,0.18);
  box-shadow: 0 18px 50px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.04);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.home-partners-kicker {
  margin: 0 0 18px;
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  text-transform: none;
  color: rgba(248, 250, 252, 0.92);
}
.home-partners-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 28px;
  align-items: center;
  justify-items: center;
}
.partner-logo {
  max-width: min(200px, 100%);
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0.92;
  /* live-site white marks on black plates → screen drops the black on dark UI */
  mix-blend-mode: screen;
  filter: brightness(1.05) drop-shadow(0 0 12px rgba(94,234,212,0.1));
  transition: opacity .25s ease, filter .25s ease, transform .25s ease;
}
.partner-logo:hover {
  opacity: 1;
  filter: brightness(1.12) drop-shadow(0 0 16px rgba(94,234,212,0.28));
  transform: translateY(-1px);
}

.home-job2 {
  width: min(920px, 100%);
  margin: 28px auto 12px;
  text-align: center;
}
.home-job2-kicker {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #99f6e4;
}
.home-job2-title {
  margin: 0 0 20px;
  font-size: clamp(1.35rem, 3.2vw, 1.85rem);
  font-weight: 720;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #f8fafc;
  text-shadow: 0 2px 20px rgba(0,0,0,0.35);
}
.home-job2-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  text-align: left;
}
.home-job2-card {
  overflow: hidden;
  border-radius: 20px;
  background: rgba(8,15,28,0.62);
  border: 1px solid rgba(148,163,184,0.2);
  box-shadow: 0 18px 48px rgba(0,0,0,0.32);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.home-job2-photo {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
}
.home-job2-body {
  padding: 16px 16px 18px;
}
.home-job2-path {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5eead4;
}
.home-job2-client .home-job2-path { color: #78C4E5; }
.home-job2-body h3 {
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 720;
  letter-spacing: -0.02em;
  color: #f8fafc;
  line-height: 1.25;
}
.home-job2-body p {
  margin: 0 0 14px;
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(226,232,240,0.88);
}
.home-job2-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 720;
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4, #2dd4bf);
  text-decoration: none;
}
.home-job2-cta.client {
  color: #1c1917;
  background: linear-gradient(135deg, #6BE0AD, #2FAF7A);
}
@media (max-width: 640px) {
  .home-partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
  .partner-logo { max-height: 36px; }
  .home-job2-grid { grid-template-columns: 1fr; }
  .home-job2-photo { height: 160px; }
  .door-hero { min-height: 300px; }
}

.door-hero .door-glow {
  position: absolute;
  inset: -40% -20% auto -20%;
  height: 70%;
  background: radial-gradient(ellipse at 50% 0%, rgba(94,234,212,0.22), transparent 65%);
  pointer-events: none;
  opacity: 0.85;
  transition: opacity .4s ease, transform .5s ease;
}
.door-client .door-glow {
  background: radial-gradient(ellipse at 50% 0%, rgba(251,191,119,0.2), transparent 65%);
}
.door-hero:hover, .door-hero:focus-visible {
  transform: translateY(-8px) scale(1.015);
  border-color: rgba(94, 234, 212, 0.65);
  box-shadow:
    0 28px 70px rgba(0,0,0,0.48),
    0 0 0 1px rgba(255,255,255,0.08) inset,
    0 0 64px rgba(45, 212, 191, 0.22);
  outline: none;
}
.door-client:hover, .door-client:focus-visible {
  border-color: rgba(251, 191, 119, 0.55);
  box-shadow:
    0 28px 70px rgba(0,0,0,0.48),
    0 0 0 1px rgba(255,255,255,0.08) inset,
    0 0 64px rgba(251, 191, 119, 0.18);
}
.door-hero:hover .door-glow, .door-hero:focus-visible .door-glow {
  opacity: 1;
  transform: scale(1.08);
}
.door-top {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 14px;
  width: 100%;
  margin-bottom: 14px;
}
.door-path {
  /* David/Randy: Candidate path / Client path must read obvious — ~2× prior 10px */
  font-size: 20px;
  font-weight: 780;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5eead4;
}
.door-client .door-path { color: #78C4E5; }
.door-who {
  font-size: 11px;
  font-weight: 560;
  color: rgba(226,232,240,0.72);
  letter-spacing: 0.02em;
}
.door-story {
  position: relative;
  z-index: 1;
  margin: 0 0 12px auto;
  max-width: 14ch;
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  font-weight: 780;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0,0,0,0.35);
}
.door-line {
  position: relative;
  z-index: 1;
  margin: 0 0 auto auto;
  font-size: 14.5px;
  line-height: 1.45;
  color: rgba(226,232,240,0.88);
  max-width: 32ch;
}
.door-hero .door-cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  padding: 11px 16px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 720;
  letter-spacing: 0.01em;
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4, #2dd4bf);
  box-shadow: 0 8px 24px rgba(45,212,191,0.35);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.door-client .door-cta {
  color: #1c1917;
  background: linear-gradient(135deg, #6BE0AD, #2FAF7A);
  box-shadow: 0 8px 24px rgba(245,158,11,0.32);
}
.door-hero:hover .door-cta, .door-hero:focus-visible .door-cta {
  transform: translateX(3px);
  filter: brightness(1.05);
}
.home-extras {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 4px;
  opacity: 0;
  transform: translateY(8px);
}
.home-stage.settled .home-extras {
  opacity: 0.5;
  transform: none;
  transition: opacity 1s cubic-bezier(.22,.61,.36,1) .55s, transform 1s cubic-bezier(.22,.61,.36,1) .55s;
}
.home-extras:hover, .home-extras:focus-within { opacity: 0.92; }
.home-extra-link {
  background: none;
  border: 0;
  color: rgba(226, 232, 240, 0.85);
  font: inherit;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  padding: 6px 8px;
  text-decoration: none;
  border-radius: 8px;
}
.home-extra-link:hover, .home-extra-link:focus-visible {
  color: #5eead4;
  background: rgba(94, 234, 212, 0.08);
}
.home-extra-dot { color: rgba(148, 163, 184, 0.5); font-size: 12px; user-select: none; }
@media (max-width: 640px) {
  .doors-hero { grid-template-columns: 1fr; width: min(440px, 100%); gap: 14px; }
  .door-hero { min-height: 0; padding: 22px 20px 20px; }
  .door-story { font-size: clamp(1.55rem, 7vw, 2rem); }
}


/* ——— David-bar polish: elevated thin screens + phone 430 ——— */
.panel-glow {
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(94,234,212,0.28);
  box-shadow:
    0 18px 48px rgba(2,12,27,0.18),
    0 0 0 1px rgba(255,255,255,0.4) inset,
    0 0 40px rgba(45,212,191,0.08);
  backdrop-filter: blur(8px);
}
.btn-lg {
  padding: 14px 22px;
  font-size: 15px;
  font-weight: 720;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 28px rgba(13,148,136,0.35);
}
.guide-strip {
  display: grid;
  gap: 16px;
  margin-bottom: 14px;
}
@media (min-width: 640px) {
  .guide-strip {
    grid-template-columns: 1.1fr 1fr;
    align-items: center;
  }
}
.confirm-band .hero-inner { max-width: 1040px; margin: 0 auto; }
.glass-confirm {
  background: rgba(8,15,28,0.55);
  border: 1px solid rgba(94,234,212,0.28);
  border-radius: 22px;
  padding: 28px 22px 24px;
  backdrop-filter: blur(14px);
  box-shadow: 0 22px 60px rgba(0,0,0,0.35), 0 0 48px rgba(45,212,191,0.1);
}
.confirm-kicker {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #5eead4;
}
.glass-confirm h1 {
  color: #fff;
  margin: 0 0 10px;
  letter-spacing: -0.03em;
}
.confirm-lede, .glass-confirm .lede {
  color: rgba(226,232,240,0.9) !important;
  max-width: 62ch;
  margin-left: auto;
  margin-right: auto;
}
.elevated-mock {
  box-shadow: 0 16px 40px rgba(0,0,0,0.35), 0 0 0 1px rgba(56,189,248,0.2);
}
.score-num-display {
  font-size: 28px;
  font-weight: 780;
  letter-spacing: -0.03em;
  color: #0f766e;
  margin: 0 0 8px;
}
.picked-agreement.summit-picked,
.picked-agreement:not([hidden]) {
  border-color: rgba(13,148,136,0.4);
  background: linear-gradient(180deg, #f0fdfa, #fff);
}
.view.funnel[data-route="about"] > .shot img.still,
.view.funnel[data-route="for-physicians"] > .shot img.still,
.view.funnel[data-route="for-organizations"] > .shot img.still,
.view.funnel[data-route="contact"] > .shot img.still,
.view.funnel[data-route="amp-score"] > .shot img.still,
.view.funnel[data-route="search"] > .shot img.still {
  filter: brightness(1.12) saturate(1.05);
}

/* Phone-clean @ 430 */
@media (max-width: 430px) {
  .home-overlay { padding: 76px 10px 28px; }
  .explore-title { font-size: clamp(30px, 9vw, 40px); }
  .explore-sub { font-size: 14.5px; margin-top: 10px; }
  .home-proof-subtle {
    flex-wrap: nowrap;
    gap: 4px;
    margin-top: 8px;
    width: 100%;
  }
  .home-proof-subtle .proof-chip {
    font-size: 11.5px;
    padding: 7px 9px;
    white-space: nowrap;
    flex: 0 1 auto;
  }
  .home-proof-subtle .proof-chip strong { margin-right: 2px; }
  .doors-hero { width: 100%; gap: 12px; }
  .door-hero { padding: 18px 16px 16px; border-radius: 18px; }
  .door-story { font-size: 1.45rem; margin-bottom: 8px; }
  .door-line { font-size: 13.5px; max-width: none; }
  .door-hero .door-cta { margin-top: 16px; width: 100%; justify-content: center; }
  .home-extras { margin-top: 16px; opacity: 0.55; }
  .home-extra-link { font-size: 12px; padding: 5px 6px; }
  .hero-inner h1 { font-size: clamp(26px, 7.5vw, 34px); }
  .hero-inner .lede { font-size: 14.5px; }
  .section-lite, .funnel-panel { padding-left: 14px; padding-right: 14px; }
  .agreement-rail { order: 2; margin-top: 8px; }
  .chat-shell { border-radius: 16px; }
  .btn-row { gap: 8px; }
  .btn-lg { width: 100%; justify-content: center; }
}


/* phone~430 polish */
@media (max-width: 430px) {
  .home-overlay { padding: 76px 14px 28px; }
  .explore-title { font-size: clamp(30px, 9vw, 40px); }
  .explore-sub { font-size: 14px; }
  .home-proof-subtle {
    flex-wrap: nowrap;
    gap: 3px;
  }
  .home-proof-subtle .proof-chip {
    font-size: 11px;
    padding: 6px 8px;
    white-space: nowrap;
  }
  .home-proof-subtle .proof-chip strong { margin-right: 2px; }
  .door-hero { padding: 18px 16px 16px; border-radius: 18px; }
  .door-story { font-size: clamp(1.4rem, 7.5vw, 1.75rem); }
  .door-line { font-size: 12.5px; }
  .brand-lock strong { font-size: 9px; letter-spacing: .1em; }
  .brand.brand-lockup .brand-lockup-img {
    width: clamp(168px, 42vw, 220px);
    max-height: 58px;
  }
  .funnel-panel { padding: 20px 14px 48px; border-radius: 18px 18px 0 0; }
  .grid-cards { grid-template-columns: 1fr; }
  .hero-inner h1 { font-size: clamp(24px, 7vw, 32px); }
  .btn-row { flex-wrap: wrap; }
  .agree-card { padding: 18px 16px 16px; }
  .site-nav { padding: 8px 12px; }
}

/* Ensure glow/lift always fires on interactive CTAs (cards, doors, agree) */
.card:hover, .card:focus-visible,
.door:hover, .door:focus-visible,
.door-hero:hover, .door-hero:focus-visible,
.agree-card:hover, .agree-card:focus-visible,
.pillar-card:hover, .pillar-card:focus-visible {
  will-change: transform, box-shadow;
}
.btn-primary:hover, .btn-primary:focus-visible {
  filter: brightness(1.06);
  box-shadow: 0 0 0 1px rgba(13,148,136,.35), 0 0 24px rgba(13,148,136,.4), 0 12px 28px rgba(2,12,27,.25);
  transform: translateY(-2px);
}
.btn { transition: transform .25s ease, box-shadow .25s ease, filter .25s ease, background .25s ease; }

/* ========== Trailhead signposts (Physician Path SoT) ==========
   Labels painted on wood planks — NOT floating white cards. */
.view.funnel.trailhead {
  display: none;
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #020c1b;
}
.view.funnel.trailhead.on { display: block; }
.view.funnel.trailhead > .shot {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.view.funnel.trailhead > .shot img.still {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  filter: none;
  background: #0b1210;
}
/* Static plank art (not post-swoop bake) can use cover for hotspot alignment */
.view.funnel.trailhead:not(.after-approach) > .shot img.still:not([data-baked]) {
  object-fit: cover;
  filter: brightness(1.02) saturate(1.05);
}
.trailhead-stage {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  pointer-events: auto;
}
.trailhead-stage .crumb,
.trailhead-stage .linkish,
.trailhead-stage button,
.trailhead-stage .signpost,
.trailhead-stage .trailhead-rail {
  pointer-events: auto;
}
.trailhead-top {
  /* Clear absolute glass nav (AMP lockup) — was starting at y=0 and stacking under brand */
  padding: calc(72px + 14px) 20px 8px;
  max-width: 720px;
  /* Title sits over the top plank — must not eat FM / FQHC clicks */
  pointer-events: none;
  position: relative;
  z-index: 4;
}
.trailhead-top .crumb,
.trailhead-top .crumb button,
.trailhead-top a {
  pointer-events: auto;
}
.trailhead-top .crumb {
  color: rgba(226,232,240,.85);
  font-size: 12px;
  margin-bottom: 8px;
}
.trailhead-top .crumb button {
  background: none; border: 0; color: #99f6e4; font: inherit; cursor: pointer; padding: 0;
}
.trailhead-title {
  margin: 0;
  font-size: clamp(1.35rem, 3.2vw, 1.9rem);
  letter-spacing: -.02em;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
}
.trailhead-sub {
  margin: 6px 0 0;
  font-size: 13.5px;
  color: rgba(226,232,240,.88);
  max-width: 420px;
  text-shadow: 0 1px 10px rgba(0,0,0,.5);
}
.trailhead-foot {
  margin: auto 20px 18px;
  font-size: 12.5px;
  color: rgba(226,232,240,.75);
}
.trailhead-foot .linkish {
  background: none; border: 0; color: #99f6e4; font-weight: 700; cursor: pointer; padding: 0;
}

/* Signpost hotspots — % of full stage, matched to trailsigns-blank planks */
.signpost {
  position: absolute;
  inset: 0;
  pointer-events: auto;
  z-index: 5;
}
.signpost .hot {
  position: absolute;
  pointer-events: auto;
  cursor: pointer;
  z-index: 6;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.signpost .hot:focus-visible {
  outline: none;
}
.signpost .hot:focus { outline: none; }
/* No selected/pressed chrome — letters glow only */
.signpost .hot.is-selected,
.signpost .hot[aria-pressed="true"],
.signpost .hot:active {
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.signpost .sign-words {
  display: block;
  margin: 0;
  color: #ecfeff;
  font-family: inherit;
  font-size: clamp(11px, 1.05vw, 16px);
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.1;
  white-space: nowrap;
  pointer-events: none;
  transform-origin: center center;
  /* TRIAL: heavy black glow on LETTERS only — Mike 2026-09-07 */
  text-shadow:
    0 0 1px #000,
    0 0 3px #000,
    0 0 6px #000,
    0 0 12px rgba(0,0,0,1),
    0 0 22px rgba(0,0,0,.95),
    0 0 36px rgba(0,0,0,.85),
    0 2px 4px rgba(0,0,0,1);
  transition: text-shadow .25s ease, filter .25s ease, transform .25s ease;
}
.view.trailhead.signs-lit .signpost .sign-words {
  animation: signLightUp 0.9s ease-out both;
  opacity: 1;
}
.view.trailhead:not(.signs-lit) .signpost .sign-words {
  opacity: 0;
  text-shadow: none;
}
.view.trailhead.signs-lit .signpost .hot.slot-0 .sign-words { animation-delay: 0.05s; }
.view.trailhead.signs-lit .signpost .hot.slot-1 .sign-words { animation-delay: 0.14s; }
.view.trailhead.signs-lit .signpost .hot.slot-2 .sign-words { animation-delay: 0.23s; }
.view.trailhead.signs-lit .signpost .hot.slot-3 .sign-words { animation-delay: 0.32s; }
.view.trailhead.signs-lit .signpost .hot.slot-4 .sign-words { animation-delay: 0.41s; }
@keyframes signLightUp {
  from {
    opacity: 0;
    text-shadow: none;
    filter: brightness(.85);
  }
  to {
    opacity: 1;
    text-shadow:
      0 0 1px #000,
      0 0 3px #000,
      0 0 6px #000,
      0 0 12px rgba(0,0,0,1),
      0 0 22px rgba(0,0,0,.95),
      0 0 36px rgba(0,0,0,.85),
      0 2px 4px rgba(0,0,0,1);
    filter: none;
  }
}
/* Hover glows the LETTERS on the plank — not a teal card outline */
.signpost .hot:hover .sign-words,
.signpost .hot:focus-visible .sign-words {
  text-shadow:
    0 0 2px rgba(0,0,0,1),
    0 0 6px rgba(0,0,0,.95),
    0 0 14px rgba(0,0,0,.85),
    0 0 2px #ffffff,
    0 0 8px #5eead4,
    0 0 16px #3ec9b0;
  filter: brightness(1.15);
}

/* Plank slots — center % + rotate. Specialty sign layout. */
.signpost .hot { transform: translate(-50%, -50%); }

/* Physician specialty — per-label adjust */
/* slot-0 top → slot-5 bottom: fm, obg, gi, neuro, dental, other */
#specialty-signpost .hot.slot-0 { left: 45.31%; top: 24.2%; width: 48%; height: 11%; z-index: 8; } /* Family Medicine */
#specialty-signpost .hot.slot-1 { left: 45.15%; top: 34.6%; width: 40%; height: 9%; } /* Obstetrics & Gynecology */
#specialty-signpost .hot.slot-2 { left: 45.08%; top: 45.2%; width: 36%; height: 9%; } /* Gastroenterology */
#specialty-signpost .hot.slot-3 { left: 45.21%; top: 56.2%; width: 32%; height: 9%; } /* Neurology */
#specialty-signpost .hot.slot-4 { left: 45.38%; top: 67.4%; width: 30%; height: 9%; } /* Dentistry */
#specialty-signpost .hot.slot-5 { left: 45.45%; top: 78.2%; width: 36%; height: 10%; z-index: 7; } /* Other */
#specialty-signpost .hot.slot-0 .sign-words { transform: rotate(6.00deg); font-size: clamp(14px, 1.4vw, 19px); }
#specialty-signpost .hot.slot-1 .sign-words { transform: rotate(5.00deg); font-size: clamp(12px, 1.15vw, 16px); }
#specialty-signpost .hot.slot-2 .sign-words { transform: rotate(2.00deg); font-size: clamp(14px, 1.35vw, 18px); }
#specialty-signpost .hot.slot-3 .sign-words { transform: rotate(-2.00deg); font-size: clamp(16px, 1.55vw, 22px); }
#specialty-signpost .hot.slot-4 .sign-words { transform: rotate(-5.00deg); font-size: clamp(16px, 1.6vw, 23px); }
#specialty-signpost .hot.slot-5 .sign-words { transform: rotate(-6.00deg); font-size: clamp(16px, 1.6vw, 23px); }
.view.trailhead.signs-lit #specialty-signpost .hot.slot-5 .sign-words { animation-delay: 0.50s; }

/* Client facility — per-label adjust */
/* slot-0 top → slot-5 bottom: fqhc, cah, bh, group, dental, other */
#facility-signpost .hot.slot-0 { left: 45.38%; top: 24.2%; width: 48%; height: 11%; z-index: 8; } /* FQHC */
#facility-signpost .hot.slot-1 { left: 45.15%; top: 34.6%; width: 40%; height: 9%; } /* Critical Access */
#facility-signpost .hot.slot-2 { left: 45.08%; top: 45.2%; width: 36%; height: 9%; } /* Behavioral Health */
#facility-signpost .hot.slot-3 { left: 45.21%; top: 56.2%; width: 34%; height: 9%; } /* Medical Group */
#facility-signpost .hot.slot-4 { left: 45.38%; top: 67.4%; width: 30%; height: 9%; } /* Dentistry */
#facility-signpost .hot.slot-5 { left: 45.45%; top: 78.2%; width: 36%; height: 10%; z-index: 7; } /* Other */
#facility-signpost .hot.slot-0 .sign-words { transform: rotate(6.00deg); font-size: clamp(16px, 1.6vw, 23px); }
#facility-signpost .hot.slot-1 .sign-words { transform: rotate(5.00deg); font-size: clamp(12px, 1.15vw, 16px); }
#facility-signpost .hot.slot-2 .sign-words { transform: rotate(1.50deg); font-size: clamp(14px, 1.35vw, 18px); }
#facility-signpost .hot.slot-3 .sign-words { transform: rotate(-1.00deg); font-size: clamp(15px, 1.45vw, 20px); }
#facility-signpost .hot.slot-4 .sign-words { transform: rotate(-5.00deg); font-size: clamp(16px, 1.6vw, 23px); }
#facility-signpost .hot.slot-5 .sign-words { transform: rotate(-6.00deg); font-size: clamp(16px, 1.6vw, 23px); }
.view.trailhead.signs-lit #facility-signpost .hot.slot-5 .sign-words { animation-delay: 0.50s; }

/* Client hire specialty — same six slots as physician specialty bake */
#client-specialty-signpost .hot.slot-0 { left: 45.31%; top: 24.2%; width: 48%; height: 11%; z-index: 8; }
#client-specialty-signpost .hot.slot-1 { left: 45.15%; top: 34.6%; width: 40%; height: 9%; }
#client-specialty-signpost .hot.slot-2 { left: 45.08%; top: 45.2%; width: 36%; height: 9%; }
#client-specialty-signpost .hot.slot-3 { left: 45.21%; top: 56.2%; width: 32%; height: 9%; }
#client-specialty-signpost .hot.slot-4 { left: 45.38%; top: 67.4%; width: 30%; height: 9%; }
#client-specialty-signpost .hot.slot-5 { left: 45.45%; top: 78.2%; width: 36%; height: 10%; z-index: 7; }

/* Other specialty search popover */
.spec-other-pop {
  position: absolute; z-index: 40;
  left: 50%; bottom: 14%; transform: translateX(-50%);
  width: min(420px, calc(100% - 32px));
  background: rgba(15,23,42,.96);
  border: 1px solid rgba(153,246,228,.35);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  backdrop-filter: blur(12px);
}
.spec-other-pop[hidden] { display: none !important; }
.spec-other-pop h3 {
  margin: 0 0 8px; font-size: 14px; color: #99f6e4; letter-spacing: .04em; text-transform: uppercase;
}
.spec-other-pop input {
  width: 100%; box-sizing: border-box;
  border-radius: 10px; border: 1px solid rgba(148,163,184,.35);
  background: #0f172a; color: #e2e8f0; padding: 10px 12px; font: inherit;
}
.spec-other-list {
  margin: 10px 0 0; max-height: 220px; overflow: auto;
  display: grid; gap: 6px;
}
.spec-other-list button {
  text-align: left; border-radius: 10px; border: 1px solid rgba(148,163,184,.22);
  background: rgba(15,23,42,.75); color: #ecfeff; padding: 9px 11px;
  font-size: 13px; font-weight: 600; cursor: pointer;
}
.spec-other-list button:hover, .spec-other-list button:focus-visible {
  border-color: #5eead4; box-shadow: 0 0 16px rgba(62,201,176,.3); outline: none;
}
.spec-other-pop .spec-other-close {
  position: absolute; top: 10px; right: 10px;
  border: 0; background: transparent; color: #94a3b8; cursor: pointer; font-size: 18px;
}

/* Mobile / narrow: keep hotspots, enlarge hit + show rail */
.trailhead-rail {
  display: none;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px 20px;
  margin-top: auto;
  background: linear-gradient(to top, rgba(2,12,27,.82), rgba(2,12,27,0));
}
.trailhead-rail button {
  border: 1px solid rgba(153,246,228,.35);
  background: rgba(15,23,42,.72);
  color: #ecfeff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
}
.trailhead-rail button:hover {
  border-color: #5eead4;
  box-shadow: 0 0 16px rgba(62,201,176,.35);
}
/* Phone: planks only — no duplicate rail overlapping the wood labels (430 QA). */
@media (max-width: 720px), (max-aspect-ratio: 3/4) {
  /* The painted plank art is the phone UI too; do not duplicate labels as floating pills. */
  .trailhead-rail { display: none !important; }
  .view.funnel.trailhead > .shot img.still {
    object-position: 50% 28%;
  }
  /* Keep focal-point centers; widen hit only */
  .signpost .hot.slot-0,
  .signpost .hot.slot-1,
  .signpost .hot.slot-2,
  .signpost .hot.slot-3,
  .signpost .hot.slot-4,
  .signpost .hot.slot-5 { width: 32%; height: 8%; }
  .signpost .sign-words {
    font-size: clamp(13px, 3.4vw, 18px);
  }
  .trailhead-title { font-size: clamp(1.25rem, 6vw, 1.7rem); }
  .trailhead-sub { font-size: 12.5px; max-width: 92%; }
}
@media (prefers-reduced-motion: reduce) {
  .view.trailhead.signs-lit .signpost .sign-words {
    animation: none;
  }
}

/* ——— Morning polish 2026-09-04 (David eye) ——— */
/* Guide strip: Call always leads; wrap cleanly on narrow */
.guide-strip .btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.guide-strip .btn-row .btn-primary {
  order: -1;
  box-shadow: 0 0 0 1px rgba(13,148,136,.28), 0 0 22px rgba(13,148,136,.35), 0 10px 24px rgba(2,12,27,.2);
}
.guide-strip .btn-row .btn {
  flex: 0 1 auto;
}

/* Confirm landings: opaque panels so mountain stills don’t ghost through as “form chrome” */
.view.funnel[data-route="confirm-mess"] .section-lite,
.view.funnel[data-route="confirm-client"] .section-lite {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  color: #0f172a;
}
.view.funnel[data-route="confirm-client"] .client-confirm-discuss-wrap {
  max-width: 1100px;
  margin: 0 auto;
  background: transparent;
  box-shadow: none;
}
.view.funnel[data-route="confirm-client"] .client-discuss {
  margin: 0 0 22px;
  padding: 22px 22px 20px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  color: #0f172a;
}
.elevated-mock {
  background: #0f172a !important;
  border: 1px solid rgba(94,234,212,.28);
  box-shadow: 0 18px 48px rgba(2,12,27,.28), 0 0 32px rgba(45,212,191,.08);
}

/* Phone agreements: Summit Clear first, Shared Ascent visible without hunting, MPC stays buried */
@media (max-width: 720px) {
  .agreement-layout {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .agreement-main { order: 1; }
  .agreement-rail { order: 3; margin-top: 4px; opacity: 0.92; }
  .agreement-chooser {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .agree-card.is-primary {
    transform: none;
    order: 1;
  }
  .agree-card.is-secondary {
    transform: none;
    opacity: 1;
    filter: none;
    order: 2;
  }
  .agree-card.is-primary:hover,
  .agree-card.is-primary:focus-visible,
  .agree-card.is-secondary:hover,
  .agree-card.is-secondary:focus-visible {
    transform: translateY(-4px);
  }
}

/* Phone ~430: tighten door stack + chips (single source; prior cascade rules kept) */
@media (max-width: 430px) {
  .guide-strip .btn-row .btn { width: 100%; justify-content: center; }
  .home-extras { flex-wrap: wrap; justify-content: center; row-gap: 2px; }
  .trailhead-title { padding-right: 8px; }
  .mess-mock .row, .elevated-mock .row { font-size: 12.5px; }
}





/* After home swoop: normal trailhead (clickable). Soft chrome only. */
.view.after-approach .trailhead-stage {
  animation: trailChromeIn .8s cubic-bezier(.25,.1,.25,1) both;
}
body.amp-live-trailhead .view.after-approach.live-video-bg .trailhead-stage {
  /* live path uses ampTrailChromeIn only — don't fight with the short pop */
  animation: ampTrailChromeIn .85s cubic-bezier(.25,.1,.25,1) both;
}
@keyframes trailChromeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .view.after-approach .trailhead-stage { animation: none; }
}


.home-stage.playing .home-skip {
  display: block !important;
  pointer-events: auto !important;
  z-index: 20;
  opacity: 1 !important;
}
.home-stage.playing .home-overlay {
  /* doors hidden during swoop — Skip remains above */
}


/* Desktop = planks only (painted on wood, not floating cards).
   Rail is phone/narrow backup only — forcing it on desktop sat mid-sign. */
.trailhead-rail {
  display: none;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 20px 20px;
  position: relative;
  z-index: 10;
  pointer-events: auto !important;
  margin-top: auto;
}
@media (max-width: 720px), (max-aspect-ratio: 3/4) {
  .trailhead-rail { display: none !important; }
}
.trailhead-rail button {
  pointer-events: auto !important;
  cursor: pointer;
  background: rgba(15,23,42,.72);
  color: #ecfdf5;
  border: 1px solid rgba(45,212,191,.45);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
}
.trailhead-rail button:hover {
  background: rgba(13,148,136,.85);
  border-color: #5eead4;
}
.home-stage.playing .home-skip {
  display: block !important;
  pointer-events: auto !important;
  z-index: 30 !important;
  opacity: 1 !important;
}

/* ——— MPC client portal mock (gate · browse · drawer) ——— */
.mpc-inv-tease {
  background: linear-gradient(165deg, #f0fdfa 0%, #fff 55%, #f8fafc 100%);
  border: 1px solid rgba(13,148,136,.28);
  box-shadow: 0 14px 40px rgba(13,148,136,.08);
}
.mpc-inv-tease h2 {
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
  letter-spacing: -.02em;
  color: var(--navy-2);
}
.mpc-inv-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.mpc-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--teal-deep);
  background: rgba(13,148,136,.1);
  border: 1px solid rgba(13,148,136,.22);
}
.mpc-chip strong { font-weight: 780; color: var(--navy-2); }
.mpc-chip.sample {
  color: #92400e;
  background: rgba(251,191,119,.18);
  border-color: rgba(251,191,119,.4);
}

.mpc-price-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
@media (max-width: 720px) {
  .mpc-price-grid { grid-template-columns: 1fr; }
}
.mpc-price-card {
  position: relative;
  display: block;
  padding: 18px 16px 16px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.mpc-price-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.mpc-price-card:hover {
  border-color: rgba(13,148,136,.4);
  transform: translateY(-2px);
}
.mpc-price-card.is-selected {
  border-color: rgba(13,148,136,.55);
  box-shadow: 0 0 0 1px rgba(13,148,136,.2), 0 12px 28px rgba(13,148,136,.12);
  background: linear-gradient(180deg, #f0fdfa, #fff);
}
.mpc-price-tag {
  display: block;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--teal-dark);
  margin-bottom: 6px;
}
.mpc-price {
  display: block;
  font-size: 28px;
  letter-spacing: -.03em;
  color: var(--navy-2);
  margin-bottom: 8px;
}
.mpc-price span {
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0;
}
.mpc-price-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.mpc-place-note {
  margin: 14px 0 0;
  font-size: 13px;
  color: var(--navy-3);
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15,23,42,.04);
  border: 1px dashed rgba(148,163,184,.45);
}
.mpc-secondary-note {
  border-color: rgba(148,163,184,.25);
  background: #f8fafc;
}

.mpc-browse-layout {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
@media (max-width: 900px) {
  .mpc-browse-layout { grid-template-columns: 1fr; }
}
.mpc-filters .field { margin-top: 0; }
.mpc-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--navy-2);
  cursor: pointer;
}
.mpc-check input { width: 16px; height: 16px; accent-color: var(--teal); }

.mpc-sell-area {
  background: linear-gradient(180deg, #fffbeb, #fff);
  border-color: rgba(251,191,119,.35);
}
.mpc-amenity-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.mpc-amenity {
  border: 1px solid rgba(148,163,184,.35);
  background: #fff;
  color: var(--navy-3);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12.5px;
  font-weight: 650;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.mpc-amenity:hover {
  border-color: rgba(13,148,136,.4);
  color: var(--teal-deep);
}
.mpc-amenity.is-on {
  background: rgba(13,148,136,.14);
  border-color: rgba(13,148,136,.45);
  color: var(--teal-deep);
}

.mpc-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
}
.mpc-card {
  text-align: left;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 16px;
  padding: 16px;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(15,23,42,.05);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.mpc-card:hover, .mpc-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(13,148,136,.4);
  box-shadow: 0 14px 32px rgba(13,148,136,.12);
  outline: none;
}
.mpc-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.mpc-avatar {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 780;
  letter-spacing: .04em;
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4, #99f6e4);
  border: 1px solid rgba(13,148,136,.35);
}
.mpc-card h3 {
  margin: 0 0 4px;
  font-size: 17px;
  letter-spacing: -.02em;
  color: var(--navy-2);
}
.mpc-card-spec {
  margin: 0 0 6px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--teal-dark);
}
.mpc-card-looking {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--navy-3);
}
.mpc-card-blur {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: .04em;
  color: #94a3b8;
  filter: blur(0.2px);
  user-select: none;
}
.mpc-card-tease {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
}
.mpc-card .meta {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--teal);
}

/* Drawer */
body.mpc-drawer-open { overflow: hidden; }
.mpc-drawer {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: flex;
  justify-content: flex-end;
}
.mpc-drawer[hidden] { display: none !important; }
.mpc-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,12,20,.55);
  backdrop-filter: blur(4px);
}
.mpc-drawer-panel {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  height: 100%;
  overflow: auto;
  background: linear-gradient(180deg, #0f172a 0%, #0b1220 40%, #0f172a 100%);
  color: #e2e8f0;
  border-left: 1px solid rgba(94,234,212,.25);
  box-shadow: -24px 0 60px rgba(0,0,0,.4);
  padding: 28px 22px 40px;
}
.mpc-drawer-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.3);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.mpc-drawer-panel .tag {
  background: rgba(94,234,212,.15);
  color: #5eead4;
  border: 1px solid rgba(94,234,212,.3);
}
.mpc-drawer-panel h2 {
  color: #fff;
  font-size: 24px;
  letter-spacing: -.02em;
  margin: 10px 0 6px;
  padding-right: 36px;
}
.mpc-drawer-panel .mpc-card-spec { color: #5eead4; }
.mpc-dossier-block {
  margin: 18px 0;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(148,163,184,.2);
}
.mpc-dossier-block h4 {
  margin: 0 0 10px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #94a3b8;
}
.mpc-dossier-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(148,163,184,.12);
  font-size: 13px;
}
.mpc-dossier-row .k { color: #94a3b8; }
.mpc-dossier-row .v { color: #e2e8f0; }
.mpc-dossier-row.is-redacted .v {
  filter: blur(3.5px);
  user-select: none;
  color: #cbd5e1;
}
.mpc-blur-band {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: repeating-linear-gradient(
    -45deg,
    rgba(148,163,184,.12),
    rgba(148,163,184,.12) 6px,
    rgba(148,163,184,.06) 6px,
    rgba(148,163,184,.06) 12px
  );
  font-size: 12px;
  letter-spacing: .12em;
  color: #64748b;
  filter: blur(1px);
  user-select: none;
}
.mpc-cv-stub {
  background: rgba(15,23,42,.55) !important;
  border-color: rgba(94,234,212,.2) !important;
  color: #e2e8f0;
}
.mpc-cv-stub h4 { color: #5eead4; }
.mpc-drawer-panel .proof-note { color: #94a3b8; }
.mpc-drawer-panel .btn-ghost {
  color: #e2e8f0;
  border-color: rgba(148,163,184,.35);
}
@media (max-width: 520px) {
  .mpc-drawer-panel { width: 100%; }
  .mpc-dossier-row { grid-template-columns: 1fr; gap: 2px; }
}



/* During video handoff: home must not cover body-level #approach-video-hold */
.home-stage.approach-ghost {
  background: transparent !important;
  pointer-events: none !important;
}
.home-stage.approach-ghost .home-poster,
.home-stage.approach-ghost .home-mist,
.home-stage.approach-ghost .home-overlay,
.home-stage.approach-ghost .home-skip {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* ——— Live video under trailhead (body-level hold; kills end snap) ——— */
#approach-video-hold.approach-video-hold {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none !important;
  background: #0b1210;
  overflow: hidden;
}
#approach-video-hold[hidden] { display: none !important; }
#approach-video-hold.is-fading-out {
  transition: opacity 0.4s ease;
  opacity: 0;
}
#approach-video-hold canvas.approach-freeze {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  background: #0b1210;
  z-index: 0;
  pointer-events: none !important;
}
#approach-video-hold #home-video,
#approach-video-hold video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  background: transparent;
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 1;
}
body.amp-live-trailhead .view.trailhead.live-video-bg {
  background: transparent !important;
}
body.amp-live-trailhead .view.trailhead.live-video-bg > .shot {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.amp-live-trailhead .view.trailhead.live-video-bg .trailhead-stage,
body.amp-live-trailhead .view.trailhead.live-video-bg .trailhead-rail {
  position: relative;
  z-index: 3;
  pointer-events: auto !important;
}
/* NEVER set .signpost to relative here — that collapsed height to 0 and
   stacked every plank label on one line (the cyan label glitch). */
body.amp-live-trailhead .view.trailhead.live-video-bg .sign-media-frame {
  z-index: 5;
}
body.amp-live-trailhead .view.trailhead.live-video-bg .sign-media-frame .signpost {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 5;
  pointer-events: auto !important;
}
/* Soft fade chrome onto the live freeze instead of a hard cut */
body.amp-live-trailhead .view.trailhead.live-video-bg.after-approach .trailhead-stage {
  animation: ampTrailChromeIn .85s cubic-bezier(.25,.1,.25,1) both;
}
@keyframes ampTrailChromeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* softer trail title land — avoid snap after bake */
body.amp-live-trailhead .site-nav {
  z-index: 300;
  /* Nav chrome only — empty bar must not steal top-plank (FM) clicks */
  pointer-events: none;
}
body.amp-live-trailhead .site-nav .nav-links a,
body.amp-live-trailhead .site-nav .nav-links button {
  pointer-events: auto;
}
/* Brand must stay clickable for home. Keep hit box to the left lockup only
   so it does not cover Family Medicine / FQHC planks (center stage). */
body.amp-live-trailhead .site-nav .brand {
  pointer-events: auto;
  position: relative;
  z-index: 320;
  /* Keep hit box on the lockup — do NOT shrink logo vs Home (Mike 2026-09-11). */
  max-width: none;
}
body.amp-live-trailhead .site-nav .brand .brand-lockup-img {
  /* Same size as default .brand-lockup-img — no trailhead downscale */
  width: clamp(240px, 28vw, 320px);
  max-width: none;
  max-height: 84px;
  height: auto;
}
@media (prefers-reduced-motion: reduce) {
  body.amp-live-trailhead .view.trailhead.live-video-bg.after-approach .trailhead-stage {
    animation: none;
  }
}


/* ——— Physician rank step (quiet trail choice · left→right board) ——— */
/* Compact floating package — override funnel full-bleed white slab on this route only */
.view.funnel.rank-view[data-route="physician-rank"] > .view-chrome {
  justify-content: flex-start;
}
.view.funnel.rank-view[data-route="physician-rank"] .section-lite.rank-panel,
.rank-view .rank-panel.funnel-panel,
.rank-view .funnel-panel.section-lite.rank-panel {
  flex: 0 0 auto !important;
  height: auto;
  max-width: min(1180px, calc(100% - 28px));
  width: min(1180px, calc(100% - 28px));
  margin: 10px auto 0;
  padding: 22px 22px 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow:
    0 14px 42px rgba(2, 12, 27, 0.24),
    0 0 0 1px rgba(15, 23, 42, 0.06);
}
@media (max-width: 720px) {
  .view.funnel.rank-view[data-route="physician-rank"] .section-lite.rank-panel,
  .rank-view .rank-panel.funnel-panel {
    max-width: calc(100% - 20px);
    width: calc(100% - 20px);
    padding: 14px 12px 12px;
    border-radius: 18px;
    margin-bottom: 0;
  }
}
.rank-panel { padding-bottom: 20px; }
.rank-howto {
  margin: 10px 0 0;
  max-width: 42rem;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  font-weight: 650;
  line-height: 1.35;
  color: #f8fafc;
  text-shadow: 0 2px 16px rgba(0,0,0,.45);
}
.rank-howto strong { color: #fcd34d; font-weight: 800; }
.rank-lede { font-size: clamp(1rem, 1.8vw, 1.15rem) !important; opacity: 0.92; }
.rank-axis {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 0 2px;
}
.rank-axis-most,
.rank-axis-least {
  flex: 0 0 auto;
  font-size: clamp(13px, 1.4vw, 15px);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.rank-axis-most { color: #0f766e; }
.rank-axis-least { color: #64748b; }
.rank-axis-line {
  flex: 1 1 auto;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0d9488, #99f6e4 45%, #cbd5e1);
  box-shadow: 0 0 12px rgba(13,148,136,.25);
}
.rank-board {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 14px 16px;
  width: 100%;
}
.rank-track,
#rank-grid.rank-track,
.rank-track.rank-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  flex: 1 1 auto;
  gap: 10px;
  min-width: 0;
  align-items: stretch;
}
.rank-card {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  min-height: 168px;
  padding: 22px 16px 16px;
  text-align: left;
  cursor: grab;
  user-select: none;
  touch-action: manipulation;
}
.rank-card:active { cursor: grabbing; }
.rank-card h3 {
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.25;
  margin: 6px 0 8px;
  padding-right: 36px;
}
.rank-card p {
  font-size: clamp(13px, 1.2vw, 14.5px);
  line-height: 1.4;
  margin: 0 0 10px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rank-card .tag { font-size: 10px; }
.rank-card .meta {
  font-size: 13px;
  font-weight: 780;
  letter-spacing: -.01em;
  color: var(--teal-dark, #0f766e);
}
.rank-card.is-selected {
  border-color: rgba(13,148,136,.65);
  box-shadow: 0 0 0 1px rgba(13,148,136,.3), 0 0 18px var(--teal-glow), 0 10px 24px rgba(15,23,42,.1);
}
.rank-card.is-dragging {
  opacity: 0.5;
  transform: scale(0.97);
  box-shadow: none;
}
.rank-card.is-drop-target {
  border-color: rgba(13,148,136,.55);
  background: linear-gradient(180deg, rgba(240,253,250,.9), #fff);
  box-shadow: 0 0 0 1px rgba(13,148,136,.22), 0 0 18px rgba(13,148,136,.16);
}
.rank-card.is-drop-swap {
  border-color: rgba(13,148,136,.75);
  box-shadow: 0 0 0 2px rgba(45,212,191,.45), 0 0 22px rgba(13,148,136,.35);
}
/* Clear insert cue — where the card will land before release */
.rank-card.is-drop-before::before,
.rank-card.is-drop-after::after {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #2dd4bf, #0d9488);
  box-shadow: 0 0 0 2px rgba(45,212,191,.35), 0 0 16px rgba(13,148,136,.55);
  z-index: 4;
  pointer-events: none;
  animation: rankSlotGlow 700ms ease-in-out infinite alternate;
}
.rank-card.is-drop-before::before { left: -3px; }
.rank-card.is-drop-after::after { right: -3px; }
.rank-track.is-dragging-active {
  gap: 14px;
}
.rank-card.is-just-dropped {
  animation: rankSettleSwell 680ms cubic-bezier(.22,.61,.36,1);
  border-color: rgba(13,148,136,.7);
  z-index: 3;
  transform-origin: center center;
}
@keyframes rankSlotGlow {
  from { opacity: 0.75; box-shadow: 0 0 0 2px rgba(45,212,191,.25), 0 0 10px rgba(13,148,136,.4); }
  to { opacity: 1; box-shadow: 0 0 0 3px rgba(45,212,191,.45), 0 0 18px rgba(13,148,136,.65); }
}
/* Layout: after drop, swell a little then settle back so the land is obvious */
@keyframes rankSettleSwell {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 2px rgba(13,148,136,.35), 0 8px 22px rgba(15,23,42,.08);
  }
  28% {
    transform: scale(1.09);
    box-shadow: 0 0 0 3px rgba(13,148,136,.5), 0 0 32px rgba(45,212,191,.45), 0 14px 28px rgba(15,23,42,.14);
  }
  62% {
    transform: scale(1.03);
    box-shadow: 0 0 0 2px rgba(13,148,136,.35), 0 0 20px rgba(13,148,136,.3), 0 10px 24px rgba(15,23,42,.1);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 8px 22px rgba(15,23,42,.08);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rank-card.is-drop-before::before,
  .rank-card.is-drop-after::after {
    animation: none;
  }
  .rank-card.is-just-dropped {
    animation: none;
    box-shadow: 0 0 0 2px rgba(13,148,136,.4), 0 0 16px rgba(13,148,136,.25);
  }
  .rank-card.is-dragging {
    transform: none;
  }
}
.rank-num {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 34px;
  height: 32px;
  padding: 0 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #fff;
  background: linear-gradient(145deg, #0d9488, #0f766e);
  box-shadow: 0 4px 10px rgba(13,148,136,.3);
}
.rank-actions {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 12px;
  margin-top: 0;
  flex: 0 0 auto;
  min-width: 188px;
}
.rank-actions .btn-lg {
  font-size: 15.5px;
  font-weight: 750;
  padding: 14px 16px;
  min-height: 52px;
}
.rank-actions .btn {
  white-space: nowrap;
}
.rank-actions .btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.rank-reset {
  background: none;
  border: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-align: center;
}
.rank-reset:hover { color: var(--teal-dark); }


.rank-hint {
  margin: 16px 0 0;
  font-size: 14.5px;
  font-weight: 650;
  letter-spacing: -.01em;
  color: #334155;
}
.jobs-sort-line {
  margin: 10px 0 0;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: #ccfbf1;
}
@media (max-width: 900px) {
  .rank-board {
    flex-wrap: wrap;
  }
  .rank-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    min-width: 0;
  }
}
/* Phone: vertical stack (Mike 2026-09-07 / 2026-09-12) — top→bottom, no sideways scroll */
@media (max-width: 720px) {
  .rank-axis {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    margin: 0 0 8px;
  }
  .rank-axis-most,
  .rank-axis-least {
    text-align: center;
  }
  .rank-axis-line {
    width: 4px;
    height: 28px;
    flex: 0 0 auto;
    align-self: center;
    background: linear-gradient(180deg, #0d9488, #99f6e4 45%, #cbd5e1);
  }
  .rank-board {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  .rank-track,
  #rank-grid.rank-track,
  .rank-track.rank-grid {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow-x: hidden;
    overflow-y: visible;
    scroll-snap-type: none;
    width: 100%;
    max-width: 100%;
    gap: 6px;
  }
  .rank-track.is-dragging-active {
    gap: 6px;
  }
  .rank-card {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0;
    padding: 10px 12px 8px;
    scroll-snap-align: unset;
  }
  .rank-card h3 {
    font-size: 15px;
    line-height: 1.2;
    margin: 2px 0 3px;
    padding-right: 40px;
  }
  .rank-card p {
    font-size: 12px;
    line-height: 1.28;
    margin: 0 0 4px;
    -webkit-line-clamp: 2;
  }
  .rank-card .meta {
    margin-top: 2px;
    font-size: 12px;
  }
  .rank-num {
    top: 8px;
    right: 8px;
    min-width: 30px;
    height: 26px;
    font-size: 12.5px;
  }
  /* Drop cues: horizontal bars at top/bottom (override desktop left/right) */
  .rank-card.is-drop-before::before,
  .rank-card.is-drop-after::after {
    top: auto;
    bottom: auto;
    left: 10px;
    right: 10px;
    width: auto;
    height: 5px;
    background: linear-gradient(90deg, #2dd4bf, #0d9488);
  }
  .rank-card.is-drop-before::before {
    left: 10px;
    right: 10px;
    top: -3px;
    bottom: auto;
  }
  .rank-card.is-drop-after::after {
    left: 10px;
    right: 10px;
    bottom: -3px;
    top: auto;
  }
  .rank-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .rank-actions .btn-lg {
    min-height: 46px;
    padding: 12px 14px;
  }
  .rank-hint {
    margin: 8px 0 0;
    font-size: 12.5px;
  }
}


/* GEO / AI-search proof KPI definitions */
.proof-kpi-grid {
  display: grid;
  gap: 12px;
  margin: 16px 0 8px;
}
@media (min-width: 720px) {
  .proof-kpi-grid { grid-template-columns: 1fr 1fr; }
}
.proof-kpi {
  background: #f8fafc;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 14px;
  padding: 14px 16px;
}
.proof-kpi strong {
  display: block;
  font-size: 14.5px;
  letter-spacing: -.01em;
  color: var(--navy-2, #0f172a);
  margin-bottom: 6px;
}
.proof-kpi p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: #475569;
}
.geo-faq-panel .faq { margin-top: 8px; }
.faq.mt-24, .mt-24.faq { margin-top: 24px; }

/* About — Our Evolution (mountain vertical timeline, not a dark Webflow clone) */
.about-evolution {
  margin: 28px 0 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line, #e2e8f0);
}
.about-evolution-head { margin-bottom: 18px; }
.about-evolution-head h2 {
  margin: 8px 0 6px;
  font-size: 20px;
  letter-spacing: -.02em;
}
.about-evolution-head p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--muted, #64748b);
}
.evo-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}
.evo-item { position: relative; }
.evo-card {
  position: relative;
  padding: 0 0 22px 22px;
  border-left: 2px solid #99f6e4;
}
.evo-item:last-child .evo-card { padding-bottom: 4px; }
.evo-card::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 7px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--teal-dark, #0f766e);
  box-shadow: 0 0 0 3px #ccfbf1;
}
.evo-year {
  display: inline-block;
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .01em;
  color: var(--teal-deep, #115e59);
  background: var(--teal-soft, #f0fdfa);
  border: 1px solid #99f6e4;
  border-radius: 999px;
  padding: 3px 10px;
}
.evo-card h3 {
  margin: 0 0 6px;
  font-size: 15.5px;
  letter-spacing: -.01em;
  color: var(--navy-2, #0f172a);
}
.evo-card p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: #475569;
}
.about-evolution-guides {
  margin: 18px 0 0;
  padding: 14px 16px;
  background: #f8fafc;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 14px;
}
.about-evolution-guides p {
  margin: 0 0 12px;
  font-size: 13.5px;
  line-height: 1.55;
  color: #475569;
}
@media (max-width: 430px) {
  .evo-card { padding: 0 0 20px 18px; }
  .evo-card h3 { font-size: 15px; }
}


/* Facility planks: never show a stuck selected state */
#facility-signpost .hot.is-selected,
#facility-signpost .hot[aria-pressed="true"] {
  outline: none;
  box-shadow: none;
}


/* Focal-point coordinates are of the FULL still/video frame.
   object-fit:cover crops the viewport — so labels live in a frame sized to that crop. */
.sign-media-frame {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 8; /* above trailhead-top so top plank (FM/FQHC) receives clicks */
}
.sign-media-frame .signpost {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: auto;
}
body.amp-live-trailhead .view.trailhead.live-video-bg .sign-media-frame {
  pointer-events: none;
  z-index: 220; /* above sticky nav so top plank receives first tap */
}
body.amp-live-trailhead .view.trailhead.live-video-bg .sign-media-frame .signpost {
  pointer-events: auto !important;
}
/* Until frozen: hide plank words so they don't float during the swoop */
body.amp-live-trailhead .view.trailhead.live-video-bg:not(.signs-frozen) .signpost .sign-words {
  opacity: 0 !important;
  pointer-events: none !important;
}
body.amp-live-trailhead .view.trailhead.live-video-bg.signs-frozen .signpost .sign-words {
  opacity: 1;
}


/* BAKED LABEL LOCK + blackglow PNG trial (Mike 2026-09-07): words live in the
   still so they cannot drift. Hotspots stay for clicks; no visible HTML text. */
#specialty-signpost .sign-words,
#facility-signpost .sign-words,
#client-specialty-signpost .sign-words {
  opacity: 0 !important;
  color: transparent !important;
  text-shadow: none !important;
  filter: none !important;
}
.view.trailhead.signs-lit #specialty-signpost .sign-words,
.view.trailhead.signs-lit #facility-signpost .sign-words,
.view.trailhead.signs-frozen #specialty-signpost .sign-words,
.view.trailhead.signs-frozen #facility-signpost .sign-words {
  opacity: 0 !important;
  animation: none !important;
}
/* Static trailhead: always show baked still cover-full */
.view.funnel.trailhead > .shot img.still {
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

/* ——— Physician region map · reusable soft-extrude selector ——— */
.view.funnel[data-route="physician-region"] .region-panel {
  flex: 0 0 auto;
  width: calc(100% - 16px);
  max-width: none;
  margin: 6px auto 0;
  padding: 16px 12px 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 16px 46px rgba(2,12,27,.24), 0 0 0 1px rgba(15,23,42,.06);
}
.region-map-shell { color: var(--ink); }
.region-map-intro {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 18px;
  margin-bottom: 12px;
}
.region-map-kicker {
  display: block; margin-bottom: 5px; color: var(--teal-dark); font-size: 10px;
  font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.region-map-intro h2 { margin: 0 0 4px; font-size: clamp(20px, 3vw, 27px); letter-spacing: -.03em; }
.region-map-help { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.region-map-legend { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.legend-swatch {
  width: 12px; height: 12px; border-radius: 4px;
  background: #3aa89a; border: 1px solid #0f766e;
  box-shadow: 0 2px 6px rgba(15,118,110,.22);
}
.region-map-wrap {
  width: 100%; border-radius: 18px; padding: 14px 10px 16px;
  background: linear-gradient(180deg, #eef3f2 0%, #f6f8f8 55%, #f8fafc 100%);
  border: 1px solid rgba(15,23,42,.08);
  overflow: visible;
}
.amp-region-map { display: block; width: 100%; height: auto; overflow: visible; }
.amp-region-map .map-region {
  cursor: pointer; outline: none;
  transform-box: fill-box;
  transform-origin: 50% 70%;
  transform: translateY(0);
  transition: transform .28s cubic-bezier(.22,.61,.36,1);
}
.amp-region-map .amp-state {
  fill: #d7e0de;
  stroke: rgba(255,255,255,.7);
  stroke-width: 1.5;
  stroke-linejoin: round;
  transition: fill .2s ease, stroke .2s ease, filter .28s ease;
  vector-effect: non-scaling-stroke;
}
.amp-region-map text,
.amp-region-map text.state-abbr {
  fill: #2f4542;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .03em;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
  user-select: none;
  /* light halo only when unselected — heavy stroke reads blurry on teal */
  paint-order: stroke fill;
  stroke: rgba(255,255,255,.65);
  stroke-width: 1.6px;
  transition: fill .2s ease, stroke .2s ease;
}
.amp-region-map .map-region.is-selected text,
.amp-region-map .map-region.is-selected text.state-abbr {
  fill: #063532;
  stroke: none;
  stroke-width: 0;
}
.amp-region-map .map-region:hover .amp-state,
.amp-region-map .map-region:focus-visible .amp-state { fill: #c5d4d1; }
.amp-region-map .map-region:focus-visible .amp-state {
  stroke: #0f766e;
  stroke-width: 1.8;
}
/* Light lift only — no scale, no group filter (those blurred the letters) */
.amp-region-map .map-region.is-selected {
  transform: translateY(-6px);
}
.amp-region-map .map-region.is-selected .amp-state {
  fill: #3aa89a;
  stroke: #0f766e;
  stroke-width: 1.6;
  /* soft ground shadow on the shape only — text stays sharp */
  filter: drop-shadow(0 5px 4px rgba(2,12,27,.18));
}
.amp-region-map .map-inset .amp-state {
  fill: #dde6e4;
  stroke: rgba(255,255,255,.45);
  stroke-dasharray: 3 2.5;
}
.amp-region-map .map-inset.is-selected .amp-state {
  fill: #3aa89a;
  stroke-dasharray: none;
}
.region-selection { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; min-height: 30px; }
.region-selection-label { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.region-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.region-chip { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 10px; color: #0f4f48; background: #d9ebe8; border: 1px solid #7eb8af; font-size: 12px; font-weight: 750; }
.region-chip.empty { color: var(--muted); background: #f8fafc; border-color: var(--line); font-weight: 600; }
.region-actions { display: flex; align-items: center; gap: 14px; margin-top: 15px; }
.region-actions .btn[disabled] { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
@media (max-width: 720px) {
  .view.funnel[data-route="physician-region"] .region-panel { width: calc(100% - 12px); max-width: none; padding: 12px 8px 14px; border-radius: 16px; margin-bottom: 0; }
  .region-map-intro { display: block; }
  .region-map-legend { margin-top: 10px; }
  .region-map-wrap { padding: 6px 3px 2px; border-radius: 14px; }
  .amp-region-map text, .amp-region-map text.state-abbr { font-size: 10px; stroke-width: 1.6px; }
  .region-actions { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .amp-region-map .map-region, .amp-region-map .amp-state, .amp-region-map text { transition: none; }
}

.region-open-control { cursor: pointer; font: inherit; }
.region-open-control.is-selected { color: #0b3d38; background: #3aa89a; border-color: #0f766e; box-shadow: 0 3px 8px rgba(15,118,110,.22); }


.amp-region-map text.state-abbr.is-callout {
  font-size: 10px;
  fill: #2f4f4b;
}


/* ——— Client hire specialty (ridge still · not trailhead) ——— */
.client-spec-panel { padding-top: 18px; padding-bottom: 22px; }
.client-spec-fac {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--teal-dark);
}
.client-spec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.client-spec-card {
  text-align: left;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: #fff;
  padding: 14px 14px 12px;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(2,12,27,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.client-spec-card h3 { margin: 0 0 6px; font-size: 16px; letter-spacing: -.02em; }
.client-spec-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.4; min-height: 2.8em; }
.client-spec-card .meta {
  margin-top: 10px; font-size: 12px; font-weight: 750; color: var(--teal-dark);
}
.client-spec-card:hover, .client-spec-card:focus-visible {
  transform: translateY(-3px);
  border-color: #5eead4;
  box-shadow: 0 14px 32px rgba(13,148,136,.18);
  outline: none;
}
.client-spec-pop-inline {
  position: relative;
  left: auto; bottom: auto; transform: none;
  width: 100%;
  margin-top: 14px;
}
@media (max-width: 720px) {
  .client-spec-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .client-spec-card p { min-height: 0; font-size: 12px; }
}




/* trailhead-home-crumb-above-hits
   Hit layer is fixed z-index 280; trailhead-stage is a z=3 stacking context,
   so Home crumb clicks never reached go("home") under the top FQHC/FM plank.
   Float the crumb above the hit layer on live trailheads (physician + client). */

/* trailhead-chrome-clear-lockup
   After fly-in, floating H1/sub sat under the AMP lockup ("You're searching…"
   over ADAPTIVE) and "…cards" from the sub collided with the fixed Home crumb.
   Wood signs carry the choice — keep only a quiet crumb under the glass nav. */
body.amp-live-trailhead .view.trailhead.on.after-approach .trailhead-title,
body.amp-live-trailhead .view.trailhead.on.after-approach .trailhead-sub,
body.amp-live-trailhead .view.trailhead.on.live-video-bg .trailhead-title,
body.amp-live-trailhead .view.trailhead.on.live-video-bg .trailhead-sub {
  display: none !important;
}
body.amp-live-trailhead .view.trailhead.on.after-approach .trailhead-top,
body.amp-live-trailhead .view.trailhead.on.live-video-bg .trailhead-top {
  padding-top: 0; /* crumb is fixed under nav */
  min-height: 0;
}

body.amp-live-trailhead .view.trailhead.on .trailhead-top .crumb {
  position: fixed !important;
  top: 72px;
  left: 20px;
  right: auto;
  z-index: 290 !important;
  margin: 0 !important;
  pointer-events: auto !important;
  color: rgba(226,232,240,.9);
  text-shadow: 0 1px 8px rgba(0,0,0,.55);
}
body.amp-live-trailhead .view.trailhead.on .trailhead-top .crumb button {
  pointer-events: auto !important;
  position: relative;
  z-index: 291;
  padding: 6px 4px;
  margin: -6px -4px;
}
@media (max-width: 640px) {
  body.amp-live-trailhead .view.trailhead.on .trailhead-top .crumb {
    top: 64px;
    left: 14px;
  }
}

/* Cover-locked SVG plank hits — slice == object-fit:cover on freeze */
#trailhead-hit-layer.trailhead-hit-layer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 280 !important;
  pointer-events: none !important;
  display: none;
  background: transparent !important;
}
#trailhead-hit-layer.is-live {
  display: block !important;
}
#trailhead-hit-layer .plank-hit-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: block;
  overflow: hidden;
}
#trailhead-hit-layer .plank-hit-svg .plank-hit {
  pointer-events: auto;
  cursor: pointer;
}
#trailhead-hit-layer .plank-hit-svg.hits-paused {
  pointer-events: none !important;
}
#trailhead-hit-layer .plank-hit-svg.hits-paused .plank-hit {
  pointer-events: none !important;
}
#trailhead-hit-layer .spec-other-pop.on-hit-layer {
  position: fixed !important;
  left: 50% !important;
  bottom: 10% !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;
  pointer-events: auto !important;
  width: min(420px, calc(100% - 32px));
}
.sign-media-frame.hits-deferred {
  pointer-events: none !important;
}
.sign-media-frame.hits-deferred .signpost {
  pointer-events: none !important;
}


/* Zero-jump swoop end: freeze under video, then soft-hide video.
   Must beat `#approach-video-hold #home-video { opacity:1 !important }`. */
#approach-video-hold.is-settling.UNUSED-hide-video #home-video,
#approach-video-hold.is-settling.UNUSED-hide-video video {
  opacity: 0 !important;
  transition: opacity 480ms cubic-bezier(.25,.1,.25,1) !important;
}
#approach-video-hold.is-settling canvas.approach-freeze {
  z-index: 2;
  opacity: 1 !important;
}
/* Residents & Fellows education hub, MI Lite, and guide cards */
.residents-education-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 22px; cursor:pointer; border:1px solid rgba(13,148,136,.3); background:linear-gradient(135deg,rgba(240,253,250,.96),rgba(255,255,255,.88)); }
.residents-education-card:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(13,148,136,.18); }
.residents-education-card h2 { margin:8px 0 5px; font-size:22px; letter-spacing:-.03em; }
.residents-education-card .meta { white-space:nowrap; color:var(--teal-dark); font-weight:800; font-size:13px; }
.residents-hero .hero-inner { max-width:760px; }
.residents-panel, .mi-lite-panel, .guides-panel { max-width:1080px; margin:0 auto; }
.residents-callout { display:flex; gap:12px; align-items:flex-start; color:#0f4f48; background:linear-gradient(135deg,#e8faf6,#fff); border-color:#9bd9cf; }
.learn-rails { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:24px; }
.learn-rail { padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.82); box-shadow:0 10px 28px rgba(2,12,27,.06); }
.learn-rail h2 { margin:9px 0 7px; font-size:18px; }
.learn-rail p { color:var(--muted); font-size:13px; line-height:1.5; min-height:5em; }
.learn-rail {
  display: flex;
  flex-direction: column;
}
.learn-rail-cta {
  margin-top: auto;
  align-self: flex-start;
  white-space: nowrap;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  letter-spacing: 0.01em;
  box-shadow: 0 8px 20px rgba(13,148,136,.28);
}
.learn-rail-cta:hover, .learn-rail-cta:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.04);
}
.rail-num { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--navy); color:#fff; font-weight:800; font-size:12px; }
.residents-heading { margin:30px 0 14px; }
.residents-heading h2 { margin:8px 0 5px; font-size:24px; letter-spacing:-.03em; }
.audit-card { display:flex; flex-direction:column; gap:8px; text-align:left; }
.audit-card label { font-size:12px; color:#334155; }
.audit-card input { accent-color:var(--teal); margin-right:6px; }
.path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:14px; }
.path-grid h3 { margin:0 0 6px; font-size:17px; }
.path-grid p { color:var(--muted); font-size:13px; line-height:1.5; min-height:4.4em; }
.guides-teaser, .guides-cta { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.guides-teaser h2, .guides-cta h2 { margin:8px 0 4px; font-size:22px; }
.mi-lite-disclaimer { display:flex; gap:12px; align-items:center; margin-bottom:16px; background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; }
.mi-lite-disclaimer strong, .example-stamp { letter-spacing:.12em; font-size:11px; font-weight:900; }
.mi-lite-disclaimer span { color:#7c2d12; font-size:13px; }
.mi-lite-regions-field { border:0; padding:0; margin:0; }
.mi-lite-regions-field legend { font-size:12px; font-weight:750; margin-bottom:9px; }
.mi-lite-regions { display:flex; flex-wrap:wrap; gap:8px; }
.mi-region-option { display:inline-flex; align-items:center; gap:5px; padding:8px 10px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:12px; cursor:pointer; }
.mi-region-option input { accent-color:var(--teal); }
.mi-lite-result[hidden] { display:none; }
.mi-result-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.mi-result-head h2 { margin:8px 0 0; font-size:24px; }
.example-stamp { color:#b45309; border:1px solid #f59e0b; padding:7px 9px; border-radius:8px; }
.demand-bars { display:grid; gap:14px; margin:22px 0; }
.demand-row { display:grid; grid-template-columns:150px 1fr 70px; align-items:center; gap:10px; font-size:13px; }
.demand-row > div { height:12px; border-radius:999px; background:#e2e8f0; overflow:hidden; }
.demand-row i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--teal),#5eead4); }
.demand-row strong { color:var(--teal-dark); font-size:12px; }
.guide-section-label { margin:0 0 14px; }
.guide-section-label p { display:inline; margin-left:10px; font-size:13px; }
.guides-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.recruiter-guides { grid-template-columns:repeat(4,1fr); }
.guide-card { padding:18px; border-radius:18px; background:rgba(255,255,255,.88); border:1px solid var(--line); box-shadow:0 12px 28px rgba(2,12,27,.07); }
.guide-avatar { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; margin-bottom:12px; background:linear-gradient(145deg,var(--teal-dark),#1e3a5f); color:#fff; font-weight:850; letter-spacing:.06em; box-shadow:0 8px 18px rgba(15,118,110,.25); }
.guide-card h3 { margin:0 0 3px; font-size:18px; }
.guide-role { margin:0 0 10px; color:var(--teal-dark); font-size:12px; font-weight:800; }
.guide-card p:not(.guide-role) { color:var(--muted); font-size:13px; line-height:1.5; min-height:4.7em; }
.guide-card .btn { margin-top:4px; }
.guides-grid-small { grid-template-columns:repeat(4,1fr); }
.guides-grid-small .guide-card { padding:18px; }
.guides-grid-small .guide-avatar { width:88px; height:88px; font-size:12px; } /* match recruiter/leadership photo size */
.guides-grid-small h3 { font-size:18px; }
.guides-grid-small .guide-role { margin-bottom:0; }
@media (max-width:800px) { .learn-rails,.guides-grid,.recruiter-guides,.guides-grid-small { grid-template-columns:repeat(2,1fr); } .path-grid { grid-template-columns:1fr; } .residents-education-card,.guides-teaser,.guides-cta { display:block; } .residents-education-card .meta,.guides-teaser .btn,.guides-cta .btn { display:inline-block; margin-top:14px; } }
@media (max-width:560px) { .learn-rails,.guides-grid,.recruiter-guides,.guides-grid-small { grid-template-columns:1fr; } .demand-row { grid-template-columns:1fr; gap:5px; } .mi-lite-disclaimer { display:block; } .mi-lite-disclaimer span { display:block; margin-top:6px; } .guide-section-label p { display:block; margin:7px 0 0; } }


/* Guide headshot avatars */
.guides-grid:not(.guides-grid-small):not(.recruiter-guides) .guide-avatar {
  width: 96px;
  height: 96px;
}
.guide-avatar.has-photo {
  padding: 0;
  overflow: hidden;
  background: #0b1220;
  border: 2px solid rgba(13,148,136,.55);
}
.guide-avatar.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Market Intelligence Lite product experience */
.ridge-teaser { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 8px; cursor:pointer; border:1px solid rgba(13,148,136,.3); background:linear-gradient(135deg,rgba(240,253,250,.96),rgba(255,255,255,.88)); padding:20px 22px; }
.ridge-teaser:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(13,148,136,.18); }
.ridge-teaser h2 { font-size:22px; letter-spacing:-.03em; }
.ridge-teaser .meta { white-space:nowrap; color:var(--teal-dark); font-weight:800; font-size:13px; }
.mi-education-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 22px; cursor:pointer; border:1px solid rgba(13,148,136,.3); background:linear-gradient(135deg,rgba(240,253,250,.96),rgba(255,255,255,.88)); }
.mi-education-card:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(13,148,136,.18); }
.mi-education-card h2 { margin:8px 0 5px; font-size:22px; letter-spacing:-.03em; }
.mi-education-card .meta { white-space:nowrap; color:var(--teal-dark); font-weight:800; font-size:13px; }
.mi-doors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.mi-door { padding:24px; background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(240,253,250,.8)); }
.mi-door h2, .mi-lite-scope h2, .mi-price-intro h2 { margin:9px 0 8px; font-size:24px; letter-spacing:-.03em; }
.mi-door p, .mi-price-intro p { color:var(--muted); line-height:1.55; font-size:13.5px; }
.mi-checks { margin:16px 0 20px; padding-left:18px; color:#334155; font-size:13px; line-height:1.85; }
.mi-checks li::marker { color:var(--teal); }
.mi-lite-scope { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:22px; margin-bottom:22px; background:linear-gradient(135deg,rgba(15,23,42,.95),rgba(15,118,110,.82)); color:#fff; border-color:rgba(153,246,228,.35); }
.mi-lite-scope .muted { color:#ccfbf1; }
.mi-scope-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mi-scope-grid > div { display:flex; flex-direction:column; gap:7px; padding:14px; border:1px solid rgba(153,246,228,.22); border-radius:14px; background:rgba(2,12,27,.2); }
.mi-scope-grid strong { color:#99f6e4; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.mi-scope-grid span { color:#e2e8f0; font-size:12.5px; }
.mi-peek { scroll-margin-top:90px; }
.mi-price-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:18px; align-items:stretch; }
.mi-price-intro, .mi-pricing { padding:24px; }
.mi-seat-note { padding:12px 14px; border-left:3px solid var(--teal); background:#f0fdfa; color:#115e59 !important; }
.mi-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }
.mi-price-grid.mi-price-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mi-price-alt { display:block; margin-top:-2px; color:var(--muted); font-size:13px; font-weight:650; }
.mi-plan-pickers { margin: 4px 0 14px; display: grid; gap: 10px; }
.mi-plan-picker .field { margin: 0; }
.mi-plan-picker select { width: 100%; max-width: 420px; }
.mi-region-states { margin: 6px 0 0; font-size: 12px; line-height: 1.45; }
@media (max-width:900px) { .mi-price-grid.mi-price-grid-3 { grid-template-columns:1fr; } }
.mi-price-card { display:flex; flex-direction:column; gap:7px; padding:17px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.9); cursor:pointer; transition:.2s ease; }
.mi-price-card:hover, .mi-price-card.is-selected { border-color:rgba(13,148,136,.65); box-shadow:0 0 0 2px rgba(13,148,136,.12),0 10px 22px rgba(15,118,110,.1); transform:translateY(-1px); }
.mi-price-card input { position:absolute; opacity:0; pointer-events:none; }
.mi-price-card strong { color:#0f172a; font-size:30px; letter-spacing:-.04em; }
.mi-price-card strong span { color:var(--muted); font-size:13px; letter-spacing:0; }
.mi-price-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.mi-price-tag { color:var(--teal-dark); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.mi-gate-note { margin:0 0 14px; padding:10px 12px; border-radius:10px; color:#92400e; background:#fff7ed; border:1px solid #fed7aa; font-size:12.5px; }
.mi-app-panel { max-width: none; margin: 0; }
.mi-app-controls { padding:20px; }
.mi-dashboard { padding:24px; }
.mi-dashboard-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.mi-dashboard-head h2 { margin:8px 0 5px; font-size:25px; letter-spacing:-.035em; }
.mi-dashboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:22px; }
.mi-kpi-card, .mi-demand-card { padding:18px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,#fff,rgba(240,253,250,.72)); }
.mi-kpi-card strong { display:block; margin:14px 0 4px; font-size:30px; color:var(--navy); letter-spacing:-.04em; }
.mi-kpi-card p { color:var(--muted); font-size:12px; line-height:1.45; }
.mi-demand-card .demand-bars { margin:16px 0 0; gap:15px; }
.mi-region-chip-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.mi-region-chip { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border-radius:999px; border:1px solid rgba(13,148,136,.35); background:#ecfdf5; color:#115e59; font-size:12px; font-weight:750; }
.mi-region-chip .dot { width:7px; height:7px; border-radius:50%; background:var(--teal); }
.mi-region-chip b { color:#b45309; font-size:9px; letter-spacing:.08em; }
.mi-dashboard-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.mi-dashboard-actions h3 { margin:8px 0 5px; font-size:18px; }
.mi-dashboard-actions .btn-row { margin:0; }

/* MI Lite go-live path — blur lock + fake login */
.mi-doors-single { grid-template-columns:minmax(0,1fr); max-width:720px; }
.mi-unlock-banner { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:16px; padding:18px 20px; background:linear-gradient(135deg,rgba(255,247,237,.96),rgba(255,255,255,.9)); border:1px solid #fed7aa; }
.mi-unlock-banner h3 { font-size:18px; letter-spacing:-.02em; }
.mi-unlock-banner-open { background:linear-gradient(135deg,rgba(240,253,250,.96),rgba(255,255,255,.9)); border-color:rgba(13,148,136,.35); }
.mi-unlock-banner[hidden], .mi-blur-overlay[hidden], .mi-dashboard-toolbar[hidden], .mi-mock-toast[hidden] { display:none !important; }
.mi-dashboard-meat { position:relative; margin-top:18px; }
.mi-lite-dashboard.is-locked .mi-dashboard-meat > .ridge-workbench,
.mi-lite-dashboard.is-locked .mi-dashboard-meat > .mi-dashboard-grid,
.mi-lite-dashboard.is-locked .mi-dashboard-meat > .mi-region-chip-row {
  filter:blur(7px);
  user-select:none;
  pointer-events:none;
}
.mi-blur-overlay {
  position:absolute; inset:0; z-index:3;
  display:flex; align-items:center; justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.28);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
  border-radius:16px;
}
.mi-blur-card {
  max-width:420px; width:100%;
  padding:22px 22px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(13,148,136,.28);
  box-shadow:0 18px 40px rgba(15,23,42,.22);
  text-align:left;
}
.mi-blur-card h3 { margin:8px 0 6px; font-size:20px; letter-spacing:-.03em; }
.mi-blur-card .muted { margin:0 0 14px; }
.mi-dashboard-toolbar {
  display:flex; flex-wrap:wrap; align-items:center; gap:14px;
  margin-top:20px; padding-top:18px; border-top:1px solid var(--line);
}
.mi-dashboard-toolbar .btn-row { margin:0; }
.mi-mock-toast {
  flex-basis:100%; margin:0; padding:10px 12px; border-radius:12px;
  background:#f0fdfa; color:#115e59; border:1px solid rgba(13,148,136,.25); font-size:13px;
}
.mi-login { max-width:480px; margin:0 auto; padding:28px 26px; background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(240,253,250,.82)); }
.mi-login-form { display:flex; flex-direction:column; gap:14px; }
.mi-login-form .btn { width:100%; }
.mi-login-or { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.mi-login-or::before, .mi-login-or::after { content:""; flex:1; height:1px; background:var(--line); }
.mi-login > .btn-lg { width:100%; }
@media (max-width:800px) {
  .mi-unlock-banner { display:block; }
  .mi-unlock-banner .btn-row { margin-top:14px; }
  .mi-dashboard-toolbar { display:block; }
  .mi-dashboard-toolbar .btn-row { margin-top:10px; display:grid; grid-template-columns:1fr; }
}

.mi-resident-link { margin-top:16px; color:#115e59; background:#f0fdfa; border-color:#99f6e4; font-size:13px; }
.mi-resident-link .linkish { color:#0f766e; font-weight:800; }
@media (max-width:800px) { .mi-doors,.mi-price-layout,.mi-lite-scope { grid-template-columns:1fr; } .mi-dashboard-grid { grid-template-columns:1fr 1fr; } .mi-dashboard-actions { display:block; } .mi-dashboard-actions .btn-row { margin-top:14px; } }
@media (max-width:560px) { .mi-education-card { display:block; } .mi-education-card .meta { display:inline-block; margin-top:14px; } .mi-price-grid,.mi-dashboard-grid,.mi-scope-grid { grid-template-columns:1fr; } .mi-door,.mi-dashboard,.mi-price-intro,.mi-pricing { padding:18px; } }

/* AMP guide launcher — a mountain mark entry point, never a generic chat bubble. */
.amp-guide {
  position: fixed; right: 22px; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 900;
  display: grid; justify-items: end; pointer-events: none;
}
.amp-guide[hidden], .amp-guide-dock[hidden] { display: none !important; }
.amp-guide-launcher {
  position: relative; width: 64px; height: 64px; padding: 0; border: 1px solid rgba(153,246,228,.6);
  border-radius: 50%; display: grid; place-items: center; cursor: pointer; pointer-events: auto; color: #fff;
  background: radial-gradient(circle at 35% 25%, rgba(94,234,212,.45), transparent 34%), linear-gradient(145deg, #0f766e, #0b3b42 78%);
  box-shadow: 0 0 0 5px rgba(13,148,136,.13), 0 0 26px rgba(45,212,191,.48), 0 14px 34px rgba(2,12,27,.42);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.amp-guide-launcher:hover, .amp-guide-launcher:focus-visible, .amp-guide.is-open .amp-guide-launcher {
  transform: translateY(-3px) scale(1.03); filter: brightness(1.08);
  box-shadow: 0 0 0 6px rgba(13,148,136,.18), 0 0 34px rgba(94,234,212,.7), 0 16px 38px rgba(2,12,27,.48);
}
.amp-guide-launcher:focus-visible, .amp-guide-close:focus-visible, .amp-guide-action:focus-visible, .amp-guide-full:focus-visible { outline: 2px solid #99f6e4; outline-offset: 3px; }
.amp-guide-launcher img { position: relative; z-index: 1; width: 38px; height: 38px; object-fit: contain; filter: drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 8px rgba(255,255,255,.85)) drop-shadow(0 0 16px rgba(255,255,255,.5)); }
.amp-guide-launcher-ring { position: absolute; inset: 7px; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; pointer-events: none; }
.amp-guide-label {
  position: absolute; right: 74px; padding: 7px 10px; border: 1px solid rgba(153,246,228,.26); border-radius: 999px;
  color: #e6fffa; background: rgba(11,18,32,.86); box-shadow: 0 8px 22px rgba(2,12,27,.28);
  font-size: 11px; font-weight: 750; letter-spacing: .04em; white-space: nowrap; opacity: 0; transform: translateX(5px);
  pointer-events: none; transition: opacity .18s ease, transform .18s ease;
}
.amp-guide-launcher:hover .amp-guide-label, .amp-guide-launcher:focus-visible .amp-guide-label, .amp-guide.is-open .amp-guide-label { opacity: 1; transform: none; }
.amp-guide-dock {
  width: min(360px, calc(100vw - 28px)); margin-bottom: 14px; overflow: hidden; border: 1px solid rgba(94,234,212,.3); border-radius: 20px;
  color: #e2e8f0; background: linear-gradient(145deg, rgba(15,34,47,.97), rgba(11,18,32,.98));
  box-shadow: 0 0 0 1px rgba(255,255,255,.05), 0 18px 52px rgba(2,12,27,.52), 0 0 32px rgba(13,148,136,.2);
  opacity: 0; transform: translateY(12px) scale(.98); transform-origin: bottom right; pointer-events: auto; transition: opacity .2s ease, transform .2s ease;
}
.amp-guide-dock.is-open { opacity: 1; transform: none; }
.amp-guide-dock-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 16px 14px; background: linear-gradient(135deg, rgba(15,118,110,.78), rgba(15,23,42,.36)); border-bottom: 1px solid rgba(153,246,228,.14); }
.amp-guide-dock-brand { display: flex; align-items: center; gap: 10px; }
.amp-guide-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.08); box-shadow: 0 0 16px rgba(255,255,255,.18); }
.amp-guide-mark img { width: 27px; height: 27px; object-fit: contain; filter: drop-shadow(0 0 5px rgba(255,255,255,.8)); }
.amp-guide-eyebrow { display: block; color: #99f6e4; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.amp-guide-dock h2 { margin: 2px 0 0; color: #fff; font-size: 19px; letter-spacing: -.02em; }
.amp-guide-close { width: 30px; height: 30px; border: 1px solid rgba(226,232,240,.22); border-radius: 50%; color: #fff; background: rgba(255,255,255,.07); cursor: pointer; font-size: 22px; line-height: 1; }
.amp-guide-copy { padding: 15px 16px 10px; }
.amp-guide-copy p { margin: 0; color: #e2e8f0; font-size: 13px; line-height: 1.5; }
.amp-guide-copy strong { color: #99f6e4; }
.amp-guide-copy .amp-guide-note { margin-top: 6px; color: #94a3b8; font-size: 11.5px; }
.amp-guide-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 8px 16px 14px; }
.amp-guide-action { min-height: 38px; padding: 8px 10px; border: 1px solid rgba(153,246,228,.24); border-radius: 10px; color: #ccfbf1; background: rgba(13,148,136,.12); cursor: pointer; font-size: 12px; font-weight: 750; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.amp-guide-action:hover { transform: translateY(-1px); border-color: rgba(153,246,228,.58); background: rgba(13,148,136,.3); }
.amp-guide-action.is-primary { color: #fff; background: linear-gradient(135deg, #0d9488, #0f766e); box-shadow: 0 5px 16px rgba(13,148,136,.24); }
.amp-guide-full { width: 100%; padding: 12px 16px 14px; border: 0; border-top: 1px solid rgba(148,163,184,.14); color: #99f6e4; background: rgba(2,12,27,.2); cursor: pointer; font-size: 12px; font-weight: 750; text-align: left; }
.amp-guide-full span { float: right; font-size: 16px; line-height: .8; }
@media (max-width: 600px) { .amp-guide { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); } .amp-guide-dock { margin-bottom: 12px; } .amp-guide-label { display: none; } }
@media (prefers-reduced-motion: reduce) { .amp-guide-launcher, .amp-guide-dock, .amp-guide-label, .amp-guide-action { transition: none; } }
/* Guide sits above trailhead hits; existing full-screen drawers remain above it. */
.mpc-drawer { z-index: 1000; }

/* Mobile navigation and 430px surface pass. */
.mobile-nav-toggle,
.mobile-nav-drawer,
.mobile-nav-backdrop { display: none; }
@media (max-width: 760px) {
  .site-nav { min-height: 60px; }
  /* Live trailheads disable nav chrome to protect plank hits; keep mobile toggle above that layer. */
  body.amp-live-trailhead .site-nav { pointer-events: auto; z-index: 300; }
  body.amp-live-trailhead .mobile-nav-toggle { position: relative; z-index: 301; pointer-events: auto; }
  .site-nav .nav-links { gap: 4px; }
  .site-nav .nav-links .nav-cta {
    min-height: 44px;
    padding-inline: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }
  .mobile-nav-toggle {
    display: grid; flex: 0 0 44px; width: 44px; height: 44px; padding: 9px 8px;
    place-content: center; gap: 5px; border: 1px solid rgba(153,246,228,.35);
    border-radius: 12px; color: #fff; background: rgba(15,23,42,.58); cursor: pointer;
  }
  .mobile-nav-toggle span { display: block; width: 24px; height: 2px; border-radius: 2px; background: currentColor; }
  .mobile-nav-toggle:focus-visible, .mobile-nav-close:focus-visible,
  .mobile-nav-sheet-links button:focus-visible,
  .mobile-nav-sheet-links a:focus-visible { outline: 2px solid #99f6e4; outline-offset: 3px; }
  .mobile-nav-backdrop:not([hidden]) {
    display: block; position: fixed; inset: 0; z-index: 1090; border: 0;
    background: rgba(2,12,27,.58); cursor: pointer;
  }
  .mobile-nav-drawer:not([hidden]) {
    display: block; position: fixed; z-index: 1100; inset: 0 0 0 auto;
    width: min(350px, calc(100vw - 18px)); padding: max(14px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
    overflow-y: auto; color: #e2e8f0; background: linear-gradient(180deg, #0b1220, #0f2f36 72%, #0b1220);
    box-shadow: -18px 0 46px rgba(2,12,27,.42);
  }
  .mobile-nav-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid rgba(153,246,228,.2); }
  .mobile-nav-brand { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 16px; letter-spacing: .12em; }
  .mobile-nav-brand img { width: 34px; height: 34px; object-fit: contain; }
  .mobile-nav-close { min-width: 44px; min-height: 44px; padding: 8px; border: 1px solid rgba(226,232,240,.28); border-radius: 12px; color: #fff; background: rgba(255,255,255,.07); cursor: pointer; font-size: 13px; font-weight: 750; }
  .mobile-nav-sheet-links { display: grid; gap: 8px; padding-top: 18px; }
  .mobile-nav-sheet-links button,
  .mobile-nav-sheet-links a { min-height: 48px; padding: 12px 14px; border: 1px solid rgba(153,246,228,.18); border-radius: 12px; color: #e6fffa; background: rgba(255,255,255,.06); cursor: pointer; text-align: left; font-size: 15px; font-weight: 700; text-decoration: none; box-sizing: border-box; }
  .mobile-nav-sheet-links button:hover, .mobile-nav-sheet-links button:active,
  .mobile-nav-sheet-links a:hover, .mobile-nav-sheet-links a:active { border-color: rgba(153,246,228,.55); background: rgba(13,148,136,.24); }
  .mobile-nav-sheet-links .mobile-nav-sheet-cta { border-color: rgba(94,234,212,.55); color: #042f2e; background: linear-gradient(135deg, #5eead4, #2dd4bf); }
}

@media (max-width: 560px) {
  .residents-callout, .mi-result-head, .mi-dashboard-head { display: block; }
  .residents-callout .example-stamp, .mi-result-head .example-stamp, .mi-dashboard-head .example-stamp { display: inline-block; margin-top: 10px; }
  .path-grid p, .guide-card p:not(.guide-role) { min-height: 0; }
  .mi-education-card, .guides-teaser, .guides-cta { overflow-wrap: anywhere; }
  .mi-price-card { min-height: 132px; }
  .mi-dashboard-actions .btn-row { display: grid; grid-template-columns: 1fr; }
  .mi-dashboard-actions .btn-row .btn { width: 100%; }
  .mi-lite-regions { gap: 7px; }
  .mi-region-option { min-height: 44px; padding: 10px 11px; }
}

@media (max-width: 720px) {
  .view.funnel[data-route="physician-region"] .region-map-wrap { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; }
  .view.funnel[data-route="physician-region"] .amp-region-map { width: 520px; max-width: none; }
  .region-selection { align-items: flex-start; }
  .region-open-control, .region-actions .btn { min-height: 44px; }
  .rank-actions .btn, .rank-reset { min-height: 44px; }
  .rank-actions { gap: 8px; }
}

@media (max-width: 430px) {
  .site-nav { padding: 8px 10px; gap: 8px; }
  .brand.brand-lockup .brand-lockup-img { width: min(48vw, 198px); }
  .site-nav .nav-links { margin-left: auto; }
  .site-nav .nav-links .nav-cta { padding-inline: 10px; }
  .funnel-panel, .section-lite { max-width: 100%; }
  .mi-door, .mi-dashboard, .mi-price-intro, .mi-pricing { padding: 16px; }
  .mi-door h2, .mi-lite-scope h2, .mi-price-intro h2 { font-size: 21px; }
  .mi-dashboard-head h2, .mi-result-head h2 { font-size: 21px; overflow-wrap: anywhere; }
  .mi-price-card strong, .mi-kpi-card strong { font-size: 27px; }
  .guide-card { padding: 16px; }
  .region-map-wrap { padding-inline: 2px; }
  .amp-guide { left: 8px; right: 8px; bottom: max(10px, env(safe-area-inset-bottom)); justify-items: stretch; }
  .amp-guide-launcher { justify-self: end; width: 60px; height: 60px; }
  .amp-guide-dock { width: 100%; max-height: min(72dvh, 520px); margin-bottom: 10px; overflow-y: auto; }
  .amp-guide-dock-head { padding: 14px; }
  .amp-guide-close { min-width: 44px; min-height: 44px; }
  .amp-guide-copy { padding: 14px 14px 8px; }
  .amp-guide-actions { grid-template-columns: 1fr; gap: 8px; padding: 8px 14px 14px; }
  .amp-guide-action { min-height: 44px; }
  .amp-guide-full { min-height: 48px; padding-inline: 14px; }
  .trailhead-rail { padding-bottom: 90px; }
  .trailhead-rail button { min-height: 44px; }
}
.jobs-soft-bench {
  grid-column: 1 / -1;
  margin-top: 14px;
  padding: 18px 18px 16px;
  border: 1px solid rgba(13,148,136,.32);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(240,253,250,.92), rgba(255,255,255,.98));
  box-shadow: 0 10px 28px rgba(15, 118, 110, .08);
}
.jobs-soft-bench .tag { color: var(--teal-dark); font-weight: 750; }
.jobs-soft-bench-title {
  margin: 8px 0 6px;
  font-size: 18px;
  letter-spacing: -.02em;
  font-weight: 750;
  color: var(--ink, #0f172a);
}
.jobs-soft-bench p {
  display: block;
  margin: 0 0 14px;
  max-width: 62ch;
  color: var(--ink-soft, #334155);
  font-size: 14.5px;
  line-height: 1.55;
}
.jobs-soft-bench-cta { margin-top: 2px; }
.jobs-soft-bench-cta:hover { color: var(--teal); }
.jobs-mpc-empty { max-width: 700px; margin: 0 auto; border-color: rgba(13,148,136,.34); background: linear-gradient(145deg, rgba(240,253,250,.92), rgba(255,255,255,.98)); }
.jobs-mpc-empty h3 { margin: 10px 0 7px; font-size: 22px; letter-spacing: -.025em; }
.jobs-mpc-empty p { max-width: 58ch; color: var(--muted); line-height: 1.55; }
.jobs-path-stamp { margin: 14px 0 0; color: var(--teal-deep) !important; font-size: 12px; font-weight: 800; letter-spacing: .02em; }
@media (max-width: 560px) { .jobs-soft-bench p { display: block; margin: 7px 0 8px; } .jobs-mpc-empty .btn-row { align-items: stretch; } .jobs-mpc-empty .btn { width: 100%; } }
.amp-guide-path { margin-top: 9px !important; padding: 7px 9px; border-left: 2px solid rgba(94,234,212,.55); color: #ccfbf1 !important; background: rgba(13,148,136,.12); font-size: 11.5px !important; font-weight: 750; }
.amp-guide-launcher.is-whisper { animation: amp-guide-whisper 2.8s ease-in-out 2; }
@keyframes amp-guide-whisper { 0%, 100% { box-shadow: 0 0 0 5px rgba(13,148,136,.13), 0 0 26px rgba(45,212,191,.48), 0 14px 34px rgba(2,12,27,.42); } 50% { box-shadow: 0 0 0 9px rgba(45,212,191,.18), 0 0 34px rgba(94,234,212,.72), 0 14px 34px rgba(2,12,27,.42); } }
@media (prefers-reduced-motion: reduce) { .amp-guide-launcher.is-whisper { animation: none; } }


/* #4 client form territory route preview */
#client-meeting-form .field-label {
  display: block;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .02em;
  color: #5a6a7a;
  margin-bottom: 2px;
}
#client-meeting-form .req { color: #b45309; margin-left: 2px; }
#client-meeting-form select {
  width: 100%;
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid #c5dde4;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
}


/* —— Imagine crop 2026-09-09: keep mountain PEAK in frame (phone cover) —— */
/* peak-bias block neutralized — see frame0 nozoom lock */
.view.funnel.trailhead > .shot img.still {
  object-fit: cover !important;
  object-position: 50% 50% !important;
}
@media (max-width: 640px) {
  /* home/approach framing locked 50% 50% in frame0-nozoom — do not re-bias */
  .view.funnel.trailhead > .shot img.still {
    object-position: 50% 50% !important;
  }
}

/* David UX lock: SAME scroll/gate come-up for candidate + client funnels
   (match hiring portal Shared Ascent / client-retained sheet). */
@keyframes ampFunnelSheetUp {
  from { transform: translateY(32px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.view.funnel.on .funnel-panel,
.view.funnel.on .agreement-stage {
  animation: ampFunnelSheetUp 0.48s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.view.funnel[data-route="physician-rank"].on .funnel-panel,
.view.funnel[data-route="physician-region"].on .funnel-panel,
.view.funnel[data-route="physician-jobs"].on .funnel-panel,
.view.funnel[data-route="client-specialty"].on .funnel-panel,
.view.funnel[data-route="client-retained"].on .funnel-panel,
.view.funnel[data-route="client-meeting"].on .funnel-panel {
  border-radius: 18px 18px 0 0;
}
@media (prefers-reduced-motion: reduce) {
  .view.funnel.on .funnel-panel,
  .view.funnel.on .agreement-stage { animation: none !important; }
}


/* —— Try-it hiring sheet (Mike stamp 2026-09-09) —— */
.trailhead-sheet-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  min-height: 100%;
  padding: 88px 16px 28px;
  pointer-events: none;
}
.trailhead-sheet-stage .crumb {
  align-self: flex-start;
  width: min(440px, 100%);
  margin: 0 auto 10px;
  pointer-events: auto;
  color: rgba(248,250,252,.92);
  text-shadow: 0 1px 8px rgba(0,0,0,.45);
}
.trailhead-sheet-stage .crumb button { color: #99f6e0; }
.hire-sheet {
  width: min(440px, 100%);
  max-height: none;
  overflow: visible;
  -webkit-overflow-scrolling: touch;
  background: rgba(255,255,255,.97);
  border-radius: 24px;
  padding: 18px 16px 20px;
  box-shadow: 0 24px 60px rgba(2,12,27,.45);
  pointer-events: auto;
  animation: ampFunnelSheetUp 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.hire-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #14787a;
  margin: 0 0 6px;
}
.hire-title {
  margin: 0 0 14px;
  font-size: 1.35rem;
  letter-spacing: -.02em;
  color: #0f172a;
}
.hire-card-list { display: flex; flex-direction: column; gap: 10px; }
.hire-card {
  display: block;
  width: 100%;
  text-align: left;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  padding: 14px 14px 12px;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.hire-card:hover, .hire-card:focus-visible {
  border-color: #99f6e0;
  box-shadow: 0 8px 24px rgba(20,120,122,.12);
  transform: translateY(-1px);
  outline: none;
}
.hire-card h3 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  color: #0f172a;
}
.hire-card p {
  margin: 0 0 10px;
  font-size: 13.5px;
  line-height: 1.4;
  color: #64748b;
}
.hire-select {
  font-size: 13px;
  font-weight: 750;
  color: #14787a;
}
/* sign hide moved to physician-only — client facility planks stay */
.view.funnel.trailhead > .shot img.still {
  object-fit: cover !important;
  object-position: 50% 50% !important;
  filter: blur(0px);
}
.view.funnel.trailhead.after-approach > .shot img.still,
.view.funnel.trailhead.live-video-bg > .shot img.still {
  /* final frame behind sheet — slight dim for sheet contrast */
  filter: brightness(0.92);
}
@media (max-width: 640px) {
  .trailhead-sheet-stage { padding: 102px 12px 18px; justify-content: flex-end; }
  .hire-sheet { max-height: none; overflow: visible; border-radius: 20px; padding: 12px 10px 12px; }
  .hire-title { font-size: 1.2rem; }
}


/* —— Imagine winner 2026-09-09: soft HTML picker over live video —— */
.view.funnel.trailhead .trailhead-picker,
.view.funnel.trailhead .hire-sheet.trailhead-picker {
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity 1.5s cubic-bezier(0.25, 0.1, 0.25, 1),
              transform 1.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.view.funnel.trailhead.picker-in .trailhead-picker,
.view.funnel.trailhead.picker-in .hire-sheet.trailhead-picker,
.view.funnel.trailhead.after-approach .trailhead-picker,
.view.funnel.trailhead.after-approach .hire-sheet.trailhead-picker {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
/* History/instant restore: no 1.5s fade — sheet must be there immediately */
.view.funnel.trailhead.picker-snap .trailhead-picker,
.view.funnel.trailhead.picker-snap .hire-sheet.trailhead-picker,
.view.funnel.trailhead.picker-snap .hire-sheet {
  transition: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}
.view.funnel.trailhead .hire-sheet {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 48px rgba(2, 12, 27, 0.28);
  /* kill hard sheet-up when soft overlay path is active */
  animation: none;
}
.view.funnel.trailhead.picker-in .hire-sheet,
.view.funnel.trailhead.after-approach .hire-sheet {
  animation: none;
}
.view.funnel.trailhead .trailhead-top.trailhead-picker {
  background: rgba(8, 18, 24, 0.42);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 16px;
  padding: 12px 14px 10px;
  color: #f8fafc;
  text-shadow: 0 1px 10px rgba(0,0,0,.35);
}
.view.funnel.trailhead .trailhead-rail.trailhead-picker {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 14px;
}
/* While live video under trailhead, keep shot dimmed not opaque white */
.view.funnel.trailhead.live-video-bg > .shot img.still {
  opacity: 0;
}
.view.funnel.trailhead.live-video-bg .sign-media-frame,
.view.funnel.trailhead.live-video-bg .signpost {
  display: block !important;
}
/* Physician hire-sheet path: hide plank frames if any leftover */
.view.funnel.trailhead[data-route="physician"] .sign-media-frame,
.view.funnel.trailhead[data-route="physician"] .trailhead-rail:not(.trailhead-picker),
.view.funnel.trailhead[data-route="physician"] .signpost {
  display: none !important;
}
/* Client facility: show sign frames again (undo prior hire-sheet hide-all) */
.view.funnel.trailhead[data-route="client"] .sign-media-frame,
.view.funnel.trailhead[data-route="client"] .trailhead-rail,
.view.funnel.trailhead[data-route="client"] .signpost {
  display: block !important;
}
.view.funnel.trailhead[data-route="client"] > .shot img.still {
  object-fit: cover !important;
  object-position: 50% 50% !important; /* match physician freeze — no jump when swapping paths */
}

/* Mike eye 12:57 CT: no scrollbar on specialty/facility picker; fit cards */
.view.funnel.trailhead .hire-sheet {
  max-height: none;
  overflow: visible;
  overflow-x: hidden;
  overflow-y: hidden;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge legacy */
}
.view.funnel.trailhead .hire-sheet::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.view.funnel.trailhead .hire-card-list {
  gap: 8px;
}
.view.funnel.trailhead .hire-card {
  padding: 10px 12px 9px;
}
.view.funnel.trailhead .hire-card h3 {
  font-size: 0.98rem;
}
.view.funnel.trailhead .hire-card p {
  margin: 0 0 6px;
  font-size: 12.5px;
  line-height: 1.3;
}
.view.funnel.trailhead .hire-title {
  margin: 0 0 10px;
  font-size: 1.2rem;
}
.view.funnel.trailhead .trailhead-sheet-stage {
  padding: 96px 12px 16px;
  justify-content: flex-end;
}
.view.funnel.trailhead .trailhead-rail {
  overflow: visible;
  overflow-x: hidden;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.view.funnel.trailhead .trailhead-rail::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
@media (max-width: 640px) {
  .view.funnel.trailhead .hire-sheet {
    max-height: none;
    overflow: visible;
    padding: 12px 10px 12px;
  }
  .view.funnel.trailhead .hire-card {
    padding: 9px 10px 8px;
  }
  .view.funnel.trailhead .hire-card p {
    font-size: 12px;
  }
  .view.funnel.trailhead .trailhead-sheet-stage {
    padding: 108px 10px 12px;
  }
}


/* amp-build:1974-frame0-nozoom — frame0 poster lock: no zoom jump on play */
.home-stage #home-video,
.home-stage .home-poster,
#home-video,
.home-poster,
#approach-video-hold #home-video,
#approach-video-hold video,
#approach-video-hold canvas.approach-freeze {
  object-fit: cover !important;
  object-position: 50% 50% !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
  transition: opacity 0.35s ease !important;
}
.home-stage.playing #home-video,
.home-stage.playing .home-poster,
.home-stage.approach-ghost #home-video,
.home-stage.approach-ghost .home-poster,
.home-stage.playing.walk-forward #home-video,
.home-stage.playing.walk-forward .home-poster {
  transform: none !important;
}


/* amp-build:1975-overlay2-noblink — no settle blink: last video frame stays opaque under picker */
#approach-video-hold.is-settling #home-video,
#approach-video-hold.is-settling video {
  opacity: 1 !important;
  visibility: visible !important;
}
#approach-video-hold.is-settling {
  opacity: 1 !important;
}
body.amp-live-trailhead .view.trailhead.live-video-bg > .shot {
  opacity: 0 !important;
  visibility: hidden !important;
}


/* amp-build:1976-overlay15-client-sheet — client facility+specialty hire-sheet (same translucent menu) */
.view.funnel.trailhead[data-route="client"] .hire-sheet,
.view.funnel.client-spec-sheet .hire-sheet {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.view.funnel.client-spec-sheet .hire-sheet {
  animation: ampFunnelSheetUp 0.48s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.view.funnel.trailhead[data-route="client"] .sign-media-frame,
.view.funnel.trailhead[data-route="client"] .signpost,
.view.funnel.trailhead[data-route="client"] .trailhead-rail {
  display: none !important;
}
.hire-fac-line { color: #64748b; }


/* amp-build:1977-spec-click-radius — full rounded hire-sheet + clickable specialty cards */
.hire-sheet.funnel-panel,
.view.funnel .hire-sheet.funnel-panel,
.view.funnel.trailhead .hire-sheet.funnel-panel,
.view.funnel.client-spec-sheet .hire-sheet.funnel-panel {
  border-radius: 24px !important;
  margin-top: 0;
  margin-bottom: 0;
  padding: 18px 16px 20px;
  overflow: visible;
}
.trailhead-sheet-stage {
  pointer-events: none;
}
.trailhead-sheet-stage .hire-sheet,
.trailhead-sheet-stage .hire-sheet *,
.trailhead-sheet-stage .crumb,
.trailhead-sheet-stage .crumb * {
  pointer-events: auto !important;
}
.view.funnel.client-spec-sheet .hire-card,
.view.funnel.trailhead .hire-card {
  cursor: pointer;
  position: relative;
  z-index: 2;
}


/* amp-build:1978-agree-cards-fullwidth — agreement chooser full width (rail column removed from HTML) */
.view.funnel[data-route="client-retained"] .agreement-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 20px;
  width: 100%;
  max-width: none;
}
.view.funnel[data-route="client-retained"] .agreement-main {
  width: 100%;
  min-width: 0;
  max-width: none;
}
.view.funnel[data-route="client-retained"] .agreement-chooser {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px;
  width: 100%;
}
.view.funnel[data-route="client-retained"] .agree-card {
  width: 100%;
  min-width: 0;
  max-width: none;
}
.view.funnel[data-route="client-retained"] .agreement-stage.funnel-panel {
  width: 100%;
  max-width: none;
}
@media (max-width: 760px) {
  .view.funnel[data-route="client-retained"] .agreement-chooser {
    grid-template-columns: 1fr !important;
  }
}


/* amp-build:2059-other-pop-select-advance — Other list pick closes pop + advances (JS closeClientSpecOtherPop restored) */
/* amp-build:1979-other-pop-pushstate — Other specialty pop on hire-sheet + visible above sheet */
.hire-sheet .spec-other-pop.in-hire-sheet,
.spec-other-pop.in-hire-sheet {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  width: auto;
  max-width: none;
  transform: none;
  z-index: 50;
  display: block;
}
.hire-sheet {
  position: relative;
}


/* Mobile drawer: AMP Score outbound link = same card/pill as sheet buttons */
.mobile-nav-sheet-links a {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(153,246,228,.18);
  border-radius: 12px;
  color: #e6fffa;
  background: rgba(255,255,255,.06);
  text-decoration: none;
  text-align: left;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.mobile-nav-sheet-links a:hover,
.mobile-nav-sheet-links a:active {
  border-color: rgba(153,246,228,.55);
  background: rgba(13,148,136,.24);
}
.mobile-nav-sheet-links a:focus-visible {
  outline: 2px solid #99f6e4;
  outline-offset: 3px;
}
.mobile-nav-sheet-links a .tm {
  font-size: 0.7em;
  vertical-align: super;
}

/* amp-build:1997-short-funnel-no-dead-scroll — hug content on short funnel steps; no empty mountain/white scroll.
   Routes: physician-rank/region/jobs, mpc (+ parked portal/browse), Ridge mi-lite*.
   Keep trailhead hire-sheets, Shared Ascent client sheets, FAQ fixed-shot lock untouched.
   Jobs/tall mi-lite-app still scroll when real content overflows. */
.view.funnel[data-route="physician-rank"] > .view-chrome,
.view.funnel[data-route="physician-region"] > .view-chrome,
.view.funnel[data-route="physician-jobs"] > .view-chrome,
.view.funnel[data-route="mpc"] > .view-chrome,
.view.funnel[data-route="mpc-portal"] > .view-chrome,
.view.funnel[data-route="mpc-browse"] > .view-chrome,
.view.funnel[data-route="mi-lite"] > .view-chrome,
.view.funnel[data-route="mi-lite-portal"] > .view-chrome,
.view.funnel[data-route="mi-lite-login"] > .view-chrome,
.view.funnel[data-route="forms"] > .view-chrome,
.view.funnel[data-route="form-candidate-authorization"] > .view-chrome,
.view.funnel[data-route="form-interview-expense"] > .view-chrome,
.view.funnel[data-route="form-easy-pay"] > .view-chrome {
  justify-content: flex-start;
  /* min-height: 100dvh kept from .view.funnel > .view-chrome — mountain fill */
  padding-bottom: 16px; /* small air inside 100dvh box; avoids margin-bottom scroll bleed */
}

.view.funnel[data-route="physician-rank"] .section-lite.funnel-panel,
.view.funnel[data-route="physician-region"] .section-lite.funnel-panel,
.view.funnel[data-route="physician-jobs"] .section-lite.funnel-panel,
.view.funnel[data-route="mpc"] .section-lite.funnel-panel,
.view.funnel[data-route="mpc-portal"] .section-lite.funnel-panel,
.view.funnel[data-route="mpc-browse"] .section-lite.funnel-panel,
.view.funnel[data-route="mi-lite"] .section-lite.funnel-panel,
.view.funnel[data-route="mi-lite-portal"] .section-lite.funnel-panel,
.view.funnel[data-route="mi-lite-login"] .section-lite.funnel-panel,
.view.funnel[data-route="forms"] .section-lite.funnel-panel,
.view.funnel[data-route="form-candidate-authorization"] .section-lite.funnel-panel,
.view.funnel[data-route="form-interview-expense"] .section-lite.funnel-panel,
.view.funnel[data-route="form-easy-pay"] .section-lite.funnel-panel {
  flex: 0 0 auto !important; /* hug content — do not stretch empty white */
  height: auto;
  margin-top: 12px !important; /* override .funnel-panel { margin-top: auto } */
  margin-bottom: 0;
  padding-bottom: 24px; /* was 56px global — no scroll past last control */
}

/* Rank/region already float with flex:0 — keep their tighter top margins */
.view.funnel.rank-view[data-route="physician-rank"] .section-lite.rank-panel,
.rank-view .rank-panel.funnel-panel,
.rank-view .funnel-panel.section-lite.rank-panel {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}
.view.funnel[data-route="physician-region"] .region-panel {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 430px) {
  .view.funnel[data-route="physician-rank"] .section-lite.funnel-panel,
  .view.funnel[data-route="physician-region"] .section-lite.funnel-panel,
  .view.funnel[data-route="physician-jobs"] .section-lite.funnel-panel,
  .view.funnel[data-route="mpc"] .section-lite.funnel-panel,
  .view.funnel[data-route="mpc-portal"] .section-lite.funnel-panel,
  .view.funnel[data-route="mpc-browse"] .section-lite.funnel-panel,
  .view.funnel[data-route="mi-lite"] .section-lite.funnel-panel,
  .view.funnel[data-route="mi-lite-portal"] .section-lite.funnel-panel,
  .view.funnel[data-route="mi-lite-login"] .section-lite.funnel-panel,
  .view.funnel[data-route="forms"] .section-lite.funnel-panel,
  .view.funnel[data-route="form-candidate-authorization"] .section-lite.funnel-panel,
  .view.funnel[data-route="form-interview-expense"] .section-lite.funnel-panel,
  .view.funnel[data-route="form-easy-pay"] .section-lite.funnel-panel {
    padding-bottom: 20px; /* beat phone polish .funnel-panel { padding: … 48px } */
  }
}


/* amp-build:1998 Ridge Light MI full-bleed workbench inside mountain chrome */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Full-width Ridge sample — kill narrow centered funnel-panel / .section max-width */
.view.funnel[data-route="mi-lite-app"] > .view-chrome {
  justify-content: flex-start;
  padding-bottom: 16px;
}
.view.funnel[data-route="mi-lite-app"] .section.section-lite.funnel-panel.mi-app-panel,
.view.funnel[data-route="mi-lite-app"] .mi-app-panel {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 1 1 auto !important;
  height: auto;
  margin-top: 8px !important;
  margin-bottom: 0;
  padding: 18px clamp(12px, 2vw, 28px) 28px;
  border-radius: 20px 20px 0 0;
  box-sizing: border-box;
}
.view.funnel[data-route="mi-lite-app"] .mi-dashboard,
.view.funnel[data-route="mi-lite-app"] .mi-app-controls {
  max-width: none;
  width: 100%;
}

.ridge-controls .ridge-control-top { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:14px; }
.ridge-carve { display:flex; flex-wrap:wrap; gap:6px; }
.ridge-carve-btn {
  border:1px solid rgba(15,23,42,.14); background:#fff; color:#475569;
  border-radius:999px; padding:6px 12px; font-size:12px; font-weight:700; cursor:pointer;
}
.ridge-carve-btn.active { background:rgba(13,148,136,.14); border-color:rgba(13,148,136,.45); color:#0f766e; }
.ridge-search-field { flex:1 1 220px; min-width:180px; }
.ridge-search-field input {
  width:100%; border:1px solid rgba(15,23,42,.14); border-radius:12px; padding:10px 12px;
  font:inherit; background:#fff;
}
.ridge-form-grid .field-label { display:block; font-size:12px; font-weight:750; margin-bottom:8px; color:#334155; }
.ridge-tool-row { margin:0; }
.ridge-multi-btn.active { border-color:rgba(13,148,136,.5); color:#0f766e; background:#ecfdf5; }
.ridge-region-lens { margin-top:14px; }

.ridge-workbench {
  --ridge-bg:#eef2f6; --ridge-panel:#ffffff; --ridge-panel-2:#f3f6fa; --ridge-border:#cfd7e3;
  --ridge-muted:#5b6b82; --ridge-accent:#0d9488; --ridge-accent-2:#0f766e; --ridge-text:#152033;
  --ridge-map-selected:#0d9488; --ridge-good:#059669; --ridge-warn:#d97706;
  margin-top:18px; color:var(--ridge-text);
  background:linear-gradient(180deg,#f8fafc 0%,#eef2f6 100%);
  border:1px solid var(--ridge-border);
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.ridge-workbench .bench-cards {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:12px;
}
@media (max-width:1100px) {
  .ridge-workbench .bench-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .ridge-workbench .bench-cards { grid-template-columns:1fr; }
}
.ridge-workbench .bench-card {
  background:linear-gradient(165deg,#ffffff 0%,#f3f6fa 100%);
  border:1px solid var(--ridge-border); border-radius:12px;
  padding:10px 12px 10px 14px; position:relative; overflow:hidden;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
  transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}
.ridge-workbench .bench-card:hover {
  border-color:rgba(13,148,136,.45);
  box-shadow:
    0 0 0 1px rgba(13,148,136,.22),
    0 0 22px rgba(13,148,136,.35),
    0 0 40px rgba(20,184,166,.18),
    0 10px 28px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.ridge-workbench .bench-card::before {
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--ridge-accent);
}
.ridge-workbench .bench-card.postings::before { background:#db2777; }
.ridge-workbench .bench-card.ratio-card::before { background:#d97706; }
.ridge-workbench .bench-card.aging::before { background:#7c3aed; }
.ridge-workbench .bench-card.pipeline::before { background:#059669; }
.ridge-workbench .bench-card.comp::before { background:#0284c7; }
.ridge-workbench .bench-card .title {
  font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--ridge-muted); font-weight:750;
}
.ridge-workbench .bench-card .hero {
  font-size:1.35rem; font-weight:800; margin:5px 0 8px; letter-spacing:-.02em; color:var(--ridge-text);
}
.ridge-workbench .bench-card .hero small {
  font-size:11px; font-weight:600; color:var(--ridge-muted); margin-left:5px;
}
.ridge-workbench .bench-card .na { color:#94a3b8; font-size:1.1rem; }
.ridge-workbench .pct-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.ridge-workbench .pct {
  background:#fff; border:1px solid var(--ridge-border);
  border-radius:8px; padding:6px 4px; text-align:center;
}
.ridge-workbench .pct .l { font-size:9px; color:var(--ridge-muted); text-transform:uppercase; letter-spacing:.04em; }
.ridge-workbench .pct .v { font-size:12px; font-weight:750; margin-top:2px; color:var(--ridge-text); }
.ridge-workbench .mean-line { margin-top:8px; font-size:11px; color:var(--ridge-muted); }
.ridge-workbench .bench-extra {
  display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; font-size:11px; color:var(--ridge-muted);
}
.ridge-workbench .bench-extra b { color:var(--ridge-text); font-weight:750; }

.ridge-workbench .metric-bar {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px;
}
.ridge-workbench .metric-label { font-size:11px; color:var(--ridge-muted); margin-right:2px; font-weight:700; }
.ridge-workbench .metric-btn {
  border:1px solid var(--ridge-border); background:#fff; color:var(--ridge-muted);
  border-radius:999px; padding:6px 12px; font-size:12px; font-weight:650; cursor:pointer;
}
.ridge-workbench .metric-btn.active {
  background:rgba(13,148,136,.12); border-color:var(--ridge-accent); color:var(--ridge-accent-2);
}

.ridge-main-stage {
  display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,0.9fr);
  gap:12px; min-height:420px;
}
@media (max-width:980px) {
  .ridge-main-stage { grid-template-columns:1fr; }
}

.ridge-workbench .map-wrap {
  min-height:360px;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(13,148,136,.06), transparent 55%),
    linear-gradient(180deg,#ffffff 0%,#f3f6fa 100%);
  border:1px solid var(--ridge-border); border-radius:14px;
  padding:14px 14px 10px; display:flex; flex-direction:column; position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 24px rgba(15,23,42,.05);
  overflow:visible;
}
.ridge-map-container {
  flex:1; display:flex; align-items:center; justify-content:center;
  min-height:300px; position:relative; width:100%; overflow:visible;
  touch-action: none; -webkit-user-select: none; user-select: none;
}
.ridge-map-container svg {
  width:100%; height:100%; max-height:min(56vh,560px); display:block; overflow:visible;
  padding:0; box-sizing:border-box;
}
.ridge-map-container path[data-state],
.ridge-map-container circle[data-state] {
  fill:#bad2de; stroke:#94a3b8; stroke-width:1; cursor:pointer;
  transition:fill .15s ease; vector-effect:non-scaling-stroke;
  stroke-linejoin:round; stroke-linecap:round;
}
/* Filled states: white edge only — no SVG bloom (bloom on fills = boxy glow) */
.ridge-map-container path[data-state].is-hover,
.ridge-map-container circle[data-state].is-hover,
.ridge-map-container path[data-state].selected,
.ridge-map-container circle[data-state].selected {
  stroke:#ffffff !important; stroke-width:1.8px !important; stroke-opacity:.98;
  filter:none !important; -webkit-filter:none !important;
  paint-order:stroke fill !important;
}
.ridge-map-container path[data-state].selected,
.ridge-map-container circle[data-state].selected {
  animation:ridgeStrokePulse 1.6s ease-in-out infinite;
}
/* Outline clones: path-hugging teal bloom (stroke alpha, not fill bbox) */
.ridge-map-container .outline-hover,
.ridge-map-container .outline-selected {
  fill:none !important; pointer-events:none !important;
  stroke:#ffffff !important; stroke-width:2px !important; stroke-opacity:.95;
  stroke-linejoin:round !important; stroke-linecap:round !important;
  filter:url(#ampStateGlow) !important; -webkit-filter:url(#ampStateGlow) !important;
  paint-order:stroke fill !important;
}
.ridge-map-container .outline-selected {
  animation:ridgeStrokePulse 1.6s ease-in-out infinite;
}
@keyframes ridgeStrokePulse {
  0%,100% { stroke-width:1.6px; }
  50% { stroke-width:2.3px; }
}
.ridge-map-container g.borders path {
  fill:none !important; stroke:#94a3b8; stroke-width:1; pointer-events:none !important;
}
.ridge-map-container path.separator1 {
  fill:none !important; stroke:#94a3b8 !important; stroke-width:1 !important;
  pointer-events:none !important; opacity:.55;
}
.ridge-map-container path[data-state="ak"].is-hover,
.ridge-map-container path[data-state="hi"].is-hover,
.ridge-map-container path[data-state="ak"].selected,
.ridge-map-container path[data-state="hi"].selected {
  filter:none !important; -webkit-filter:none !important;
  stroke:#0d9488 !important; stroke-width:2px !important;
}
.ridge-map-container .outline-hover[data-state="ak"],
.ridge-map-container .outline-selected[data-state="ak"],
.ridge-map-container .outline-hover[data-state="hi"],
.ridge-map-container .outline-selected[data-state="hi"] {
  filter:none !important;
}
.ridge-workbench .map-footer {
  display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; justify-content:space-between;
  margin-top:8px; padding-top:8px; border-top:1px solid var(--ridge-border);
}
.ridge-workbench .map-legend {
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:11px; color:var(--ridge-muted);
}
.ridge-legend-metric { color:var(--ridge-accent-2); font-weight:750; margin-right:4px; }
.ridge-legend-scale { display:inline-flex; align-items:center; gap:6px; }
.ridge-legend-scale i {
  width:12px; height:12px; border-radius:3px; display:inline-block;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);
}
.ridge-legend-scale i.lo { background:#bad2de; }
.ridge-legend-scale i.hi { background:#0d9488; }
.ridge-legend-scale i.sel { background:var(--ridge-map-selected); box-shadow:0 0 8px rgba(13,148,136,.45); }
.ridge-workbench .map-caption { font-size:11px; color:var(--ridge-muted); margin:0; opacity:.95; }
.ridge-map-tooltip {
  position:absolute; z-index:8; pointer-events:none;
  width:268px; max-width:min(268px, 78%);
  background:#ffffff; border:1px solid rgba(15,23,42,.14);
  color:var(--ridge-text); border-radius:12px; padding:0; font-size:12px;
  box-shadow:0 14px 36px rgba(15,23,42,.16), 0 0 0 1px rgba(13,148,136,.08);
  overflow:hidden;
}
.ridge-map-tooltip .tt-head {
  padding:10px 12px 8px; border-bottom:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,#f8fafc,#ffffff);
}
.ridge-map-tooltip .tt-title {
  font-size:14px; font-weight:800; color:#0f172a; letter-spacing:-.015em;
}
.ridge-map-tooltip .tt-hint {
  font-size:10px; font-weight:700; color:#64748b; margin-top:2px;
  text-transform:uppercase; letter-spacing:.04em;
}
.ridge-map-tooltip .tt-body { padding:8px 12px 10px; }
.ridge-map-tooltip .tt-row {
  display:flex; justify-content:space-between; align-items:baseline; gap:10px;
  padding:4px 0; border-bottom:1px solid rgba(15,23,42,.05);
}
.ridge-map-tooltip .tt-row:last-child { border-bottom:none; }
.ridge-map-tooltip .tt-k {
  color:#475569; font-size:11px; font-weight:650; flex-shrink:0;
}
.ridge-map-tooltip .tt-v {
  color:#0f172a; font-weight:750; font-size:12px; text-align:right;
}
.ridge-map-tooltip .tt-section {
  margin-top:6px; padding-top:6px; border-top:1px solid rgba(15,23,42,.08);
}
.ridge-map-tooltip .tt-section-label {
  font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:#0f766e; margin-bottom:4px;
}
.ridge-map-tooltip .tt-lock { padding: 10px 12px 12px; }
.ridge-map-tooltip .tt-lock strong { display: block; margin-bottom: 4px; color: #0f172a; font-size: 13px; }
.ridge-map-tooltip .tt-lock p { margin: 0; color: #475569; font-size: 12px; line-height: 1.4; }
#ridge-multi-toggle[hidden],
#ridge-clear-states[hidden] { display: none !important; }
.ridge-map-fallback { color:var(--ridge-muted); padding:24px; text-align:center; }

.ridge-sidebar {
  border:1px solid var(--ridge-border); border-radius:14px; overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  display:flex; flex-direction:column; min-height:360px; max-height:min(68vh,720px);
}
.ridge-sidebar .sidebar-head {
  padding:14px 16px 12px; border-bottom:1px solid var(--ridge-border); flex-shrink:0;
  background:#fff;
}
.ridge-sidebar .sidebar-head .name {
  font-size:15px; font-weight:750; letter-spacing:-.015em; line-height:1.25; color:var(--ridge-text);
}
.ridge-sidebar .sidebar-head .sub {
  font-size:11px; color:var(--ridge-accent-2); margin-top:4px; font-weight:600;
}
.ridge-sidebar .sidebar-body {
  padding:12px 14px 18px; overflow-y:auto; flex:1; scrollbar-gutter:stable;
}
.ridge-sidebar .section-title {
  font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--ridge-muted);
  font-weight:750; margin:14px 0 8px;
}
.ridge-sidebar .section-title:first-child { margin-top:0; }
.ridge-sidebar .row {
  display:flex; justify-content:space-between; gap:10px; padding:7px 0;
  border-bottom:1px solid rgba(207,215,227,.85); font-size:13px;
}
.ridge-sidebar .row .k { color:var(--ridge-muted); }
.ridge-sidebar .row .v { font-weight:750; text-align:right; color:var(--ridge-text); }
.ridge-sidebar .note { margin:8px 0 0; font-size:11px; color:var(--ridge-muted); line-height:1.45; }

.ridge-sidebar .sel-block {
  margin-bottom:10px; padding:10px 12px; border-radius:12px;
  background:#f0fdfa; border:1px solid rgba(13,148,136,.25);
}
.ridge-sidebar .sel-title {
  display:flex; justify-content:space-between; gap:8px; align-items:baseline;
  font-size:12px; color:var(--ridge-text); margin-bottom:8px;
}
.ridge-sidebar .sel-hint { font-size:10px; color:var(--ridge-muted); font-weight:600; }
.ridge-sidebar .sel-chips { display:flex; flex-wrap:wrap; gap:6px; }
.ridge-sidebar .sel-chip {
  display:inline-flex; align-items:center; gap:4px; padding:4px 8px;
  border-radius:999px; background:#fff; border:1px solid rgba(13,148,136,.35);
  color:#115e59; font-size:11px; font-weight:700;
}
.ridge-sidebar .sel-chip button {
  border:0; background:transparent; color:#0f766e; cursor:pointer;
  font-size:14px; line-height:1; padding:0 2px; font-weight:800;
}

.ridge-sidebar .vacancy-box {
  margin:0 0 8px; padding:12px; border-radius:12px;
  border:1px solid rgba(13,148,136,.3);
  background:linear-gradient(165deg,#f0fdfa 0%,#ecfeff 50%,#f8fafc 100%);
  box-shadow:0 0 0 1px rgba(13,148,136,.08), 0 8px 20px rgba(15,23,42,.05);
}
.ridge-sidebar .vac-title {
  font-size:10px; text-transform:uppercase; letter-spacing:.07em; font-weight:800; color:#0f766e;
}
.ridge-sidebar .vac-hero {
  font-size:1.45rem; font-weight:850; margin:6px 0 4px; color:var(--ridge-text); letter-spacing:-.02em;
}
.ridge-sidebar .vac-hero small {
  display:block; font-size:11px; font-weight:600; color:var(--ridge-muted); margin-top:2px;
}
.ridge-sidebar .vacancy-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:8px 0;
}
.ridge-sidebar .vacancy-grid .cell {
  background:#fff; border:1px solid var(--ridge-border); border-radius:8px; padding:6px 4px; text-align:center;
}
.ridge-sidebar .vacancy-grid .lbl { font-size:9px; text-transform:uppercase; letter-spacing:.04em; color:var(--ridge-muted); }
.ridge-sidebar .vacancy-grid .val { font-size:12px; font-weight:800; margin-top:2px; color:var(--ridge-text); }
.ridge-sidebar .vacancy-scenarios { margin-top:4px; }
.ridge-sidebar .vacancy-scenarios .row { margin:0; }

.ridge-sidebar .st-card {
  border:1px solid var(--ridge-border); border-radius:10px; padding:8px 10px; margin-bottom:8px; background:#fff;
}
.ridge-sidebar .st-name { font-size:12px; font-weight:800; color:var(--ridge-text); margin-bottom:6px; }
.ridge-sidebar .st-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 8px; }
.ridge-sidebar .st-m { display:flex; justify-content:space-between; gap:6px; font-size:11px; }
.ridge-sidebar .st-ml { color:var(--ridge-muted); }
.ridge-sidebar .st-mv { font-weight:800; color:var(--ridge-text); }
.ridge-sidebar .st-pay {
  display:flex; flex-wrap:wrap; gap:8px 12px; margin-top:6px; font-size:11px; color:var(--ridge-muted);
}

.ridge-state-list { display:flex; flex-direction:column; gap:4px; }
.ridge-state-row {
  display:flex; justify-content:space-between; gap:10px; align-items:center;
  width:100%; text-align:left; border:1px solid transparent; background:transparent;
  color:var(--ridge-text); border-radius:8px; padding:7px 8px; cursor:pointer; font:inherit; font-size:12px;
}
.ridge-state-row:hover { background:rgba(13,148,136,.08); border-color:rgba(13,148,136,.22); }
.ridge-state-row.is-on { background:rgba(13,148,136,.14); border-color:rgba(13,148,136,.4); color:#0f766e; }
.ridge-state-row .nm { font-weight:650; }
.ridge-state-row .sc { font-weight:800; font-variant-numeric:tabular-nums; color:#0f766e; }
.ridge-side-note { margin:14px 0 0; font-size:11px; color:var(--ridge-muted); line-height:1.45; }

.ridge-workbench .mi-region-chip-row { margin-top:12px; }
.ridge-workbench .mi-region-chip {
  background:rgba(13,148,136,.1); border-color:rgba(13,148,136,.3); color:#115e59;
}
.mi-app-panel { max-width:none; }
@media (max-width:800px) {
  .ridge-workbench { padding:10px; }
  .ridge-sidebar { max-height:480px; }
  .ridge-sidebar .vacancy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Ridge MGMA percentile bars (national Total Comp) */
.ridge-workbench .ridge-bars { display:flex; flex-direction:column; gap:7px; margin-top:6px; }
.ridge-workbench .ridge-bars .bar-row {
  display:grid; grid-template-columns:82px 1fr 84px; gap:8px; align-items:center; font-size:12px;
}
.ridge-workbench .ridge-bars .bar-lbl { color:var(--ridge-muted); font-weight:700; font-size:11px; white-space:nowrap; }
.ridge-workbench .ridge-bars .bar-val { text-align:right; font-weight:750; color:var(--ridge-text); font-variant-numeric:tabular-nums; }
.ridge-workbench .ridge-bars .bar {
  height:7px; border-radius:999px; background:rgba(13,148,136,.12); overflow:hidden;
}
.ridge-workbench .ridge-bars .bar > i {
  display:block; height:100%; border-radius:999px;
  background:linear-gradient(90deg,#0f766e,#14b8a6);
}
.ridge-workbench .ridge-bars-hud .bar-row { grid-template-columns:78px 1fr 74px; column-gap:8px; font-size:11px; }
.ridge-workbench .mean-line.mean-row {
  display:flex; justify-content:space-between; align-items:baseline; gap:10px;
  margin-top:10px; padding-top:8px; border-top:1px solid var(--ridge-border);
  font-size:13px;
}
.ridge-workbench .mean-line.mean-row .k { color:var(--ridge-muted); font-weight:600; }
.ridge-workbench .mean-line.mean-row .v { color:var(--ridge-text); font-weight:800; }
.ridge-sidebar .ridge-bars { margin:4px 0 8px; }
.ridge-sidebar .mean-line.mean-row { margin-bottom:4px; }


/* Paid Ridge: never show region lens */
.ridge-region-lens, .mi-lite-view .mi-lite-regions-field.ridge-region-lens, #mi-lite-app-form .ridge-region-lens { display:none !important; }

/* Ridge V1 access — unit gates, poll meter, checkout stub */
.ridge-demo-pickers { margin: 14px 0 4px; }
.ridge-walk-steps {
  list-style: none;
  margin: 16px 0 8px;
  padding: 0;
  display: grid;
  gap: 10px;
}
.ridge-walk-step {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(13,148,136,.22);
  background: #fff;
}
.ridge-walk-step.is-current {
  border-color: rgba(13,148,136,.55);
  box-shadow: 0 0 0 3px rgba(13,148,136,.12);
}
.ridge-walk-step.is-done { opacity: .94; }
.ridge-walk-step.is-locked { opacity: .5; }
.ridge-walk-num {
  width: 28px; height: 28px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--teal); color: #fff; font-size: 13px; font-weight: 800;
  line-height: 1;
}
.ridge-walk-step.is-locked .ridge-walk-num { background: #94a3b8; }
.ridge-walk-hint { margin: 8px 0 0; font-size: 13px; color: var(--muted); }
.ridge-demo-open[disabled],
.ridge-app-walk-open[disabled] { opacity: .45; cursor: not-allowed; }
#ridge-walk-gate[hidden],
#mi-lite-app-form[hidden],
#mi-lite-dashboard[hidden] { display: none !important; }
.ridge-walk-gate { max-width: 720px; }
.ridge-poll-meter {
  display: inline-block;
  margin: 10px 0 0;
  padding: 5px 10px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #115e59;
  border: 1px solid rgba(13,148,136,.35);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
.ridge-poll-meter[hidden],
.ridge-unit-overlay[hidden],
#ridge-extra-poll-cta[hidden],
#ridge-extra-poll-card[hidden],
#ridge-extra-poll-buy[hidden],
#ridge-simulate-extra[hidden],
#ridge-unit-extra[hidden],
#ridge-unit-oneoff[hidden],
#ridge-oneoff-cta[hidden],
#ridge-verify-cta[hidden],
#ridge-upgrade-cta[hidden] { display: none !important; }
.ridge-poll-meter.is-empty { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.ridge-open-units {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin: 10px 0 0;
}
.ridge-open-units[hidden],
#ridge-simulate-verify-app[hidden],
#ridge-taste-hint[hidden],
#ridge-sim-pay[hidden] { display: none !important; }
.ridge-unit-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 10px; border-radius: 999px;
  border: 1px solid rgba(13,148,136,.35);
  background: #ecfdf5; color: #115e59;
  font-size: 12px; font-weight: 750; cursor: pointer;
  min-height: 36px;
}
.ridge-unit-chip.is-on { background: var(--teal); color: #fff; border-color: var(--teal); }
/* 2221: scalable poll picker (7+ polls) */
.ridge-open-units.is-picker { display: block; }
.ridge-unit-picker-top { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
.ridge-unit-cur { font-size: 13px; color: #115e59; }
.ridge-unit-search { flex: 1 1 240px; min-width: 200px; min-height: 36px; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(13,148,136,.45); font: 500 13px/1.2 Inter, system-ui, sans-serif; background: #fff; color: #0b2a44; }
.ridge-unit-toggle { min-height: 36px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--teal); background: #fff; color: #115e59; font-size: 12px; font-weight: 750; cursor: pointer; }
.ridge-unit-list { margin-top: 10px; max-height: 280px; overflow: auto; padding: 8px 10px; border: 1px solid rgba(13,148,136,.25); border-radius: 12px; background: #f8fffc; }
.ridge-unit-list[hidden], .ridge-unit-group[hidden], .ridge-unit-chip[hidden], .ridge-unit-empty[hidden] { display: none !important; }
.ridge-unit-group + .ridge-unit-group { margin-top: 10px; }
.ridge-unit-group-name { font-size: 12px; font-weight: 800; color: #0b2a44; margin-bottom: 6px; }
.ridge-unit-group-name span { font-weight: 600; color: var(--muted); }
.ridge-unit-group-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ridge-unit-group-chips .ridge-unit-chip { min-height: 30px; padding: 5px 10px; }
.ridge-unit-empty { margin: 4px 0; font-size: 13px; color: var(--muted); }
.ridge-taste-hint { margin: 8px 0 0; font-size: 13px; color: var(--muted); }
.ridge-sim-pay { flex-wrap: wrap; margin-top: 12px; }
.ridge-sim-pay .btn { min-height: 44px; }
@media (max-width: 560px) {
  .ridge-access-actions, .ridge-sim-pay { display: grid; grid-template-columns: 1fr; }
  .ridge-access-actions .btn, .ridge-sim-pay .btn { width: 100%; }
  .ridge-open-units { gap: 6px; }
}
.ridge-seat-line { margin: 8px 0 0; font-size: 12px; }
.ridge-access-actions { flex-wrap: wrap; }
.ridge-unit-overlay { z-index: 5; }
.ridge-geo-locked { opacity: .38; cursor: not-allowed !important; }
.mi-price-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.ridge-add-on-grid { margin-top: 8px; }
.ridge-add-on-grid .btn { margin-top: 8px; }
.ridge-checkout-modal[hidden] { display: none !important; }
.ridge-checkout-modal {
  position: fixed; inset: 0; z-index: 1200;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  background: rgba(15,23,42,.45);
}
.ridge-checkout-card { max-width: 520px; width: 100%; padding: 24px; background: #fff; }
.ridge-checkout-amount { font-size: 28px; font-weight: 800; letter-spacing: -.03em; margin: 6px 0 10px; }
@media (max-width: 560px) {
  .mi-price-grid-2 { grid-template-columns: 1fr; }
  .ridge-access-actions { display: grid; grid-template-columns: 1fr; }
}


/* Below-fold education on client agreements + physician jobs */
.belowfold {
  margin-top: 28px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}
.belowfold .seo-pillars-head { margin-bottom: 4px; }
.belowfold .seo-pillar-links { margin-top: 18px; }
.belowfold .btn-row { margin-top: 18px; }
.belowfold-client .panel h3,
.belowfold-physician .panel h3 { font-weight: 700; }
@media (max-width: 640px) {
  .belowfold { margin-top: 22px; }
}


/* —— Ask-a-guide earn funnel (dock mini-log) —— */
.amp-guide-log {
  padding: 12px 16px 4px;
  display: grid;
  gap: 8px;
  max-height: 220px;
  overflow-y: auto;
}
.amp-guide-log .bubble {
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 12.5px;
  line-height: 1.45;
  max-width: 96%;
}
.amp-guide-log .bubble.bot {
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(153, 246, 228, 0.16);
  color: #e2e8f0;
  justify-self: start;
}
.amp-guide-log .bubble.me {
  background: rgba(13, 148, 136, 0.35);
  border: 1px solid rgba(153, 246, 228, 0.28);
  color: #f0fdfa;
  justify-self: end;
}
.amp-guide-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 8px 16px 14px;
}
.amp-guide-actions.is-split {
  grid-template-columns: 1fr 1fr;
}
.amp-guide-action.is-client {
  color: #1c1917;
  background: linear-gradient(135deg, #6BE0AD, #2FAF7A);
  border-color: rgba(251, 191, 119, 0.45);
}
.chat-actions .btn[data-chat="door-client"] {
  color: #1c1917;
  background: linear-gradient(135deg, #6BE0AD, #2FAF7A);
  border: 0;
}


/* amp-build:2036-home-fixed-mountain — mountain stays put; cards/sections scroll over it (desktop+mobile).
   Mirror live-site air: more space between doors → partners → Job 2 → light extras. */
.home-stage {
  overflow-x: hidden;
  overflow-y: visible; /* document scroll so position:fixed mountain sticks (esp. iOS) */
}
.home-stage.on .home-poster,
.home-stage.on #home-video {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  width: 100%;
  /* --home-bg-vh locked in px on phone so URL-bar show/hide does not re-cover/zoom */
  height: var(--home-bg-vh, 100vh);
  max-height: none;
  z-index: 0;
  object-fit: cover;
  object-position: 50% 50%;
  pointer-events: none;
  /* avoid iOS compositing reflow flicker */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.home-stage.on .home-mist {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  width: 100%;
  height: var(--home-bg-vh, 100vh);
  max-height: none;
  z-index: 1;
  pointer-events: none;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.home-stage.on .home-skip {
  z-index: 4;
}
.home-stage.on .home-overlay {
  position: relative;
  z-index: 3;
  /* keep first screen tall so doors land in the hero before partners */
  padding-bottom: 64px;
}

/* Section air — desktop */
.home-partners {
  margin: 56px auto 12px;
}
.home-job2 {
  margin: 52px auto 20px;
}
.home-job2-title {
  margin-bottom: 28px;
}
.home-extras {
  margin-top: 36px;
  padding-bottom: 12px;
}

@media (max-width: 640px) {
  .home-overlay {
    padding-bottom: 40px;
  }
  .doors-hero {
    margin-bottom: 12px;
  }
  .home-partners {
    margin: 72px auto 16px;
    padding: 28px 16px 24px;
  }
  .home-partners-kicker {
    margin-bottom: 22px;
  }
  .home-job2 {
    margin: 68px auto 24px;
  }
  .home-job2-kicker {
    margin-bottom: 10px;
  }
  .home-job2-title {
    margin-bottom: 28px;
  }
  .home-job2-grid {
    gap: 20px;
  }
  .home-extras {
    margin-top: 40px;
    margin-bottom: 28px;
    opacity: 0.62;
  }
}

@media (max-width: 430px) {
  .home-partners {
    margin: 80px auto 20px;
  }
  .home-job2 {
    margin: 76px auto 28px;
  }
  .home-extras {
    margin-top: 44px;
    margin-bottom: 36px;
  }
}


/* amp-build:2038-home-learn-interactive — climb toggle, guides rail, FAQ under Job 2 */
.home-learn {
  width: min(920px, 100%);
  margin: 64px auto 8px;
  display: grid;
  gap: 48px;
}
.home-learn-kicker {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #99f6e4;
  text-align: center;
}
.home-learn-title {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 3.2vw, 1.85rem);
  font-weight: 720;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #f8fafc;
  text-align: center;
  text-shadow: 0 2px 20px rgba(0,0,0,0.35);
}
.home-learn-lede {
  margin: 0 0 18px;
  text-align: center;
  font-size: 14.5px;
  line-height: 1.45;
  color: rgba(226,232,240,0.88);
}

.home-climb {
  padding: 22px 18px 20px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(8,15,28,0.55) 0%, rgba(8,15,28,0.78) 100%);
  border: 1px solid rgba(148,163,184,0.18);
  box-shadow: 0 18px 50px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.04);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.home-climb-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 16px 0 18px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(15,23,42,0.55);
  border: 1px solid rgba(148,163,184,0.2);
}
.home-climb-tab {
  appearance: none;
  border: 0;
  border-radius: 999px;
  min-height: 44px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
  color: rgba(226,232,240,0.78);
  background: transparent;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.home-climb-tab.is-on {
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4, #2dd4bf);
  box-shadow: 0 8px 22px rgba(45,212,191,0.28);
}
.home-climb-tab[data-climb-path="client"].is-on {
  color: #1c1917;
  background: linear-gradient(135deg, #6BE0AD, #2FAF7A);
  box-shadow: 0 8px 22px rgba(245,158,11,0.28);
}
.home-climb-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.home-climb-steps[hidden] { display: none !important; }
.home-climb-step {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(153,246,228,0.18);
  background: rgba(255,255,255,0.06);
  color: #e6fffa;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
}
.home-climb-step.is-on {
  border-color: rgba(94,234,212,0.55);
  background: rgba(13,148,136,0.22);
}
.home-climb-steps[data-climb-panel="client"] .home-climb-step.is-on {
  border-color: rgba(252,211,77,0.55);
  background: rgba(245,158,11,0.18);
}
.home-climb-num {
  flex: 0 0 28px;
  width: 28px; height: 28px;
  display: grid; place-items: center;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  color: #042f2e;
  background: #5eead4;
}
.home-climb-steps[data-climb-panel="client"] .home-climb-num {
  color: #1c1917;
  background: #fcd34d;
}
.home-climb-lab { flex: 1; line-height: 1.25; }
.home-climb-detail {
  margin: 0 4px 4px 40px;
  padding: 0 2px 6px;
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(226,232,240,0.88);
}
.home-climb-detail[hidden] { display: none !important; }
.home-climb-ctas {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}
.home-climb-cta {
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4, #2dd4bf);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.home-climb-cta.client {
  color: #1c1917;
  background: linear-gradient(135deg, #6BE0AD, #2FAF7A);
}
.home-climb-cta[hidden] { display: none !important; }

.home-guides-strip { text-align: center; }
.home-guides-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 8px 0 16px;
}
.home-guide-chip {
  appearance: none;
  border: 1px solid rgba(148,163,184,0.2);
  border-radius: 18px;
  padding: 14px 10px 12px;
  background: rgba(8,15,28,0.62);
  color: #f8fafc;
  cursor: pointer;
  display: grid;
  justify-items: center;
  gap: 6px;
  box-shadow: 0 14px 36px rgba(0,0,0,0.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.home-guide-chip:hover,
.home-guide-chip:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(94,234,212,0.5);
  background: rgba(13,148,136,0.18);
  outline: none;
}
.home-guide-chip img {
  width: 64px; height: 64px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid rgba(94,234,212,0.35);
  box-shadow: 0 0 0 4px rgba(15,23,42,0.35);
}
.home-guide-name {
  font-size: 13.5px;
  font-weight: 750;
  letter-spacing: -0.01em;
}
.home-guide-role {
  font-size: 11.5px;
  color: rgba(226,232,240,0.72);
}
.home-guides-all {
  border: 1px solid rgba(153,246,228,0.28);
  border-radius: 999px;
  padding: 10px 16px;
  background: rgba(255,255,255,0.06);
  color: #99f6e4;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.home-faq {
  padding: 22px 18px 18px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(8,15,28,0.55) 0%, rgba(8,15,28,0.78) 100%);
  border: 1px solid rgba(148,163,184,0.18);
  box-shadow: 0 18px 50px rgba(0,0,0,0.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.home-faq-list {
  margin-top: 14px;
}
.home-faq-list details {
  border-radius: 14px;
  border: 1px solid rgba(153,246,228,0.16);
  background: rgba(255,255,255,0.05);
  padding: 4px 14px 10px;
}
.home-faq-list summary {
  color: #e6fffa;
  font-size: 14.5px;
  font-weight: 750;
  padding: 12px 0;
  list-style: none;
}
.home-faq-list summary::-webkit-details-marker { display: none; }
.home-faq-list summary::after {
  content: "+";
  float: right;
  color: #99f6e4;
  font-weight: 800;
}
.home-faq-list details[open] summary::after { content: "–"; }
.home-faq-list p {
  color: rgba(226,232,240,0.88);
  font-size: 13.5px;
  line-height: 1.45;
  margin: 0 0 8px;
}

@media (max-width: 640px) {
  .home-learn { margin-top: 72px; gap: 56px; }
  .home-guides-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .home-climb-detail { margin-left: 14px; }
}
@media (max-width: 430px) {
  .home-learn { margin-top: 80px; gap: 60px; }
}


/* amp-build:2039-home-bg-lock — phone: no mountain zoom on scroll (URL bar) */
@media (max-width: 760px) {
  .home-stage.on .home-poster,
  .home-stage.on #home-video,
  .home-stage.on .home-mist {
    height: var(--home-bg-vh, 100vh) !important;
    max-height: none !important;
  }
}


/* amp-build:2041-phone-logo-clearance — always leave air under absolute glass nav / AMP lockup */
@media (max-width: 760px) {
  :root {
    --amp-phone-nav-clear: calc(64px + env(safe-area-inset-top, 0px) + 18px);
  }
  /* Funnel/guides/education/etc: nav is position:absolute (.is-home) over the hero */
  .hero-band {
    padding-top: var(--amp-phone-nav-clear) !important;
  }
  .home-overlay {
    padding-top: var(--amp-phone-nav-clear) !important;
  }
  .trailhead-top {
    padding-top: calc(var(--amp-phone-nav-clear) + 8px) !important;
  }
  .view.funnel.trailhead .trailhead-sheet-stage,
  .trailhead-sheet-stage {
    padding-top: max(112px, calc(var(--amp-phone-nav-clear) + 12px)) !important;
  }
  /* Confirm / thin heroes that only pad the band inline */
  .confirm-band.hero-band,
  .view.funnel .hero-band {
    padding-top: var(--amp-phone-nav-clear) !important;
  }
}
@media (max-width: 430px) {
  :root {
    --amp-phone-nav-clear: calc(60px + env(safe-area-inset-top, 0px) + 22px);
  }
}


/* amp-build:2042-home-guides-path */
.home-guides-rail[hidden] { display: none !important; }
.home-guides-strip[data-path="client"] .home-guide-chip:hover,
.home-guides-strip[data-path="client"] .home-guide-chip:focus-visible {
  border-color: rgba(252,211,77,0.55);
  background: rgba(245,158,11,0.16);
}


/* amp-build:2043-guide-photo-size — home chips + BD grid match recruiter photo size */
.home-guide-chip img {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px;
  min-height: 64px;
  object-fit: cover;
  object-position: center 28%;
  border-radius: 999px;
}
/* Amy headshot framed high — pull down so shoulders stay in the chip */
.home-guide-chip img[src*="amy-myers"] {
  object-position: center 42%;
  transform: scale(1.08);
}
.guides-grid-small {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.guides-grid-small .guide-card {
  padding: 18px;
}
.guides-grid-small .guide-avatar,
.guides-grid .guide-avatar {
  width: 88px;
  height: 88px;
}
.guides-grid-small .guide-avatar img,
.guides-grid .guide-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.guides-grid-small .guide-card h3 { font-size: 18px; }


/* amp-build:2044-guide-full-story — card blurb + Full story expand */
.guide-card .guide-blurb {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  min-height: 0;
  margin: 0 0 8px;
}
.guide-full {
  margin: 0 0 10px;
  border-radius: 12px;
  border: 1px solid rgba(148,163,184,0.28);
  background: rgba(248,250,252,0.72);
  padding: 0 12px;
}
.guide-full summary {
  cursor: pointer;
  list-style: none;
  font-size: 12.5px;
  font-weight: 750;
  color: var(--teal-dark);
  padding: 10px 0;
}
.guide-full summary::-webkit-details-marker { display: none; }
.guide-full summary::after {
  content: " →";
  font-weight: 800;
}
.guide-full[open] summary::after { content: " ↑"; }
.guide-full-body {
  padding: 0 0 12px;
}
.guide-full-body p {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.5;
  color: #334155;
  min-height: 0 !important;
}
.guide-full-body p:last-child { margin-bottom: 0; }
.guide-full.is-pending summary { color: #64748b; }
.guides-view .funnel-panel,
.view.funnel.guides-view .section-lite {
  overflow-anchor: none;
}

/* amp-build:2050-guide-roster — mountain-brand people strips; photo-led, glass/air, not HR cards */
.guides-view .guides-panel {
  max-width: 920px;
}

.guides-view .hero-inner .lede {
  max-width: 36rem;
  font-size: clamp(15px, 2.2vw, 18px);
  line-height: 1.55;
  color: rgba(241, 245, 249, 0.92);
}

.guides-view .guide-section-label {
  margin: 8px 0 6px;
  padding-top: 4px;
}
.guides-view .guide-section-label .tag {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
  color: var(--teal-dark);
}
.guides-view .guide-section-label p {
  display: block;
  margin: 6px 0 0;
  margin-left: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #475569;
  max-width: 40rem;
}

.guides-roster,
.guides-grid.guides-roster,
.guides-grid.recruiter-guides.guides-roster,
.guides-grid.guides-grid-small.guides-roster {
  display: flex;
  flex-direction: column;
  gap: 12px;
  grid-template-columns: none;
  margin-top: 10px;
}

/* Photo-led ridge strip — translucent glass, subtle trail edge, no white slab */
.guides-roster .guide-row,
.guides-roster .guide-card.guide-row {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  column-gap: 20px;
  row-gap: 2px;
  align-items: start;
  padding: 18px 18px 18px 16px;
  margin: 0;
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(204, 251, 241, 0.38), rgba(15, 118, 110, 0.14) 48%, rgba(30, 58, 95, 0.16)),
    rgba(15, 23, 42, 0.10);
  border: 1px solid rgba(13, 148, 136, 0.32);
  border-left: 3px solid rgba(13, 148, 136, 0.75);
  box-shadow:
    0 1px 0 rgba(204, 251, 241, 0.28) inset,
    0 12px 32px rgba(2, 12, 27, 0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.guides-roster .guide-row:hover {
  transform: translateY(-1px);
  border-color: rgba(13, 148, 136, 0.35);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 14px 32px rgba(2, 12, 27, 0.08);
}

.guides-roster .guide-row > .guide-avatar {
  grid-column: 1;
  grid-row: 1 / span 8;
  width: 132px;
  height: 132px;
  margin: 0;
  border-radius: 22px;
  box-shadow: 0 10px 24px rgba(2, 12, 27, 0.16);
  border: 2px solid rgba(255, 255, 255, 0.72);
  background: #0b1220;
}

.guides-roster .guide-row > :not(.guide-avatar) {
  grid-column: 2;
  min-width: 0;
}

.guides-roster .guide-row h3 {
  margin: 4px 0 0;
  font-size: clamp(18px, 2.4vw, 22px);
  letter-spacing: -0.03em;
  color: #0f172a;
}

.guides-roster .guide-row .guide-role {
  margin: 2px 0 8px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--teal-dark);
}

.guides-roster .guide-row .guide-blurb,
.guides-roster .guide-row p:not(.guide-role) {
  min-height: 0;
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.55;
  color: #334155;
}

.guides-roster .guide-row .guide-full {
  margin: 0 0 10px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.42);
  padding: 0 12px;
}

.guides-roster .guide-row .guide-full summary {
  font-size: 13px;
}

.guides-roster .guide-row .btn {
  margin-top: 2px;
  justify-self: start;
}

.guides-roster .guide-avatar.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}

/* Leadership slightly more present */
.guides-roster-lead .guide-row > .guide-avatar {
  width: 140px;
  height: 140px;
  border-radius: 24px;
}
.guides-roster-lead {
  grid-template-columns: none;
}
.guides-roster-lead .guide-row,
.guides-roster-lead .guide-card.guide-row {
  grid-template-columns: 140px minmax(0, 1fr);
  padding: 20px 20px 20px 18px;
}

/* Hiring / BD — quieter but still human (smaller face, softer edge) */
.guides-roster-hire .guide-row,
.guides-roster-hire .guide-card.guide-row,
.guides-roster .guide-row-quiet {
  grid-template-columns: 96px minmax(0, 1fr);
  column-gap: 16px;
  padding: 14px 14px 14px 12px;
  border-left-color: rgba(13, 148, 136, 0.32);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(248, 250, 252, 0.2)),
    rgba(255, 255, 255, 0.16);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.4) inset,
    0 6px 18px rgba(2, 12, 27, 0.04);
}
.guides-roster-hire .guide-row > .guide-avatar,
.guides-roster .guide-row-quiet > .guide-avatar {
  width: 96px;
  height: 96px;
  border-radius: 18px;
  box-shadow: 0 6px 16px rgba(2, 12, 27, 0.12);
}
.guides-roster-hire .guide-row h3,
.guides-roster .guide-row-quiet h3 {
  font-size: 17px;
}
.guides-roster-hire .guide-row .guide-blurb,
.guides-roster .guide-row-quiet .guide-blurb {
  font-size: 13px;
}

.guides-view .guides-cta {
  margin-top: 28px;
  border-radius: 18px;
  border: 1px solid rgba(13, 148, 136, 0.22);
  background: linear-gradient(135deg, rgba(240, 253, 250, 0.9), rgba(255, 255, 255, 0.75));
}

@media (max-width: 700px) {
  .guides-roster .guide-row,
  .guides-roster .guide-card.guide-row,
  .guides-roster-lead .guide-row,
  .guides-roster-lead .guide-card.guide-row {
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 14px;
    padding: 14px 12px;
  }
  .guides-roster .guide-row > .guide-avatar,
  .guides-roster-lead .guide-row > .guide-avatar {
    width: 96px;
    height: 96px;
    border-radius: 18px;
  }
  .guides-roster-hire .guide-row,
  .guides-roster-hire .guide-card.guide-row,
  .guides-roster .guide-row-quiet {
    grid-template-columns: 80px minmax(0, 1fr);
  }
  .guides-roster-hire .guide-row > .guide-avatar,
  .guides-roster .guide-row-quiet > .guide-avatar {
    width: 80px;
    height: 80px;
  }
  .guides-roster .guide-row h3 {
    font-size: 17px;
  }
}

@media (max-width: 420px) {
  .guides-roster .guide-row,
  .guides-roster .guide-card.guide-row,
  .guides-roster-lead .guide-row {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .guides-roster .guide-row > .guide-avatar,
  .guides-roster-lead .guide-row > .guide-avatar,
  .guides-roster-hire .guide-row > .guide-avatar {
    grid-column: 1;
    grid-row: auto;
    width: 112px;
    height: 112px;
    margin-bottom: 4px;
  }
  .guides-roster .guide-row > :not(.guide-avatar) {
    grid-column: 1;
  }
}


/* amp-build:2051 — exec photos zoomed out + Full story visible */
.guides-roster .guide-row,
.guides-roster .guide-card.guide-row {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  overflow: visible;
}
.guides-roster .guide-row > .guide-avatar {
  grid-row: 1 / span 4;
  align-self: start;
}
.guides-roster .guide-avatar.has-photo img {
  object-fit: cover;
  object-position: center 28%;
}
/* Leadership: taller frame = more of the portrait (zoomed out) */
.guides-roster-lead .guide-row,
.guides-roster-lead .guide-card.guide-row {
  grid-template-columns: 128px minmax(0, 1fr);
}
.guides-roster-lead .guide-row > .guide-avatar {
  width: 128px;
  height: 168px;
  border-radius: 22px;
}
.guides-roster-lead .guide-avatar.has-photo img {
  object-fit: cover;
  object-position: center 20%;
  width: 100%;
  height: 100%;
}
/* Full story: keep expandable and readable in roster */
.guides-roster .guide-row .guide-full {
  display: block;
  visibility: visible;
  opacity: 1;
  margin: 4px 0 12px;
  padding: 0 14px;
  border: 1px solid rgba(13, 148, 136, 0.28);
  background: rgba(255, 255, 255, 0.72);
  border-radius: 12px;
  grid-column: 2;
}
.guides-roster .guide-row .guide-full summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 800;
  color: var(--teal-dark);
  padding: 12px 0;
}
.guides-roster .guide-row .guide-full summary::-webkit-details-marker { display: none; }
.guides-roster .guide-row .guide-full summary::after {
  content: " →";
  font-weight: 900;
}
.guides-roster .guide-row .guide-full[open] summary::after { content: " ↑"; }
.guides-roster .guide-row .guide-full-body {
  display: block;
  padding: 0 0 14px;
}
.guides-roster .guide-row .guide-full-body p {
  display: block;
  margin: 0 0 10px;
  font-size: 13.5px;
  line-height: 1.55;
  color: #334155;
  min-height: 0 !important;
}
@media (max-width: 800px) {
  .guides-roster-lead .guide-row,
  .guides-roster-lead .guide-card.guide-row {
    grid-template-columns: 112px minmax(0, 1fr);
  }
  .guides-roster-lead .guide-row > .guide-avatar {
    width: 112px;
    height: 148px;
  }
}
@media (max-width: 560px) {
  .guides-roster-lead .guide-row,
  .guides-roster-lead .guide-card.guide-row {
    grid-template-columns: 1fr;
  }
  .guides-roster-lead .guide-row > .guide-avatar {
    grid-row: auto;
    width: 148px;
    height: 196px;
    margin: 0 auto 10px;
  }
  .guides-roster .guide-row .guide-full { grid-column: 1; }
}


/* amp-build:2053-guide-body — flex row + body column; kill flat-grid child placement */
.guides-roster .guide-row,
.guides-roster .guide-card.guide-row {
  display: flex !important;
  flex-direction: row;
  align-items: flex-start;
  gap: 18px;
  grid-template-columns: none !important;
  overflow: visible;
}

.guides-roster .guide-row > .guide-avatar {
  flex: 0 0 auto;
  grid-column: auto !important;
  grid-row: auto !important;
  margin: 0;
}

.guides-roster .guide-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  grid-column: auto !important;
  grid-row: auto !important;
}

.guides-roster .guide-body h3 {
  margin: 0 0 0;
  padding: 0;
  font-size: clamp(18px, 2.4vw, 22px);
  letter-spacing: -0.03em;
  color: #0f172a;
  line-height: 1.2;
}

.guides-roster .guide-body .guide-role {
  margin: 0;
  padding: 0;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--teal-dark);
  line-height: 1.3;
}

.guides-roster .guide-body .guide-blurb,
.guides-roster .guide-body > p:not(.guide-role) {
  min-height: 0;
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: #334155;
}

.guides-roster .guide-body .guide-full {
  display: block;
  width: 100%;
  margin: 6px 0 4px;
  padding: 0 14px;
  border: 1px solid rgba(13, 148, 136, 0.28);
  background: rgba(255, 255, 255, 0.72);
  border-radius: 12px;
  grid-column: auto !important;
  grid-row: auto !important;
  visibility: visible;
  opacity: 1;
}

.guides-roster .guide-body .guide-full summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 800;
  color: var(--teal-dark);
  padding: 12px 0;
}

.guides-roster .guide-body .guide-full summary::-webkit-details-marker { display: none; }
.guides-roster .guide-body .guide-full summary::after {
  content: " →";
  font-weight: 900;
}
.guides-roster .guide-body .guide-full[open] summary::after { content: " ↑"; }

.guides-roster .guide-body .guide-full-body {
  display: block;
  padding: 0 0 14px;
}
.guides-roster .guide-body .guide-full-body p {
  display: block;
  margin: 0 0 10px;
  font-size: 13.5px;
  line-height: 1.55;
  color: #334155;
  min-height: 0 !important;
}

.guides-roster .guide-body .btn {
  margin-top: 6px;
  align-self: flex-start;
  justify-self: auto;
}

/* Kill leftover grid placement on any direct children of .guide-row */
.guides-roster .guide-row > *,
.guides-roster .guide-card.guide-row > * {
  grid-column: auto !important;
  grid-row: auto !important;
}

/* Leadership — taller zoomed-out portrait (~128×168) as in 2051 */
.guides-roster-lead .guide-row,
.guides-roster-lead .guide-card.guide-row {
  grid-template-columns: none !important;
}
.guides-roster-lead .guide-row > .guide-avatar {
  width: 128px;
  height: 168px;
  border-radius: 22px;
  flex: 0 0 128px;
}
.guides-roster-lead .guide-avatar.has-photo img {
  object-fit: cover;
  object-position: center 20%;
  width: 100%;
  height: 100%;
}

/* Recruiting — soft-rounded ~112–120 square photos, same flex body */
.guides-roster-recruit .guide-row > .guide-avatar,
.guides-roster .recruiter-guides .guide-row > .guide-avatar {
  width: 112px;
  height: 112px;
  border-radius: 20px;
  flex: 0 0 112px;
}
.guides-roster-recruit .guide-avatar.has-photo img {
  object-fit: cover;
  object-position: center 28%;
}

/* Hiring — quieter/smaller, same body wrapper pattern */
.guides-roster-hire .guide-row,
.guides-roster-hire .guide-card.guide-row,
.guides-roster .guide-row-quiet {
  gap: 14px;
  padding: 14px 14px 14px 12px;
  grid-template-columns: none !important;
}
.guides-roster-hire .guide-row > .guide-avatar,
.guides-roster .guide-row-quiet > .guide-avatar {
  width: 96px;
  height: 96px;
  border-radius: 18px;
  flex: 0 0 96px;
  box-shadow: 0 6px 16px rgba(2, 12, 27, 0.12);
}
.guides-roster-hire .guide-body h3,
.guides-roster .guide-row-quiet .guide-body h3 {
  font-size: 17px;
}
.guides-roster-hire .guide-body .guide-blurb,
.guides-roster .guide-row-quiet .guide-body .guide-blurb {
  font-size: 13px;
}

@media (max-width: 800px) {
  .guides-roster-lead .guide-row > .guide-avatar {
    width: 112px;
    height: 148px;
    flex-basis: 112px;
  }
  .guides-roster-recruit .guide-row > .guide-avatar {
    width: 104px;
    height: 104px;
    flex-basis: 104px;
  }
}

@media (max-width: 560px) {
  .guides-roster .guide-row,
  .guides-roster .guide-card.guide-row,
  .guides-roster-lead .guide-row,
  .guides-roster-lead .guide-card.guide-row,
  .guides-roster-hire .guide-row,
  .guides-roster .guide-row-quiet {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .guides-roster .guide-row > .guide-avatar,
  .guides-roster-lead .guide-row > .guide-avatar,
  .guides-roster-recruit .guide-row > .guide-avatar,
  .guides-roster-hire .guide-row > .guide-avatar,
  .guides-roster .guide-row-quiet > .guide-avatar {
    flex-basis: auto;
    margin: 0;
  }
  .guides-roster-lead .guide-row > .guide-avatar {
    width: 148px;
    height: 196px;
    margin: 0 auto 4px;
    align-self: center;
  }
  .guides-roster-recruit .guide-row > .guide-avatar {
    width: 120px;
    height: 120px;
  }
  .guides-roster .guide-body {
    width: 100%;
  }
}

/* amp-build:2054 — bigger exec photos, no black-bar crop */
.guides-roster .guide-avatar.has-photo {
  overflow: hidden;
  background: #e2e8f0 !important;
  padding: 0 !important;
  display: block !important;
  place-items: unset !important;
}
.guides-roster .guide-avatar.has-photo img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 12% !important;
  display: block !important;
  margin: 0 !important;
  vertical-align: top;
}

/* Leadership: larger portrait frames */
.guides-roster-lead .guide-row > .guide-avatar,
.guides-roster-lead .guide-card.guide-row > .guide-avatar {
  width: 168px !important;
  height: 210px !important;
  border-radius: 22px !important;
  flex-shrink: 0;
}
.guides-roster-lead .guide-avatar.has-photo img {
  object-position: center 10% !important;
}

/* Recruiting / Amy etc — fill frame, no black bar */
.guides-roster-recruit .guide-row > .guide-avatar,
.guides-roster .recruiter-guides .guide-row > .guide-avatar,
.guides-roster-recruit .guide-card.guide-row > .guide-avatar {
  width: 120px !important;
  height: 150px !important;
  border-radius: 20px !important;
  flex-shrink: 0;
}
.guides-roster-recruit .guide-avatar.has-photo img {
  object-position: center 12% !important;
}

@media (max-width: 800px) {
  .guides-roster-lead .guide-row > .guide-avatar,
  .guides-roster-lead .guide-card.guide-row > .guide-avatar {
    width: 148px !important;
    height: 186px !important;
  }
  .guides-roster-recruit .guide-row > .guide-avatar,
  .guides-roster-recruit .guide-card.guide-row > .guide-avatar {
    width: 112px !important;
    height: 140px !important;
  }
}

@media (max-width: 560px) {
  /* Mobile: big centered portrait, then text — faces readable */
  .guides-roster-lead .guide-row,
  .guides-roster-lead .guide-card.guide-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .guides-roster-lead .guide-row > .guide-avatar,
  .guides-roster-lead .guide-card.guide-row > .guide-avatar {
    width: min(220px, 72vw) !important;
    height: min(275px, 90vw) !important;
    margin: 0 auto 12px !important;
  }
  .guides-roster-recruit .guide-row,
  .guides-roster-recruit .guide-card.guide-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .guides-roster-recruit .guide-row > .guide-avatar,
  .guides-roster-recruit .guide-card.guide-row > .guide-avatar {
    width: min(180px, 58vw) !important;
    height: min(225px, 72vw) !important;
    margin: 0 auto 12px !important;
  }
}


/* amp-build:2066 — mobile stacked cards: center name + title under portrait */
@media (max-width: 560px) {
  .guides-roster-lead .guide-body,
  .guides-roster-recruit .guide-body,
  .guides-roster-hire .guide-body,
  .guides-roster .guide-row-quiet .guide-body,
  .home-guides-strip .guide-body {
    align-items: center !important;
    text-align: center;
  }
  .guides-roster-lead .guide-body h3,
  .guides-roster-recruit .guide-body h3,
  .guides-roster-hire .guide-body h3,
  .guides-roster .guide-row-quiet .guide-body h3,
  .home-guides-strip .guide-body .home-guide-name,
  .guides-roster-lead .guide-body .guide-role,
  .guides-roster-recruit .guide-body .guide-role,
  .guides-roster-hire .guide-body .guide-role,
  .guides-roster .guide-row-quiet .guide-body .guide-role,
  .home-guides-strip .guide-body .guide-role,
  .home-guides-strip .guide-body .home-guide-role,
  .guides-roster .guide-body .guide-territory {
    text-align: center;
    width: 100%;
  }
  /* Keep Full story / blurb readable left-aligned under the centered name */
  .guides-roster .guide-body .guide-blurb,
  .guides-roster .guide-body > p:not(.guide-role),
  .guides-roster .guide-body .guide-full,
  .guides-roster .guide-body .btn {
    align-self: stretch;
    text-align: left;
  }
}


/* amp-build:2055 — Full story iOS fix, BD=recruiting size, home roster, :target deep-link */
.guides-view .guides-panel,
.guides-roster,
.guides-roster .guide-row,
.guides-roster .guide-card.guide-row,
.guides-roster .guide-body,
.guides-roster .guide-full,
.guides-roster .guide-full-body {
  overflow: visible;
}

.guides-roster .guide-full,
.guides-roster .guide-body .guide-full,
.guides-roster .guide-row .guide-full {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100%;
  max-width: 100%;
}

.guides-roster .guide-full-body,
.guides-roster .guide-body .guide-full-body,
.guides-roster .guide-row .guide-full-body {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* iOS/Safari: display:list-item + list-style:none on summary kills <details> */
.guides-roster .guide-body .guide-full summary {
  display: flex !important;
  align-items: center;
  list-style: none;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  color: #0f766e;
  padding: 12px 2px;
}

.guides-roster .guide-body .guide-full {
  border: 1px solid rgba(13, 148, 136, 0.42);
  background: rgba(204, 251, 241, 0.55);
  padding: 0 14px;
}

.guides-roster .guide-body .guide-full summary::-webkit-details-marker { display: none; }
.guides-roster .guide-body .guide-full summary::marker { content: ""; }
.guides-roster .guide-body .guide-full summary::after {
  content: " →";
  font-weight: 900;
  margin-left: 4px;
}
.guides-roster .guide-body .guide-full[open] summary::after { content: " ↑"; }

/* BD / hiring: same portrait strip as recruiting (~120×150 cover) */
.guides-roster-hire .guide-row,
.guides-roster-hire .guide-card.guide-row,
.guides-roster .guide-row-quiet {
  gap: 18px;
  padding: 18px 18px 18px 16px;
  border-left-color: rgba(13, 148, 136, 0.55);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(240, 253, 250, 0.28) 42%, rgba(255, 255, 255, 0.18)),
    rgba(255, 255, 255, 0.22);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.55) inset,
    0 10px 28px rgba(2, 12, 27, 0.05);
}

.guides-roster-hire .guide-row > .guide-avatar,
.guides-roster-hire .guide-card.guide-row > .guide-avatar,
.guides-roster .guide-row-quiet > .guide-avatar {
  width: 120px !important;
  height: 150px !important;
  border-radius: 20px !important;
  flex: 0 0 120px;
  flex-shrink: 0;
  box-shadow: 0 10px 24px rgba(2, 12, 27, 0.16);
}

.guides-roster-hire .guide-avatar.has-photo img,
.guides-roster .guide-row-quiet .guide-avatar.has-photo img {
  object-fit: cover !important;
  object-position: center 12% !important;
}

.guides-roster-hire .guide-body h3,
.guides-roster .guide-row-quiet .guide-body h3 {
  font-size: clamp(18px, 2.4vw, 22px);
}

.guides-roster-hire .guide-body .guide-blurb,
.guides-roster .guide-row-quiet .guide-body .guide-blurb {
  font-size: 14px;
}

.guides-roster .guide-row[id],
.guides-roster .guide-card.guide-row[id] {
  scroll-margin-top: 96px;
}

.guides-roster .guide-row:target,
.guides-roster .guide-card.guide-row:target {
  scroll-margin-top: 96px;
  border-color: rgba(13, 148, 136, 0.55);
  box-shadow:
    0 0 0 3px rgba(45, 212, 191, 0.45),
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 14px 32px rgba(2, 12, 27, 0.08);
}

/* Home Meet-your-guides: same roster strips, not tiny chips */
.home-guides-rail[hidden],
.home-guides-roster[hidden],
.home-guides-strip .guides-roster[hidden] {
  display: none !important;
}

.home-guides-strip .home-guides-roster,
.home-guides-strip .guides-roster {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 12px auto 18px;
  max-width: 560px;
  text-align: left;
  grid-template-columns: none;
}

.home-guides-strip .guide-row,
.home-guides-strip .guide-card.guide-row {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}

.home-guides-strip .guide-row > .guide-avatar,
.home-guides-strip .guide-card.guide-row > .guide-avatar {
  width: 120px !important;
  height: 150px !important;
  border-radius: 20px !important;
  flex: 0 0 120px;
  flex-shrink: 0;
}

.home-guides-strip .guide-body .home-guide-name {
  display: block;
  margin: 0;
  font-size: clamp(18px, 2.4vw, 22px);
  font-weight: 750;
  letter-spacing: -0.03em;
  color: #0f172a;
  line-height: 1.2;
}

.home-guides-strip .guide-body .guide-role,
.home-guides-strip .guide-body .home-guide-role {
  display: block;
  margin: 4px 0 0;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--teal-dark);
  line-height: 1.3;
}

@media (max-width: 800px) {
  .guides-roster-hire .guide-row > .guide-avatar,
  .guides-roster-hire .guide-card.guide-row > .guide-avatar,
  .guides-roster .guide-row-quiet > .guide-avatar,
  .home-guides-strip .guide-row > .guide-avatar {
    width: 112px !important;
    height: 140px !important;
    flex-basis: 112px;
  }
}

@media (max-width: 560px) {
  .guides-roster-hire .guide-row,
  .guides-roster-hire .guide-card.guide-row,
  .guides-roster .guide-row-quiet,
  .home-guides-strip .guide-row,
  .home-guides-strip .guide-card.guide-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .guides-roster-hire .guide-row > .guide-avatar,
  .guides-roster-hire .guide-card.guide-row > .guide-avatar,
  .guides-roster .guide-row-quiet > .guide-avatar,
  .home-guides-strip .guide-row > .guide-avatar {
    width: min(180px, 58vw) !important;
    height: min(225px, 72vw) !important;
    margin: 0 auto 12px !important;
    flex-basis: auto;
  }
}

/* amp-build:2067/2069/2071 — guide titles: teal + white glow (names keep black glow) */
.guide-role,
.guides-roster .guide-body .guide-role,
.home-guides-strip .guide-body .guide-role,
.home-guides-strip .guide-body .home-guide-role {
  color: #0f766e !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  letter-spacing: 0.01em;
  line-height: 1.35;
  opacity: 1 !important;
  -webkit-font-smoothing: antialiased;
  text-shadow:
    0 0 2px rgba(255, 255, 255, 0.95),
    0 0 6px rgba(255, 255, 255, 0.85),
    0 0 12px rgba(255, 255, 255, 0.65),
    0 1px 2px rgba(255, 255, 255, 0.5);
}
@media (max-width: 560px) {
  .guide-role,
  .guides-roster .guide-body .guide-role,
  .home-guides-strip .guide-body .guide-role,
  .home-guides-strip .guide-body .home-guide-role {
    font-size: 15px !important;
    text-shadow:
      0 0 2px rgba(255, 255, 255, 1),
      0 0 8px rgba(255, 255, 255, 0.9),
      0 0 14px rgba(255, 255, 255, 0.7),
      0 1px 3px rgba(255, 255, 255, 0.55);
  }
}

/* amp-build:2068 — guide cards: mountain teal/slate glass (less milky white) */
.guides-roster .guide-card,
.home-guides-strip .guide-card {
  background:
    linear-gradient(145deg, rgba(204, 251, 241, 0.38), rgba(15, 118, 110, 0.14) 48%, rgba(30, 58, 95, 0.16)),
    rgba(15, 23, 42, 0.10) !important;
  border-color: rgba(13, 148, 136, 0.32) !important;
  box-shadow:
    0 1px 0 rgba(204, 251, 241, 0.28) inset,
    0 12px 32px rgba(2, 12, 27, 0.12) !important;
}

/* amp-build:2072 — guide names: black + white glow */
.guides-roster .guide-body h3,
.home-guides-strip .guide-body .home-guide-name,
.home-guide-name {
  color: #0f172a !important;
  text-shadow:
    0 0 2px rgba(255, 255, 255, 1),
    0 0 6px rgba(255, 255, 255, 0.95),
    0 0 12px rgba(255, 255, 255, 0.75),
    0 1px 2px rgba(255, 255, 255, 0.55);
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 560px) {
  .guides-roster .guide-body h3,
  .home-guides-strip .guide-body .home-guide-name,
  .home-guide-name {
    text-shadow:
      0 0 2px rgba(255, 255, 255, 1),
      0 0 8px rgba(255, 255, 255, 1),
      0 0 14px rgba(255, 255, 255, 0.85),
      0 1px 3px rgba(255, 255, 255, 0.65);
  }
}

/* amp-build:2073 — guide names +30% size */
.guides-roster .guide-body h3,
.home-guides-strip .guide-body .home-guide-name {
  font-size: clamp(23.4px, 3.12vw, 28.6px) !important;
}
.home-guide-name {
  font-size: 17.55px !important; /* was 13.5 in chip strip */
}
.guide-card h3 {
  font-size: 23.4px !important; /* was 18 */
}


/* amp-build:2077 — Full story open/close + BD territory + client multi-select */
.guides-roster .guide-body .guide-full:not([open]) > .guide-full-body,
.guides-roster .guide-row .guide-full:not([open]) > .guide-full-body {
  display: none !important;
}
.guides-roster .guide-body .guide-full[open] > .guide-full-body,
.guides-roster .guide-row .guide-full[open] > .guide-full-body {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.guides-roster .guide-body .guide-full summary,
.guides-roster .guide-row .guide-full summary {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 44px;
}
.guides-roster .guide-territory {
  margin: 2px 0 0;
  padding: 0;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.01em;
  color: #0f766e;
  line-height: 1.35;
}
.hire-card.is-selected {
  border-color: #0d9488 !important;
  box-shadow: 0 0 0 2px rgba(13,148,136,.18), 0 8px 24px rgba(20,120,122,.14);
  background: linear-gradient(180deg, rgba(204,251,241,.45), #fff 48%);
}
.hire-card.is-selected .hire-select { color: #0f766e; }
.client-spec-continue-wrap {
  margin-top: 14px;
  position: sticky;
  bottom: 8px;
  z-index: 3;
}
.client-spec-continue-wrap .btn[disabled] {
  opacity: .45;
  cursor: not-allowed;
}
.client-spec-extra {
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.45;
}
.client-spec-extra .chip {
  display: inline-block;
  margin: 2px 6px 2px 0;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(13,148,136,.12);
  color: #0f766e;
  font-weight: 700;
  font-size: 12px;
}


/* amp-build:2078 — client specialty smooth single-tap + multi toggle */
.client-spec-multi-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(15, 118, 110, 0.08);
  border: 1px solid rgba(13, 148, 136, 0.22);
  font-size: 13px;
  font-weight: 700;
  color: #0f766e;
  cursor: pointer;
  user-select: none;
}
.client-spec-multi-toggle input {
  width: 16px;
  height: 16px;
  accent-color: #0d9488;
}
.client-spec-hint { color: #64748b; }
.view.funnel.client-spec-sheet.is-multi .client-spec-hint {
  /* multi mode copy swapped in JS */
}


/* amp-build:2187 — client specialty: 3×3 primary grid + Other full-width row (no More) */
.client-spec-more { display: none; } /* retired TOP_N expand */
.hire-card-other {
  border-style: dashed;
  border-color: #cbd5e1;
  background: #f8fafc;
}
.view.funnel.trailhead[data-route="client-specialty"] .hire-card-other,
.view.funnel.client-spec-sheet .hire-card-other {
  grid-column: 1 / -1;
}
@media (max-width: 899px) {
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card-list,
  .view.funnel.client-spec-sheet .hire-card-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card-other,
  .view.funnel.client-spec-sheet .hire-card-other {
    grid-column: 1 / -1;
  }
}


/* amp-build:2081 — client region map → state → hiring guide reveal */
.client-state-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.client-state-chip {
  border: 1px solid #cbd5e1;
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 750;
  color: #0f172a;
  cursor: pointer;
}
.client-state-chip:hover, .client-state-chip:focus-visible {
  border-color: #0d9488;
  outline: none;
}
.client-state-chip.is-selected {
  border-color: #0d9488;
  background: rgba(204, 251, 241, 0.65);
  color: #0f766e;
  box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.15);
}
.client-guide-reveal-inner {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.client-guide-reveal .guide-avatar {
  width: 72px;
  height: 90px;
  border-radius: 14px;
  overflow: hidden;
  flex: 0 0 auto;
}
.client-guide-reveal .guide-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.client-guide-reveal .guide-territory {
  margin: 4px 0 6px;
  font-size: 13px;
  font-weight: 750;
  color: #0f766e;
}
@media (max-width: 560px) {
  .client-guide-reveal-inner { gap: 12px; }
}


/* amp-build:2082 — soft market analysis / Ridge under agreements */
.agree-soft {
  padding: 16px 16px 14px;
  border-radius: 18px;
  border: 1px dashed rgba(13, 148, 136, 0.35);
  background: rgba(248, 250, 252, 0.92);
}
.agree-soft-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.agree-soft-card {
  text-align: left;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  padding: 14px 14px 12px;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.agree-soft-card:hover, .agree-soft-card:focus-visible {
  border-color: #99f6e0;
  box-shadow: 0 8px 24px rgba(20, 120, 122, 0.12);
  transform: translateY(-1px);
  outline: none;
}
.agree-soft-kicker {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0f766e;
  margin-bottom: 4px;
}
.agree-soft-card strong {
  display: block;
  font-size: 1.02rem;
  color: #0f172a;
  margin-bottom: 6px;
}
.agree-soft-card p {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: #64748b;
}
.agree-soft-cta {
  font-size: 13px;
  font-weight: 750;
  color: #14787a;
}
@media (max-width: 720px) {
  .agree-soft-grid { grid-template-columns: 1fr; }
}


/* amp-build:2083 — calm client region map (less jumpy) */
.region-picker.is-client-region .region-actions,
.region-picker.is-client-region .region-selection,
.region-picker.is-client-region .region-open-control,
.region-picker.is-client-region #region-continue,
.region-picker.is-client-region #region-clear,
.region-picker.is-client-region #region-chips {
  display: none !important;
}
.region-picker.is-client-region .amp-region-map .map-region {
  transition: fill .18s ease, stroke .18s ease, filter .18s ease;
  transform: none !important;
}
.region-picker.is-client-region .amp-region-map .map-region.is-selected {
  transform: none !important;
  filter: drop-shadow(0 2px 6px rgba(15, 118, 110, 0.28));
}
.client-region-states {
  min-height: 118px;
}
.client-state-chips {
  min-height: 72px;
  align-content: flex-start;
  transition: opacity .16s ease;
}
.client-state-chips.is-swapping {
  opacity: 0.35;
}
.client-guide-reveal {
  min-height: 132px;
  transition: opacity .18s ease, border-color .18s ease;
}
.client-guide-reveal.is-empty {
  opacity: 0.42;
  border-style: dashed;
}
.client-guide-reveal.is-empty .client-guide-reveal-inner {
  visibility: hidden;
}
.view[data-route="client-region"] .client-spec-continue-wrap {
  position: static;
}


/* amp-build:2084 — client map chrome scrub + BD guide card */
.region-picker.is-client-region .region-map-kicker { /* set via JS */ }
.client-guide-reveal .guide-card.client-guide-card {
  margin: 0;
}
.client-guide-reveal.is-empty .client-guide-card {
  opacity: 0.35;
  pointer-events: none;
}
.client-guide-reveal:not(.is-empty) .client-guide-empty-hint {
  display: none;
}


/* amp-build:2085 — candidate region map full page width (match BD map) */
.view.funnel[data-route="physician-region"] .region-panel {
  width: calc(100% - 12px) !important;
  max-width: none !important;
}
.view.funnel[data-route="physician-region"] .region-map-wrap {
  width: 100%;
  padding: 8px 2px 6px;
}
.view.funnel[data-route="physician-region"] .amp-region-map {
  width: 100%;
  max-width: none;
  height: auto;
}
.view.funnel[data-route="physician-region"] .region-map-intro {
  padding-inline: 4px;
}
@media (max-width: 720px) {
  .view.funnel[data-route="physician-region"] .region-panel {
    width: calc(100% - 8px) !important;
    margin-left: auto;
    margin-right: auto;
    padding: 12px 6px 14px;
  }
  .view.funnel[data-route="physician-region"] .region-map-wrap {
    padding: 4px 0 2px;
    border-radius: 12px;
  }
}


/* amp-build:2092-guide-photo-crisp */
/* Frosted blur on the CARD was softening every face in Chromium/Safari compositing */
.guides-roster .guide-row,
.guides-roster .guide-card.guide-row,
.home-guides-strip .guide-row,
.home-guides-strip .guide-card.guide-row {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(240, 253, 250, 0.88) 55%, rgba(236, 253, 245, 0.9)),
    #f8fafc !important;
}
.guides-roster .guide-avatar.has-photo,
.home-guides-strip .guide-avatar.has-photo,
.client-guide-reveal .guide-avatar.has-photo {
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
  background: #0b1220;
  /* keep photos crisp — never inherit parent filters */
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.guides-roster .guide-avatar.has-photo img,
.home-guides-strip .guide-avatar.has-photo img,
.client-guide-reveal .guide-avatar.has-photo img,
.guides-roster .guide-avatar img,
.home-guides-strip .guide-avatar img {
  image-rendering: auto;
  -ms-interpolation-mode: bicubic;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  filter: none !important;
}
/* Home + roster: portrait frames (match 4:5 assets) */
.home-guides-strip .guide-row > .guide-avatar,
.home-guides-strip .guide-card.guide-row > .guide-avatar {
  width: 128px !important;
  height: 160px !important;
  border-radius: 18px !important;
}
.guides-roster .guide-row > .guide-avatar {
  width: 128px;
  height: 160px;
  border-radius: 18px;
}
.guides-roster-lead .guide-row > .guide-avatar {
  width: 140px;
  height: 175px;
  border-radius: 20px;
}
.guides-roster-hire .guide-row > .guide-avatar,
.guides-roster .guide-row-quiet > .guide-avatar {
  width: 104px;
  height: 130px;
  border-radius: 16px;
}
.guides-roster .guide-row {
  grid-template-columns: 128px minmax(0, 1fr);
}
.guides-roster-lead .guide-row {
  grid-template-columns: 140px minmax(0, 1fr);
}
.guides-roster-hire .guide-row,
.guides-roster .guide-row-quiet {
  grid-template-columns: 104px minmax(0, 1fr);
}


/* amp-build:2094-client-guide-pane-lock */
/* Lock territory middle pane: state chips + guide card stop jumping guide-to-guide */
.view[data-route="client-region"] .client-region-states {
  min-height: 168px; /* title + ~2 chip rows */
}
.view[data-route="client-region"] .client-state-chips {
  min-height: 112px; /* wrap room for Midwest 12 chips without collapsing small regions */
  align-content: flex-start;
}
.view[data-route="client-region"] .client-guide-reveal {
  min-height: 292px; /* tall enough for Randy (long title + territory + blurb + Full story + note + CTA) */
}
.view[data-route="client-region"] .client-guide-card {
  min-height: 268px;
  align-items: start;
}
.view[data-route="client-region"] .client-guide-card .guide-body {
  min-height: 220px;
  display: flex;
  flex-direction: column;
}
.view[data-route="client-region"] .client-guide-card .guide-role {
  min-height: 1.35em;
}
.view[data-route="client-region"] .client-guide-card .guide-territory {
  min-height: 1.35em;
}
.view[data-route="client-region"] .client-guide-card .guide-blurb {
  min-height: 3.1em; /* ~2 lines reserved */
  margin-bottom: 8px;
}
.view[data-route="client-region"] .client-guide-card .guide-full {
  min-height: 42px; /* closed summary row reserved */
}
.view[data-route="client-region"] .client-guide-card #client-guide-note {
  min-height: 1.2em;
}
.view[data-route="client-region"] .client-guide-card .btn {
  margin-top: auto;
}
/* Empty state: keep same footprint as filled card */
.view[data-route="client-region"] .client-guide-reveal.is-empty {
  min-height: 292px;
}


/* amp-build:2095-physician-map-desktop-65 */
/* Desktop only: candidate map 35% smaller (65% of full bleed). Phone keeps full-width. */
@media (min-width: 721px) {
  .view.funnel[data-route="physician-region"] .region-panel {
    width: 65% !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .view.funnel[data-route="physician-region"] .region-map-wrap {
    width: 100%;
    margin-inline: auto;
  }
  .view.funnel[data-route="physician-region"] .amp-region-map {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
  }
}

/* amp-build:2111-public-forms — KEEP hub + Typeform embeds + ACH */
.forms-hub-panel,
.forms-embed-panel,
.forms-ach-panel {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.forms-embed-panel,
.forms-ach-panel { max-width: 800px; }
.forms-hub-cards { margin-top: 0; }
.forms-hub-contact { margin: 18px 0 0; font-size: 14px; }
.form-embed {
  width: 100%;
  min-height: 560px;
}
.form-embed [data-tf-live],
.form-embed iframe {
  display: block;
  width: 100% !important;
  min-height: 560px;
  border: 0;
  border-radius: 12px;
  background: #fff;
}
.form-embed-fallback {
  margin: 14px 0 0;
  font-size: 13px;
}
.form-live-frame-wrap {
  width: 100%;
  min-height: 720px;
  margin-bottom: 14px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
}
.form-live-frame {
  display: block;
  width: 100%;
  min-height: 720px;
  height: 80vh;
  border: 0;
  background: #fff;
}
.ach-form .field-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 650;
  color: var(--ink);
  cursor: pointer;
}
.ach-form .field-check input { margin-top: 3px; flex-shrink: 0; }
.form-legal {
  padding: 14px 16px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid var(--line);
}
.form-legal p {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}
.form-legal p:last-of-type { margin-bottom: 0; }
.form-status {
  margin: 14px 0 0;
  font-size: 13.5px;
  color: var(--teal-deep);
}
.form-status.is-error { color: #b45309; }
.form-ach-done {
  margin: 8px 0 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f0fdfa;
  border: 1px solid #99f6e4;
}
@media (max-width: 640px) {
  .form-embed,
  .form-embed [data-tf-live],
  .form-embed iframe {
    min-height: 640px;
  }
  .form-live-frame-wrap,
  .form-live-frame { min-height: 640px; }
}

.amp-build-chip {
  margin: 8px 0 0;
  font-size: 11px;
  letter-spacing: .02em;
  color: #94a3b8;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.amp-build-chip::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: #14b8a6;
  box-shadow: 0 0 8px rgba(20,184,166,.7);
  vertical-align: middle;
}

/* amp-build:2112-why-amp — large proof tiles on Why AMP hub */
.why-amp-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 28px;
}
.why-amp-proof-tile {
  margin: 0;
  text-align: center;
  padding: 22px 14px 18px;
  cursor: pointer;
  pointer-events: auto;
  user-select: none;
  position: relative;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.why-amp-proof-tile strong {
  display: block;
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  line-height: 1;
  letter-spacing: -.04em;
  font-weight: 800;
  background-image: linear-gradient(
    110deg,
    #152332 0%,
    #78C4E5 22%,
    #ffffff 40%,
    #6BE0AD 58%,
    #2FAF7A 78%,
    #152332 100%
  );
  background-size: 260% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: whyAmpProofShimmer 3.8s ease-in-out infinite alternate;
  filter:
    drop-shadow(0 0 10px rgba(120,196,229,.45))
    drop-shadow(0 0 22px rgba(107,224,173,.32))
    drop-shadow(0 0 8px rgba(21,35,50,.2));
}
.why-amp-proof-tile span {
  display: block;
  margin-top: 10px;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 650;
  background-image: linear-gradient(100deg, #334155 0%, #1F8A5E 48%, #2A7AA8 100%);
  background-size: 180% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@keyframes whyAmpProofShimmer {
  0% { background-position: 0% center; }
  100% { background-position: 100% center; }
}
.why-amp-proof-tile.is-paired {
  transform: translateY(-4px);
  border-color: rgba(107,224,173,.45);
  box-shadow: 0 10px 24px rgba(21,35,50,.12);
}
.why-amp-proof-tile.is-paired strong {
  filter:
    drop-shadow(0 0 14px rgba(120,196,229,.65))
    drop-shadow(0 0 28px rgba(107,224,173,.45));
}
.seo-pillar-links .pillar-card.is-paired {
  transform: translateY(-8px);
  border-color: #6BE0AD;
  box-shadow:
    0 16px 32px rgba(21,35,50,.16),
    0 0 0 1px rgba(120,196,229,.35),
    0 0 28px rgba(107,224,173,.22);
  z-index: 2;
}
.seo-pillar-links .pillar-card.is-paired .tag,
.seo-pillar-links .pillar-card.is-paired h3 {
  background-image: linear-gradient(100deg, #152332, #78C4E5 55%, #1F8A5E);
  background-size: 180% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@media (prefers-reduced-motion: reduce) {
  .why-amp-proof-tile strong {
    animation: none;
    background-image: linear-gradient(90deg, #152332, #78C4E5 55%, #6BE0AD);
  }
}
@media (max-width: 860px) {
  .why-amp-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .why-amp-proof { grid-template-columns: 1fr; }
}

/* amp-build:2112-client-bd-consult — education + need cards (no fee chooser) */
.view.funnel[data-route="client-retained"] .client-offers-stage {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.client-offer-intro {
  margin: 0 0 16px;
}
.client-offer-title {
  margin: 8px 0 8px;
  font-size: 1.35rem;
  letter-spacing: -.02em;
  color: #0f172a;
}
.client-offer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 28px;
}
.client-offer-card {
  margin: 0;
}
.client-offer-card h3 {
  margin: 8px 0 6px;
  font-size: 17px;
  letter-spacing: -.02em;
}
.client-offer-card-wide {
  grid-column: 1 / -1;
}
.client-need-block {
  margin-top: 8px;
}
.client-need-hint {
  margin: 0 0 12px;
  font-size: 13px;
}
.client-need-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.client-need-card {
  height: 100%;
}
.client-need-card.is-selected {
  border-color: #0d9488 !important;
  box-shadow: 0 0 0 2px rgba(13,148,136,.18), 0 8px 24px rgba(20,120,122,.14);
  background: linear-gradient(180deg, rgba(204,251,241,.45), #fff 48%);
  transform: translateY(-1px);
}
.client-need-other-wrap {
  margin-top: 12px;
}
.client-need-other-wrap textarea {
  min-height: 84px;
}
@media (max-width: 760px) {
  .client-offer-grid,
  .client-need-grid {
    grid-template-columns: 1fr;
  }
  .view[data-route="confirm-client"] .client-discuss-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* amp-build:2118-climb-combine — one compact territory + climb + needs step */
.view[data-route="client-region"] .hero-band {
  padding: 22px 20px 14px;
}
.view[data-route="client-region"] .hero-inner h1 {
  font-size: clamp(24px, 3.6vw, 34px);
}
.view[data-route="client-region"] .hero-inner .lede {
  font-size: 14.5px;
  max-width: 64ch;
}
.view[data-route="client-region"] .funnel-panel.client-combined-stage {
  max-width: 1140px;
  width: calc(100% - 24px);
  margin-left: auto;
  margin-right: auto;
  border-radius: 24px;
  padding: 16px 20px 40px;
}
.view[data-route="client-region"] .funnel-panel {
  padding-bottom: 72px;
}

/* Crush 2094 tall-pane locks — compact side-by-side territory */
.view[data-route="client-region"] .client-region-states,
.view[data-route="client-region"] .client-state-chips,
.view[data-route="client-region"] .client-guide-reveal,
.view[data-route="client-region"] .client-guide-reveal.is-empty,
.view[data-route="client-region"] .client-guide-card,
.view[data-route="client-region"] .client-guide-card .guide-body,
.view[data-route="client-region"] .client-guide-card .guide-blurb,
.view[data-route="client-region"] .client-guide-card .guide-full,
.view[data-route="client-region"] .client-guide-card #client-guide-note {
  min-height: 0 !important;
}

.client-territory-band {
  display: grid;
  grid-template-columns: minmax(280px, 1.2fr) minmax(260px, 1fr);
  gap: 14px 18px;
  align-items: start;
  margin: 0 0 16px;
}
.client-territory-map .region-map-intro {
  margin-bottom: 6px;
  align-items: center;
  gap: 10px;
}
.client-territory-map .region-map-intro h2 {
  font-size: 15px;
  margin: 0;
}
.client-territory-map .region-map-help {
  display: none;
}
.client-territory-map .region-map-wrap {
  padding: 6px 6px 8px;
  border-radius: 14px;
}
.client-territory-map .amp-region-map {
  max-height: 240px;
}
.client-territory-controls {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.client-state-heading {
  font-size: 1rem !important;
  margin: 0 0 6px !important;
}
.view[data-route="client-region"] .client-state-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.client-guide-reveal {
  padding: 8px 10px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fafc, #fff);
}
.client-guide-empty-hint {
  font-size: 13px;
  margin: 0;
}
.view[data-route="client-region"] .client-guide-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 8px 4px 4px;
  margin: 0;
  box-shadow: none;
  background: transparent;
  border: 0;
}
.view[data-route="client-region"] .client-guide-card .guide-avatar,
.view[data-route="client-region"] .client-guide-card .guide-avatar.has-photo {
  width: 72px !important;
  height: 90px !important;
  border-radius: 12px !important;
  margin: 0;
}
.view[data-route="client-region"] .client-guide-card h3 {
  font-size: 16px;
  margin: 2px 0 0;
}
.view[data-route="client-region"] .client-guide-card .guide-role,
.view[data-route="client-region"] .client-guide-card .guide-territory,
.view[data-route="client-region"] .client-guide-card .guide-blurb,
.view[data-route="client-region"] .client-guide-card p:not(.guide-role) {
  min-height: 0 !important;
  margin: 0 0 2px;
  font-size: 12.5px;
}
.view[data-route="client-region"] .client-guide-card .client-guide-note {
  font-size: 11px;
  margin: 4px 0 0;
}
.view[data-route="client-region"] .client-guide-card .guide-full {
  margin-top: 4px;
}
.view[data-route="client-region"] .client-guide-card .guide-full summary {
  font-size: 12px;
  cursor: pointer;
}
.view[data-route="client-region"] .client-guide-reveal.is-empty .client-guide-card {
  display: none;
}

.client-climb-band[data-climb-option="A"] {
  margin: 4px 0 20px;
  padding: 12px 14px 14px;
  border: 1px solid rgba(20, 184, 166, .18);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(240, 253, 250, .7), rgba(255, 255, 255, .96));
}
.client-climb-band .tag {
  margin-bottom: 6px;
}
.client-climb-line {
  margin: 0 0 10px;
  min-height: 1.4em;
  font-size: 14px;
  line-height: 1.4;
  color: #0f766e;
  font-weight: 600;
}
.client-climb-swipe {
  display: none;
}
.client-climb-trail {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  position: relative;
}
.client-climb-trail::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 17px;
  height: 2px;
  background: linear-gradient(90deg, rgba(20, 184, 166, .12), rgba(13, 148, 136, .42), rgba(20, 184, 166, .12));
  z-index: 0;
  pointer-events: none;
}
.client-climb-trail > li {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  min-width: 0;
}
.client-climb-station {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 2px 4px 4px;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: inherit;
  text-align: center;
  border-radius: 12px;
}
.client-climb-num {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #fff;
  border: 1.5px solid rgba(15, 118, 110, .28);
  color: #0f766e;
  font-size: 13px;
  font-weight: 750;
  box-shadow: 0 2px 8px rgba(15, 118, 110, .08);
}
.client-climb-name {
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.25;
  color: #334155;
  letter-spacing: -.01em;
}
.client-climb-station:hover .client-climb-num,
.client-climb-station:focus-visible .client-climb-num,
.client-climb-station.is-lit .client-climb-num {
  background: #0f766e;
  border-color: #0f766e;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(20, 184, 166, .18), 0 6px 14px rgba(15, 118, 110, .22);
}
.client-climb-station:hover .client-climb-name,
.client-climb-station:focus-visible .client-climb-name,
.client-climb-station.is-lit .client-climb-name {
  color: #0f766e;
  font-weight: 750;
}
.client-climb-station:focus-visible {
  outline: 2px solid #14b8a6;
  outline-offset: 2px;
}

.view[data-route="client-region"] .client-need-block {
  margin-top: 4px;
}
.view[data-route="client-region"] .client-offer-title {
  font-size: 1.25rem;
}

@media (max-width: 900px) {
  .client-territory-band {
    grid-template-columns: 1fr;
  }
  .client-territory-map .amp-region-map {
    max-height: none;
  }
  .client-climb-band[data-climb-option="A"] {
    position: relative;
  }
  .client-climb-swipe {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: -2px 0 8px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #0f766e;
    background: rgba(204, 251, 241, .7);
    border: 1px solid rgba(13, 148, 136, .28);
  }
  .client-climb-trail::before {
    display: none;
  }
  .client-climb-band[data-climb-option="A"]::after {
    content: "";
    position: absolute;
    top: 58px;
    right: 0;
    bottom: 8px;
    width: 42px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(240, 253, 250, 0), #f0fdfa 78%);
    border-radius: 0 16px 16px 0;
    z-index: 2;
  }
  .client-climb-band.is-climb-end::after {
    opacity: 0;
  }
  .client-climb-trail {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    gap: 10px;
    padding: 2px 36px 10px 2px;
    -webkit-overflow-scrolling: touch;
  }
  .client-climb-trail > li {
    flex: 0 0 68%;
    width: 68%;
    max-width: none;
    scroll-snap-align: start;
  }
  .client-climb-station {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    gap: 10px;
    min-height: 56px;
    padding: 10px 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: #fff;
    border-radius: 14px;
  }
  .client-climb-name {
    font-size: 13px;
  }
  .client-climb-station.is-lit {
    border-color: rgba(13, 148, 136, .45);
    background: #f0fdfa;
  }
}

@media (max-width: 520px) {
  .view[data-route="client-region"] .funnel-panel.client-combined-stage {
    width: calc(100% - 8px);
    padding: 14px 12px 36px;
  }
  .view[data-route="client-region"] .client-guide-card {
    grid-template-columns: 60px minmax(0, 1fr);
  }
  .view[data-route="client-region"] .client-guide-card .guide-avatar,
  .view[data-route="client-region"] .client-guide-card .guide-avatar.has-photo {
    width: 60px !important;
    height: 76px !important;
  }
}
/* amp-build:2131-mobile-rank-cards
   Mike 2026-09-18: physician rank cards compact on phone only (padding, title,
   2-line blurb clamp, tighter gaps) so #1–#4 fit without huge scroll. */
/* amp-build:2130-confirm-discuss
   Mike 2026-09-17: confirm page — wider success card, lighter discuss card,
   2×4 topic grid, multi-select + Send appends topics to the meeting lead. */
/* amp-build:2129-meeting-cta-gap
   Mike 2026-09-17: step-4 meeting+analysis CTA sits between map and How we help,
   Ridge-report teal bar (not btn-primary pill), hidden until state/guide ready. */
/* amp-build:2128-home-path-finetune
   Mike 2026-09-17: path questions larger + all-caps; restore hero second sentence;
   step-4 continue is meeting + market analysis (no mid mailto); confirm discuss
   title dark ink; post-submit topics = original 8 need cards. */
/* amp-build:2127-home-path-clarity
   Mike / AMP 2026-09-17: path doors ~30% larger (grow down, same horizontal seat),
   700+ partners wider with kicker row + six logos in one desktop row,
   teal/gold labels are audience questions instead of “Candidate path / Client path”. */
.doors-hero {
  /* keep the 880px seat — do not slide the pair left/right */
  width: min(880px, 100%);
}
.door-hero {
  min-height: 416px; /* 320 × 1.3; extra size is height */
  padding: 28px 26px 36px;
}
.door-top {
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  margin-bottom: 16px;
}
.door-path {
  display: block;
  width: 100%;
  font-size: 19.5px;
  font-weight: 820;
  letter-spacing: 0.045em;
  line-height: 1.22;
  text-transform: uppercase;
  color: #5eead4;
}
.door-client .door-path { color: #78C4E5; }
.door-story {
  font-size: clamp(1.85rem, 3.5vw, 2.55rem);
}
.door-line {
  font-size: 15.5px;
  max-width: 34ch;
}
.door-hero .door-cta {
  margin-top: 26px;
  padding: 12px 18px;
  font-size: 14.5px;
}

.home-partners {
  width: min(1180px, 100%);
  padding: 24px 22px 20px;
}
.home-partners-kicker {
  margin: 0 0 16px;
}
.home-partners-grid {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
}
.partner-logo {
  flex: 1 1 0;
  max-width: 150px;
  max-height: 44px;
}

.home-job2-path {
  display: block;
  font-size: 15.5px;
  font-weight: 820;
  letter-spacing: 0.05em;
  line-height: 1.28;
  text-transform: uppercase;
  color: #5eead4;
}
.home-job2-client .home-job2-path { color: #78C4E5; }

@media (max-width: 780px) {
  .home-partners-grid {
    flex-wrap: wrap;
    justify-content: center;
  }
  .partner-logo {
    flex: 1 1 calc(33.33% - 16px);
    max-width: 140px;
  }
}

@media (max-width: 640px) {
  .door-hero {
    min-height: 340px;
    padding: 22px 20px 28px;
  }
  .door-path { font-size: 16.5px; letter-spacing: 0.035em; }
  .door-story { font-size: clamp(1.7rem, 7vw, 2.15rem); }
  .home-partners { width: 100%; }
  .home-partners-grid { flex-wrap: wrap; }
  .partner-logo {
    flex: 1 1 calc(50% - 16px);
    max-height: 36px;
  }
}

@media (max-width: 430px) {
  .door-hero {
    min-height: 320px;
    padding: 20px 16px 24px;
  }
  .door-path { font-size: 15.5px; letter-spacing: 0.03em; }
  .door-hero .door-cta { margin-top: 18px; }
}

.explore-sub { max-width: 54ch; }

.client-step {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.02em;
  color: rgba(226,232,240,0.88);
}
.client-step-kicker {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4, #2dd4bf);
}
.client-step-on-hero {
  justify-content: center;
  color: rgba(226,232,240,0.92);
}
.hire-sheet .client-step { margin-bottom: 12px; }

.client-ridge-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 22px 0 8px;
  padding: 16px 20px;
  border-radius: 16px;
  text-align: center;
  text-decoration: none;
  font-family: inherit;
  font-size: 16px;
  font-weight: 740;
  letter-spacing: -0.01em;
  color: #042f2e;
  background: linear-gradient(135deg, #5eead4, #14b8a6);
  border: 1px solid rgba(255,255,255,0.28);
  box-shadow: 0 14px 36px rgba(13,148,136,0.28);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.client-ridge-cta:hover,
.client-ridge-cta:focus-visible {
  filter: brightness(1.05);
  outline: none;
}
.client-ridge-cta[hidden] { display: none; }
.client-ridge-cta-after { margin-top: 8px; }

.client-how-help {
  margin: 28px 0 8px;
  padding: 22px 18px 18px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(8,15,28,0.55) 0%, rgba(8,15,28,0.78) 100%);
  border: 1px solid rgba(148,163,184,0.18);
}
.client-how-help-kicker {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #99f6e4;
}
.client-how-help-title {
  margin: 0 0 16px;
  font-size: clamp(1.25rem, 2.6vw, 1.65rem);
  letter-spacing: -0.02em;
  color: #f8fafc;
}
.client-how-help-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.client-how-help-list li {
  display: grid;
  gap: 4px;
  padding: 12px 12px 13px;
  border-radius: 14px;
  background: rgba(15,23,42,0.45);
  border: 1px solid rgba(94,234,212,0.16);
}
.client-how-help-list strong {
  color: #99f6e4;
  font-size: 13.5px;
}
.client-how-help-list span {
  color: rgba(226,232,240,0.86);
  font-size: 13px;
  line-height: 1.4;
}

.client-topic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.client-topic-card {
  display: grid;
  gap: 4px;
  padding: 14px 14px 15px;
  border-radius: 14px;
  text-align: left;
  cursor: pointer;
  color: #f8fafc;
  background: rgba(8,15,28,0.62);
  border: 1px solid rgba(94,234,212,0.22);
}
.client-topic-card:hover,
.client-topic-card:focus-visible {
  border-color: rgba(94,234,212,0.55);
  box-shadow: 0 10px 28px rgba(13,148,136,0.18);
  outline: none;
}
.client-topic-card strong { font-size: 14.5px; letter-spacing: -0.02em; }
.client-topic-card span {
  font-size: 12.5px;
  line-height: 1.4;
  color: rgba(226,232,240,0.8);
}
.client-discuss { margin: 0 0 22px; }
.client-discuss-title {
  margin: 0 0 8px;
  text-align: center;
  font-size: clamp(1.2rem, 2.8vw, 1.55rem);
  letter-spacing: -0.02em;
  color: #0f172a;
  -webkit-text-fill-color: #0f172a;
}
.view.funnel[data-route="confirm-client"] .client-discuss-title,
.view.funnel[data-route="confirm-client"] #client-discuss-title {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}
.view.funnel[data-route="confirm-client"] .client-discuss-lede,
.client-discuss-lede {
  margin: 0 0 14px;
  text-align: center;
  color: #64748b;
}
.client-discuss-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.view[data-route="confirm-client"] .client-discuss-grid .hire-card {
  padding: 12px 12px 10px;
  min-height: 0;
  background: #f8fafc;
  border-color: #e2e8f0;
  box-shadow: none;
}
.view[data-route="confirm-client"] .client-discuss-grid .hire-card h3 {
  font-size: 13.5px;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.view[data-route="confirm-client"] .client-discuss-grid .hire-card p {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.view[data-route="confirm-client"] .client-discuss-grid .hire-card.is-selected {
  background: linear-gradient(180deg, #ecfdf5, #ffffff 55%);
}
.client-discuss-send-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}
.client-discuss-send-status {
  margin: 0;
  font-size: 13px;
  color: #0f766e;
}
#client-offers-continue {
  white-space: normal;
  line-height: 1.35;
  max-width: 100%;
}

@media (max-width: 980px) {
  .client-discuss-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .client-how-help-list,
  .client-topic-grid { grid-template-columns: 1fr; }
  .client-discuss-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-ridge-cta { font-size: 15px; padding: 14px 14px; }
}


/* ========== amp-build:2133-no-mountain — sitewide professional chrome (no mountain art) ========== */
.home-stage.no-mountain-hero,
.home-stage {
  background: #152332;
  color: #fff;
}
.home-pro-bg {
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  height: var(--home-bg-vh, 100vh);
  z-index: 0;
  pointer-events: none;
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.92) 0%, rgba(21, 35, 50, 0.72) 34%, rgba(21, 35, 50, 0.38) 58%, rgba(21, 35, 50, 0.22) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.25) 0%, rgba(21, 35, 50, 0.08) 42%, rgba(21, 35, 50, 0.72) 78%, rgba(21, 35, 50, 0.94) 100%),
    url("../assets/home-hero-clinic-consult.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center right;
  background-repeat: no-repeat;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.home-stage .home-poster,
.home-stage > picture,
.home-stage #home-video,
.home-stage.on .home-poster,
.home-stage.on #home-video {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.home-mist {
  background:
    linear-gradient(180deg, rgba(21, 35, 50, 0.08) 0%, rgba(21, 35, 50, 0.02) 38%, rgba(21, 35, 50, 0.45) 76%, rgba(21, 35, 50, 0.88) 100%) !important;
}
.home-stage.on .home-mist {
  /* keep fixed mist over pro bg */
}

/* Doors: navy / sky / mint professional panels (no hike photos) */
.door-hero.door-candidate {
  background:
    linear-gradient(155deg, rgba(21, 35, 50, 0.96) 0%, rgba(26, 58, 78, 0.92) 48%, rgba(21, 35, 50, 0.96) 100%),
    linear-gradient(135deg, #152332, #1f4a5c) !important;
}
.door-hero.door-client {
  background:
    linear-gradient(155deg, rgba(21, 35, 50, 0.96) 0%, rgba(30, 70, 90, 0.9) 45%, rgba(21, 35, 50, 0.96) 100%),
    linear-gradient(135deg, #152332, #245a6e) !important;
}
.door-photo { display: none !important; }
.door-photo-shade {
  background:
    linear-gradient(180deg, rgba(21, 35, 50, 0.15) 0%, rgba(21, 35, 50, 0.05) 40%, rgba(21, 35, 50, 0.45) 100%),
    linear-gradient(90deg, transparent 0%, rgba(120, 196, 229, 0.08) 100%) !important;
}
.door-candidate .door-photo-shade {
  box-shadow: inset 0 0 0 1px rgba(107, 224, 173, 0.18);
}
.door-client .door-photo-shade {
  box-shadow: inset 0 0 0 1px rgba(120, 196, 229, 0.22);
}

/* amp-build:2135 — Job2 story photos (provider / boardroom) */
.home-job2-panel {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
  background: #152332;
}
.home-job2-panel-candidate {
  background:
    center / cover no-repeat url("../assets/amp-story-provider.jpg?v=2148");
}
.home-job2-panel-client {
  background:
    center / cover no-repeat url("../assets/amp-story-boardroom.jpg?v=2148");
}
@media (max-width: 640px) {
  .home-job2-panel { height: 160px; }
}

/* Sitewide: kill mountain stills / trailhead freeze / trailsigns / ridge photos */
.view > .shot,
.view.funnel > .shot,
.view.funnel.trailhead > .shot {
  background: #152332 !important;
}
.view > .shot img.still,
.view > .shot picture,
.view.funnel > .shot img.still,
.view.funnel > .shot picture,
.view.funnel.trailhead > .shot img.still,
.view.funnel.trailhead > .shot picture {
  display: none !important;
  opacity: 0 !important;
}
.still.pro-still,
.view > .shot .pro-still,
.view.funnel > .shot .pro-still {
  display: block !important;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 1 !important;
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(120, 196, 229, 0.18), transparent 55%),
    linear-gradient(165deg, #152332 0%, #1a3348 50%, #152332 100%);
  border: 0;
}

/* Hero bands: solid professional navy instead of mountain photos */
.hero-band .bg,
.hero-band .bg.pro-bg {
  background-image: none !important;
  background:
    radial-gradient(ellipse 90% 70% at 30% 0%, rgba(120, 196, 229, 0.2), transparent 55%),
    linear-gradient(135deg, #152332 0%, #1a3a4e 55%, #152332 100%) !important;
}
.hero-band .veil {
  background: linear-gradient(180deg, rgba(21, 35, 50, 0.35) 0%, rgba(21, 35, 50, 0.55) 100%) !important;
}

/* Approach video hold: no mountain flash */
#approach-video-hold,
#approach-video-hold video,
#approach-video-hold canvas.approach-freeze {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Confirm / funnel: opaque navy under panels (no mountain ghost) */
.view.funnel {
  background-color: #152332;
}

.job-hero-pro {
  position: relative;
  min-height: 200px;
  border-radius: 16px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%, rgba(120,196,229,0.28), transparent 55%),
    linear-gradient(135deg, #152332 0%, #1a3a4e 55%, #152332 100%);
}
.job-hero-pro .badge {
  position: absolute;
  left: 14px;
  bottom: 14px;
}


/* ========== amp-build:2135-home-polish — MI banner, proof pills, story photos, no shimmer ========== */
/* Hero photo is BACKGROUND only (half-blur clinic/consult); copy + doors carry the page */
.home-stage.no-mountain-hero .explore-block-ad,
.explore-block-ad {
  text-align: left;
  align-self: center;
  width: min(1080px, calc(100% - 48px));
  max-width: 1080px;
  margin: 0 auto 8px;
  padding-left: 0;
}
.explore-block-ad .explore-kicker {
  color: #6BE0AD;
}
.explore-block-ad .explore-kicker::before,
.explore-block-ad .explore-kicker::after {
  background: linear-gradient(90deg, transparent, #6BE0AD);
}
.explore-block-ad .explore-title {
  font-size: clamp(28px, 4.6vw, 46px);
  line-height: 1.12;
  max-width: 18ch;
}
.explore-block-ad .explore-sub {
  display: block;
  margin-left: 0;
  max-width: 38ch;
  text-align: left;
  color: rgba(244, 248, 251, 0.96);
  -webkit-text-fill-color: rgba(244, 248, 251, 0.96);
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 680;
  letter-spacing: -0.015em;
  line-height: 1.35;
}
/* amp-build:2154 — mountain leftover CTA removed */
.explore-range-row,
.explore-range-invite {
  display: none !important;
}
.home-stage.no-mountain-hero .explore-range-row {
  align-self: center;
  width: min(1080px, calc(100% - 48px));
  justify-content: flex-start;
}

/* Compact equal-height path cards — bottom sits just under CTAs (no dead space) */
.home-stage.no-mountain-hero .doors-hero {
  align-items: stretch;
  width: min(1080px, calc(100% - 48px));
}
.home-stage.no-mountain-hero .door-hero {
  min-height: 0 !important;
  height: auto;
  padding: 20px 22px 18px !important;
  justify-content: flex-start;
  gap: 0;
}
.home-stage.no-mountain-hero .door-hero .door-top {
  margin-bottom: 10px;
}
.home-stage.no-mountain-hero .door-hero .door-story {
  margin: 0 0 8px;
}
.home-stage.no-mountain-hero .door-hero .door-line {
  margin: 0 0 0 auto !important; /* kill legacy margin-bottom:auto dead space */
  flex: 0 1 auto;
}
.home-stage.no-mountain-hero .door-hero .door-cta {
  /* pin CTA to card bottom when grid equalizes heights — no empty pad under buttons */
  margin-top: auto !important;
  margin-bottom: 0 !important;
  align-self: flex-end;
  padding-top: 14px; /* breathing room above CTA without growing card below */
}
@media (max-width: 640px) {
  .home-stage.no-mountain-hero .door-hero {
    padding: 16px 16px 14px !important;
  }
  .home-stage.no-mountain-hero .door-hero .door-cta {
    margin-top: 12px !important;
    width: 100%;
    justify-content: center;
  }
}

.home-mi-banner {
  /* amp-build:2135 — Market Intelligence banner more prominent under path cards */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1080px, calc(100% - 48px));
  margin: 22px auto 12px;
  padding: 22px 24px;
  border-radius: 16px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(100deg, #0f1c2a 0%, #163a52 55%, #1a4d45 100%);
  border: 2px solid rgba(120, 196, 229, 0.55);
  box-shadow:
    0 16px 40px rgba(8, 14, 22, 0.45),
    0 0 0 1px rgba(107, 224, 173, 0.12) inset,
    0 0 36px rgba(120, 196, 229, 0.22);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  opacity: 0;
  transform: translateY(14px);
}
.home-stage.settled .home-mi-banner {
  opacity: 1;
  transform: none;
  transition: opacity .85s cubic-bezier(.22,.61,.36,1) .28s, transform .85s cubic-bezier(.22,.61,.36,1) .28s, border-color .18s ease, box-shadow .18s ease;
}
.home-mi-banner:hover,
.home-mi-banner:focus-visible {
  border-color: rgba(120, 196, 229, 0.9);
  box-shadow:
    0 18px 48px rgba(8, 14, 22, 0.5),
    0 0 0 1px rgba(107, 224, 173, 0.28) inset,
    0 0 48px rgba(120, 196, 229, 0.35);
  outline: none;
}
.home-mi-banner-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.home-mi-banner-title {
  font-weight: 820;
  font-size: 1.28rem;
  letter-spacing: -.02em;
  text-shadow: 0 0 18px rgba(120, 196, 229, 0.25);
}
.home-mi-banner-desc {
  font-size: .92rem;
  color: #cfe3ee;
  line-height: 1.4;
  font-weight: 560;
}
.home-mi-banner-go {
  flex: 0 0 auto;
  font-size: .95rem;
  font-weight: 780;
  color: #78C4E5;
  white-space: nowrap;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(120, 196, 229, 0.12);
  border: 1px solid rgba(120, 196, 229, 0.35);
}
.home-proof-stack {
  width: min(1080px, calc(100% - 48px));
  margin: 10px auto 0;
  display: grid;
  gap: 12px;
  opacity: 0;
  transform: translateY(12px);
}
.home-stage.settled .home-proof-stack {
  opacity: 1;
  transform: none;
  transition: opacity .85s cubic-bezier(.22,.61,.36,1) .36s, transform .85s cubic-bezier(.22,.61,.36,1) .36s;
}
.home-proof-stack .home-proof {
  justify-content: flex-start;
  margin: 0;
}
.home-proof-stack .home-partners {
  margin-top: 0;
  padding-top: 4px;
}
@media (max-width: 720px) {
  .explore-block-ad {
    width: 100%;
    max-width: none;
    margin: 0 auto 6px;
  }
  .explore-block-ad .explore-title {
    max-width: none;
    font-size: clamp(26px, 7.2vw, 36px);
  }
  .home-stage.no-mountain-hero .explore-range-row {
    width: 100%;
  }
  .home-mi-banner {
    margin-top: 18px;
    padding: 18px 18px;
  }
  .home-mi-banner-title { font-size: 1.12rem; }
  .home-pro-bg {
    /* 2137: both faces clear right edge; pair still right-weighted (not centered) */
    background-position: center, center, 70% center;
  }
}
@media (max-width: 480px) {
  .home-mi-banner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ========== amp-build:2136-path-theme-bgs — smoky clinical path BGs + soft navy veils ========== */
/* Smoky JPG bytes (not crisp). Soft navy/white veils keep hire-sheets/UI readable. */
.view[data-route="physician"] > .shot .pro-still,
.view[data-route="physician-specialty"] > .shot .pro-still {
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.82) 0%, rgba(21, 35, 50, 0.55) 38%, rgba(21, 35, 50, 0.40) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.30) 0%, rgba(21, 35, 50, 0.18) 42%, rgba(21, 35, 50, 0.78) 100%),
    url("../assets/amp-path-cand-specialty.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: blur(0.6px);
  transform: scale(1.02);
  transform-origin: center center;
}
.view[data-route="physician-region"] > .shot .pro-still {
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.80) 0%, rgba(21, 35, 50, 0.52) 40%, rgba(21, 35, 50, 0.38) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.28) 0%, rgba(21, 35, 50, 0.16) 45%, rgba(21, 35, 50, 0.76) 100%),
    url("../assets/amp-path-cand-nurses.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: blur(0.6px);
  transform: scale(1.02);
  transform-origin: center center;
}
.view[data-route="client"] > .shot .pro-still {
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.82) 0%, rgba(21, 35, 50, 0.55) 38%, rgba(21, 35, 50, 0.40) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.30) 0%, rgba(21, 35, 50, 0.18) 42%, rgba(21, 35, 50, 0.78) 100%),
    url("../assets/amp-path-client-fqhc.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: blur(0.6px);
  transform: scale(1.02);
  transform-origin: center center;
}
.view[data-route="client-specialty"] > .shot .pro-still {
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.80) 0%, rgba(21, 35, 50, 0.52) 40%, rgba(21, 35, 50, 0.38) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.28) 0%, rgba(21, 35, 50, 0.16) 45%, rgba(21, 35, 50, 0.76) 100%),
    url("../assets/amp-path-client-hallway.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: blur(0.6px);
  transform: scale(1.02);
  transform-origin: center center;
}
/* Soften hero-band on region step so it doesn't fight the path photo */
.view[data-route="physician-region"] .hero-band .bg.pro-bg {
  background:
    linear-gradient(135deg, rgba(21, 35, 50, 0.55) 0%, rgba(21, 35, 50, 0.35) 55%, rgba(21, 35, 50, 0.50) 100%) !important;
}
.view[data-route="physician-region"] .hero-band .veil {
  background: linear-gradient(180deg, rgba(21, 35, 50, 0.42) 0%, rgba(21, 35, 50, 0.58) 100%) !important;
}
/* Contain blur scale inside shot so hire-sheet chrome stays sharp */
.view[data-route="physician"] > .shot,
.view[data-route="physician-specialty"] > .shot,
.view[data-route="physician-region"] > .shot,
.view[data-route="client"] > .shot,
.view[data-route="client-specialty"] > .shot {
  overflow: hidden;
}

/* Story cards — amp-build:2149-client-step3-ret-strip: CLEAR photos (no smoky blur/veil) */
.home-job2-card {
  position: relative;
}
.home-job2-photo {
  filter: none;
  transform: none;
}
/* Captions live in .home-job2-body below the photo — no full-card navy veil */
.home-job2-card::before {
  content: none;
}
.home-job2-body {
  position: relative;
  z-index: 2;
}
.home-job2-panel-candidate,
.home-job2-panel-client {
  position: relative;
  filter: none;
  transform: none;
}
.home-job2-panel-candidate {
  background:
    center / cover no-repeat url("../assets/amp-story-provider.jpg?v=2148") !important;
}
.home-job2-panel-client {
  background:
    center / cover no-repeat url("../assets/amp-story-boardroom.jpg?v=2148") !important;
}
@media (max-width: 640px) {
  .home-job2-photo { filter: none; transform: none; }
}

/* ========== amp-build:2136 — AMP logo crisp (Mike + Randy lock): no glow/bloom ========== */
.brand.brand-lockup .brand-lockup-img,
.brand.brand-glow-white .brand-lockup-img.is-white,
.brand.brand-glow-black .brand-lockup-img.is-black,
.site-nav.is-home .brand.brand-glow-white .brand-lockup-img.is-white,
.site-nav.is-home .brand.brand-glow-black .brand-lockup-img.is-black,
.brand > img:not(.brand-lockup-img),
.mobile-nav-brand img,
img.brand-lockup-img,
img[src*="amp-lockup-nav"],
img[src*="amp-logo-mark"] {
  filter: none !important;
  -webkit-filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}


/* ========== amp-build:2137-walkthrough-polish ========== */
/* Step badge on white card (top-right) — not stuck in dark hero */
.client-step.client-step-on-card {
  justify-content: flex-end;
  align-items: center;
  margin: 0 0 14px;
  color: #0f172a;
}
.hire-sheet .client-step.client-step-on-card {
  margin-bottom: 12px;
}
.funnel-panel .client-step.client-step-on-card {
  width: 100%;
}

/* New path BGs — soft navy veils (same recipe as 2136) */
.view[data-route="client-region"] > .shot .pro-still {
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.80) 0%, rgba(21, 35, 50, 0.52) 40%, rgba(21, 35, 50, 0.38) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.28) 0%, rgba(21, 35, 50, 0.16) 45%, rgba(21, 35, 50, 0.76) 100%),
    url("../assets/amp-path-client-step4-boardroom-smoky.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: blur(0.6px);
  transform: scale(1.02);
  transform-origin: center center;
}
.view[data-route="client-meeting"] > .shot .pro-still {
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.82) 0%, rgba(21, 35, 50, 0.55) 38%, rgba(21, 35, 50, 0.40) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.30) 0%, rgba(21, 35, 50, 0.18) 42%, rgba(21, 35, 50, 0.78) 100%),
    url("../assets/amp-path-client-step5-desk-smoky.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: blur(0.6px);
  transform: scale(1.02);
  transform-origin: center center;
}
.view[data-route="physician-rank"] > .shot .pro-still {
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.80) 0%, rgba(21, 35, 50, 0.52) 40%, rgba(21, 35, 50, 0.38) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.28) 0%, rgba(21, 35, 50, 0.16) 45%, rgba(21, 35, 50, 0.76) 100%),
    url("../assets/amp-path-cand-rank-countryside-smoky.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: blur(0.6px);
  transform: scale(1.02);
  transform-origin: center center;
}
/* MI / Ridge — whiteboard C smoky */
.view[data-route="mi-lite"] > .shot .pro-still,
.view[data-route="mi-lite-portal"] > .shot .pro-still,
.view[data-route="mi-lite-login"] > .shot .pro-still,
.view[data-route="mi-lite-app"] > .shot .pro-still {
  background-color: #152332;
  background-image:
    linear-gradient(105deg, rgba(21, 35, 50, 0.80) 0%, rgba(21, 35, 50, 0.52) 40%, rgba(21, 35, 50, 0.38) 100%),
    linear-gradient(180deg, rgba(21, 35, 50, 0.28) 0%, rgba(21, 35, 50, 0.16) 45%, rgba(21, 35, 50, 0.76) 100%),
    url("../assets/amp-mi-bg-C-whiteboard-smoky.jpg?v=2142");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  filter: blur(0.6px);
  transform: scale(1.02);
  transform-origin: center center;
}
/* Soften hero-band on routes with path photos */
.view[data-route="client-region"] .hero-band .bg.pro-bg,
.view[data-route="client-meeting"] .hero-band .bg.pro-bg,
.view[data-route="physician-rank"] .hero-band .bg.pro-bg,
.view[data-route="mi-lite"] .hero-band .bg.pro-bg,
.view[data-route="mi-lite-portal"] .hero-band .bg.pro-bg,
.view[data-route="mi-lite-login"] .hero-band .bg.pro-bg,
.view[data-route="mi-lite-app"] .hero-band .bg.pro-bg {
  background:
    linear-gradient(135deg, rgba(21, 35, 50, 0.55) 0%, rgba(21, 35, 50, 0.35) 55%, rgba(21, 35, 50, 0.50) 100%) !important;
}
.view[data-route="client-region"] .hero-band .veil,
.view[data-route="client-meeting"] .hero-band .veil,
.view[data-route="physician-rank"] .hero-band .veil,
.view[data-route="mi-lite"] .hero-band .veil,
.view[data-route="mi-lite-portal"] .hero-band .veil,
.view[data-route="mi-lite-login"] .hero-band .veil,
.view[data-route="mi-lite-app"] .hero-band .veil {
  background: linear-gradient(180deg, rgba(21, 35, 50, 0.42) 0%, rgba(21, 35, 50, 0.58) 100%) !important;
}
/* Confirm stays blank — no path photo */
.view[data-route="confirm-client"] > .shot .pro-still {
  background-image: none !important;
  filter: none !important;
  transform: none !important;
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(120, 196, 229, 0.18), transparent 55%),
    linear-gradient(165deg, #152332 0%, #1a3348 50%, #152332 100%) !important;
}
.view[data-route="client-region"] > .shot,
.view[data-route="client-meeting"] > .shot,
.view[data-route="physician-rank"] > .shot,
.view[data-route="mi-lite"] > .shot,
.view[data-route="mi-lite-portal"] > .shot,
.view[data-route="mi-lite-login"] > .shot,
.view[data-route="mi-lite-app"] > .shot {
  overflow: hidden;
}

/* Homepage path column — one shared width (doors + MI + proof + partners) */
.home-path-column {
  width: min(1080px, calc(100% - 48px));
  max-width: 1080px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.home-path-column .doors-hero,
.home-path-column .home-mi-banner,
.home-path-column .home-proof-stack,
.home-path-column .home-partners,
.home-path-column .home-ret-strip {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
.home-path-column .home-mi-banner {
  margin-top: 22px;
  margin-bottom: 12px;
}
.home-path-column .home-proof-stack {
  margin-top: 10px;
}
.home-path-column .home-partners {
  margin-top: 12px;
  margin-bottom: 8px;
  padding-left: 22px;
  padding-right: 22px;
}
@media (max-width: 640px) {
  .home-path-column {
    width: 100%;
    max-width: none;
  }
  .home-path-column .doors-hero {
    width: 100% !important; /* kill legacy min(440px) stair-step */
  }
  .home-path-column .home-partners {
    padding-left: 16px;
    padding-right: 16px;
  }
}


/* ========== amp-build:2137c — step 4/5 titles on white card (match steps 2–3) ========== */
.view[data-route="client-region"] .hero-band,
.view[data-route="client-meeting"] .hero-band {
  display: none !important;
}
.funnel-panel.client-step-card > .client-step.client-step-on-card {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 10px;
}
.funnel-panel.client-step-card > .hire-title {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: clamp(22px, 3.2vw, 30px);
  letter-spacing: -0.02em;
}
.funnel-panel.client-step-card > .client-card-lede {
  margin: 0 0 14px;
  max-width: 62ch;
  color: #334155;
  font-size: 14.5px;
  line-height: 1.45;
}
.view[data-route="client-meeting"] .funnel-panel.client-step-card {
  margin-top: 24px;
  padding-top: 18px;
  background: rgba(255, 255, 255, 0.94);
  border-radius: 18px;
}
.view[data-route="client-region"] .funnel-panel.client-combined-stage.client-step-card {
  margin-top: 18px;
  background: rgba(255, 255, 255, 0.92);
}



/* ========== amp-build:2138-client-retention-pepper — LIGHT client-path retention stories ========== */
.client-ret-quiet {
  width: min(440px, 100%);
  margin: 10px auto 0;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: rgba(248, 250, 252, 0.92);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}
.client-ret-pepper {
  width: min(440px, 100%);
  margin: 12px auto 0;
  pointer-events: auto !important;
}
.trailhead-sheet-stage .client-ret-pepper,
.trailhead-sheet-stage .client-ret-pepper *,
.trailhead-sheet-stage .client-ret-quiet {
  pointer-events: auto !important;
}
.client-ret-pepper--pair {
  width: min(720px, 100%);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 16px auto 8px;
  padding: 0 4px 12px;
  pointer-events: auto !important;
}
.amp-ret-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(21, 35, 50, 0.18);
  border: 1px solid rgba(148, 163, 184, 0.22);
  font-family: var(--font);
}
.amp-ret-card-media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--mist);
}
.amp-ret-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.amp-ret-card-body {
  padding: 14px 16px 12px;
}
/* amp-build:2151-ret-card-type-strengthen — information hierarchy on story cards */
.amp-ret-year {
  margin: 0 0 4px;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: var(--navy);
  line-height: 1.05;
}
.amp-ret-role {
  margin: 0;
  font-size: 15px;
  font-weight: 780;
  color: var(--navy);
  line-height: 1.25;
}
.amp-ret-place {
  margin: 3px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  line-height: 1.35;
}
.amp-ret-days {
  margin: 8px 0 0;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  color: var(--navy-2);
}
.amp-ret-footer {
  margin-top: auto;
  padding: 12px 16px;
  background: var(--teal-soft);
  color: #0E3D32;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
  overflow-wrap: break-word;
  border-top: 1px solid rgba(14, 61, 50, 0.16);
}
.client-ret-pepper--solo {
  width: min(440px, 100%);
}
.view[data-route="client-region"] .client-ret-pepper--pair {
  position: relative;
  z-index: 2;
}
.view.funnel.trailhead[data-route="client"] .trailhead-sheet-stage,
.view.funnel.trailhead[data-route="client-specialty"] .trailhead-sheet-stage {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  justify-content: flex-start;
  padding-bottom: 28px;
}
@media (max-width: 640px) {
  .client-ret-pepper--pair {
    grid-template-columns: 1fr;
    width: min(440px, 100%);
  }
  .amp-ret-year { font-size: 22px; }
  .amp-ret-role { font-size: 14.5px; }
  .amp-ret-days { font-size: 12px; }
  .amp-ret-footer { font-size: 13px; letter-spacing: 0.035em; padding: 12px 14px; }
}

/* ========== amp-build:2140-hero-retention-led — DESKTOP ONLY client pickers + rich pepper ========== */
/* Mobile keeps 2138: single-column hire cards + lighter pepper (1 / 2 cards). Candidate path untouched. */

.client-ret-quiet-bump {
  display: none;
  font-weight: 700;
  color: rgba(232, 251, 243, 0.95);
}
.client-ret-pepper--trio {
  width: min(440px, 100%);
  margin: 12px auto 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 0 4px 12px;
  pointer-events: auto !important;
}
.client-ret-pepper--region {
  width: min(720px, 100%);
  margin: 16px auto 8px;
  padding: 0 4px 16px;
  pointer-events: auto !important;
  position: relative;
  z-index: 2;
}
.client-ret-sell-rail {
  display: none;
}
.client-ret-pepper-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
/* Mobile / narrow: hide desktop-only extras so pepper matches 2138 lightness */
.amp-ret-card--desktop {
  display: none;
}
.client-ret-pepper--region .client-ret-pepper-cards {
  grid-template-columns: 1fr;
  width: min(440px, 100%);
  margin: 0 auto;
}
@media (min-width: 641px) and (max-width: 899px) {
  .client-ret-pepper--region .client-ret-pepper-cards {
    width: min(720px, 100%);
    grid-template-columns: 1fr 1fr;
  }
  /* Still hide the 2015 desktop-only card on tablet — keep pair */
  .client-ret-pepper--region .amp-ret-card--desktop {
    display: none;
  }
}

@media (min-width: 900px) {
  /* —— Wider facility + specialty white step cards; 3×2 option grid —— */
  .view.funnel.trailhead[data-route="client"] .hire-sheet,
  .view.funnel.trailhead[data-route="client-specialty"] .hire-sheet,
  .view.funnel.client-spec-sheet .hire-sheet {
    width: min(920px, 94vw);
    max-width: 920px;
    padding: 22px 22px 24px;
  }
  .view.funnel.trailhead[data-route="client"] .hire-card-list,
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card-list,
  .view.funnel.client-spec-sheet .hire-card-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 14px;
  }
  .view.funnel.trailhead[data-route="client"] .hire-card,
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card,
  .view.funnel.client-spec-sheet .hire-card {
    display: flex;
    flex-direction: column;
    padding: 12px 14px 11px;
  }
  /* Facility cards can equalize in the grid. Specialty cards must not:
     min-height:0 + height:100% was collapsing them under the 16/9 stay story. */
  .view.funnel.trailhead[data-route="client"] .hire-card {
    height: 100%;
    min-height: 0;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card,
  .view.funnel.client-spec-sheet .hire-card {
    height: auto;
    min-height: 96px;
  }
  .view.funnel.trailhead[data-route="client"] .hire-card h3,
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card h3,
  .view.funnel.client-spec-sheet .hire-card h3 {
    font-size: 1rem;
    margin: 0 0 4px;
  }
  .view.funnel.trailhead[data-route="client"] .hire-card p,
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card p,
  .view.funnel.client-spec-sheet .hire-card p {
    flex: 1 1 auto;
    margin: 0 0 8px;
    font-size: 12.5px;
    line-height: 1.35;
  }
  .view.funnel.trailhead[data-route="client"] .hire-card .hire-select,
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card .hire-select,
  .view.funnel.client-spec-sheet .hire-card .hire-select {
    margin-top: auto;
  }
  .view.funnel.trailhead[data-route="client"] .hire-title,
  .view.funnel.trailhead[data-route="client-specialty"] .hire-title,
  .view.funnel.client-spec-sheet .hire-title {
    font-size: 1.4rem;
    margin: 0 0 14px;
  }
  .view.funnel.trailhead[data-route="client"] .trailhead-sheet-stage,
  .view.funnel.trailhead[data-route="client-specialty"] .trailhead-sheet-stage {
    padding: 88px 24px 32px;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
  }

  /* Facility quiet line — light bump only */
  .view.funnel.trailhead[data-route="client"] .client-ret-quiet {
    width: min(720px, 100%);
    font-size: 14px;
    margin-top: 14px;
  }
  .view.funnel.trailhead[data-route="client"] .client-ret-quiet-bump {
    display: inline;
  }

  /* Specialty: all three story cards in a horizontal desktop grid */
  .client-ret-pepper--trio {
    width: min(960px, 100%);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 18px auto 8px;
  }
  .client-ret-pepper--trio .amp-ret-card--desktop {
    display: flex;
  }
  .client-ret-pepper--trio .amp-ret-card {
    display: flex;
  }
  .client-ret-pepper--trio .amp-ret-year {
    font-size: 20px;
  }
  .client-ret-pepper--trio .amp-ret-card-body {
    padding: 10px 12px 8px;
  }
  .client-ret-pepper--trio .amp-ret-footer {
    padding: 8px 12px;
    font-size: 10.5px;
  }

  /* Region: left-rail sell + denser 3-card row (navy/sky/mint) */
  .client-ret-pepper--region {
    width: min(1040px, 96%);
    display: grid;
    grid-template-columns: minmax(200px, 260px) 1fr;
    gap: 16px 20px;
    align-items: stretch;
    margin: 20px auto 12px;
  }
  .client-ret-sell-rail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 18px 18px 16px;
    border-radius: 16px;
    background: linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 55%, #1e3a55 100%);
    border: 1px solid rgba(120, 196, 229, 0.28);
    box-shadow: 0 14px 36px rgba(21, 35, 50, 0.28);
    color: #f8fafc;
  }
  .client-ret-sell-kicker {
    margin: 0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sky);
  }
  .client-ret-sell-line {
    margin: 0;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
    color: rgba(248, 250, 252, 0.96);
  }
  .client-ret-sell-proof {
    margin: 4px 0 0;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    color: var(--teal);
  }
  .client-ret-pepper--region .client-ret-pepper-cards {
    width: 100%;
    margin: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .client-ret-pepper--region .amp-ret-card--desktop {
    display: flex;
  }
  .client-ret-pepper--region .amp-ret-card--dense {
    display: flex;
  }
  .client-ret-pepper--region .amp-ret-card-media {
    aspect-ratio: 16 / 10;
  }
  .client-ret-pepper--region .amp-ret-year {
    font-size: 18px;
  }
  .client-ret-pepper--region .amp-ret-role {
    font-size: 13px;
  }
  .client-ret-pepper--region .amp-ret-place {
    font-size: 11.5px;
  }
  .client-ret-pepper--region .amp-ret-days {
    font-size: 10px;
    margin-top: 6px;
  }
  .client-ret-pepper--region .amp-ret-card-body {
    padding: 9px 11px 7px;
  }
  .client-ret-pepper--region .amp-ret-footer {
    padding: 8px 11px;
    font-size: 10px;
    letter-spacing: 0.05em;
  }
}

/* Preserve pair fallback if any leftover markup */
.client-ret-pepper--pair {
  width: min(720px, 100%);
}
@media (max-width: 640px) {
  .client-ret-pepper--trio {
    width: min(440px, 100%);
    grid-template-columns: 1fr;
  }
  .client-ret-pepper--region .client-ret-pepper-cards {
    width: min(440px, 100%);
    grid-template-columns: 1fr;
  }
  /* Mobile region: show the two non-desktop cards (2018 + 2021) stacked like 2138 pair */
  .client-ret-pepper--region .amp-ret-card--desktop {
    display: none;
  }
}


/* amp-build:2141-david-cleanup — sitewide nav/logo clearance (no title run-into lockup) */
:root {
  --amp-nav-clear: calc(72px + env(safe-area-inset-top, 0px));
}
.site-nav.is-home ~ main .view.funnel > .view-chrome > .hero-band,
.site-nav.is-home ~ main .view.page > .view-chrome > .hero-band,
main .view.funnel.on > .view-chrome > .hero-band,
main .view.page.funnel.on > .view-chrome > .hero-band,
.view.funnel.on > .view-chrome > .hero-band,
.view.guides-view.on > .view-chrome > .hero-band,
.view.funnel.on .hero-band,
.guides-view .hero-band,
.view[data-route="physician-jobs"] .hero-band,
.view[data-route="guides"] .hero-band,
.view[data-route="education"] .hero-band,
.view[data-route="mpc"] .hero-band,
.view[data-route="confirm-client"] .hero-band,
.view[data-route="confirm-mess"] .hero-band {
  padding-top: max(48px, var(--amp-nav-clear)) !important;
}
.site-nav .brand.brand-lockup {
  margin-right: 8px;
}
.site-nav .nav-links a,
.site-nav .nav-links button.nav-link {
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .site-nav .nav-links a.hide-sm,
  .site-nav .nav-links .hide-sm { /* keep existing hide rules */ }
  .brand.brand-lockup .brand-lockup-img {
    width: clamp(140px, 22vw, 190px);
    max-height: 48px;
  }
}

/* amp-build:2141 — MI metric chooser as list (David: Change to list) */
.ridge-workbench .metric-bar,
#ridge-metric-bar.metric-bar,
.mi-lite-dashboard .metric-bar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  flex-wrap: nowrap;
  max-width: 280px;
  overflow: visible;
}
.ridge-workbench .metric-bar .metric-label,
#ridge-metric-bar .metric-label {
  display: block;
  margin: 0 0 4px;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .72;
}
.ridge-workbench .metric-btn,
#ridge-metric-bar .metric-btn {
  display: block;
  width: 100%;
  text-align: left;
  border-radius: 10px;
  padding: 8px 12px;
  white-space: normal;
}
@media (max-width: 900px) {
  .ridge-workbench .metric-bar,
  #ridge-metric-bar.metric-bar,
  .mi-lite-dashboard .metric-bar {
    max-width: none;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .ridge-workbench .metric-btn,
  #ridge-metric-bar .metric-btn {
    width: auto;
  }
}


/* ========== amp-build:2142-engagement-pass — widen home column + retention strip + client Zach band ========== */

/* Proof pills share full column width (not a skinny centered island) */
.home-path-column .home-proof,
.home-path-column .home-proof-subtle,
.home-proof-stack .home-proof,
.home-proof-stack .proof-chips {
  width: 100%;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.home-path-column .home-proof .proof-chip,
.home-proof-stack .proof-chip {
  flex: 1 1 0;
  text-align: center;
  min-width: 120px;
}

/* Homepage Zach-style retention strip — under path/MI/proof, same column */
.home-path-column .home-ret-strip {
  width: 100%;
  margin: 22px 0 8px;
  padding: 0;
  box-sizing: border-box;
}
.home-ret-strip-kicker {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 780;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6BE0AD;
  text-align: center;
}
.home-ret-strip-title {
  margin: 0 0 16px;
  font-size: clamp(1.2rem, 2.6vw, 1.55rem);
  font-weight: 720;
  letter-spacing: -0.02em;
  color: #f8fafc;
  text-align: center;
  text-shadow: 0 2px 16px rgba(0,0,0,0.35);
}
.home-ret-strip-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.home-ret-strip .amp-ret-card {
  background: rgba(255,255,255,0.97);
}
@media (max-width: 760px) {
  .home-ret-strip-grid {
    grid-template-columns: 1fr;
    max-width: 440px;
    margin: 0 auto;
  }
  .home-path-column .home-proof .proof-chip,
  .home-proof-stack .proof-chip {
    flex: 1 1 calc(50% - 10px);
    min-width: 0;
  }
}

/* Client step 1 — slim one-story teaser (keeps facility step light) */
.client-ret-teaser {
  width: min(440px, 100%);
  margin: 12px auto 0;
  padding: 0 4px 8px;
}
.amp-ret-card--slim {
  display: grid;
  grid-template-columns: 112px 1fr;
  grid-template-rows: 1fr auto;
  align-items: stretch;
}
.amp-ret-card--slim .amp-ret-card-media {
  grid-row: 1 / 3;
  aspect-ratio: auto;
  height: 100%;
  min-height: 96px;
}
.amp-ret-card--slim .amp-ret-card-body {
  padding: 10px 12px 6px;
}
.amp-ret-card--slim .amp-ret-footer {
  grid-column: 2;
}
.amp-ret-card--slim .amp-ret-year {
  font-size: 18px;
}
@media (min-width: 900px) {
  .client-ret-teaser {
    width: min(560px, 100%);
  }
}

/* Client step 2 — richer trio already; ensure desktop 3-col and readable */
@media (min-width: 900px) {
  .client-ret-pepper--trio {
    width: min(1080px, 96%);
  }
}

/* ========== amp-build:2150-client-step2-zach-banner — 3-zone One provider (facility step) ========== */
.client-zach-band {
  position: relative;
  z-index: 2;
  width: min(1080px, 100%);
  margin: 18px auto 10px;
  display: grid;
  grid-template-columns: minmax(220px, 1.05fr) minmax(250px, 1.2fr) minmax(148px, 0.52fr);
  align-items: stretch;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid var(--navy);
  box-shadow: 0 16px 40px rgba(21, 35, 50, 0.22);
  pointer-events: auto;
}
.client-zach-photo {
  position: relative;
  min-height: 248px;
  overflow: hidden;
  background: #6a7a6c;
}
.client-zach-photo-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 35% 45%;
  filter: saturate(1.45) contrast(1.2) sepia(0.08) brightness(1.28);
}
.client-zach-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(12, 14, 18, 0.38) 0%, rgba(12, 14, 18, 0.16) 46%, transparent 72%);
  pointer-events: none;
}
.client-zach-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 52%, rgba(255, 255, 255, 0.58) 82%, #fff 100%),
    linear-gradient(180deg, rgba(255, 154, 72, 0.32) 0%, rgba(255, 154, 72, 0.08) 42%, rgba(20, 24, 32, 0.12) 100%);
  pointer-events: none;
}
.client-zach-title {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 28px 22px 28px 26px;
  max-width: 15ch;
  font-family: var(--font), system-ui, sans-serif;
  font-size: clamp(1.32rem, 2.35vw, 1.82rem);
  font-weight: 760;
  letter-spacing: -0.028em;
  line-height: 1.14;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.48);
}
.client-zach-mid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 18px 18px 6px;
  background: #fff;
}
.client-zach-benefits {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}
.client-zach-benefits li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.35;
  color: var(--navy);
  font-weight: 560;
}
.client-zach-benefits li::before { display: none; }
.client-zach-ico {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: var(--navy);
  margin-top: 1px;
}
.client-zach-ico svg {
  display: block;
  width: 100%;
  height: 100%;
}
.client-zach-closer {
  margin: 10px 0 0;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--navy);
}
.client-zach-end {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 18px 16px 18px 14px;
  border-left: 1px solid rgba(21, 35, 50, 0.16);
  background: #fff;
}
.client-zach-script {
  margin: 0;
  font-family: "Caveat", "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  font-size: clamp(1.5rem, 2.15vw, 1.9rem);
  font-weight: 600;
  font-style: italic;
  line-height: 1.18;
  color: var(--navy-2);
}
.client-zach-swoosh {
  position: relative;
  display: inline-block;
}
.client-zach-swoosh::after {
  content: "";
  position: absolute;
  left: -6%;
  right: -10%;
  bottom: -3px;
  height: 11px;
  background: no-repeat center / 100% 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 14' fill='none'%3E%3Cpath d='M2 9c28 6 52-7 80-5 22 1.5 48 8 76 2' stroke='%236BE0AD' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E");
  pointer-events: none;
}
@media (min-width: 900px) {
  .view.funnel.trailhead[data-route="client"] .client-zach-band {
    width: min(1080px, 100%);
  }
}
@media (max-width: 899px) {
  .client-zach-band {
    grid-template-columns: 1fr;
    width: min(560px, calc(100% - 16px));
    margin: 14px auto 10px;
  }
  .client-zach-photo {
    min-height: 188px;
  }
  .client-zach-photo::after {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 58%, #fff 100%),
      linear-gradient(90deg, rgba(255, 154, 72, 0.22), transparent 70%);
  }
  .client-zach-title {
    max-width: 16ch;
    padding: 22px 18px 40px;
  }
  .client-zach-mid {
    padding: 4px 18px 14px;
  }
  .client-zach-end {
    border-left: 0;
    border-top: 1px solid rgba(21, 35, 50, 0.1);
    padding: 6px 20px 18px;
  }
  /* Mobile: keep single-column; don't force desktop 3-col emptiness */
  .client-ret-pepper--trio {
    width: min(440px, 100%);
    grid-template-columns: 1fr;
  }
}

/* Region pepper — keep usable under Zach band; desktop 3-col already from 2139/2140 */
@media (min-width: 900px) {
  .client-ret-pepper--region {
    width: min(1080px, 96%);
  }
}

.ridge-workbench .aspects-bar {
  display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px;
  margin:0 0 10px; padding:8px 10px;
  background:rgba(15,23,42,.04);
  border:1px solid var(--ridge-border, #e2e8f0); border-radius:12px;
}
.ridge-workbench .aspects-label {
  font-size:11px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ridge-muted); padding-top:6px;
}
.ridge-workbench .aspects-chips { display:flex; flex-wrap:wrap; gap:6px; flex:1; min-width:0; }
.ridge-workbench .aspect-chip {
  border:1px solid var(--ridge-border, #e2e8f0); background:#fff;
  color:var(--ridge-muted); border-radius:999px; padding:6px 11px;
  font-size:12px; font-weight:650; cursor:pointer;
}
.ridge-workbench .aspect-chip.active {
  background:rgba(42,155,181,.16); border-color:#2a9bb5; color:#0e7490;
}
.ridge-workbench .aspects-note { font-size:11px; color:var(--ridge-muted); width:100%; margin:2px 0 0; }
.ridge-workbench .aspects-story {
  margin:0 0 12px; padding:10px 12px;
  border:1px solid var(--ridge-border, #e2e8f0); border-radius:12px;
  background:rgba(15,23,42,.03);
}
.ridge-workbench .aspects-story h4 {
  margin:0 0 6px; font-size:12px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:#0e7490;
}
.ridge-workbench .aspects-story .as-item { margin:0 0 8px; padding-bottom:8px; border-bottom:1px solid rgba(148,163,184,.35); }
.ridge-workbench .aspects-story .as-item:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.ridge-workbench .aspects-story .as-name { font-weight:700; font-size:13px; }
.ridge-workbench .aspects-story .as-move { font-size:12px; color:var(--ridge-muted); margin-top:2px; line-height:1.35; }
.ridge-workbench .aspects-story .as-hook { font-size:12px; margin-top:4px; color:#0e7490; line-height:1.35; }
.ridge-workbench .aspects-story .as-pending { font-size:11px; color:#b45309; margin-top:3px; }
.ridge-workbench .aspects-story .as-empty { font-size:12px; color:var(--ridge-muted); }
.ridge-workbench .aspect-chip,
#hoverCardToggle button,
#miPlaceDrawJumps button {
  touch-action: manipulation;
}


/* ========== amp-build:2149-client-step3-ret-strip — 4-card strip on client-specialty ========== */
.home-ret-strip-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.home-ret-strip .amp-ret-card.amp-ret-card--proof,
.amp-ret-card.amp-ret-card--proof {
  display: flex;
  flex-direction: column;
  background: var(--navy);
  border: 1px solid rgba(120, 196, 229, 0.55);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(8, 14, 22, 0.35);
  overflow: hidden;
  color: #f8fafc;
  min-height: 100%;
}
.amp-ret-proof-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 16px 14px;
}
.amp-ret-proof-eyebrow {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #78C4E5;
}
.amp-ret-proof-lead {
  margin: 0;
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 720;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: #ffffff;
}
.amp-ret-proof-footer {
  margin-top: auto;
  padding: 12px 16px;
  background: transparent;
  border-top: 1px solid rgba(120, 196, 229, 0.28);
  color: #6BE0AD;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-transform: none;
}
.client-step3-ret-strip {
  width: min(1080px, 100%);
  margin: 18px auto 8px;
  padding: 0 4px 12px;
  box-sizing: border-box;
}
.client-step3-ret-strip .home-ret-strip-kicker,
.client-step3-ret-strip .home-ret-strip-title {
  display: none;
}
.client-step3-ret-strip .amp-ret-card:not(.amp-ret-card--proof) {
  background: rgba(255, 255, 255, 0.97);
}
/* 4-col step3: keep the 2151 type strengthen without a 3-line ragged footer */
@media (min-width: 900px) {
  .home-ret-strip-grid--4 .amp-ret-card:not(.amp-ret-card--proof) .amp-ret-footer {
    font-size: 12.5px;
    letter-spacing: 0.02em;
    padding: 11px 12px;
    line-height: 1.3;
    text-wrap: balance;
  }
}
@media (min-width: 900px) {
  .view.funnel.trailhead[data-route="client-specialty"] .trailhead-sheet-stage {
    max-width: 1120px;
  }
  .client-step3-ret-strip {
    width: min(1080px, 100%);
    margin-top: 20px;
  }
}
@media (max-width: 899px) {
  .home-ret-strip-grid--4 {
    grid-template-columns: 1fr;
    max-width: 440px;
    margin: 0 auto;
  }
  .client-step3-ret-strip {
    width: min(440px, 100%);
  }
}

/* ========== amp-build:2152-hero-rotating-ret-card — compact hero gutter mock ========== */
.explore-ad-copy {
  min-width: 0;
}
.hero-ret-rotator {
  position: relative;
  z-index: 4;
  width: min(248px, 100%);
  margin: 14px 0 6px;
  flex: 0 0 auto;
  pointer-events: auto;
}
.hero-ret-rotator-stage {
  display: grid;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.28);
  box-shadow: 0 10px 28px rgba(21, 35, 50, 0.22);
}
.hero-ret-mini {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  pointer-events: none;
}
.hero-ret-mini[hidden] {
  display: flex;
}
.hero-ret-mini.is-on {
  opacity: 1;
  visibility: visible;
  z-index: 1;
  pointer-events: auto;
}
.hero-ret-mini-inner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px 8px;
}
.hero-ret-mini-photo {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 8px;
  flex: 0 0 44px;
  background: var(--mist);
}
.hero-ret-mini-copy {
  min-width: 0;
}
.hero-ret-mini-year {
  margin: 0 0 2px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: var(--navy);
  line-height: 1.05;
}
.hero-ret-mini-role {
  margin: 0;
  font-size: 13px;
  font-weight: 780;
  color: var(--navy);
  line-height: 1.25;
}
.hero-ret-mini-place {
  margin: 2px 0 0;
  font-size: 11.5px;
  font-weight: 600;
  color: #475569;
  line-height: 1.3;
}
.hero-ret-mini-footer {
  margin-top: auto;
  padding: 8px 12px;
  background: var(--teal-soft);
  color: #0E3D32;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.3;
  border-top: 1px solid rgba(14, 61, 50, 0.16);
}
.hero-ret-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
}
.hero-ret-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(232, 238, 242, 0.42);
  box-shadow: 0 0 0 1px rgba(21, 35, 50, 0.18);
  cursor: pointer;
}
.hero-ret-dot.is-on {
  background: #6BE0AD;
  box-shadow: 0 0 0 1px rgba(14, 61, 50, 0.28);
}
.hero-ret-dot:focus-visible {
  outline: 2px solid #78C4E5;
  outline-offset: 2px;
}

/* Desktop: sit in the mid-right gutter — right of H1, left of the photo subject */
@media (min-width: 900px) {
  .explore-block-ad {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 28px;
  }
  .explore-ad-copy {
    flex: 0 1 auto;
    width: fit-content;
  }
  /* Title column sets the width; partners line matches the H1 */
  .explore-block-ad .explore-title {
    width: 18ch;
    max-width: 18ch;
  }
  .explore-block-ad .explore-sub {
    width: 100%;
    max-width: none;
  }
  .hero-ret-rotator {
    width: 220px;
    margin: 10px 0 0;
    align-self: center;
  }
}

/* Keep the card out of the woman's face on mid-width desktops */
@media (min-width: 900px) and (max-width: 1099px) {
  .explore-block-ad {
    gap: 18px;
  }
  .hero-ret-rotator {
    width: 196px;
  }
}

/* amp-build:2153 — mobile: slim full-width banner flush under the H1.
   Desktop 900px+ gutter card (rules above) stays as-is. */

@media (max-width: 899px) {
  .explore-block-ad {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  /* Unwrap copy so the rotator can sit directly under the H1, above the subline */
  .explore-ad-copy {
    display: contents;
  }
  .explore-block-ad .explore-kicker {
    order: 1;
  }
  .explore-block-ad .explore-title {
    order: 2;
    max-width: none;
  }
  .hero-ret-rotator {
    order: 3;
    width: 100%;
    max-width: none;
    margin: 8px 0 0;
    align-self: stretch;
    flex: 0 0 auto;
  }
  .explore-block-ad .explore-sub {
    order: 4;
    margin-top: 12px;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
    font-size: clamp(16px, 4.4vw, 20px);
    font-weight: 700;
    text-align: left;
  }
  .hero-ret-rotator-stage {
    background: rgba(21, 35, 50, 0.28);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    border-top: 1px solid rgba(232, 238, 242, 0.16);
    border-bottom: 1px solid rgba(232, 238, 242, 0.16);
  }
  .hero-ret-mini {
    flex-direction: row;
    align-items: center;
  }
  .hero-ret-mini-inner {
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
  }
  .hero-ret-mini-photo {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 4px;
  }
  .hero-ret-mini-copy {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 8px;
    row-gap: 0;
  }
  .hero-ret-mini-year {
    margin: 0;
    font-size: 13px;
    font-weight: 800;
    color: #F4F8FB;
    letter-spacing: -0.03em;
  }
  .hero-ret-mini-role {
    font-size: 12px;
    font-weight: 720;
    color: #F4F8FB;
  }
  .hero-ret-mini-place {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    color: rgba(232, 238, 242, 0.78);
  }
  .hero-ret-mini-footer {
    margin-top: 0;
    flex: 0 0 auto;
    max-width: 9.5rem;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    background: transparent;
    color: #6BE0AD;
    font-size: 9.5px;
    line-height: 1.2;
    border-top: 0;
    border-left: 1px solid rgba(232, 238, 242, 0.16);
  }
  .hero-ret-dots {
    margin-top: 4px;
    gap: 5px;
    justify-content: flex-start;
    padding: 0 10px;
  }
  .hero-ret-dot {
    width: 5px;
    height: 5px;
    background: rgba(232, 238, 242, 0.28);
    box-shadow: none;
  }
  .hero-ret-dot.is-on {
    background: #6BE0AD;
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-ret-mini {
    transition: none;
  }
}

/* ========== amp-build:2155-home-placements-map — homepage strip, not MI workbench ========== */
.home-place-map-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(210px, 0.7fr);
  gap: 14px;
  align-items: stretch;
  background: rgba(248, 250, 252, 0.97);
  border: 1px solid rgba(232, 238, 242, 0.22);
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 12px 32px rgba(8, 16, 28, 0.18);
}
.home-place-map-wrap {
  position: relative;
  min-height: 280px;
  border-radius: 12px;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(13, 148, 136, 0.06), transparent 58%),
    linear-gradient(180deg, #ffffff 0%, #f3f6fa 100%);
  border: 1px solid #d5dee8;
  padding: 8px 6px 4px;
}
.home-place-map-host {
  width: 100%;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-place-map-host svg {
  width: 100%;
  height: auto;
  max-height: min(46vh, 420px);
  display: block;
  overflow: visible;
}
.home-place-map-host path[data-state] {
  fill: #c9d6e0;
  stroke: #8fa3b3;
  stroke-width: 1;
  cursor: pointer;
  transition: fill 0.16s ease;
  vector-effect: non-scaling-stroke;
}
.home-place-map-host path.ne,
.home-place-map-host path.ks,
.home-place-map-host path[data-state="ne"],
.home-place-map-host path[data-state="ks"] {
  fill: #2a9d8f !important;
  stroke: #14786e;
}
.home-place-map-host path[data-state].has-story {
  fill: #2a9d8f;
  stroke: #14786e;
}
.home-place-map-host path[data-state].is-hover,
.home-place-map-host path[data-state].is-on {
  fill: #14786e;
  stroke: #ffffff;
  stroke-width: 1.6;
}
.home-place-map-host path[data-state].has-story.is-hover,
.home-place-map-host path[data-state].has-story.is-on {
  fill: #0f6f66;
}
.home-place-pin {
  fill: #f8fafc;
  stroke: #0f6f66;
  stroke-width: 2;
  cursor: pointer;
  filter: drop-shadow(0 1px 2px rgba(15, 23, 42, 0.28));
}
.home-place-pin.is-on {
  fill: #6be0ad;
}
.home-place-map-tip {
  position: absolute;
  z-index: 4;
  pointer-events: none;
  min-width: 150px;
  max-width: min(220px, 80%);
  padding: 8px 10px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
  color: #152033;
  font-size: 12px;
  line-height: 1.3;
}
.home-place-map-tip strong {
  display: block;
  font-size: 13px;
  font-weight: 780;
  letter-spacing: -0.02em;
}
.home-place-map-tip span {
  display: block;
  margin-top: 2px;
  color: #5b6b82;
  font-weight: 650;
}
.home-place-map-panel {
  min-height: 100%;
  padding: 12px 12px 10px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #d5dee8;
  color: #152033;
}
.home-place-map-state {
  margin: 0 0 2px;
  font-size: 15px;
  font-weight: 780;
  letter-spacing: -0.02em;
  color: #0f172a;
}
.home-place-map-count,
.home-place-map-hint {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 650;
  color: #5b6b82;
}
.home-place-map-lead {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  color: #152033;
}
.home-place-story {
  padding: 8px 0 10px;
  border-top: 1px solid #e6edf3;
}
.home-place-story:first-of-type {
  border-top: 0;
  padding-top: 2px;
}
.home-place-story-year {
  margin: 0 0 2px;
  font-size: 20px;
  font-weight: 820;
  letter-spacing: -0.03em;
  color: #0f172a;
}
.home-place-story-role {
  margin: 0;
  font-size: 14px;
  font-weight: 750;
  color: #152033;
}
.home-place-story-place {
  margin: 2px 0 0;
  font-size: 12.5px;
  font-weight: 650;
  color: #475569;
}
.home-place-story-days {
  margin: 6px 0 0;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0f766e;
}
.home-place-story-stay {
  margin: 6px 0 0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #0b3d36;
}
.home-place-map-fallback {
  margin: 0;
  padding: 28px 12px;
  text-align: center;
  color: #5b6b82;
  font-size: 13px;
}
@media (max-width: 760px) {
  .home-place-map-stage {
    grid-template-columns: 1fr;
    padding: 10px;
    gap: 10px;
  }
  .home-place-map-wrap,
  .home-place-map-host {
    min-height: 220px;
  }
  .home-place-map-host svg {
    max-height: min(42vh, 320px);
  }
  .home-place-map-panel {
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-place-map-host path[data-state] {
    transition: none;
  }
}

/* ========== amp-build:2156-mi-place-draw-heat — public MI Aspects + AmpMiPlaceDraw 20260919d ========== */
html.mi-place-draw-on .ridge-workbench .map-wrap,
html.mi-place-draw-on .ridge-map-container {
  background:
    radial-gradient(ellipse at 50% 40%, rgba(42,155,181,.08), transparent 55%),
    linear-gradient(180deg,#ffffff 0%,#eef2f6 100%);
}
html.mi-place-draw-on .ridge-map-container path[data-state],
html.mi-place-draw-on .ridge-map-container circle[data-state] {
  fill: #b7c4d4 !important;
  stroke: #8fa0b5;
}
html.mi-place-draw-on .ridge-map-container path[data-state].selected,
html.mi-place-draw-on .ridge-map-container circle[data-state].selected,
html.mi-place-draw-on .ridge-map-container path[data-state].is-hover,
html.mi-place-draw-on .ridge-map-container circle[data-state].is-hover,
html.mi-place-draw-on .ridge-map-container path[data-state].pd-pin-selected,
html.mi-place-draw-on .ridge-map-container circle[data-state].pd-pin-selected {
  fill: #b7c4d4 !important;
  filter: none !important;
  -webkit-filter: none !important;
  animation: none;
}
#placeDrawHeatLayer {
  pointer-events: none;
}
html.mi-place-draw-on #placeDrawSelectionOutline .pd-outline,
html.mi-place-draw-on #placeDrawSelectionOutline path {
  fill: none !important;
  stroke: #0B3A4D !important;
  stroke-width: 2.8px !important;
  stroke-opacity: 0.92;
  stroke-linejoin: round !important;
  stroke-linecap: round !important;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
  filter: url(#ampStateBorderGlow) !important;
  -webkit-filter: url(#ampStateBorderGlow) !important;
  animation: miPdStrokePulse 1.6s ease-in-out infinite;
}
@keyframes miPdStrokePulse {
  0%, 100% { stroke-width: 2.6px; }
  50% { stroke-width: 3.4px; }
}
.ridge-map-container path[data-state].aspect-hpsa-pressure {
  stroke: #d97706 !important;
  stroke-width: 1.6px !important;
  stroke-dasharray: 3 2;
}
.ridge-workbench .map-wrap.aspect-cah-on path[data-state].aspect-hpsa-pressure,
.ridge-workbench .map-wrap.aspect-fqhc-on path[data-state].aspect-hpsa-pressure {
  stroke: #b45309 !important;
}
.ridge-workbench .map-wrap.aspect-day-load-on {
  box-shadow: inset 0 0 0 3px rgba(217,119,6,.28), 0 8px 24px rgba(15,23,42,.05);
}
.ridge-workbench .map-wrap.aspect-support-on {
  box-shadow: inset 0 0 0 3px rgba(124,58,237,.22), 0 8px 24px rgba(15,23,42,.05);
}
.ridge-workbench .map-wrap.aspect-cms-on {
  box-shadow: inset 0 0 0 3px rgba(2,132,199,.22), 0 8px 24px rgba(15,23,42,.05);
}
.ridge-workbench .map-wrap.aspect-specialty-supply-on::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 3px 0 0 rgba(14,116,144,.5);
  border-radius: inherit;
}
.ridge-workbench .map-wrap.aspect-day-load-on.aspect-support-on {
  box-shadow:
    inset 0 0 0 3px rgba(217,119,6,.26),
    inset 0 0 0 6px rgba(124,58,237,.18),
    0 8px 24px rgba(15,23,42,.05);
}
.ridge-workbench .map-wrap.aspect-day-load-on.aspect-cms-on {
  box-shadow:
    inset 0 0 0 3px rgba(217,119,6,.26),
    inset 0 0 0 6px rgba(2,132,199,.18),
    0 8px 24px rgba(15,23,42,.05);
}
.ridge-workbench .map-wrap.aspect-support-on.aspect-cms-on {
  box-shadow:
    inset 0 0 0 3px rgba(124,58,237,.22),
    inset 0 0 0 6px rgba(2,132,199,.18),
    0 8px 24px rgba(15,23,42,.05);
}
.ridge-workbench .map-wrap.aspect-day-load-on.aspect-support-on.aspect-cms-on {
  box-shadow:
    inset 0 0 0 3px rgba(217,119,6,.24),
    inset 0 0 0 6px rgba(124,58,237,.16),
    inset 0 0 0 9px rgba(2,132,199,.14),
    0 8px 24px rgba(15,23,42,.05);
}
.ridge-workbench.aspect-raw-on .bench-card.comp.bench-featured,
.ridge-workbench .bench-card.comp.raw-aspect-on {
  box-shadow: 0 0 0 2px rgba(42,155,181,.38);
  background: linear-gradient(180deg, rgba(42,155,181,.08), #fff 58%);
}
.ridge-sidebar .raw-cash-note,
.ridge-sidebar .cms-tri-note {
  font-size: 12px;
  line-height: 1.35;
  margin: 6px 0 8px;
}
.ridge-sidebar .raw-cash-note { color: #0e7490; }
.ridge-sidebar .cms-tri-note { color: #0369a1; }
.ridge-aspect-map-banner {
  position: absolute;
  left: 14px; top: 12px;
  z-index: 5;
  display: flex; flex-wrap: wrap; gap: 6px;
  max-width: min(520px, calc(100% - 28px));
  pointer-events: none;
}
.ridge-aspect-map-banner[hidden] { display: none !important; }
.ridge-aspect-map-banner span {
  background: rgba(255,255,255,.94);
  border: 1px solid #cfd7e3;
  color: #152033;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 650;
  box-shadow: 0 4px 14px rgba(15,23,42,.06);
}
.ridge-workbench .map-wrap.aspect-raw-on .ridge-aspect-map-banner span:first-child {
  border-color: #2a9bb5;
  color: #0B3A4D;
}
#mi-place-draw-chrome {
  display: flex; flex-wrap: wrap; gap: 8px 12px;
  align-items: center; margin: 8px 0 0;
  font-size: 11px; color: #334155;
}
#mi-place-draw-chrome .pd-chrome-label {
  font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #0B3A4D;
  width: 100%;
}
#mi-place-draw-chrome .pd-chrome-row {
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
}
#hoverCardToggle button, #miPlaceDrawJumps button {
  border: 1px solid var(--ridge-border); background: #fff; color: var(--ridge-muted);
  border-radius: 999px; padding: 5px 10px; font-size: 11px; font-weight: 650; cursor: pointer;
}
#hoverCardToggle button.active, #miPlaceDrawJumps button.active {
  background: rgba(42,155,181,.16); border-color: #2a9bb5; color: #0B3A4D;
}
#mi-place-draw-panel {
  margin: 0 0 12px; padding: 10px 12px;
  border: 1px solid var(--ridge-border, #e2e8f0); border-radius: 12px;
  background: rgba(42,155,181,.06);
}
#mi-place-draw-panel .pd-panel-head { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #0e7490; }
#mi-place-draw-panel .pd-score { margin: 6px 0 4px; font-size: 13px; }
#mi-place-draw-panel .pd-bands { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 10px; font-size: 11px; margin: 6px 0; }
#mi-place-draw-panel .pd-note { font-size: 11px; color: #64748b; }
#placeHoverCard {
  position: absolute; z-index: 9;
  width: min(320px, calc(100% - 28px));
  max-width: 320px;
  pointer-events: none;
  display: none;
  left: 16px; top: 16px;
}
#placeHoverCard.show { display: block; }
#placeHoverCard .hc-inner {
  background: #0B3A4D;
  color: #ffffff;
  border: 1px solid rgba(42,155,181,0.35);
  border-left: 4px solid #14b8a6;
  border-radius: 12px;
  padding: 12px 14px 13px;
  box-shadow: 0 12px 28px rgba(15,23,42,0.18);
}
#placeHoverCard .hc-loc { font-size: 13px; font-weight: 700; margin: 0 0 6px; }
#placeHoverCard .hc-score {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  margin: 0 0 8px; font-size: 12px; color: rgba(238,243,248,0.88);
}
#placeHoverCard .hc-score strong { font-size: 22px; font-weight: 700; letter-spacing: -.02em; color: #fff; }
#placeHoverCard .hc-mode { font-size: 11px; font-weight: 700; color: #5eead4; }
#placeHoverCard .hc-amenity { margin: 0 0 8px; font-size: 12px; color: rgba(238,243,248,.78); }
#placeHoverCard .hc-amenity b { color: #5eead4; margin-left: 4px; }
#placeHoverCard .hc-bands {
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px;
  margin: 0 0 10px; font-size: 11px; font-variant-numeric: tabular-nums;
}
#placeHoverCard .hc-bands span { display: flex; justify-content: space-between; gap: 8px; color: rgba(238,243,248,.78); }
#placeHoverCard .hc-bands .t-red { color: #f87171; font-weight: 700; font-style: normal; }
#placeHoverCard .hc-bands .t-comp { color: #fbbf24; font-weight: 700; font-style: normal; }
#placeHoverCard .hc-bands .t-magnet { color: #60a5fa; font-weight: 700; font-style: normal; }
#placeHoverCard .hc-bands .t-dest { color: #a78bfa; font-weight: 700; font-style: normal; }
#placeHoverCard .hc-bands b { color: #fff; font-weight: 650; }
#placeHoverCard .hc-blurb { margin: 0; font-size: 11.5px; line-height: 1.45; color: rgba(255,255,255,.92); }
#placeHoverCard .hc-dismiss {
  position: absolute; top: 8px; right: 8px;
  width: 32px; height: 32px; border: 0; border-radius: 999px;
  background: rgba(255,255,255,.12); color: #fff;
  font-size: 14px; line-height: 1; cursor: pointer;
  pointer-events: auto;
}
#placeHoverCard .hc-inner { position: relative; padding-right: 36px; }
#placeHoverCard .hc-mobile-hint { display: none; margin: 8px 0 0; font-size: 11px; color: rgba(255,255,255,.78); }
#placeHoverCard.pd-docked,
body.mi-mobile #placeHoverCard.show {
  left: 8px !important; right: 8px !important; top: auto !important; bottom: 8px !important;
  width: auto !important; max-width: none;
  pointer-events: auto;
}
body.mi-mobile #placeHoverCard .hc-mobile-hint,
#placeHoverCard.pd-docked .hc-mobile-hint { display: block; }
.ridge-workbench .aspects-story .as-item.as-live .as-name { color: #0e7490; }

/* Phone ~390: MI map + Aspects usable; desktop rules above stay as designed */
@media (max-width: 430px) {
  .ridge-workbench { padding: 8px; }
  .ridge-workbench .aspects-bar { padding: 8px; gap: 6px; }
  .ridge-workbench .aspects-chips { gap: 6px; }
  .ridge-workbench .aspect-chip {
    padding: 9px 12px;
    min-height: 40px;
    font-size: 13px;
  }
  .ridge-main-stage { grid-template-columns: 1fr; min-height: 0; }
  .ridge-workbench .map-wrap { min-height: 0; padding: 8px 8px 8px; }
  .ridge-map-container {
    min-height: 248px;
    touch-action: none;
  }
  .ridge-map-container svg {
    padding: 0;
    max-height: none;
    height: auto;
    min-height: 248px;
  }
  html.mi-place-draw-on .ridge-map-container {
    min-height: 260px;
  }
  html.mi-place-draw-on #placeDrawSelectionOutline .pd-outline,
  html.mi-place-draw-on #placeDrawSelectionOutline path {
    stroke-width: 2.2px !important;
    stroke: #0B3A4D !important;
  }
  .ridge-aspect-map-banner {
    left: 8px; top: 8px;
    max-width: calc(100% - 16px);
  }
  .ridge-aspect-map-banner span { font-size: 10px; padding: 3px 8px; }
  #placeHoverCard {
    width: min(300px, calc(100% - 12px));
    max-width: calc(100% - 12px);
    left: 6px; top: 6px;
  }
  #mi-place-draw-chrome { margin-top: 6px; }
  #hoverCardToggle button,
  #miPlaceDrawJumps button {
    min-height: 36px;
    padding: 7px 10px;
  }
  .ridge-sidebar { max-height: none; min-height: 0; }
  .ridge-form-grid { grid-template-columns: 1fr; }
  .ridge-controls select,
  #mi-app-specialty,
  #ridge-app-walk-specialty,
  #ridge-app-walk-state,
  #ridge-demo-specialty,
  #ridge-demo-state {
    width: 100%;
    min-height: 44px;
    font-size: 16px; /* iOS: no input-zoom */
  }
  .ridge-workbench .metric-btn { min-height: 36px; }
}

/* ========== amp-build:2157-mi-map-pinch-zoom — pinch/pan host ========== */
.ridge-map-container.is-zoomed,
.ridge-map-container.is-pinching {
  overflow: hidden;
}
.ridge-map-container.is-zoomed svg,
.ridge-map-container.is-pinching svg {
  transform-origin: 0 0;
}
@media (max-width: 899px) {
  .ridge-map-container {
    overflow: hidden;
  }
}

/* PLACE_DRAW_MOBILE_BORDER_PASS_20260919d — thinner/softer selection on phones only */
@media (max-width: 768px) {
  .ridge-map-container path[data-state].selected,
  .ridge-map-container circle[data-state].selected {
    stroke-width: 1.2px !important;
    stroke-opacity: .88;
    filter: none !important;
    -webkit-filter: none !important;
    animation: ridgeStrokePulseMobile 1.5s ease-in-out infinite;
  }
  .ridge-map-container .outline-selected {
    stroke-width: 1.3px !important;
    stroke-opacity: .86;
    filter: url(#ampStateBorderGlowMobile) !important;
    -webkit-filter: url(#ampStateBorderGlowMobile) !important;
    animation: ridgeStrokePulseMobile 1.5s ease-in-out infinite;
  }
  html.mi-place-draw-on #ridge-map-container path[data-state].selected,
  html.mi-place-draw-on #ridge-map-container circle[data-state].selected,
  html.mi-place-draw-on #ridge-map-container path[data-state].pd-pin-selected,
  html.mi-place-draw-on #ridge-map-container circle[data-state].pd-pin-selected,
  html.mi-place-draw-on #map-container path[data-state].selected,
  html.mi-place-draw-on #map-container circle[data-state].selected {
    stroke-width: 1.05px !important;
  }
  html.mi-place-draw-on #placeDrawSelectionOutline path.pd-outline,
  html.mi-place-draw-on #placeDrawSelectionOutline circle.pd-outline {
    stroke-width: 1.8px !important;
    stroke-opacity: .86;
    filter: url(#ampStateBorderGlowMobile) !important;
    -webkit-filter: url(#ampStateBorderGlowMobile) !important;
    animation: ridgeStrokePulseMobile 1.5s ease-in-out infinite;
  }
  @keyframes ridgeStrokePulseMobile {
    0%, 100% { stroke-width: 1.15px; }
    50% { stroke-width: 1.45px; }
  }
}

/* ========== amp-build:2158-v3-home-client-funnel — locked V3 homepage + contextual cards (superseded visually by 2159 full-bleed) ========== */
.home-stage.v3-home .home-pro-bg {
  background-image: none;
  background-color: #0e1824;
}
.home-stage.v3-home .home-mist {
  background: linear-gradient(180deg, rgba(14, 24, 36, 0.2) 0%, rgba(14, 24, 36, 0.55) 100%) !important;
}
.v3-frame {
  width: min(1040px, 100%);
  margin: 8px auto 22px;
  background: #eef3f7;
  color: #0f1b28;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}
.v3-hero {
  position: relative;
  min-height: 380px;
  background: #1a2a3a center / cover no-repeat;
}
.v3-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(15, 27, 40, 0.92) 0%, rgba(15, 27, 40, 0.55) 48%, rgba(15, 27, 40, 0.28) 100%);
}
.v3-hero-inner {
  position: relative;
  z-index: 1;
  padding: 36px 28px 28px;
  max-width: 540px;
}
.v3-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #78c4e5;
  margin-bottom: 10px;
}
.v3-hero h1.explore-title.v3-hero-title {
  margin: 0 0 10px;
  max-width: none;
  font-size: clamp(1.55rem, 4.5vw, 2.05rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #fff;
  background: none;
  -webkit-text-fill-color: #fff;
  animation: none;
  filter: none;
  text-shadow: none;
}
.v3-sub {
  color: #d5e0ea;
  font-size: 0.98rem;
  margin: 0 0 18px;
}
.v3-chip {
  display: flex;
  gap: 12px;
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(120, 196, 229, 0.35);
  border-radius: 14px;
  padding: 10px 12px;
  max-width: 360px;
}
.v3-chip img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
}
.v3-chip-y {
  font-size: 12px;
  font-weight: 800;
  color: #7dcfb6;
  margin: 0;
}
.v3-chip-r {
  margin: 2px 0 0;
  font-size: 13px;
  color: #fff;
  font-weight: 650;
}
.v3-chip-f {
  margin: 2px 0 0;
  font-size: 11px;
  color: #c5d3e0;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.v3-stat-row {
  display: flex;
  gap: 18px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.v3-stat strong {
  display: block;
  font-size: 1.35rem;
  color: #fff;
}
.v3-stat span {
  font-size: 11px;
  color: #b7c6d6;
}
.v3-doors {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 16px 18px 18px;
  background: #e8eef4;
}
.v3-door {
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 230px;
  text-decoration: none;
  color: inherit;
  background: #f7fafc;
  box-shadow: 0 14px 34px rgba(21, 35, 50, 0.18);
}
.v3-door-media {
  height: 118px;
  background: center / cover no-repeat;
  position: relative;
  border-bottom: 3px solid #1e3a55;
}
.v3-door-client .v3-door-media { border-bottom-color: #152332; }
.v3-door-tag {
  position: absolute;
  left: 10px;
  top: 10px;
  background: rgba(15, 27, 40, 0.82);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 4px 8px;
  border-radius: 999px;
}
.v3-door-body {
  padding: 14px;
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #f7fafc;
}
.v3-door-body h2 {
  margin: 0 0 4px;
  font-size: 1.02rem;
  color: #152332;
}
.v3-door-body p {
  margin: 0;
  font-size: 12.5px;
  color: #5b6b7c;
  flex: 1;
}
.v3-door-cta {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 800;
  color: #1e3a55;
}
.v3-door-client .v3-door-cta { color: #152332; }
.v3-door:hover .v3-door-cta,
.v3-door:focus-visible .v3-door-cta { text-decoration: underline; }
.v3-mi {
  margin: 0 18px 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: linear-gradient(105deg, #152332 0%, #1e3a55 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid rgba(120, 196, 229, 0.35);
  box-shadow: 0 8px 22px rgba(21, 35, 50, 0.18);
  text-decoration: none;
}
.v3-mi-kicker {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #78c4e5;
  text-transform: uppercase;
}
.v3-mi-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}
.v3-mi-sub {
  font-size: 12px;
  color: #b7c6d6;
  margin: 0;
}
.v3-mi-cta {
  font-size: 12px;
  font-weight: 800;
  color: #78c4e5;
  white-space: nowrap;
}
.v3-proof {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 0 18px 18px;
  background: #fff;
}
.v3-proof-pill {
  flex: 1;
  min-width: 140px;
  background: #f3f7fb;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 12px;
  padding: 10px 12px;
  text-align: center;
}
.v3-proof-pill strong {
  display: block;
  font-size: 1.15rem;
  color: #152332;
}
.v3-proof-pill span {
  font-size: 11px;
  color: #5b6b7c;
}
.home-stage.v3-home .v3-partners {
  width: min(1040px, 100%);
  margin: 0 auto 28px;
}
@media (max-width: 640px) {
  .v3-hero { min-height: 0; }
  .v3-hero-inner { padding: 22px 16px 18px; }
  .v3-doors { grid-template-columns: 1fr; }
  .v3-mi { flex-direction: column; align-items: flex-start; margin-left: 12px; margin-right: 12px; }
  .v3-proof { padding-left: 12px; padding-right: 12px; }
  .v3-door { min-height: 0; }
}

.v3-ctx {
  margin-top: 14px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.25);
  box-shadow: 0 12px 28px rgba(21, 35, 50, 0.12);
  background: #fff;
  color: #0f1b28;
  text-align: left;
}
.v3-ctx.slim {
  display: grid;
  grid-template-columns: 100px 1fr;
}
.v3-ctx-media {
  min-height: 120px;
  background: #1e3a55 center / cover no-repeat;
}
.v3-ctx:not(.slim) .v3-ctx-media { aspect-ratio: 16 / 9; min-height: 0; }
.v3-ctx.slim .v3-ctx-media { min-height: 100%; }
.v3-ctx-body { padding: 12px 14px; }
.v3-ctx-year {
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  color: #1e3a55;
}
.v3-ctx-role { margin: 4px 0 0; font-weight: 700; }
.v3-ctx-meta { margin: 2px 0 0; font-size: 12px; color: #5b6b7c; }
.v3-ctx-foot {
  background: #152332;
  color: #7dcfb6;
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 8px;
}
.v3-ctx.slim .v3-ctx-foot { grid-column: 1 / -1; }
.v3-ctx.is-waiting .v3-ctx-media {
  background-image: none !important;
  background-color: #d5e0ea;
}
[data-route="client"] .hire-card.is-selected,
[data-route="client-specialty"] .hire-card.is-selected {
  outline: 2px solid #1e3a55;
  outline-offset: 0;
  background: #f3f7fb;
}
@media (max-width: 640px) {
  .v3-ctx.slim { grid-template-columns: 84px 1fr; }
}



/* ========== amp-build:2159-v3-home-fullbleed — full-bleed hero + door shimmer ========== */
/* Open the boxed ~1040px frame: hero photo runs edge-to-edge; entry cards float over lower hero. */
.home-stage.v3-home .v3-frame {
  width: 100%;
  max-width: none;
  margin: 0;
  background: transparent;
  color: #0f1b28;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
}
.home-stage.v3-home .v3-hero {
  position: relative;
  min-height: min(72vh, 620px);
  width: 100%;
  border-radius: 0;
  background-color: #1a2a3a;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.home-stage.v3-home .v3-hero::after {
  background:
    linear-gradient(180deg, rgba(11,18,32,.55) 0%, rgba(11,18,32,.25) 28%, rgba(11,18,32,.55) 62%, rgba(11,18,32,.92) 100%),
    linear-gradient(105deg, rgba(15,27,40,.88) 0%, rgba(15,27,40,.45) 42%, rgba(15,27,40,.15) 100%);
}
.home-stage.v3-home .v3-hero-inner {
  padding: 28px clamp(18px, 4vw, 48px) 36px;
  max-width: 620px;
}
/* Restore V2 white↔sky↔mint shimmer on "We place physicians who stay" */
.home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title,
.home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title-shimmer {
  background: linear-gradient(90deg, #ffffff, #78C4E5 55%, #6BE0AD);
  background-size: 220% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: exploreDoorShimmer 3.6s ease-in-out infinite alternate;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.35))
          drop-shadow(0 0 16px rgba(120, 196, 229, 0.35));
  text-shadow:
    0 0 18px rgba(255, 255, 255, 0.35),
    0 0 36px rgba(107, 224, 173, 0.25);
  font-size: clamp(1.7rem, 4.2vw, 2.35rem);
}
/* Physician / hiring entry door titles — same V2 shimmer (navy→sky→mint on light cards) */
.home-stage.v3-home .v3-door-body h2.explore-title.v3-door-title {
  background: linear-gradient(90deg, #152332, #1e3a55 35%, #78C4E5 70%, #6BE0AD);
  background-size: 220% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: exploreDoorShimmer 3.6s ease-in-out infinite alternate;
  filter: drop-shadow(0 0 8px rgba(120, 196, 229, 0.25));
  text-shadow: none;
  font-size: 1.05rem;
  font-weight: 750;
  margin: 0 0 4px;
}
@media (prefers-reduced-motion: reduce) {
  .home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title,
  .home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title-shimmer,
  .home-stage.v3-home .v3-door-body h2.explore-title.v3-door-title {
    animation: none;
    background-position: 50% center;
  }
}
/* Float mid cards over lower hero (doors / MI / proof) */
.home-stage.v3-home .v3-doors,
.home-stage.v3-home .v3-mi,
.home-stage.v3-home .v3-proof {
  position: relative;
  z-index: 2;
}
.home-stage.v3-home .v3-doors {
  margin: -28px clamp(14px, 3vw, 40px) 0;
  padding: 16px 18px;
  background: #fff;
  border-radius: 18px 18px 0 0;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  max-width: 1100px;
  width: auto;
}
.home-stage.v3-home .v3-mi {
  margin: 0 clamp(14px, 3vw, 40px) 0;
  max-width: 1100px;
  width: auto;
  border-radius: 0;
  box-sizing: border-box;
}
.home-stage.v3-home .v3-proof {
  margin: 0 clamp(14px, 3vw, 40px) 28px;
  padding: 0 18px 18px;
  background: #fff;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  max-width: 1100px;
  width: auto;
  box-sizing: border-box;
}
/* Center the floating deck as a column */
.home-stage.v3-home .v3-frame {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.home-stage.v3-home .v3-doors,
.home-stage.v3-home .v3-mi,
.home-stage.v3-home .v3-proof {
  align-self: center;
  width: calc(100% - 2 * clamp(14px, 3vw, 40px));
  max-width: 1100px;
}
.home-stage.v3-home .v3-partners {
  width: min(1100px, calc(100% - 2 * clamp(14px, 3vw, 40px)));
  margin: 0 auto 28px;
}
@media (max-width: 640px) {
  .home-stage.v3-home .v3-hero { min-height: 0; }
  .home-stage.v3-home .v3-doors { margin-top: -16px; }
}


/* ========== amp-build:2160-v3-home-page-wallpaper — continuous fixed page wallpaper + door desk placement ========== */
/* One unbroken clinic wallpaper behind the ENTIRE homepage. Content scrolls over it.
   Approach: fixed full-viewport .home-pro-bg layer (Safari/Chrome-safe; better than background-attachment:fixed on iOS).
   No discrete hero photo band — .v3-hero is transparent content only. */

.home-stage.v3-home {
  background: transparent;
}

/* Restore V2 clinic wallpaper as the single page-level fixed layer */
.home-stage.v3-home .home-pro-bg {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  height: 100dvh;
  z-index: 0;
  pointer-events: none;
  background-color: #1a2a3a;
  background-image:
    linear-gradient(180deg, rgba(11,18,32,.42) 0%, rgba(11,18,32,.18) 32%, rgba(11,18,32,.28) 58%, rgba(11,18,32,.55) 100%),
    linear-gradient(105deg, rgba(15,27,40,.78) 0%, rgba(15,27,40,.38) 42%, rgba(15,27,40,.12) 100%),
    url("../assets/home-hero-clinic-consult.jpg?v=2170");
  background-size: cover, cover, cover;
  background-position: center, center, center right;
  background-repeat: no-repeat;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* Soft mist only — no solid strip that reveals an edge under the hero */
.home-stage.v3-home .home-mist {
  background: linear-gradient(180deg, rgba(11,18,32,.12) 0%, rgba(11,18,32,.04) 40%, rgba(11,18,32,.22) 100%) !important;
  pointer-events: none;
}

/* Hero is NOT a photo band — transparent content shell over the wallpaper */
.home-stage.v3-home .v3-hero {
  position: relative;
  z-index: 1;
  min-height: 0;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  border-radius: 0;
}
.home-stage.v3-home .v3-hero::after {
  /* readable veil that fades out — no hard bottom edge */
  background:
    linear-gradient(105deg, rgba(15,27,40,.82) 0%, rgba(15,27,40,.4) 46%, rgba(15,27,40,.08) 100%),
    linear-gradient(180deg, rgba(11,18,32,.35) 0%, rgba(11,18,32,.08) 70%, rgba(11,18,32,0) 100%);
  pointer-events: none;
}
.home-stage.v3-home .v3-hero-inner {
  padding: 22px clamp(18px, 4vw, 48px) 12px;
  max-width: 560px;
}

/* Frame stays transparent so wallpaper shows through gaps between floating panels */
.home-stage.v3-home .v3-frame {
  width: 100%;
  max-width: none;
  margin: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}

/* —— Entry doors: higher, slightly right, wider, under desk (right) area —— */
.home-stage.v3-home .v3-doors,
.home-stage.v3-home .v3-mi,
.home-stage.v3-home .v3-proof {
  position: relative;
  z-index: 2;
  align-self: flex-end;
  width: min(1320px, calc(100% - clamp(20px, 3vw, 36px) - clamp(40px, 7vw, 110px)));
  max-width: 1320px;
  margin-left: auto;
  margin-right: clamp(12px, 2.5vw, 32px);
  box-sizing: border-box;
}
.home-stage.v3-home .v3-doors {
  /* Pull up under the desk / people (right side of wallpaper) */
  margin-top: -36px;
  margin-bottom: 0;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 18px 18px 0 0;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.38);
  /* slight extra right bias toward desk */
  transform: translateX(clamp(0px, 1.5vw, 28px));
}
.home-stage.v3-home .v3-mi {
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0;
  transform: translateX(clamp(0px, 1.5vw, 28px));
}
.home-stage.v3-home .v3-proof {
  margin-top: 0;
  margin-bottom: 28px;
  padding: 0 20px 18px;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 0 0 18px 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  transform: translateX(clamp(0px, 1.5vw, 28px));
}

/* Partners / Job2 already frosted — keep them floating over wallpaper, slightly wider */
.home-stage.v3-home .v3-partners,
.home-stage.v3-home .home-partners {
  width: min(1200px, calc(100% - 2 * clamp(14px, 3vw, 40px)));
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}
.home-stage.v3-home .home-job2,
.home-stage.v3-home .home-learn {
  position: relative;
  z-index: 2;
  width: min(1200px, calc(100% - 2 * clamp(14px, 3vw, 40px)));
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-doors,
  .home-stage.v3-home .v3-mi,
  .home-stage.v3-home .v3-proof {
    align-self: center;
    width: calc(100% - 2 * clamp(12px, 3vw, 24px));
    max-width: none;
    margin-left: clamp(12px, 3vw, 24px);
    margin-right: clamp(12px, 3vw, 24px);
    transform: none;
  }
  .home-stage.v3-home .v3-doors {
    margin-top: 8px;
  }
}
@media (max-width: 640px) {
  .home-stage.v3-home .v3-hero-inner { padding-bottom: 8px; }
  .home-stage.v3-home .v3-doors { margin-top: 4px; padding: 14px 14px; }
}


/* ========== amp-build:2161-stats-mi-row — MI + 4 proof pills in one white card; doors below ========== */
/* One wide white card: navy Market Intelligence (~25%) | four compact proof pills (~75%).
   Physician / hiring doors sit BELOW that row. Keep fixed .home-pro-bg wallpaper + glass nav. */

.v3-stats-mi {
  display: grid;
  grid-template-columns: minmax(150px, 0.25fr) minmax(0, 0.75fr);
  gap: 12px;
  align-items: stretch;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.38);
  box-sizing: border-box;
}

.v3-stats-mi-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 6px;
  min-height: 100%;
  padding: 16px 18px;
  border-radius: 14px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(160deg, #152332 0%, #1e3a55 100%);
  border: 1px solid rgba(120, 196, 229, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.v3-stats-mi-label {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.25;
  color: #fff;
  text-transform: none;
}

.home-stage.v3-home .v3-stats-mi .v3-proof,
.v3-stats-mi .v3-proof {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: stretch;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: auto !important;
  max-width: none !important;
  transform: none !important;
  align-self: auto !important;
}

.v3-stats-mi .v3-proof-pill {
  flex: 1 1 0;
  min-width: 0;
  /* keep pill scale close to prior — do not inflate */
  padding: 10px 10px;
}

.home-stage.v3-home .v3-stats-mi,
.home-stage.v3-home .v3-doors {
  position: relative;
  z-index: 2;
  align-self: flex-end;
  width: min(1320px, calc(100% - clamp(20px, 3vw, 36px) - clamp(40px, 7vw, 110px)));
  max-width: 1320px;
  margin-left: auto;
  margin-right: clamp(12px, 2.5vw, 32px);
  box-sizing: border-box;
  transform: translateX(clamp(0px, 1.5vw, 28px));
}

/* Stats/MI row takes the former door pull-up under the desk */
.home-stage.v3-home .v3-stats-mi {
  margin-top: -36px;
  margin-bottom: 12px;
}

/* Doors sit BELOW the stats row as their own white card */
.home-stage.v3-home .v3-doors {
  margin-top: 0;
  margin-bottom: 28px;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.38);
}

/* Legacy MI strip / proof deck rules no longer apply as stacked card ends */
.home-stage.v3-home .v3-mi,
.home-stage.v3-home > .v3-proof {
  display: none;
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-stats-mi,
  .home-stage.v3-home .v3-doors {
    align-self: center;
    width: calc(100% - 2 * clamp(12px, 3vw, 24px));
    max-width: none;
    margin-left: clamp(12px, 3vw, 24px);
    margin-right: clamp(12px, 3vw, 24px);
    transform: none;
  }
  .home-stage.v3-home .v3-stats-mi {
    margin-top: 8px;
    grid-template-columns: 1fr;
  }
  .v3-stats-mi .v3-proof {
    flex-wrap: wrap;
  }
  .v3-stats-mi .v3-proof-pill {
    flex: 1 1 calc(50% - 8px);
    min-width: 120px;
  }
}

@media (max-width: 640px) {
  .home-stage.v3-home .v3-stats-mi {
    margin-top: 4px;
    padding: 12px;
    gap: 10px;
  }
  .home-stage.v3-home .v3-doors {
    margin-top: 0;
    padding: 14px;
  }
  .v3-stats-mi-panel {
    padding: 14px 16px;
    min-height: 56px;
  }
}


/* ========== amp-build:2162-stats-3col-layers — 3-col stats + explicit 3-layer stack + soft header fade ========== */
/*
  LAYER 1 — .home-pro-bg: fixed full-viewport wallpaper (never scrolls away to white).
  LAYER 2 — .home-overlay / cards / hero / stats / doors: scroll between wallpaper and header.
  LAYER 3 — .site-nav.is-home: FIXED header always on top.
  Soft fade — .home-layer-soft-fade under header: content dissolves into wallpaper (no hard opaque bar).
*/

/* Layer 3: fixed header on home (was absolute) */
.site-nav.is-home {
  position: fixed !important;
  left: 0;
  right: 0;
  top: 0;
  z-index: 300 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.site-nav.is-home::before {
  display: none !important;
}

/* Soft tuck under header (2167): FIXED overlay ABOVE L2 (z 280), BELOW nav (300).
   2166 opaque #152332 slab through nav height chopped the clinic photo into a hard
   navy band that read as "picture is part of L3 / cut off."
   Also: a short-height wallpaper clone with background-size:cover re-zooms the photo
   vs full-viewport L1 — that mid-image chop made the scene look glued to the header.
   Fix: full-viewport wallpaper clone (same cover/position as L1) + mask that only
   reveals the under-header band. L2 cards still tuck; L1 reads continuous. No opaque slab. */
.home-layer-soft-fade {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  /* MUST match L1 viewport height so cover + center-right align pixel-for-pixel */
  height: 100%;
  height: 100dvh;
  z-index: 280;
  pointer-events: none;
  isolation: isolate;
  /* Exact L1 wallpaper match — scene pixels, not a navy chop bar */
  background-color: #1a2a3a;
  background-image:
    linear-gradient(180deg, rgba(11,18,32,.42) 0%, rgba(11,18,32,.18) 32%, rgba(11,18,32,.28) 58%, rgba(11,18,32,.55) 100%),
    linear-gradient(105deg, rgba(15,27,40,.78) 0%, rgba(15,27,40,.38) 42%, rgba(15,27,40,.12) 100%),
    url("../assets/home-hero-clinic-consult.jpg?v=2170");
  background-size: cover, cover, cover;
  background-position: center, center, center right;
  background-repeat: no-repeat;
  /* Only the top band paints; rest of full-viewport clone is masked away.
     Solid through nav height so L2 cannot show under chrome; soft dissolve below. */
  -webkit-mask-image: linear-gradient(
    180deg,
    #000 0,
    #000 72px,
    rgba(0, 0, 0, 0.94) 86px,
    rgba(0, 0, 0, 0.55) 104px,
    rgba(0, 0, 0, 0.18) 122px,
    transparent 148px,
    transparent 100%
  );
  mask-image: linear-gradient(
    180deg,
    #000 0,
    #000 72px,
    rgba(0, 0, 0, 0.94) 86px,
    rgba(0, 0, 0, 0.55) 104px,
    rgba(0, 0, 0, 0.18) 122px,
    transparent 148px,
    transparent 100%
  );
}

/* Layer 1: wallpaper stays fixed full viewport */
.home-stage.v3-home .home-pro-bg {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  height: 100dvh !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Layer 2: scrolling content above wallpaper, below header+fade */
.home-stage.v3-home .home-overlay,
.home-stage.v3-home .v3-frame,
.home-stage.v3-home .v3-hero,
.home-stage.v3-home .v3-stats-3col,
.home-stage.v3-home .v3-doors,
.home-stage.v3-home .home-partners,
.home-stage.v3-home .home-job2,
.home-stage.v3-home .more-float {
  position: relative;
  z-index: 2;
}

.home-stage.v3-home .home-overlay {
  z-index: 2;
  /* room under fixed header — keep clearance, Row2 raise comes from shorter place card */
  padding-top: 68px;
}

/* 2165: do NOT mask #composed-homepage — element-relative masks scroll away
   with content and never hold a fixed under-header tuck band. Tuck is owned
   by fixed .home-layer-soft-fade (wallpaper clone) above. */
.home-stage.v3-home #composed-homepage {
  -webkit-mask-image: none;
  mask-image: none;
}

/* 3-column stats: dominant MI | Physicians pills | Hiring Orgs pills */
.v3-stats-3col {
  display: grid;
  grid-template-columns: minmax(160px, 1.15fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.38);
  box-sizing: border-box;
}

.v3-stats-3col .v3-stats-mi-panel,
.v3-stats-col-mi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 6px;
  min-height: 100%;
  padding: 18px 20px;
  border-radius: 14px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(160deg, #152332 0%, #1e3a55 100%);
  border: 1px solid rgba(120, 196, 229, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.v3-stats-3col .v3-stats-mi-label {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.25;
  color: #fff;
}

.v3-stats-mi-sub {
  font-size: 12px;
  font-weight: 600;
  color: rgba(213, 224, 234, 0.88);
  letter-spacing: 0.02em;
}

.v3-stats-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 10px 10px 10px;
  border-radius: 14px;
  background: #f3f7fb;
  border: 1px solid rgba(148, 163, 184, 0.28);
}

.v3-stats-col-label {
  margin: 0 2px 2px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1e3a55;
}

.v3-stats-3col .v3-proof {
  display: flex !important;
  gap: 8px;
  flex-wrap: nowrap;
  align-items: stretch;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: auto !important;
  max-width: none !important;
  transform: none !important;
}

.v3-stats-3col .v3-proof-pill {
  flex: 1 1 0;
  min-width: 0;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 12px;
  padding: 10px 10px;
  text-align: center;
}

.v3-stats-3col .v3-proof-pill strong {
  display: block;
  font-size: 1.15rem;
  color: #152332;
}

.v3-stats-3col .v3-proof-pill span {
  font-size: 11px;
  color: #5b6b7c;
}

/* Place 3-col row where 2161 stats-mi sat */
.home-stage.v3-home .v3-stats-3col,
.home-stage.v3-home .v3-doors {
  position: relative;
  z-index: 2;
  align-self: flex-end;
  width: min(1320px, calc(100% - clamp(20px, 3vw, 36px) - clamp(40px, 7vw, 110px)));
  max-width: 1320px;
  margin-left: auto;
  margin-right: clamp(12px, 2.5vw, 32px);
  box-sizing: border-box;
  transform: translateX(clamp(0px, 1.5vw, 28px));
}

.home-stage.v3-home .v3-stats-3col {
  margin-top: -36px;
  margin-bottom: 12px;
}

/* Hide legacy one-row MI+4 if any remnant */
.home-stage.v3-home .v3-stats-mi {
  display: none !important;
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-stats-3col,
  .home-stage.v3-home .v3-doors {
    align-self: center;
    width: calc(100% - 2 * clamp(12px, 3vw, 24px));
    max-width: none;
    margin-left: clamp(12px, 3vw, 24px);
    margin-right: clamp(12px, 3vw, 24px);
    transform: none;
  }
  .home-stage.v3-home .v3-stats-3col {
    margin-top: 8px;
    grid-template-columns: 1fr;
  }
  .v3-stats-3col .v3-proof {
    flex-wrap: wrap;
  }
  .v3-stats-3col .v3-proof-pill {
    flex: 1 1 calc(50% - 8px);
    min-width: 120px;
  }
  /* Keep full-viewport height (cover alignment with L1); shorten mask for shorter nav */
  .home-layer-soft-fade {
    height: 100%;
    height: 100dvh;
    -webkit-mask-image: linear-gradient(
      180deg,
      #000 0,
      #000 56px,
      rgba(0, 0, 0, 0.94) 70px,
      rgba(0, 0, 0, 0.55) 90px,
      rgba(0, 0, 0, 0.18) 108px,
      transparent 132px,
      transparent 100%
    );
    mask-image: linear-gradient(
      180deg,
      #000 0,
      #000 56px,
      rgba(0, 0, 0, 0.94) 70px,
      rgba(0, 0, 0, 0.55) 90px,
      rgba(0, 0, 0, 0.18) 108px,
      transparent 132px,
      transparent 100%
    );
  }
}

@media (max-width: 640px) {
  .home-stage.v3-home .v3-stats-3col {
    margin-top: 4px;
    padding: 12px;
    gap: 10px;
  }
  .v3-stats-col-mi,
  .v3-stats-3col .v3-stats-mi-panel {
    padding: 14px 16px;
    min-height: 56px;
  }
}


/* ========== amp-build:2163-nested-stats-card — full-bleed place card + full-width parent nesting 3 subcards ========== */
/*
  ROW 1 — .v3-place-card / .v3-hero: one big card stretched across full viewport; place copy fades into wallpaper.
  ROW 2 — .v3-stats-parent: ONE full-viewport-width parent card. Inside: three nested subcards
           (MI navy | Physicians entry + pills under | Hiring Orgs entry + pills under).
  Layers unchanged: L1 fixed wallpaper, L2 scrolling content, L3 fixed header + soft fade.
*/

/* ROW 1 — full-bleed place card that dissolves into wallpaper (not a hard panel) */
.home-stage.v3-home .v3-hero.v3-place-card {
  width: 100%;
  max-width: none;
  align-self: stretch;
  margin: 0;
  border-radius: 0;
  /* 2165: shorter place band so Row2 parent sits higher; leaves room for client partners below */
  min-height: 0;
  background: transparent !important; /* wallpaper shows through; card = gradient only */
  box-shadow: none;
  overflow: visible;
}
.home-stage.v3-home .v3-hero.v3-place-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(105deg, rgba(15,27,40,.88) 0%, rgba(15,27,40,.48) 40%, rgba(15,27,40,.14) 68%, rgba(15,27,40,0) 100%),
    linear-gradient(180deg, rgba(11,18,32,.22) 0%, rgba(11,18,32,.06) 55%, rgba(11,18,32,0) 100%);
  border-radius: 0;
}
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 620px;
  padding: 18px clamp(18px, 4vw, 48px) 16px;
}

/* ROW 2 — full viewport width parent card */
.home-stage.v3-home .v3-stats-parent {
  position: relative;
  z-index: 3;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 4px;
  margin-bottom: 10px;
  align-self: stretch;
  box-sizing: border-box;
  padding: 12px clamp(12px, 2.2vw, 28px);
  background: rgba(255, 255, 255, 0.96);
  border-radius: 0;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.38);
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

/* Nested grid lives inside the full-bleed parent — not free-floating page columns */
.home-stage.v3-home .v3-stats-parent .v3-stats-3col,
.home-stage.v3-home .v3-stats-parent .v3-stats-nested {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
  align-self: stretch !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}

.home-stage.v3-home .v3-stats-subcard,
.home-stage.v3-home .v3-stats-col.v3-stats-subcard {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border-radius: 14px;
  background: #f3f7fb;
  border: 1px solid rgba(148, 163, 184, 0.28);
}

.v3-stats-entry {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 2px;
}
.v3-stats-entry-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #152332;
}
.v3-stats-entry-sub {
  margin: 4px 0 0;
  font-size: 12.5px;
  color: #5b6b7c;
}
.v3-stats-entry-cta {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 800;
  color: #1e3a55;
}
.v3-stats-entry:hover .v3-stats-entry-cta {
  color: #78c4e5;
}

/* Keep MI dominant navy nested subcard */
.home-stage.v3-home .v3-stats-parent .v3-stats-mi-panel {
  min-height: 100%;
}

/* Doors stay below row 2 — keep prior desk placement, not full-bleed */
.home-stage.v3-home .v3-doors {
  margin-top: 14px;
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-stats-parent .v3-stats-3col,
  .home-stage.v3-home .v3-stats-parent .v3-stats-nested {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .home-stage.v3-home .v3-hero.v3-place-card {
    min-height: 0;
  }
  .home-stage.v3-home .v3-stats-parent {
    padding: 12px 10px;
  }
}


/* ========== amp-build:2164-header-tuck-fade — MI full-height + entry-over-pills stack + stronger L2 tuck ========== */
/*
  Col1 MI stretches full parent height.
  Col2/3: entry card on TOP; two pills STACKED below (not one wrapped subcard).
  L2 tuck: stronger soft-fade + header-height mask (above).
*/
.home-stage.v3-home .v3-stats-parent .v3-stats-3col,
.home-stage.v3-home .v3-stats-parent .v3-stats-nested {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

/* MI: fill entire parent section height */
.home-stage.v3-home .v3-stats-parent .v3-stats-mi-panel,
.home-stage.v3-home .v3-stats-parent .v3-stats-col-mi {
  align-self: stretch;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
}

/* Column stacks: no outer gray wrapper — entry card then pills */
.home-stage.v3-home .v3-stats-col-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  min-height: 100%;
  align-self: stretch;
  padding: 0;
  background: transparent;
  border: 0;
}

.home-stage.v3-home .v3-stats-entry-card {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 14px;
  border-radius: 14px;
  background: #f3f7fb;
  border: 1px solid rgba(148, 163, 184, 0.28);
  flex: 0 0 auto;
}

.home-stage.v3-home .v3-stats-entry-card:hover {
  border-color: rgba(120, 196, 229, 0.55);
}

/* Pills stacked vertically under the entry card */
.home-stage.v3-home .v3-stats-parent .v3-proof-stack,
.home-stage.v3-home .v3-stats-col-stack .v3-proof {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 100% !important;
}

.home-stage.v3-home .v3-stats-parent .v3-proof-stack .v3-proof-pill {
  flex: 0 0 auto;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-stats-parent .v3-stats-mi-panel,
  .home-stage.v3-home .v3-stats-parent .v3-stats-col-mi {
    min-height: 88px;
    height: auto;
  }
  .home-stage.v3-home .v3-stats-col-stack {
    min-height: 0;
  }
}

/* ========== amp-build:2165-row2-nested-tuck — Row2 = nested stats only; wallpaper tuck fade ========== */
/*
  Mike bottom screenshot = leftover .v3-doors photo pair (Physicians | Hiring Orgs).
  Those are NOT Row2. Row2 is .v3-stats-parent (MI + entry-over-pills). Photo doors removed from HTML;
  hide any remnant. Tuck fade: fixed wallpaper clone under transparent header (see .home-layer-soft-fade).
*/
.home-stage.v3-home .v3-doors,
.home-stage.v3-home #home-doors {
  display: none !important;
}

/* Entry cards in Row2 own the physician/hiring CTAs (swoop via data-approach) */
.home-stage.v3-home .v3-stats-parent {
  position: relative;
  z-index: 3;
}

/* 2165: keep client reference / partners strip visible below raised Row2 */
.home-stage.v3-home .home-partners.v3-partners {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 2;
  margin-top: 18px;
  margin-bottom: 12px;
}

/* amp-build:2167 — reinforce fade above any L2 stacking */
.home-stage.v3-home .home-overlay,
.home-stage.v3-home .v3-frame,
.home-stage.v3-home .v3-stats-parent {
  z-index: 2;
}

/* ========== amp-build:2168-mi-photo-title-clear ==========
   1. Row2 MI = colorway C enrich (deeper navy, electric sky on Competitive + radar).
   2. Physicians / Hiring Orgs = photo doors + one thin pill row.
   3. Shared title clearance so H1s sit below the under-header fade.
   The L1 wallpaper clone and .home-layer-soft-fade mask stops are unchanged. */

:root {
  /* Mirrors the existing desktop mask: solid through 72px, transparent at 148px, plus air. */
  --amp-header-block: 72px;
  --amp-fade-falloff: 76px;
  --amp-fade-air: 16px;
  --amp-title-clear: calc(var(--amp-header-block) + var(--amp-fade-falloff) + var(--amp-fade-air));
}
@media (max-width: 900px) {
  :root {
    /* Mobile mask: solid through 56px, transparent at 132px. */
    --amp-header-block: 56px;
    --amp-fade-falloff: 76px;
    --amp-title-clear: calc(var(--amp-header-block) + var(--amp-fade-falloff) + var(--amp-fade-air));
  }
}

/* Every page hero. Must beat amp-build:2141 `.site-nav.is-home ~ main …` (0,6,1)
   which pinned funnel titles at ~72px — inside the fade. */
.hero-band,
.view.funnel .hero-band,
.view.page .hero-band,
.confirm-band.hero-band,
.view[data-route="client-region"] .hero-band,
.site-nav.is-home ~ main .view.funnel > .view-chrome > .hero-band,
.site-nav.is-home ~ main .view.page > .view-chrome > .hero-band,
.site-nav.is-home ~ main .view.page > .hero-band,
main .view.funnel.on > .view-chrome > .hero-band,
main .view.page.funnel.on > .view-chrome > .hero-band,
main .view.page.on > .hero-band,
.view.funnel.on > .view-chrome > .hero-band,
.view.page.on > .hero-band,
.view.guides-view.on > .view-chrome > .hero-band,
.view.funnel.on .hero-band,
.guides-view .hero-band,
.view[data-route="physician-jobs"] .hero-band,
.view[data-route="guides"] .hero-band,
.view[data-route="education"] .hero-band,
.view[data-route="residents"] .hero-band,
.view[data-route="mi-lite"] .hero-band,
.view[data-route="amp-score"] .hero-band,
.view[data-route="blog"] .hero-band,
.view[data-route="mpc"] .hero-band,
.view[data-route="confirm-client"] .hero-band,
.view[data-route="confirm-mess"] .hero-band {
  padding-top: var(--amp-title-clear) !important;
}
/* Blog articles use a section, not a hero band */
.view.page[data-route="blog-post"] > .section {
  padding-top: var(--amp-title-clear) !important;
}
/* Trailhead sheets (Physicians / Hiring) pin to the bottom of the photo.
   Keep that, but don't let the hire title climb into the fade. */
.view.funnel.trailhead .trailhead-sheet-stage,
.view.funnel.trailhead.on .trailhead-sheet-stage {
  padding-top: var(--amp-title-clear) !important;
}
.view.funnel.trailhead .hire-sheet {
  max-height: calc(100dvh - var(--amp-title-clear) - 16px);
  overflow: auto;
}
/* Homepage eyebrow: overlay already pads 68px under the fixed header.
   Extra inner pad puts RETENTION-LED RECRUITING fully past the fade falloff.
   Headline ↔ 2015 story card spacing below the eyebrow is unchanged. */
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner {
  padding-top: calc(var(--amp-title-clear) - 68px);
}

/* —— MI colorway C —— */
.home-stage.v3-home .v3-stats-parent a.v3-stats-mi-panel.mi-enrich {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
  height: auto;
  min-height: max(100%, min-content);
  align-self: stretch;
  padding: 18px 18px 16px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(165deg, #0c1520 0%, #152332 55%, #1a2c3f 100%);
  border: 1px solid rgba(94, 184, 224, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.home-stage.v3-home .v3-stats-parent a.v3-stats-mi-panel.mi-enrich:hover,
.home-stage.v3-home .v3-stats-parent a.v3-stats-mi-panel.mi-enrich:focus-visible {
  color: #fff;
}
.v3-stats-mi-panel .mi-glow {
  position: absolute;
  right: -20px;
  top: -30px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(94, 184, 224, 0.18) 0%, transparent 70%);
  pointer-events: none;
}
.v3-stats-mi-panel .mi-radar {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 28px;
  height: 28px;
  opacity: 1;
  filter: drop-shadow(0 0 6px rgba(94, 184, 224, 0.7));
  z-index: 1;
}
.v3-stats-mi-panel .mi-radar svg { width: 100%; height: 100%; display: block; }
.v3-stats-mi-panel .mi-radar .ring { stroke: #5eb8e0; }
.v3-stats-mi-panel .mi-radar .sweep { stroke: #5eb8e0; fill: rgba(94, 184, 224, 0.25); }
.v3-stats-mi-panel .mi-kicker {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(120, 196, 229, 0.75);
  position: relative;
  z-index: 1;
}
.v3-stats-mi-panel .mi-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: #fff;
  position: relative;
  z-index: 1;
  max-width: 22ch;
}
.v3-stats-mi-panel .mi-sub {
  margin: 0;
  font-size: 12px;
  color: rgba(183, 198, 214, 0.78);
  line-height: 1.35;
  position: relative;
  z-index: 1;
  max-width: 34ch;
}
.v3-stats-mi-panel .mi-cta {
  font-size: 12px;
  font-weight: 800;
  color: rgba(120, 196, 229, 0.85);
  position: relative;
  z-index: 1;
  margin-top: 2px;
}
.v3-stats-mi-panel .mi-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  position: relative;
  z-index: 1;
  margin-top: 2px;
}
.v3-stats-mi-panel .mi-chip {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(120, 196, 229, 0.22);
  color: rgba(213, 224, 234, 0.8);
  white-space: nowrap;
}
.v3-stats-mi-panel .mi-visual {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin-top: 4px;
}
.v3-stats-mi-panel .heat-blotch {
  position: relative;
  width: 78px;
  height: 52px;
  flex: 0 0 auto;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(120, 196, 229, 0.35);
  background: linear-gradient(160deg, #1a2c3f, #152332);
}
.v3-stats-mi-panel .heat-blotch svg { width: 100%; height: 100%; display: block; opacity: 0.95; }
.v3-stats-mi-panel .example-stamp {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-18deg);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: #f59e0b;
  border: 1px solid #f59e0b;
  padding: 2px 5px;
  border-radius: 4px;
  background: rgba(21, 35, 50, 0.55);
  white-space: nowrap;
  display: block;
  margin: 0;
}
.v3-stats-mi-panel .mi-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.v3-stats-mi-panel .mi-example-line {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(183, 198, 214, 0.92);
  text-transform: uppercase;
}
.v3-stats-mi-panel .band-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.v3-stats-mi-panel .band-pill {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 999px;
  color: #fff;
  background: rgba(94, 184, 224, 0.28);
  border: 1px solid #5eb8e0;
  box-shadow: 0 0 14px rgba(94, 184, 224, 0.45);
}
.v3-stats-mi-panel .sparkline {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 16px;
}
.v3-stats-mi-panel .sparkline i {
  display: block;
  width: 3px;
  border-radius: 1px;
  background: rgba(120, 196, 229, 0.55);
  font-style: normal;
}
.v3-stats-mi-panel.cw-c .sparkline i:nth-child(even) { background: #5eb8e0; }
.v3-stats-mi-panel .density {
  display: flex;
  gap: 3px;
  align-items: center;
}
.v3-stats-mi-panel .density span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(120, 196, 229, 0.45);
}
.v3-stats-mi-panel.cw-c .density span.on {
  background: #5eb8e0;
  box-shadow: 0 0 8px rgba(94, 184, 224, 0.7);
}

/* —— Photo doors + thin pills inside the white Row2 parent —— */
.home-stage.v3-home .v3-stats-col-stack .v3-photo-door {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: #152332;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow: 0 10px 28px rgba(21, 35, 50, 0.1);
}
.home-stage.v3-home .v3-photo-door:hover,
.home-stage.v3-home .v3-photo-door:focus-visible {
  color: #152332;
  border-color: rgba(120, 196, 229, 0.55);
}
.v3-photo-door-media {
  position: relative;
  flex: 1 1 124px;
  min-height: 118px;
  background-color: #1a2a3a;
  background-size: cover;
  background-position: center;
  border-bottom: 2px solid #1e3a55;
}
.v3-photo-door-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 16, 28, 0.42) 0%, rgba(8, 16, 28, 0.16) 46%, rgba(8, 16, 28, 0.5) 100%);
  pointer-events: none;
}
.v3-photo-door-tag {
  position: absolute;
  z-index: 1;
  left: 12px;
  top: 12px;
  background: rgba(12, 20, 32, 0.82);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 6px;
}
.v3-photo-door-body {
  padding: 14px 14px 13px;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.v3-photo-door-body .v3-stats-entry-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #152332;
  line-height: 1.2;
}
.v3-photo-door-body .v3-stats-entry-sub {
  margin: 5px 0 0;
  font-size: 12.5px;
  line-height: 1.35;
  color: #5b6b7c;
}
.v3-photo-door-body .v3-stats-entry-cta {
  display: inline-block;
  margin-top: 10px;
  font-size: 13px;
  font-weight: 800;
  color: #1e3a55;
}
.v3-photo-door:hover .v3-stats-entry-cta,
.v3-photo-door:focus-visible .v3-stats-entry-cta {
  color: #78c4e5;
}

.home-stage.v3-home .v3-stats-parent .v3-stats-col-stack .v3-proof.v3-proof-thin {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 6px;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 100% !important;
}
.home-stage.v3-home .v3-stats-parent .v3-proof-thin .v3-proof-pill {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.28);
  text-align: left;
}
.home-stage.v3-home .v3-stats-parent .v3-proof-thin .v3-proof-pill strong {
  display: inline;
  font-size: 13px;
  line-height: 1.15;
  color: #152332;
}
.home-stage.v3-home .v3-stats-parent .v3-proof-thin .v3-proof-pill span {
  font-size: 10.5px;
  line-height: 1.15;
  color: #5b6b7c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-stats-parent .v3-stats-mi-panel.mi-enrich {
    min-height: 0;
    height: auto;
  }
  .home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner {
    /* Phone overlay pad is ~nav clear, already larger than 68px. Keep the eyebrow under the shorter mask. */
    padding-top: max(72px, calc(var(--amp-title-clear) - 82px));
  }
}
@media (max-width: 640px) {
  .v3-stats-mi-panel .mi-visual { flex-wrap: wrap; }
  .home-stage.v3-home .v3-stats-parent .v3-proof-thin .v3-proof-pill span {
    white-space: normal;
  }
}

/* ========== amp-build:2169-years-rotate-bridge ==========
   Hero: serif years cadence LEFT, big rotating still-there cards RIGHT.
   Bridge: full-width glass card directly above the Row2 parent.
   Vertical rhythm is open on purpose — phrase, cards, and bridge are not
   compressed into the 2168 footprint. Row2 locks, title clearance, and the
   under-header fade (z-index 280) are unchanged. */
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner.v3-hero-split {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, 520px);
  gap: clamp(28px, 4vw, 72px);
  align-items: center;
  width: 100%;
  max-width: none;
  padding-top: calc(var(--amp-title-clear) - 68px);
  padding-bottom: clamp(36px, 5vh, 72px);
  padding-left: clamp(22px, 4.2vw, 64px);
  padding-right: clamp(18px, 3vw, 48px);
}
.home-stage.v3-home .v3-hero-split > script {
  display: none !important;
}
.home-stage.v3-home .v3-years-copy {
  min-width: 0;
  grid-column: 1;
}
.home-stage.v3-home .v3-still-rotator {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  position: relative;
  z-index: 2;
}
.home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title.v3-years-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.02em;
  margin: 8px 0 0;
  max-width: none;
  font-family: var(--font);
  font-weight: 560;
  font-size: clamp(2rem, 3.55vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -0.022em;
  color: #fff;
  background: none;
  -webkit-text-fill-color: #fff;
  background-clip: border-box;
  -webkit-background-clip: border-box;
  animation: none;
  filter: none;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}
.home-stage.v3-home .v3-years-w {
  display: block;
  white-space: nowrap;
}
.home-stage.v3-home .v3-years-mint {
  color: #8fcebb;
  -webkit-text-fill-color: #8fcebb;
}

.v3-still-stage {
  display: grid;
}
.v3-still-card {
  grid-area: 1 / 1;
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 176px;
  padding: 26px 28px 24px;
  border-radius: 18px;
  border-left: 3px solid #8fcebb;
  background: #35373b;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 22px 50px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}
.v3-still-card.is-on {
  opacity: 1;
  visibility: visible;
  z-index: 1;
  pointer-events: auto;
}
.v3-still-photo {
  width: 136px;
  height: 136px;
  flex: 0 0 136px;
  object-fit: cover;
  border-radius: 14px;
  background: #2a2c30;
}
.v3-still-copy {
  min-width: 0;
}
.v3-still-year {
  margin: 0;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: 0.01em;
  color: #8fcebb;
  line-height: 1.25;
}
.v3-still-facility {
  margin: 6px 0 0;
  font-size: clamp(1.2rem, 1.5vw, 1.45rem);
  font-weight: 760;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.15;
}
.v3-still-place {
  margin: 5px 0 0;
  font-size: 14px;
  font-weight: 600;
  color: rgba(232, 236, 240, 0.78);
  line-height: 1.3;
}
.v3-still-line {
  margin: 14px 0 0;
  font-size: 12.5px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b7bcc4;
  line-height: 1.35;
}
.v3-still-dots {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
  padding-right: 6px;
}
.v3-still-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.38);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}
.v3-still-dot.is-on {
  background: #6BE0AD;
  box-shadow: 0 0 0 1px rgba(107, 224, 173, 0.35);
}
.v3-still-dot:focus-visible {
  outline: 2px solid #78C4E5;
  outline-offset: 3px;
}
.v3-still-rotator.is-static .v3-still-card {
  transition: none;
}

/* Full-width bridge — glass/navy/mint, same bleed as the Row2 parent */
.home-stage.v3-home .v3-stay-bridge {
  position: relative;
  z-index: 2;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 4px;
  margin-bottom: clamp(18px, 2.4vh, 28px);
  padding: clamp(36px, 5vh, 64px) clamp(12px, 2.2vw, 28px);
  box-sizing: border-box;
  background: linear-gradient(180deg, rgba(21, 35, 50, 0.82) 0%, rgba(26, 44, 63, 0.74) 100%);
  border-top: 1px solid rgba(143, 206, 187, 0.32);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.v3-stay-bridge-inner {
  width: 100%;
  margin: 0;
}
.v3-stay-title {
  margin: 0;
  font-family: var(--font);
  font-weight: 560;
  font-size: clamp(1.75rem, 3.1vw, 2.65rem);
  line-height: 1.16;
  letter-spacing: -0.022em;
  color: #fff;
}
.v3-stay-title span {
  display: block;
}
.v3-stay-mint {
  color: var(--teal);
}
.v3-stay-sub {
  margin: 16px 0 0;
  max-width: 44rem;
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.5;
  color: rgba(213, 224, 234, 0.9);
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner.v3-hero-split {
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: stretch;
    padding-top: max(72px, calc(var(--amp-title-clear) - 82px));
    padding-bottom: 28px;
    padding-left: 18px;
    padding-right: 18px;
  }
  .home-stage.v3-home .v3-years-copy,
  .home-stage.v3-home .v3-still-rotator {
    grid-column: 1;
  }
  .home-stage.v3-home .v3-years-w {
    white-space: normal;
  }
  .home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title.v3-years-title {
    font-size: clamp(1.85rem, 8.2vw, 2.6rem);
  }
  .v3-still-card {
    min-height: 0;
    padding: 16px;
    gap: 14px;
  }
  .v3-still-photo {
    width: 104px;
    height: 104px;
    flex-basis: 104px;
  }
  .v3-still-facility {
    font-size: 1.25rem;
  }
  .home-stage.v3-home .v3-stay-bridge {
    padding: 28px 18px 32px;
    margin-bottom: 16px;
  }
  .v3-stay-title {
    font-size: clamp(1.45rem, 6.4vw, 2rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .v3-still-card {
    transition: none;
  }
  .home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title.v3-years-title {
    animation: none;
  }
}

/* amp-build:2170 — sheet scrolls; the card list keeps its own height.
   The old flex column let the Step 3 stay story consume the sheet and
   shrink the specialty cards to a blank band above “Matched retention”.
   Cards stay in normal flow. Continue is sticky. */
.view.funnel.trailhead[data-route="client"] .hire-sheet,
.view.funnel.trailhead[data-route="client-specialty"] .hire-sheet {
  display: block;
  max-height: calc(100dvh - var(--amp-title-clear) - 12px);
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom: 14px;
  scrollbar-width: thin;
}
.view.funnel.trailhead[data-route="client"] .hire-card-list,
.view.funnel.trailhead[data-route="client-specialty"] .hire-card-list,
.view.funnel.client-spec-sheet .hire-card-list {
  flex: none;
  height: auto;
  min-height: 180px;
  overflow: visible;
}
.view.funnel.trailhead[data-route="client"] .hire-card,
.view.funnel.trailhead[data-route="client-specialty"] .hire-card,
.view.funnel.client-spec-sheet .hire-card {
  height: auto;
  min-height: 88px;
}
.view.funnel.trailhead[data-route="client"] .client-spec-continue-wrap,
.view.funnel.trailhead[data-route="client-specialty"] .client-spec-continue-wrap {
  position: sticky;
  bottom: 0;
  z-index: 6;
  margin-top: 12px;
  padding: 10px 0 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 42%);
}
.view.funnel.trailhead[data-route="client"] #client-facility-continue,
.view.funnel.trailhead[data-route="client-specialty"] #client-spec-continue {
  visibility: visible;
}

/* ========== amp-build:2170-place-stay-bridge-steps ==========
   Hero: 2168-scale "We place physicians who stay." + classic v3-sub.
   Rotator stays the large 2169 card, pulled into the headline band.
   Bridge: smaller stay line LEFT, 01 Understand / 02 Find / 03 Match RIGHT.
   Row2 parent moves up. Specialty cards must not collapse under the stay story. */

.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner.v3-hero-split {
  grid-template-columns: minmax(260px, 1fr) minmax(380px, 470px);
  justify-content: start;
  align-items: center;
  width: min(1040px, calc(100% - 8px));
  max-width: 1040px;
  margin-left: clamp(4px, 1.6vw, 28px);
  margin-right: auto;
  gap: 18px 32px;
  padding-top: calc(var(--amp-title-clear) - 68px);
  padding-bottom: 12px;
  padding-left: 8px;
  padding-right: 8px;
  box-sizing: border-box;
}
.home-stage.v3-home .v3-hero-split > .v3-hero-copy,
.home-stage.v3-home .v3-years-copy {
  grid-column: 1;
  min-width: 0;
}
.home-stage.v3-home .v3-still-rotator {
  grid-column: 2;
  width: 100%;
  max-width: 470px;
  justify-self: start;
}
.home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title,
.home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title-shimmer {
  display: block;
  margin: 0 0 10px;
  max-width: 18em;
  font-family: inherit;
  font-weight: 650;
  font-size: clamp(1.7rem, 4.2vw, 2.35rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
}
.home-stage.v3-home .v3-hero .v3-sub {
  margin: 0;
  max-width: 36rem;
  font-size: 0.98rem;
  line-height: 1.45;
  color: #d5e0ea;
}

.home-stage.v3-home .v3-stay-bridge {
  margin-top: 0;
  margin-bottom: 8px;
  padding: 12px clamp(14px, 2vw, 28px);
}
.v3-stay-bridge-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.95fr);
  gap: 10px 28px;
  align-items: center;
  width: min(1180px, 100%);
  margin: 0 auto;
}
.v3-stay-title {
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
  line-height: 1.2;
}
.v3-stay-sub {
  margin: 6px 0 0;
  max-width: 38rem;
  font-size: 0.86rem;
  line-height: 1.4;
}
.v3-bridge-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.v3-bridge-step {
  margin: 0;
  padding: 8px 10px 9px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(143, 206, 187, 0.32);
}
.v3-bridge-num {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #8fcebb;
}
.v3-bridge-name {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #fff;
}
.v3-bridge-blurb {
  display: block;
  margin-top: 4px;
  font-size: 11.5px;
  line-height: 1.3;
  color: rgba(213, 224, 234, 0.88);
}

/* Cap the Step 3 stay story so it does not tower over the cards.
   The list itself is not a flex child fighting that story for height.
   amp-build:2186 — Mike voice: photo band was too short (crowns only).
   Taller strip + center-top so Alliance Pediatrics faces (and sibling
   specialty still-there photos sharing this rule) read clearly. */
.view.funnel.trailhead[data-route="client-specialty"] .client-spec-more,
.view.funnel.client-spec-sheet .client-spec-more {
  grid-column: 1 / -1;
}
.view.funnel.trailhead[data-route="client-specialty"] .v3-ctx:not(.slim) .v3-ctx-media,
.view.funnel.client-spec-sheet .v3-ctx:not(.slim) .v3-ctx-media {
  aspect-ratio: auto;
  height: 180px;
  min-height: 160px;
  max-height: 220px;
  background-position: center top;
  background-size: cover;
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner.v3-hero-split {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    gap: 18px;
    padding-top: max(72px, calc(var(--amp-title-clear) - 82px));
    padding-bottom: 18px;
    padding-left: 4px;
    padding-right: 4px;
  }
  .home-stage.v3-home .v3-hero-split > .v3-hero-copy,
  .home-stage.v3-home .v3-years-copy,
  .home-stage.v3-home .v3-still-rotator {
    grid-column: 1;
    max-width: none;
  }
  .home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title,
  .home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title-shimmer {
    max-width: none;
    font-size: clamp(1.65rem, 7.4vw, 2.15rem);
  }
  .v3-stay-bridge-inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .home-stage.v3-home .v3-stay-bridge {
    padding: 14px 16px 16px;
    margin-bottom: 8px;
  }
  .v3-stay-title {
    font-size: clamp(1.12rem, 4.8vw, 1.4rem);
  }
}
@media (max-width: 640px) {
  .v3-bridge-steps {
    grid-template-columns: 1fr;
  }
}

/* ========== amp-build:2171-bridge-blue-stretch ==========
   Left column grows (eyebrow + place-who-stay headline) so it balances
   the still-there card. Card size and placement stay the 2170 lock.
   Rotator becomes navy/sky glass (not a charcoal slab, not mint).
   Bridge band uses the side space. 01–03 steps stretch and go glass.
   MI title is the locked compensation line; "specialty × state" must
   not crush inside the old 22ch title measure. */

.home-stage.v3-home .v3-hero .v3-eyebrow {
  font-size: 16px;
  letter-spacing: 0.15em;
  margin-bottom: 12px;
}
.home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title,
.home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title-shimmer {
  font-size: clamp(2.55rem, 4vw, 3.35rem);
  line-height: 1.05;
  max-width: 12.5em;
  margin: 0 0 12px;
}
.home-stage.v3-home .v3-hero .v3-sub {
  font-size: 1.08rem;
  line-height: 1.45;
  max-width: 32rem;
}

/* Still-there card: theme glass + sky/MI blue accents. Dimensions untouched. */
.v3-still-card {
  background: rgba(21, 35, 50, 0.38);
  border: 1px solid rgba(120, 196, 229, 0.34);
  box-shadow:
    0 16px 36px rgba(12, 21, 32, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(16px) saturate(1.15);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
}
.v3-still-year {
  color: #5eb8e0;
}
.v3-still-dot.is-on {
  background: #5eb8e0;
  box-shadow: 0 0 0 1px rgba(94, 184, 224, 0.5), 0 0 10px rgba(94, 184, 224, 0.55);
}

/* Bridge uses the side negative space. Title size stays the 2170 clamp. */
.home-stage.v3-home .v3-stay-bridge {
  background: linear-gradient(180deg, rgba(21, 35, 50, 0.4) 0%, rgba(26, 44, 63, 0.3) 100%);
  border-top: 1px solid rgba(120, 196, 229, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-left: clamp(16px, 1.6vw, 28px);
  padding-right: clamp(16px, 1.6vw, 28px);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.v3-stay-bridge-inner {
  width: min(1720px, 100%);
  grid-template-columns: minmax(280px, 0.78fr) minmax(560px, 1.4fr);
  gap: 16px 48px;
}
.v3-stay-mint {
  color: var(--teal);
}
.v3-bridge-steps {
  gap: 18px;
}
.v3-bridge-step {
  padding: 12px 16px 14px;
  background: rgba(21, 35, 50, 0.22);
  border: 1px solid rgba(120, 196, 229, 0.34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.v3-bridge-num {
  color: #5eb8e0;
}

/* MI locked line — drop the 22ch crush so specialty × state stays intact. */
.home-stage.v3-home .v3-stats-parent .v3-stats-mi-panel .mi-title {
  max-width: none;
  width: 100%;
  padding-right: 38px;
  font-size: 1.02rem;
  line-height: 1.28;
}
.home-stage.v3-home .v3-stats-parent .mi-spec-state {
  white-space: nowrap;
}

/* Specialty cards: do not revive the 2169 flex-collapse
   (hire-card-list { flex:1; min-height:0 } plus flex-shrink:0 on every
   non-list sibling). That let the 16/9 .v3-ctx eat the list.
   The sheet scrolls. Cards keep a natural height. Continue stays sticky. */
.view.funnel.trailhead[data-route="client-specialty"] .hire-sheet,
.view.funnel.client-spec-sheet .hire-sheet {
  display: block;
  max-height: calc(100dvh - var(--amp-title-clear) - 12px);
  overflow-x: hidden;
  overflow-y: auto;
}
.view.funnel.trailhead[data-route="client-specialty"] .hire-card-list,
.view.funnel.client-spec-sheet .hire-card-list {
  flex: none;
  height: auto;
  min-height: 180px;
  overflow: visible;
}
.view.funnel.trailhead[data-route="client-specialty"] .v3-ctx,
.view.funnel.client-spec-sheet .v3-ctx {
  flex: none;
  height: auto;
}
@media (min-width: 900px) {
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card-list,
  .view.funnel.client-spec-sheet .hire-card-list {
    align-content: start;
    grid-auto-rows: minmax(112px, auto);
  }
  .view.funnel.trailhead[data-route="client-specialty"] .hire-card,
  .view.funnel.client-spec-sheet .hire-card {
    height: auto;
    min-height: 112px;
    overflow: visible;
  }
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-hero .v3-eyebrow {
    font-size: 13px;
    letter-spacing: 0.14em;
  }
  .home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title,
  .home-stage.v3-home .v3-hero h1.explore-title.v3-hero-title-shimmer {
    font-size: clamp(1.9rem, 7.8vw, 2.5rem);
    max-width: none;
  }
  .v3-stay-bridge-inner {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 12px;
  }
}

/* ========== amp-build:2172-client-top-clean ==========
   Client territory and the meeting card were starting inside the fixed
   under-header fade (solid through 72px / 56px, clear at 148px / 132px).
   Park both sheets on the same --amp-title-clear lock as other pages.
   Territory keeps one title. The map's duplicate heading and
   "Hiring path · territory" kicker are not a second header.
   Facility · specialty stays one compact line under that title.
   Meeting form fields are unchanged. */

.view.funnel[data-route="client-region"] > .view-chrome,
.view.funnel[data-route="client-meeting"] > .view-chrome {
  padding-top: var(--amp-title-clear) !important;
  box-sizing: border-box;
}
.view.funnel[data-route="client-region"] > .view-chrome > .funnel-panel.client-step-card,
.view.funnel[data-route="client-meeting"] > .view-chrome > .funnel-panel.client-step-card {
  margin-top: 0 !important;
}
.view[data-route="client-region"] .client-region-context {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.01em;
  line-height: 1.35;
  color: #0f766e;
}
/* Map keeps the selected-region legend. The intro copy is the duplicate title. */
.view[data-route="client-region"] .client-territory-map .region-map-intro > div:first-child,
.view[data-route="client-region"] .region-map-kicker,
.view[data-route="client-region"] .region-map-intro h2,
.view[data-route="client-region"] .region-map-help {
  display: none !important;
}
.view[data-route="client-region"] .client-territory-map .region-map-intro {
  justify-content: flex-end;
  margin-bottom: 4px;
}

/* ========== amp-build:2177-zach-scope-strip ==========
   Stay line leads. Zach scope pipe sits under that block.
   Place-who-stay hero + still-there rotator follow, pulled up.
   Place-card copy stays fully opaque. Under-header fade is unchanged.
   Row2 MI + provider + hiring cards get a slight raise and a soft shadow. */

.home-stage.v3-home .v3-stay-bridge {
  margin-top: calc(var(--amp-title-clear) - 68px);
  margin-bottom: 0;
  padding-top: 12px;
  padding-bottom: 8px;
}

.home-stage.v3-home .v3-zach-scope.amp-zach-scope-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  width: min(1720px, 100%);
  margin: 10px auto 0;
  padding: 0;
  font-family: inherit;
  font-size: clamp(12.5px, 1.15vw, 15px);
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.4;
  color: rgba(226, 232, 240, 0.82);
  cursor: default;
  user-select: none;
  text-shadow: 0 1px 2px rgba(8, 14, 22, 0.45);
}

.v3-zach-scope .v3-zach-item {
  white-space: nowrap;
}

.v3-zach-scope .v3-zach-pipe {
  display: inline-block;
  margin: 0 0.62em;
  color: rgba(226, 232, 240, 0.42);
  font-weight: 300;
}

.home-stage.v3-home .v3-hero.v3-place-card,
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner,
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-copy,
.home-stage.v3-home .v3-hero.v3-place-card .v3-still-rotator {
  opacity: 1;
}

.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner,
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner.v3-hero-split {
  padding-top: 6px;
  padding-bottom: 8px;
}

.home-stage.v3-home .v3-stats-parent {
  padding-top: 18px;
}

.home-stage.v3-home .v3-stats-parent a.v3-stats-mi-panel.mi-enrich,
.home-stage.v3-home .v3-stats-parent .v3-photo-door {
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.home-stage.v3-home .v3-stats-parent a.v3-stats-mi-panel.mi-enrich {
  transform: translateY(-4px);
  border: 1px solid rgba(198, 224, 240, 0.55);
  box-shadow:
    0 10px 24px rgba(12, 21, 32, 0.22),
    0 2px 4px rgba(12, 21, 32, 0.12);
}

.home-stage.v3-home .v3-stats-parent .v3-photo-door {
  transform: translateY(-8px);
  border: 1px solid rgba(30, 58, 85, 0.35);
  box-shadow:
    0 12px 26px rgba(12, 21, 32, 0.2),
    0 2px 5px rgba(12, 21, 32, 0.1);
}

.home-stage.v3-home .v3-stats-parent a.v3-stats-mi-panel.mi-enrich:hover,
.home-stage.v3-home .v3-stats-parent a.v3-stats-mi-panel.mi-enrich:focus-visible {
  transform: translateY(-6px);
  box-shadow:
    0 16px 34px rgba(12, 21, 32, 0.28),
    0 2px 6px rgba(12, 21, 32, 0.12);
}

.home-stage.v3-home .v3-stats-parent .v3-photo-door:hover,
.home-stage.v3-home .v3-stats-parent .v3-photo-door:focus-visible {
  transform: translateY(-10px);
  border-color: rgba(30, 58, 85, 0.55);
  box-shadow:
    0 18px 36px rgba(12, 21, 32, 0.26),
    0 3px 8px rgba(12, 21, 32, 0.12);
}

@media (max-width: 720px) {
  .home-stage.v3-home .v3-zach-scope.amp-zach-scope-strip {
    font-size: 12px;
    letter-spacing: 0.01em;
    row-gap: 4px;
  }
  .v3-zach-scope .v3-zach-pipe {
    margin: 0 0.38em;
  }
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner,
  .home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner.v3-hero-split {
    padding-top: 6px;
    padding-bottom: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-stage.v3-home .v3-stats-parent a.v3-stats-mi-panel.mi-enrich,
  .home-stage.v3-home .v3-stats-parent .v3-photo-door {
    transition: none;
  }
}

/* ========== amp-build:2178-hero-first-stack ==========
   Place hero leads again. Title-below-fade padding returns to the place
   card (overlay already pads 68px; inner pad finishes past the fade).
   Stay bridge + Zach scope strip sit tight under that hero — the 2177
   clearance margin stays off the bridge. Hero copy stays fully opaque.
   Row2 raise, under-header fade, and layer locks are unchanged. */

.home-stage.v3-home .v3-hero.v3-place-card,
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner,
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-copy,
.home-stage.v3-home .v3-hero.v3-place-card .v3-still-rotator {
  opacity: 1;
}

.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner,
.home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner.v3-hero-split {
  padding-top: calc(var(--amp-title-clear) - 68px);
  padding-bottom: 8px;
}

.home-stage.v3-home .v3-stay-bridge {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 8px;
  padding-bottom: 4px;
}

.home-stage.v3-home .v3-zach-scope.amp-zach-scope-strip {
  margin-top: 6px;
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner,
  .home-stage.v3-home .v3-hero.v3-place-card .v3-hero-inner.v3-hero-split {
    padding-top: max(72px, calc(var(--amp-title-clear) - 82px));
    padding-bottom: 8px;
  }
  .home-stage.v3-home .v3-stay-bridge {
    margin-top: 0;
    padding-top: 8px;
    padding-bottom: 4px;
  }
}

/* ========== amp-build:2179-footer-no-overscroll ==========
   Document scroll ends at .site-footer.
   body and .home-stage set overflow-x:hidden, which computes overflow-y to auto
   and turns them into scrollports. Fixed full-viewport layers then join that
   scrollable overflow. .home-layer-soft-fade lived after </footer> at height
   100dvh (wallpaper clone), so engines that keep a fixed box's static position
   in the scroll height left a viewport of wallpaper below the footer on every
   route. .home-mist was 6% taller than the viewport (--home-bg-vh) with a
   translateZ, the same class of runway on home.
   clip keeps horizontal clipping without a vertical scrollport.
   100dvh min-height applies only while a view is active.
   Chat stays a fixed zero box — no body padding-bottom.
   Footer padding (36px 20px 48px) is unchanged. */

html {
  overflow-x: clip;
  overscroll-behavior-y: none;
}
body {
  overflow-x: clip;
  overscroll-behavior-y: none;
}
.view {
  min-height: 0;
}
.view:not(.on):not(.walk-forward) {
  min-height: 0 !important;
}
.view.on,
.view.walk-forward {
  min-height: 100dvh;
}
.home-stage {
  overflow-x: clip;
  overflow-y: visible;
}
.home-layer-soft-fade {
  position: fixed;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  height: 100dvh;
  max-height: 100dvh;
  margin: 0;
}
/* Anchor viewport layers to the top edge so a tall scrollport cannot stretch them. */
.view.funnel > .shot {
  bottom: auto;
  height: 100dvh;
  max-height: 100dvh;
}
.home-stage.on .home-mist {
  top: 0;
  bottom: auto;
  height: 100dvh;
  max-height: 100dvh;
}
@media (max-width: 760px) {
  .home-stage.on .home-mist {
    height: 100dvh !important;
    max-height: 100dvh !important;
  }
}
/* Launcher and panel stay position:fixed. The root must not sit in flow after the footer. */
.amp-chat-root {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  margin: 0;
  overflow: visible;
  z-index: 2147483000;
}
.site-footer {
  margin-bottom: 0;
}

/* ========== amp-build:2180-footer-no-overscroll-mobile ==========
   Phones still scrolled past .site-footer into the fixed wallpaper.
   iOS sizes 100vh/100dvh and bottom:0 / inset:0 fixed layers to the large
   layout viewport (the area under the URL bar). .home-pro-bg kept
   inset:0 !important and translateZ(0); --home-bg-vh added 6% overscan and
   ignored address-bar resizes. WebKit then treats that extra as document
   scroll, so the footer rides up and the wallpaper shows underneath.
   100svh is the stable small viewport: never taller than the screen with
   the toolbar showing, and it does not grow when the bar hides.
   Bottom anchors are removed so layers cannot stretch to the layout viewport.
   translateZ is dropped only on these full-viewport layers (that compositing
   hint is what makes WebKit add them to scrollable overflow).
   html keeps overflow-y visible so L2 document scroll is not trapped.
   Body clips only descendant overflow past its own box. Footer padding unchanged. */
@media (max-width: 900px) {
  html {
    min-height: 0;
    overflow-x: clip;
    overflow-y: visible;
  }
  body {
    min-height: 0;
    overflow-x: clip;
    overflow-y: clip;
  }
  #app {
    min-height: 0;
  }
  .view.on,
  .view.walk-forward,
  .view.funnel.trailhead,
  .trailhead-stage,
  .view.funnel > .view-chrome,
  .home-overlay,
  .home-stage {
    min-height: 100svh;
  }
  .home-stage {
    overflow-x: clip;
    overflow-y: visible;
  }
  .home-stage.v3-home .home-pro-bg,
  .home-stage.on .home-poster,
  .home-stage.on #home-video,
  .home-stage.on .home-mist,
  .home-layer-soft-fade,
  .view.funnel:not(.trailhead) > .shot {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 100svh !important;
    max-height: 100svh !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
  .amp-chat-root {
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
  }
  .amp-chat-launcher {
    top: calc(100svh - 80px - env(safe-area-inset-bottom, 0px)) !important;
    right: 14px !important;
    bottom: auto !important;
  }
}

/* ========== amp-build:2181-still-there-swipe ==========
   Placement cards follow a horizontal drag, then snap.
   touch-action: pan-y keeps vertical page scroll. */
.v3-still-stage {
  touch-action: pan-y;
  overflow: hidden;
  cursor: grab;
}
.v3-still-rotator.is-dragging .v3-still-stage {
  cursor: grabbing;
}
.v3-still-rotator.is-dragging,
.v3-still-rotator.is-settling {
  user-select: none;
}
.v3-still-rotator.is-dragging .v3-still-card {
  transition: none;
}
.v3-still-dot {
  position: relative;
}
.v3-still-dot::after {
  content: "";
  position: absolute;
  inset: -10px;
}

/* ========== amp-build:2182-footer-wallpaper-bleed ==========
   Scrolled to the end, a full-width sliver of the clinic wallpaper
   still painted across the footer. .home-layer-soft-fade is a fixed
   full-viewport clone of Layer 1 at z-index 280, above the in-flow
   footer. The mask is meant to show only the under-header tuck. On
   phones the bottom edge of that clone still paints (about a safe-area
   tall), so the desk/floor shows through while the scrollbar is already
   at the end.
   Clip the clone to the tuck band. The mask is already transparent by
   148px desktop / 132px mobile, so the clip does not change the fade.
   Layer 1 is position:fixed with z-index 0, which paints after in-flow
   boxes. Its bottom edge (the desk) therefore shows through the footer's
   padding even when the footer box reaches the viewport. position:relative
   and z-index 1 puts the footer above that wallpaper and above interior
   .shot layers, and still under the sticky nav (100), the tuck (280),
   and the header (300).
   Footer padding grows only by the safe area, still on the footer color.
   The end cap is a fixed navy fill for a real gap under the footer
   (rubber-band or visual-viewport) and is added only while that gap
   exists, so the hero never gets a permanent navy bar. */
.home-layer-soft-fade {
  -webkit-clip-path: inset(0 0 calc(100% - 180px) 0);
  clip-path: inset(0 0 calc(100% - 180px) 0);
}
.site-footer {
  position: relative;
  z-index: 1;
  padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
}
html {
  background-color: #0b1220;
}
body.amp-footer-endcap::after {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  top: var(--amp-end-top, 100%);
  height: var(--amp-end-gap, 0px);
  background: #0b1220;
  z-index: 4;
  pointer-events: none;
}

/* ========== amp-build:2183-bridge-under-sub-inter-teal-faces ==========
   Bridge headline sits in the hero copy column under .v3-sub.
   Family is the site Inter stack. Size and weight stay.
   The mint line uses Allied teal. Zach strip follows that headline,
   then the 01–03 steps, then Row2.
   Story and pepper photos keep their frames and sit toward the top
   so a cover crop does not cut off the tops of heads. */
.home-stage.v3-home .v3-years-copy .v3-stay-title {
  margin-top: 12px;
  font-family: var(--font);
}
.v3-stay-mint {
  color: var(--teal);
}
.home-stage.v3-home .v3-zach-scope.amp-zach-scope-strip {
  margin-top: 8px;
  margin-bottom: 4px;
}
.home-stage.v3-home .v3-stay-bridge .v3-stay-bridge-inner {
  grid-template-columns: 1fr;
}
.v3-ctx-media {
  background-position: center top;
  background-size: cover;
}
.amp-ret-card-media img,
.v3-still-photo {
  object-fit: cover;
  object-position: center top;
}

/* ========== amp-build:2184-specialty-under-sub-sky-bridge-restore ==========
   Specialty strip sits under the hero sub, in the copy column.
   The finding-someone headline returns to the bridge band with the
   01–03 steps, side by side again so Row2 stays on screen.
   The stay line stays Inter. Its second line is palette sky. */
.home-stage.v3-home .v3-years-copy .v3-zach-scope.amp-zach-scope-strip {
  width: 100%;
  max-width: 100%;
  margin: 12px 0 0;
}
.home-stage.v3-home .v3-stay-bridge .v3-stay-title {
  font-family: var(--font);
}
.v3-stay-mint {
  color: var(--sky);
}
.home-stage.v3-home .v3-stay-bridge .v3-stay-bridge-inner {
  grid-template-columns: minmax(280px, 0.78fr) minmax(560px, 1.4fr);
}
@media (max-width: 900px) {
  .home-stage.v3-home .v3-stay-bridge .v3-stay-bridge-inner {
    grid-template-columns: 1fr;
  }
}

/* ========== amp-build:2185-drop-nationwide-specialty-strip ==========
   Drop redundant Nationwide + trailing bar after Allied Health
   so the specialty strip fits one line on Mike's viewport and
   frees a little vertical room above References/partners.
   Keep flex-wrap for narrow phones; no forced nowrap. */

/* ========== amp-build:2187-client-spec-3x3-other-row ==========
   Client step 3 (#client-specialty-ctx) photo band: 96→180px (max 220).
   Shared by all specialty still-there paints (Alliance Pediatrics + siblings).
   background-position center top kept so faces stay in frame. */


/* ========== amp-build:2188-client-spec-side-by-side ==========
   Client path steps 3/4/5: full 16:9 desktop width + left/right columns
   so specialty picker, territory, and meeting form fit a laptop without
   stacking the critical preview off-screen. Mobile stays single column.
   SoftMess untouched. 2187 3×3+Other ranks unchanged. */

/* —— Step 3 · client-specialty: picker left, still-there preview right —— */
.client-spec-split {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0 0 4px;
  min-width: 0;
}
.client-spec-picker,
.client-spec-preview {
  min-width: 0;
}
.client-spec-preview .v3-ctx {
  margin: 0;
  height: auto;
}
@media (min-width: 900px) {
  .view.funnel.trailhead[data-route="client-specialty"] .trailhead-sheet-stage,
  .view.funnel.client-spec-sheet .trailhead-sheet-stage {
    max-width: min(1440px, 98vw);
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .hire-sheet,
  .view.funnel.client-spec-sheet .hire-sheet {
    width: min(1360px, 96vw);
    max-width: 1360px;
    padding: 20px 22px 18px;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-split,
  .view.funnel.client-spec-sheet .client-spec-split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.78fr);
    gap: 16px 22px;
    align-items: start;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-preview,
  .view.funnel.client-spec-sheet .client-spec-preview {
    position: sticky;
    top: 8px;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-preview .v3-ctx,
  .view.funnel.client-spec-sheet .client-spec-preview .v3-ctx {
    width: 100%;
  }
}

/* —— Step 4 · client-region: territory sheet left, retention pepper right —— */
@media (min-width: 1100px) {
  .view[data-route="client-region"] > .view-chrome {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 400px);
    gap: 16px 22px;
    align-items: start;
    width: min(1440px, calc(100% - 28px));
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 14px;
    padding-right: 14px;
    box-sizing: border-box;
  }
  .view[data-route="client-region"] .funnel-panel.client-combined-stage {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .view[data-route="client-region"] .client-ret-pepper--region {
    width: 100%;
    max-width: none;
    margin: 0 0 12px; /* 2191: was 18px — YEARS sat below Where-should-we-search */
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: calc(var(--amp-title-clear, 88px) + 8px);
    align-self: start;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-sell-rail {
    display: flex;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards {
    width: 100%;
    margin: 0;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card--desktop {
    display: flex;
  }
}

/* —— Step 5 · client-meeting: form left, proof card right; full desktop width —— */
.client-meeting-sheet {
  max-width: min(1180px, calc(100% - 24px));
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.client-meeting-split {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 4px;
  min-width: 0;
}
.client-meeting-main,
.client-meeting-preview {
  min-width: 0;
}
.client-meeting-proof {
  padding: 16px 16px 14px;
  border-radius: 16px;
  background: linear-gradient(160deg, var(--navy) 0%, var(--navy-2, #1e3a55) 55%, #1e3a55 100%);
  border: 1px solid rgba(120, 196, 229, 0.28);
  box-shadow: 0 12px 28px rgba(21, 35, 50, 0.22);
  color: #f8fafc;
  margin-bottom: 12px;
}
.client-meeting-proof-kicker {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sky, #78c4e5);
}
.client-meeting-proof-line {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.client-meeting-proof-sub {
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.4;
  color: rgba(248, 250, 252, 0.88);
}
.client-meeting-proof-card {
  margin: 0;
}
@media (min-width: 900px) {
  .client-meeting-sheet {
    max-width: min(1280px, 96vw);
    padding: 22px 24px 28px;
  }
  .client-meeting-split {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.72fr);
    gap: 18px 24px;
    align-items: start;
  }
  .client-meeting-preview {
    position: sticky;
    top: calc(var(--amp-title-clear, 88px) + 8px);
  }
  .view[data-route="client-meeting"] .client-meeting-sheet .form-grid.two {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 899px) {
  .client-spec-split,
  .client-meeting-split {
    display: flex;
    flex-direction: column;
  }
  .client-meeting-sheet {
    max-width: calc(100% - 20px);
  }
}

/* ========== amp-build:2189-client-region-tighten ==========
   Step 4 client-region: one How we help only (teal 6-step climb).
   Dark .client-how-help parked/hidden. Map + state are the left hero;
   reduce vertical chrome so 16:9 side-by-side can fit one laptop screen.
   2188 specialty/meeting splits and SoftMess untouched. */

/* Belt + suspenders: dark How-we-help never paints on this step */
.view[data-route="client-region"] .client-how-help {
  display: none !important;
}

/* Compact left chrome — map/state get the height */
.view[data-route="client-region"] .funnel-panel.client-combined-stage {
  padding: 12px 16px 18px;
}
.view[data-route="client-region"] .funnel-panel {
  padding-bottom: 28px;
}
.view[data-route="client-region"] .client-step-on-card {
  margin: 0 0 4px;
}
.view[data-route="client-region"] .hire-title {
  margin: 0 0 4px;
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
}
.view[data-route="client-region"] .client-card-lede {
  margin: 0 0 8px;
  font-size: 13.5px;
  line-height: 1.35;
  max-width: 62ch;
}
.view[data-route="client-region"] .client-region-context {
  margin: 0 0 4px;
  font-size: 12.5px;
  line-height: 1.35;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Territory hero: taller map, tighter band */
.view[data-route="client-region"] .client-territory-band {
  margin: 0 0 10px;
  gap: 12px 14px;
}
.view[data-route="client-region"] .client-territory-map .amp-region-map {
  max-height: 300px;
}
.view[data-route="client-region"] .client-territory-map .region-map-wrap {
  padding: 4px 4px 6px;
}

/* Compact climb strip (kept = the single How we help) */
.view[data-route="client-region"] .client-climb-band[data-climb-option="A"] {
  margin: 2px 0 6px;
  padding: 8px 10px 10px;
}
.view[data-route="client-region"] .client-climb-line {
  margin: 0 0 6px;
  font-size: 12.5px;
  min-height: 0;
}
.view[data-route="client-region"] .client-climb-name {
  font-size: 11px;
}
.view[data-route="client-region"] .client-climb-num {
  width: 28px;
  height: 28px;
  font-size: 12px;
}
.view[data-route="client-region"] .client-climb-trail::before {
  top: 15px;
}

@media (min-width: 1100px) {
  .view[data-route="client-region"] .client-territory-map .amp-region-map {
    max-height: 340px;
  }
  /* Keep 2188 side-by-side; left stays search, right stays pepper */
  .view[data-route="client-region"] > .view-chrome {
    align-items: start;
  }
}

@media (max-width: 1099px) {
  /* Mobile / narrow: 2188 grid does not apply; keep flex column stack */
  .view[data-route="client-region"] .client-territory-map .amp-region-map {
    max-height: none;
  }
}

/* ========== amp-build:2190-client-region-mike-plan ==========
   Mike plan fold-in:
   Step 4: compact How-we-help number line + bottom detail (hover/pin);
           right YEARS wider/thinner; 2-col placement grid; one-screen desktop.
   Step 5: same YEARS + 2-col placements; 2×2 equal card alignment
           (search | YEARS / form | placements).
   Step 3: taller specialty ctx media so FM full picture (not sky crop).
   Confirm: Explore→MI; client receipt mock removed. SoftMess untouched. */

/* —— Step 3 · taller specialty preview media (FM water-tower crop fix) —— */
.view.funnel.trailhead[data-route="client-specialty"] .v3-ctx:not(.slim) .v3-ctx-media,
.view.funnel.client-spec-sheet .v3-ctx:not(.slim) .v3-ctx-media,
#client-specialty-ctx .v3-ctx-media {
  aspect-ratio: auto;
  height: 268px;
  min-height: 240px;
  max-height: 340px;
  background-position: center 48%;
  background-size: cover;
}
@media (min-width: 900px) {
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-preview .v3-ctx:not(.slim) .v3-ctx-media,
  .view.funnel.client-spec-sheet .client-spec-preview .v3-ctx:not(.slim) .v3-ctx-media {
    height: min(32vh, 300px);
    min-height: 248px;
    max-height: 340px;
  }
}

/* —— Step 4 · How we help: compact number line + detail card at bottom —— */
.view[data-route="client-region"] .client-climb-band[data-climb-option="A"] {
  margin: 4px 0 8px;
  padding: 8px 12px 10px;
}
.view[data-route="client-region"] .client-climb-line {
  display: none !important;
}
.view[data-route="client-region"] .client-climb-trail {
  gap: 6px;
  margin: 0 0 8px;
}
.view[data-route="client-region"] .client-climb-trail::before {
  top: 14px;
}
.view[data-route="client-region"] .client-climb-station {
  gap: 0;
  padding: 2px 2px 4px;
}
.view[data-route="client-region"] .client-climb-num {
  width: 30px;
  height: 30px;
  font-size: 12.5px;
}
@media (min-width: 901px) {
  .view[data-route="client-region"] .client-climb-name {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
.client-climb-detail {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(13, 148, 136, 0.22);
  background: linear-gradient(180deg, rgba(240, 253, 250, 0.92), #fff);
  min-height: 64px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.client-climb-detail.is-active,
.client-climb-detail.is-pinned {
  border-color: rgba(13, 148, 136, 0.45);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.12);
}
.client-climb-detail-kicker {
  margin: 0 0 2px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #0f766e;
}
.client-climb-detail-title {
  margin: 0 0 2px;
  font-size: 14px;
  font-weight: 750;
  color: #0f172a;
  line-height: 1.25;
}
.client-climb-detail-body {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.4;
  color: #334155;
}
.client-climb-detail.is-idle .client-climb-detail-title {
  color: #0f766e;
}

/* —— Shared thin YEARS rail (step 4 + 5) —— */
.client-ret-sell-rail--thin,
.client-meeting-proof.client-ret-sell-rail--thin {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  padding: 10px 16px !important;
  width: 100%;
  box-sizing: border-box;
}
.client-ret-sell-rail--thin .client-ret-sell-kicker,
.client-meeting-proof.client-ret-sell-rail--thin .client-meeting-proof-kicker {
  margin: 0;
  flex: 0 0 auto;
}
.client-ret-sell-rail--thin .client-ret-sell-line,
.client-meeting-proof.client-ret-sell-rail--thin .client-meeting-proof-line {
  margin: 0;
  flex: 1 1 180px;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.3;
}
.client-ret-sell-rail--thin .client-ret-sell-proof,
.client-meeting-proof.client-ret-sell-rail--thin .client-meeting-proof-sub {
  margin: 0;
  flex: 1 1 160px;
  font-size: 11.5px !important;
  line-height: 1.35;
  opacity: 0.92;
}

/* —— Step 4 · right rail: wider column, YEARS thin, 2-col placements —— */
@media (min-width: 1100px) {
  .view[data-route="client-region"] > .view-chrome {
    grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.95fr);
    gap: 14px 20px;
    width: min(1480px, calc(100% - 24px));
    max-width: 1480px;
  }
  .view[data-route="client-region"] .client-ret-pepper--region {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    max-width: none;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-sell-rail {
    display: flex;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin: 0;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card--desktop,
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card--dense {
    display: flex;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card-media {
    aspect-ratio: 16 / 10;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card-body {
    padding: 8px 10px 6px;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-year {
    font-size: 17px;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-role {
    font-size: 12.5px;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-place,
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-days {
    font-size: 11px;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-footer {
    padding: 7px 10px;
    font-size: 9.5px;
  }
  /* Odd third spans full width only when it is the last card (3-card set).
     With 4 cards, keep equal 2×2 — no stretch-to-fill. */
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards > .amp-ret-card:nth-child(3):last-child {
    grid-column: 1 / -1;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards > .amp-ret-card:nth-child(3):not(:last-child) {
    grid-column: auto;
  }
}

/* —— Step 5 · 2×2 equal alignment + YEARS thin + 2-col placements —— */
.client-meeting-proof-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  min-width: 0;
}
@media (min-width: 900px) {
  .client-meeting-sheet {
    max-width: min(1360px, 96vw);
    padding: 20px 22px 24px;
  }
  .view[data-route="client-meeting"] .client-meeting-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: 14px 18px;
    align-items: stretch;
  }
  .view[data-route="client-meeting"] .client-meeting-main,
  .view[data-route="client-meeting"] .client-meeting-preview {
    display: contents;
  }
  .view[data-route="client-meeting"] .picked-agreement {
    grid-column: 1;
    grid-row: 1;
    margin-top: 0;
    align-self: stretch;
    min-height: 0;
    height: 100%;
    box-sizing: border-box;
  }
  .view[data-route="client-meeting"] .client-meeting-proof {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 0;
    align-self: stretch;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
  .view[data-route="client-meeting"] #client-meeting-form {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0 !important;
    align-self: stretch;
    height: 100%;
  }
  .view[data-route="client-meeting"] .client-meeting-proof-grid {
    grid-column: 2;
    grid-row: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-self: stretch;
  }
  .view[data-route="client-meeting"] .client-meeting-proof-grid .amp-ret-card {
    height: 100%;
  }
  .view[data-route="client-meeting"] .client-meeting-proof-grid .amp-ret-card-media {
    aspect-ratio: 16 / 10;
  }
  .view[data-route="client-meeting"] .client-meeting-proof-grid .amp-ret-card-body {
    padding: 8px 10px 6px;
  }
  .view[data-route="client-meeting"] .client-meeting-proof-grid .amp-ret-year {
    font-size: 17px;
  }
  .view[data-route="client-meeting"] .client-meeting-proof-grid .amp-ret-role {
    font-size: 12.5px;
  }
  .view[data-route="client-meeting"] .client-meeting-proof-grid .amp-ret-place,
  .view[data-route="client-meeting"] .client-meeting-proof-grid .amp-ret-days {
    font-size: 11px;
  }
  .view[data-route="client-meeting"] .client-meeting-proof-grid .amp-ret-footer {
    padding: 7px 10px;
    font-size: 9.5px;
  }
  /* When search summary is hidden, YEARS still sits top-right; form spans full left */
  .view[data-route="client-meeting"] .picked-agreement[hidden] {
    display: none !important;
  }
}
@media (max-width: 899px) {
  .client-meeting-proof-grid {
    grid-template-columns: 1fr;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards {
    grid-template-columns: 1fr;
  }
}

/* Confirm-client: receipt mock gone — tighten discuss wrap spacing */
.view[data-route="confirm-client"] #mess-client-mock {
  display: none !important;
}

/* ========== amp-build:2191-client-region-years-align-four ==========
   Step 4: raise YEARS top to align with Where-should-we-search card;
           fourth still-there (Alliance Pediatrics) so 2×2 equal cards;
           odd-third full-span only when 3 cards.
   Step 3: re-assert 2188 full-width side-by-side (picker | preview) —
           older 920px hire-sheet / 1100 stage caps must not win.
   Step 5: 2×2 untouched. SoftMess untouched. */

/* —— Step 4 · YEARS top-align with left search card —— */
@media (min-width: 1100px) {
  .view[data-route="client-region"] > .view-chrome {
    align-items: start;
  }
  .view[data-route="client-region"] .client-ret-pepper--region {
    margin-top: 0;
    margin-bottom: 12px;
    padding-top: 0;
    align-self: start;
    /* sticky offset kept, but initial paint must match left card top */
    top: calc(var(--amp-title-clear, 88px) + 8px);
  }
  .view[data-route="client-region"] .funnel-panel.client-combined-stage {
    margin-top: 0;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-sell-rail--thin {
    margin-top: 0;
  }
  /* Four equal cards in 2×2 — no stretch of a single row-spanning card */
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards > .amp-ret-card {
    height: auto;
    min-height: 0;
    align-self: stretch;
  }
}

/* —— Step 3 · restore full-width 16:9 side-by-side (beats older 920/1100 caps) —— */
@media (min-width: 900px) {
  .view.funnel.trailhead[data-route="client-specialty"] .trailhead-sheet-stage,
  .view.funnel.client-spec-sheet .trailhead-sheet-stage {
    max-width: min(1440px, 98vw);
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .hire-sheet,
  .view.funnel.client-spec-sheet .hire-sheet {
    width: min(1360px, 96vw);
    max-width: 1360px;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-split,
  .view.funnel.client-spec-sheet .client-spec-split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.78fr);
    gap: 16px 22px;
    align-items: start;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-preview,
  .view.funnel.client-spec-sheet .client-spec-preview {
    position: sticky;
    top: 8px;
  }
}

/* ========== amp-build:2192-em-er-photo ==========
   Step 4: EM card gets ER doctor+patient photo (Alliance peds unchanged);
           lift ENTIRE right pepper stack flush with left stage card top
           (zero sticky + zero margin; align-items:start).
   Confirm-client: thin discuss topic cards so MI + Why AMP CTAs fit one screen.
   SoftMess untouched. */

/* —— Step 4 · whole right stack flush with left stage card top —— */
@media (min-width: 1100px) {
  .view[data-route="client-region"] > .view-chrome {
    align-items: start;
  }
  .view[data-route="client-region"] .funnel-panel.client-combined-stage.client-step-card {
    margin-top: 0 !important;
  }
  .view[data-route="client-region"] .client-ret-pepper--region {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 12px;
    align-self: start;
    position: relative; /* 2192: was sticky — kept whole stack below card top */
    top: auto;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-sell-rail--thin {
    margin-top: 0;
  }
}

/* —— Confirm-client · thinner topic cards so bottom CTAs stay on-screen ——
   Do NOT pull into under-header fade — keep title-clear padding; compress cards. */
@media (min-width: 900px) {
  .view[data-route="confirm-client"] .client-discuss {
    margin: 0 0 10px;
    padding: 12px 14px 10px;
  }
  .view[data-route="confirm-client"] .client-discuss-title,
  .view[data-route="confirm-client"] #client-discuss-title {
    margin: 0 0 4px;
    font-size: clamp(1.05rem, 2.2vw, 1.28rem);
    line-height: 1.25;
  }
  .view[data-route="confirm-client"] .client-discuss-lede {
    margin: 0 0 8px;
    font-size: 12.5px;
    line-height: 1.3;
  }
  .view[data-route="confirm-client"] .client-discuss-grid {
    gap: 6px;
  }
  .view[data-route="confirm-client"] .client-discuss-grid .hire-card {
    padding: 7px 9px 6px;
    min-height: 0;
    gap: 2px;
  }
  .view[data-route="confirm-client"] .client-discuss-grid .hire-card h3 {
    font-size: 12px;
    line-height: 1.2;
    margin: 0 0 2px;
  }
  .view[data-route="confirm-client"] .client-discuss-grid .hire-card p {
    margin: 0 0 4px;
    font-size: 11px;
    line-height: 1.25;
    -webkit-line-clamp: 2;
  }
  .view[data-route="confirm-client"] .client-discuss-grid .hire-card .hire-select {
    font-size: 11px;
    margin-top: 0;
  }
  .view[data-route="confirm-client"] .client-discuss-send-wrap {
    margin-top: 8px;
    gap: 4px;
  }
  .view[data-route="confirm-client"] .client-discuss-send-wrap .btn {
    padding: 8px 18px;
    font-size: 13px;
  }
  .view[data-route="confirm-client"] .client-confirm-discuss-wrap > .btn-row {
    margin-top: 10px !important;
    margin-bottom: 4px;
    gap: 10px;
  }
}

/* ========== amp-build:2193-step3-sbs-step4-cards-confirm-legible ==========
   Step 3: re-lock specialties | photo side-by-side on desktop (900+) with
           !important so older 920 caps / column flex cannot win.
   Step 4: drop right-rail grid from 1100→900 so four placement photos stay
           visible beside the map on common laptop widths (not stacked below
           the fold); force 2×2 + display:flex on all four cards.
   Confirm: shrink big check ~37%; enlarge Randy/discuss title + topic labels
           for 35–65 readers; keep card footprint (don't ultra-thin); prefer
           legibility over 2192 thin-topics while aiming to keep MI + Why AMP
           CTAs on one desktop screen.
   SoftMess untouched. Steps 4 climb/years + step5 2×2 left alone. */

/* —— Step 3 · desktop SBS lock (specialties left | photo right) —— */
@media (min-width: 900px) {
  .view.funnel.trailhead[data-route="client-specialty"] .trailhead-sheet-stage,
  .view.funnel.client-spec-sheet .trailhead-sheet-stage {
    max-width: min(1440px, 98vw) !important;
    width: 100% !important;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .hire-sheet,
  .view.funnel.client-spec-sheet .hire-sheet {
    width: min(1360px, 96vw) !important;
    max-width: 1360px !important;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-split,
  .view.funnel.client-spec-sheet .client-spec-split {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.78fr) !important;
    gap: 16px 22px !important;
    align-items: start !important;
    flex-direction: unset !important;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-picker,
  .view.funnel.client-spec-sheet .client-spec-picker,
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-preview,
  .view.funnel.client-spec-sheet .client-spec-preview {
    width: auto !important;
    max-width: none !important;
  }
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-preview,
  .view.funnel.client-spec-sheet .client-spec-preview {
    position: sticky;
    top: 8px;
  }
}
@media (max-width: 899px) {
  .view.funnel.trailhead[data-route="client-specialty"] .client-spec-split,
  .view.funnel.client-spec-sheet .client-spec-split {
    display: flex !important;
    flex-direction: column !important;
  }
}

/* —— Step 4 · show four placement photos in right rail from 900px up ——
   2192 left the chrome 2-col grid at 1100px, so 900–1099 laptops stacked the
   pepper below the fold and the four pictures looked "gone". */
@media (min-width: 900px) {
  .view[data-route="client-region"] > .view-chrome {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 400px) !important;
    gap: 16px 20px !important;
    align-items: start !important;
    width: min(1440px, calc(100% - 28px)) !important;
    max-width: 1440px !important;
    margin-left: auto;
    margin-right: auto;
    padding-left: 14px;
    padding-right: 14px;
    box-sizing: border-box;
    flex-direction: unset !important;
  }
  .view[data-route="client-region"] .funnel-panel.client-combined-stage {
    max-width: none !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .view[data-route="client-region"] .client-ret-pepper--region {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 12px;
    align-self: start !important;
    position: relative;
    top: auto;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-sell-rail,
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-sell-rail--thin {
    display: flex !important;
    margin-top: 0 !important;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    align-items: stretch;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card,
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card--dense,
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card--desktop {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch !important;
    grid-column: auto !important;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards > .amp-ret-card:nth-child(3):last-child {
    grid-column: auto !important; /* 4-card set — never span */
  }
}

/* —— Confirm · bigger readable type, smaller check, keep card footprint —— */
.view[data-route="confirm-client"] .confirm-hero .check,
.view[data-route="confirm-client"] .check {
  width: 40px !important;   /* was 64 — ~37.5% smaller */
  height: 40px !important;
  font-size: 18px !important; /* was 28 */
  margin: 0 auto 10px !important;
  box-shadow: 0 0 18px rgba(13,148,136,.35) !important;
}
@media (min-width: 900px) {
  .view[data-route="confirm-client"] .client-discuss {
    margin: 0 0 12px;
    padding: 14px 16px 12px; /* not ultra-thin */
  }
  .view[data-route="confirm-client"] .client-discuss-title,
  .view[data-route="confirm-client"] #client-discuss-title {
    margin: 0 0 6px;
    font-size: clamp(1.28rem, 2.6vw, 1.55rem) !important; /* older-reader */
    line-height: 1.3 !important;
    letter-spacing: -0.015em;
  }
  .view[data-route="confirm-client"] .client-discuss-lede {
    margin: 0 0 10px;
    font-size: 14.5px !important;
    line-height: 1.4 !important;
  }
  .view[data-route="confirm-client"] .client-discuss-grid {
    gap: 8px;
  }
  .view[data-route="confirm-client"] .client-discuss-grid .hire-card {
    padding: 11px 12px 10px !important; /* restore readable footprint (was 7px) */
    min-height: 0;
    gap: 4px;
  }
  .view[data-route="confirm-client"] .client-discuss-grid .hire-card h3 {
    font-size: 15px !important; /* was 12 — topic labels */
    line-height: 1.3 !important;
    margin: 0 0 4px !important;
    letter-spacing: -0.01em;
  }
  .view[data-route="confirm-client"] .client-discuss-grid .hire-card p {
    margin: 0 0 4px;
    font-size: 13px !important; /* was 11 */
    line-height: 1.35 !important;
    -webkit-line-clamp: 2;
  }
  .view[data-route="confirm-client"] .client-discuss-grid .hire-card .hire-select {
    font-size: 12.5px !important;
    margin-top: 2px;
  }
  .view[data-route="confirm-client"] .client-discuss-send-wrap {
    margin-top: 10px;
    gap: 6px;
  }
  .view[data-route="confirm-client"] .client-discuss-send-wrap .btn {
    padding: 9px 18px;
    font-size: 14px;
  }
  .view[data-route="confirm-client"] .client-confirm-discuss-wrap > .btn-row {
    margin-top: 12px !important;
    margin-bottom: 6px;
    gap: 10px;
  }
  .view[data-route="confirm-client"] .confirm-hero {
    padding-top: 18px;
    padding-bottom: 16px;
  }
  .view[data-route="confirm-client"] .confirm-hero h1,
  .view[data-route="confirm-client"] #confirm-client-title {
    font-size: clamp(1.35rem, 2.8vw, 1.7rem);
  }
}

/* ========== amp-build:2194-polish-step4-wide-howwehelp-specialty-photos ==========
   Step 4: wider placement rail + left stage reaches further left (2x2 from 900 kept).
   How we help: visual refresh (navy + sky #78C4E5, Inter, soft glass card),
                heading hierarchy + air above the number line. Behavior untouched
                (2191 document delegation, hover paint, click pin).
   Step 3: NOT touched. */

/* —— Step 4 · wider rail + wider chrome (keeps 2193 2x2 from 900px) —— */
@media (min-width: 900px) {
  .view[data-route="client-region"] > .view-chrome {
    grid-template-columns: minmax(0, 1fr) clamp(360px, 40vw, 740px) !important;
    gap: 16px 22px !important;
    width: min(1880px, calc(100% - 20px)) !important;
    max-width: 1880px !important;
    padding-left: 10px;
    padding-right: 10px;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .client-ret-pepper-cards {
    gap: 12px !important;
  }
}
@media (min-width: 1280px) {
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card-media {
    height: clamp(128px, 9.6vw, 196px) !important;
  }
  .view[data-route="client-region"] .client-ret-pepper--region .amp-ret-card-media img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover;
  }
}

/* —— How we help · refreshed block —— */
.view[data-route="client-region"] .client-climb-band[data-climb-option="A"] {
  --hwh-navy: #0b1f3a;
  --hwh-navy-2: #16345c;
  --hwh-sky: #78c4e5;
  --hwh-sky-ink: #2a7fa8;
  position: relative;
  margin: 10px 0 10px;
  padding: 18px 20px 18px;
  border-radius: 18px;
  border: 1px solid rgba(120, 196, 229, 0.42);
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(120, 196, 229, 0.20), rgba(120, 196, 229, 0) 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(244, 249, 253, 0.95));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 10px 28px rgba(11, 31, 58, 0.08),
    0 2px 6px rgba(11, 31, 58, 0.05);
  overflow: hidden;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.view[data-route="client-region"] .client-climb-band[data-climb-option="A"]::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--hwh-navy), var(--hwh-sky) 55%, rgba(120, 196, 229, 0.15));
  pointer-events: none;
}
.view[data-route="client-region"] .client-climb-band > .tag {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.015em;
  text-transform: none;
  color: var(--hwh-navy);
}
.view[data-route="client-region"] .client-climb-band > .tag::before {
  content: "";
  flex: 0 0 auto;
  width: 22px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--hwh-sky-ink), var(--hwh-sky));
}
/* number line */
.view[data-route="client-region"] .client-climb-band .client-climb-trail {
  gap: 6px;
  margin: 0 0 16px;
}
.view[data-route="client-region"] .client-climb-band .client-climb-trail::before {
  top: 18px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, rgba(120, 196, 229, 0.25), rgba(42, 127, 168, 0.55), rgba(120, 196, 229, 0.25));
}
.view[data-route="client-region"] .client-climb-band .client-climb-station {
  gap: 7px;
  padding: 0 2px 2px;
  transition: transform 0.15s ease;
}
.view[data-route="client-region"] .client-climb-band .client-climb-num {
  width: 36px;
  height: 36px;
  font-size: 14px;
  font-weight: 800;
  color: var(--hwh-navy);
  background: #fff;
  border: 1.5px solid rgba(22, 52, 92, 0.22);
  box-shadow: 0 3px 10px rgba(11, 31, 58, 0.08);
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.view[data-route="client-region"] .client-climb-band .client-climb-station:hover .client-climb-num,
.view[data-route="client-region"] .client-climb-band .client-climb-station:focus-visible .client-climb-num,
.view[data-route="client-region"] .client-climb-band .client-climb-station.is-lit .client-climb-num {
  background: linear-gradient(145deg, var(--hwh-navy-2), var(--hwh-navy));
  border-color: var(--hwh-navy);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(120, 196, 229, 0.35), 0 8px 18px rgba(11, 31, 58, 0.22);
}
.view[data-route="client-region"] .client-climb-band .client-climb-station:hover {
  transform: translateY(-1px);
}
.view[data-route="client-region"] .client-climb-band .client-climb-station:focus-visible {
  outline: 2px solid var(--hwh-sky);
}
@media (min-width: 901px) {
  /* show station names under the numbers (was visually hidden in 2190) */
  .view[data-route="client-region"] .client-climb-band .client-climb-name {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    font-size: 11.5px;
    font-weight: 650;
    line-height: 1.25;
    color: #475569;
    letter-spacing: -0.005em;
  }
  .view[data-route="client-region"] .client-climb-band .client-climb-station:hover .client-climb-name,
  .view[data-route="client-region"] .client-climb-band .client-climb-station.is-lit .client-climb-name {
    color: var(--hwh-navy);
    font-weight: 750;
  }
}
/* detail card */
.view[data-route="client-region"] .client-climb-band .client-climb-detail {
  position: relative;
  padding: 14px 16px 14px 18px;
  min-height: 96px;
  border-radius: 14px;
  border: 1px solid rgba(22, 52, 92, 0.10);
  background: rgba(255, 255, 255, 0.86);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  box-shadow: 0 6px 18px rgba(11, 31, 58, 0.06);
  overflow: hidden;
}
.view[data-route="client-region"] .client-climb-band .client-climb-detail::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--hwh-sky), var(--hwh-sky-ink));
  opacity: 0.55;
  transition: opacity 0.15s ease;
}
.view[data-route="client-region"] .client-climb-band .client-climb-detail.is-active,
.view[data-route="client-region"] .client-climb-band .client-climb-detail.is-pinned {
  border-color: rgba(120, 196, 229, 0.6);
  box-shadow: 0 0 0 3px rgba(120, 196, 229, 0.18), 0 8px 22px rgba(11, 31, 58, 0.08);
}
.view[data-route="client-region"] .client-climb-band .client-climb-detail.is-active::before,
.view[data-route="client-region"] .client-climb-band .client-climb-detail.is-pinned::before {
  opacity: 1;
}
.view[data-route="client-region"] .client-climb-band .client-climb-detail-kicker {
  margin: 0 0 4px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--hwh-sky-ink);
}
.view[data-route="client-region"] .client-climb-band .client-climb-detail-title,
.view[data-route="client-region"] .client-climb-band .client-climb-detail.is-idle .client-climb-detail-title {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.012em;
  color: var(--hwh-navy);
}
.view[data-route="client-region"] .client-climb-band .client-climb-detail-body {
  font-size: 13.5px;
  line-height: 1.5;
  color: #334155;
  max-width: 72ch;
}
/* phone / narrow: swipe cards in the same language */
@media (max-width: 900px) {
  .view[data-route="client-region"] .client-climb-band[data-climb-option="A"] {
    padding: 16px 14px 14px;
  }
  .view[data-route="client-region"] .client-climb-band > .tag {
    flex-wrap: wrap;
    font-size: 18px;
    margin-bottom: 14px;
  }
  .view[data-route="client-region"] .client-climb-band .client-climb-swipe {
    margin: 0 0 12px;
    color: var(--hwh-sky-ink);
    background: rgba(120, 196, 229, 0.16);
    border-color: rgba(120, 196, 229, 0.5);
  }
  .view[data-route="client-region"] .client-climb-band[data-climb-option="A"]::after {
    top: 88px;
    bottom: auto;
    height: 68px;
    background: linear-gradient(90deg, rgba(244, 249, 253, 0), #f4f9fd 78%);
    border-radius: 0;
  }
  .view[data-route="client-region"] .client-climb-band .client-climb-station {
    border: 1px solid rgba(22, 52, 92, 0.10);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 12px rgba(11, 31, 58, 0.06);
  }
  .view[data-route="client-region"] .client-climb-band .client-climb-station.is-lit {
    border-color: rgba(120, 196, 229, 0.7);
    background: #f2f9fd;
  }
  .view[data-route="client-region"] .client-climb-band .client-climb-station:hover {
    transform: none;
  }
  .view[data-route="client-region"] .client-climb-band .client-climb-name {
    color: var(--hwh-navy);
    font-weight: 700;
  }
  .view[data-route="client-region"] .client-climb-band .client-climb-detail {
    min-height: 0;
  }
}

/* ========== amp-build:2195-pill-sky-step4-fit-refresh ==========
   (1) Homepage thin stat pills (87% / 1.7 · 700+ / 16): all pill text uses the
       computed color of the "RETENTION-LED RECRUITING" eyebrow, rgb(120,196,229)
       = #78C4E5. Color only — size/weight/background/spacing untouched.
   (2) Step 4 client-region (≥900px): Step pill docks top-right so "Where should
       we search?" moves up inside the card; map + guide card slightly shorter so
       the Market Intelligence button stays on screen after a state pick. Card top
       (YEARS top-align) unchanged. Step 3 untouched. */
.home-stage.v3-home .v3-stats-parent .v3-proof-thin .v3-proof-pill strong,
.home-stage.v3-home .v3-stats-parent .v3-proof-thin .v3-proof-pill span {
  color: #78C4E5;
}
@media (min-width: 1100px) {
  /* Step pill docks top-right → heading block moves up one row inside the card */
  .view[data-route="client-region"] .funnel-panel.client-combined-stage {
    position: relative;
  }
  .view[data-route="client-region"] .client-combined-stage > .client-step-on-card {
    position: absolute;
    top: 12px;
    right: 16px;
    margin: 0;
    z-index: 2;
  }
  .view[data-route="client-region"] .client-combined-stage > h1.hire-title {
    padding-right: 220px;
  }
  .view[data-route="client-region"] .client-combined-stage > .client-card-lede {
    max-width: none;
  }
  /* Map card slightly shorter; guide reveal spacing tightened (copy unchanged) */
  .view[data-route="client-region"] .client-territory-map .amp-region-map {
    max-height: 212px;
  }
  .view[data-route="client-region"] .client-state-heading {
    margin-bottom: 4px !important;
  }
  .view[data-route="client-region"] .client-guide-reveal {
    padding: 4px 10px;
  }
  .view[data-route="client-region"] .client-guide-card {
    padding: 4px 4px 0;
  }
  .view[data-route="client-region"] .client-guide-card .guide-full {
    margin: 2px 0 4px;
  }
  .view[data-route="client-region"] .client-guide-card .guide-full summary {
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .view[data-route="client-region"] #client-offers-continue {
    margin-top: 12px;
  }
  .view[data-route="client-region"] .client-climb-band[data-climb-option="A"] {
    margin-top: 6px;
  }
  /* Short screens: Market Intelligence button docks to the bottom edge of the
     viewport while the card is in view, so it never drops off-screen. */
  .view[data-route="client-region"] #client-ridge-cta-foot:not([hidden]) {
    position: sticky;
    bottom: 12px;
    z-index: 3;
    box-shadow: 0 10px 28px rgba(11, 31, 58, 0.28);
  }
}

/* ========== amp-build:2196-pill-navy-bg ==========
   Homepage thin stat pills (87% / 1.7 · 700+ / 16): background navy (--navy #152332);
   text stays sky #78C4E5 from 2195. Pill styling only. */
.home-stage.v3-home .v3-stats-parent .v3-proof-thin .v3-proof-pill {
  background: #152332;
  border-color: #152332;
}

/* ========== amp-build:2197-pill-blue-wash ==========
   Stat pills keep navy base but get a soft lighter-blue wash toward the top-right,
   echoing the MI card glow. Text stays sky #78C4E5. Pill background only. */
.home-stage.v3-home .v3-stats-parent .v3-proof-thin .v3-proof-pill {
  background:
    radial-gradient(120% 180% at 100% 0%, rgba(120, 196, 229, 0.22) 0%, rgba(120, 196, 229, 0.08) 38%, rgba(120, 196, 229, 0) 70%),
    linear-gradient(165deg, #121f2d 0%, #152332 55%, #1c3044 100%);
  border-color: rgba(94, 184, 224, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* ========== amp-build:2198-mi-state-place-aspects ==========
   Place draw: border-only glow on the selected state. Heat shows through
   (no gray/teal fill). States outside the selection are dimmed. */
html.mi-place-draw-on .ridge-map-container path[data-state].pd-in-selection,
html.mi-place-draw-on .ridge-map-container circle[data-state].pd-in-selection,
html.mi-place-draw-on #ridge-map-container path[data-state].pd-in-selection,
html.mi-place-draw-on #ridge-map-container circle[data-state].pd-in-selection {
  fill: transparent !important;
  opacity: 1 !important;
}
html.mi-place-draw-on .ridge-map-container path[data-state]:not(.pd-in-selection),
html.mi-place-draw-on .ridge-map-container circle[data-state]:not(.pd-in-selection),
html.mi-place-draw-on #ridge-map-container path[data-state]:not(.pd-in-selection),
html.mi-place-draw-on #ridge-map-container circle[data-state]:not(.pd-in-selection) {
  fill: #c5ced8 !important;
  opacity: 0.38 !important;
}

/* 2205 poll packages: 4-up grid */
.mi-price-grid.mi-price-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1100px) { .mi-price-grid.mi-price-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .mi-price-grid.mi-price-grid-4 { grid-template-columns:1fr; } }

/* 2206 demo sample + tool tour */
.ridge-demo-sample { display:grid; gap:20px; }
.ridge-demo-sample[hidden] { display:none; }
.rds-title { margin:6px 0 4px; }
.rds-bands { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.rds-band { position:relative; border-radius:14px; padding:14px; background:#fff; border:1px solid #d9e2ec; display:flex; flex-direction:column; gap:6px; overflow:hidden; }
.rds-band-name { font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.rds-band-val { font-size:28px; font-weight:800; color:#0b1f33; }
.rds-band-note { font-size:13px; color:#51606f; }
.rds-band.t-red { border-top:4px solid #e0524d; } .rds-band.t-red .rds-band-name { color:#b83a35; }
.rds-band.t-comp { border-top:4px solid #e6a93a; } .rds-band.t-comp .rds-band-name { color:#a86f0b; }
.rds-band.t-magnet { border-top:4px solid #3aa0e6; } .rds-band.t-magnet .rds-band-name { color:#1f6fa8; }
.rds-band.t-dest { border-top:4px solid #2fbf8a; } .rds-band.t-dest .rds-band-name { color:#17835c; }
.rds-blur { filter:blur(9px); user-select:none; }
.rds-lock { position:absolute; top:44px; left:14px; right:14px; text-align:center; font-weight:800; font-size:14px; color:#0b1f33; background:rgba(255,255,255,.75); border-radius:8px; padding:4px 0; }
.rds-locked-cta { border-radius:14px; background:#f1f7fc; padding:14px 16px; }
.rds-locked-cta p { margin:0 0 10px; }
.rds-tour-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin:12px 0; }
.rds-tour-btn { border:1px solid #c5d0de; background:#fff; border-radius:12px; padding:10px 8px; font:inherit; cursor:pointer; display:flex; flex-direction:column; gap:2px; text-align:left; color:#152033; }
.rds-tour-btn span { font-weight:750; font-size:14px; } .rds-tour-btn small { font-size:11px; color:#6b7a89; }
.rds-tour-btn.is-on { border-color:#0b3a4d; background:#0b3a4d; color:#fff; } .rds-tour-btn.is-on small { color:#cfe3ee; }
.rds-tour-detail { border:1px solid #d9e2ec; border-radius:14px; padding:14px 16px; background:#fff; }
.rds-tour-detail h4 { margin:0 0 6px; }
.rds-ghost { display:flex; gap:8px; margin:10px 0 4px; } .rds-ghost span { flex:1; height:36px; border-radius:8px; background:linear-gradient(90deg,#e6edf3,#f4f7fa); }
.rds-ghost-note { font-size:13px; color:#6b7a89; margin:0; }
.rds-final { margin-top:16px; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; background:#f1f7fc; }
.rds-final > div:not(.btn-row) { display:flex; flex-direction:column; gap:4px; } .rds-final .btn-row { grid-column:1/-1; }
@media (max-width:900px) { .rds-bands { grid-template-columns:repeat(2,minmax(0,1fr)); } .rds-tour-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .rds-final { grid-template-columns:1fr; } }

/* ========== amp-build:2218-pull-to-refresh ==========
   2179 set overscroll-behavior-y:none on html/body to stop rubber-banding
   past the footer. That also disabled the phone browser's native
   pull-down-to-refresh at the top. Restore default overscroll. The
   bottom gap is already covered by 2182 (html navy background and the
   .amp-footer-endcap fill), so a bounce shows footer color, not wallpaper. */
html,
body {
  overscroll-behavior-y: auto;
}

/* ========== amp-build:2249-nav-pinned-blog — keep header pinned on scroll on blog/plain pages (iOS lost sticky under body overflow clip) ========== */
.site-nav:not(.is-home) {
  position: fixed !important;
  left: 0; right: 0; top: 0;
  z-index: 300 !important;
}
body:has(> .site-nav:not(.is-home)) > main { padding-top: 64px; }
@media (max-width: 900px) {
  body:has(> .site-nav:not(.is-home)) > main { padding-top: 61px; }
}
