/* Wapan Health — shared stylesheet (Home, About, NIHB Coverage)
   Breakpoints: mobile < 700px · tablet 700–1079px · desktop ≥ 1080px · nav collapses < 1180px */

:root {
  --cream: #FAF8F4;
  --sand: #F1EBE2;
  --sand-2: #E9E1D5;
  --peach: #F1EBE2;
  --peach-nav: #FAF8F4;
  --card: #FFFFFF;
  --plum: #1F3B63;
  --plum-deep: #152A47;
  --plum-ink: #152A47;
  --rust: #CC4A22;
  --rust-dark: #B33E1B;
  --rust-text: #B33E1B;
  --apricot: #F2A23A;
  --salmon: #F2A23A;
  --teal: #CC4A22;
  --ink: #18222F;
  --ink-2: #18222F;
  --ink-3: #586273;
  --near-black: #18222F;
  --white: rgb(255, 255, 255);
  --off-white: #FFFFFF;
  --rule: #E2DDD4;
  --font-sans: 'Public Sans', -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-serif: Lora, Georgia, serif;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { max-width: 100%; }
img { display: block; }
a { color: var(--rust-text); }
a:hover { color: var(--rust-dark); }
::selection { background: var(--peach); }
h1, h2, h3, p { margin: 0; }
button { font: inherit; }

/* ---------- Shared ---------- */
.container { width: 100%; max-width: 1280px; margin: 0 auto; }
.serif { font-family: var(--font-serif); }

.eyebrow {
  display: flex; gap: 8px; align-items: center;
  font-weight: 600; font-size: 12.8px; line-height: 21.1px;
  letter-spacing: 1.792px; text-transform: uppercase; color: var(--teal);
}
.eyebrow--lg { font-size: 14px; }
.eyebrow--white { color: var(--white); }
.eyebrow--salmon { color: var(--salmon) !important; }
.eyebrow svg { flex-shrink: 0; fill: currentColor; }

.h2 {
  font-family: var(--font-serif); font-weight: 700;
  font-size: clamp(26px, 4.5vw, 38px); line-height: 1.3; letter-spacing: -0.384px;
  color: var(--plum-deep);
}
.lead { font-size: 18px; line-height: 31.15px; color: var(--ink); }

.btn {
  display: inline-flex; justify-content: center; align-items: center;
  min-height: 59px; padding: 14px 28px; border-radius: 32px;
  font-weight: 600; font-size: 17px; line-height: 26.4px; white-space: nowrap;
  text-decoration: none; transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.btn--primary { background: var(--rust); color: var(--off-white); }
.btn--primary:hover { background: var(--rust-dark); color: var(--off-white); transform: translateY(-1px); }
.btn--white { background: var(--white); color: var(--rust-text); text-align: center; white-space: normal; }
.btn--white:hover { color: var(--rust-text); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25); }
.btn--ghost { min-height: 55px; box-shadow: inset 0 0 0 1px var(--white); color: var(--white); }
.btn--ghost:hover { background: rgba(255, 255, 255, 0.14); color: var(--white); }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* ---------- Header / Hero ---------- */
.hero { position: relative; overflow: hidden; }
.hero__bg, .hero__shade { position: absolute; inset: 0; }
.hero__bg { background: url("img-hero-v2.jpg") center / cover no-repeat; }
.hero__shade { background: linear-gradient(180deg, rgba(18, 40, 64, 0.58) 0%, rgba(18, 40, 64, 0.38) 55%, rgba(24, 52, 82, 0.28) 100%); }

.nav {
  position: relative; min-height: 88px; padding: 14px 0;
  background: var(--plum); border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  display: flex; align-items: center; justify-content: center;
}
.nav__inner {
  position: relative; width: 100%; max-width: 1440px; padding: 0 clamp(20px, 5vw, 60px);
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
}
.nav__logo { flex-shrink: 0; display: block; }
.nav__logo img { width: clamp(170px, 32vw, 275px); height: auto; }
.nav__links { display: flex; gap: 26px; padding-bottom: 10px; }
.nav__links a {
  font-weight: 500; font-size: 16px; line-height: 25px; white-space: nowrap;
  color: rgba(250, 249, 246, 0.85); text-decoration: none;
}
.nav__links a:hover, .nav__links a.is-active { color: #FFFFFF; }
.nav__cta {
  display: flex; align-items: center; flex-shrink: 0; height: 51px; padding: 10px 24px;
  border-radius: 32px; background: var(--rust); color: var(--off-white);
  font-weight: 600; font-size: 17px; line-height: 26.4px; white-space: nowrap; text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}
.nav__cta:hover { background: var(--rust-dark); color: var(--off-white); transform: translateY(-1px); }
.nav__burger {
  display: none; flex-direction: column; gap: 5px; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0; background: none; border: none; cursor: pointer; flex-shrink: 0;
}
.nav__burger span { display: block; width: 22px; height: 2px; background: var(--cream); }
.nav__menu {
  display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 50;
  flex-direction: column; gap: 14px; padding: 20px clamp(20px, 5vw, 60px) 28px;
  background: var(--plum); border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}
.nav__menu a { font-weight: 500; font-size: 17px; color: var(--cream); text-decoration: none; }
.nav__menu .nav__cta { margin-top: 8px; justify-content: center; }
.nav.is-open .nav__menu { display: flex; }
@media (max-width: 1179px) {
  .nav__links, .nav__inner > .nav__cta { display: none; }
  .nav__burger { display: flex; }
}

.hero__content {
  position: relative; display: flex; flex-direction: column; align-items: center;
  padding: clamp(56px, 8vw, 100px) 20px clamp(48px, 7vw, 80px);
  animation: rise 0.9s var(--ease) both;
}
.hero__stack { margin-top: 4px; display: flex; flex-direction: column; gap: 32px; align-items: center; }
.hero__text { display: flex; flex-direction: column; gap: 16px; align-items: center; }
.hero__title {
  font-family: var(--font-serif); font-weight: 600; font-size: clamp(32px, 6vw, 58px);
  line-height: 1.15; letter-spacing: -0.544px; text-align: center; color: var(--white);
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
.hero__title em { font-style: italic; }
.hero__lead {
  max-width: 670px; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.7; text-align: center;
  color: var(--white); text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}
.hero__actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; justify-content: center; }

.ticker { position: relative; height: 200px; overflow: hidden; }
.ticker__slab {
  position: absolute; left: -200px; right: -200px; top: 146px; height: 600px;
  background: var(--sand); transform: rotate(-2.98deg);
}
.ticker__band {
  position: absolute; left: -200px; right: -200px; top: 65px; height: 81px; overflow: hidden;
  background: var(--plum); transform: rotate(-2.98deg); display: flex; align-items: center;
  box-shadow: 0 6px 13.1px 3px rgba(46, 8, 84, 0.15), 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}
.ticker__track { display: flex; gap: 32px; align-items: center; width: max-content; animation: marquee 60s linear infinite; }
.ticker__track span {
  font-family: var(--font-serif); font-weight: 500; font-size: clamp(17px, 1.8vw, 22px);
  line-height: 1.5; color: var(--cream); white-space: nowrap;
}
.ticker__track span.is-lg { font-size: clamp(18px, 2vw, 24px); }
.ticker__track span:first-child { padding-left: 32px; }
.ticker__track svg { width: 32px; height: 32px; flex-shrink: 0; }
@media (prefers-reduced-motion: reduce) { .ticker__track { animation-play-state: paused; } }

/* ---------- How it works ---------- */
.how { background: var(--sand); padding: clamp(56px, 8vw, 95px) 0; display: flex; justify-content: center; }
.how__inner { padding: 0 clamp(20px, 5vw, 40px); display: flex; flex-direction: column; gap: 64px; }
.how__head { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 20px; }
.how__head .eyebrow { margin-top: 10px; }
.how__title {
  width: 100%; max-width: 746px; font-family: var(--font-serif); font-weight: 700;
  font-size: clamp(28px, 5vw, 44px); line-height: 1.4; letter-spacing: -1.936px; color: var(--plum-ink);
}
.how__title .word { color: rgb(196, 188, 176); transition: color 0.05s linear; }
.steps { display: flex; gap: 24px; align-items: stretch; justify-content: center; flex-wrap: wrap; }
.step {
  position: relative; flex: 1 1 320px; min-height: 320px; overflow: hidden; border-radius: 20px;
  background: var(--card); padding: 28px 24px; display: flex; flex-direction: column; gap: 36px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.step:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(31, 59, 99, 0.1); }
.step--side { align-self: flex-start; }
.step--featured {
  max-width: 407px; padding-bottom: 34px;
  box-shadow: 0 50px 100px rgba(0, 0, 0, 0.08), 0 20px 40px rgba(0, 0, 0, 0.04), 0 10px 8px rgba(0, 0, 0, 0.03), 0 2px 4px rgba(0, 0, 0, 0.02);
}
.step--featured:hover { box-shadow: 0 50px 100px rgba(0, 0, 0, 0.08), 0 20px 40px rgba(0, 0, 0, 0.04), 0 10px 8px rgba(0, 0, 0, 0.03), 0 2px 4px rgba(0, 0, 0, 0.02); }
.step__dot { position: absolute; right: 24px; top: 24px; width: 24px; height: 24px; border-radius: 999px; }
.step__icon { width: 70px; height: 70px; border-radius: 16px; background: var(--sand-2); display: flex; justify-content: center; align-items: center; }
.step__icon img { width: 48px; height: 48px; }
.step__body { display: flex; flex-direction: column; gap: 16px; }
.step__title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(24px, 4vw, 32px); line-height: 1.3; letter-spacing: -0.992px; color: var(--near-black); }
.step__text { font-size: 16px; line-height: 24px; letter-spacing: -0.48px; color: var(--ink-3); }
@media (min-width: 700px) and (max-width: 1079px) { .step--side { align-self: stretch; } }

/* ---------- Directory ---------- */
.directory { display: flex; justify-content: center; padding: clamp(40px, 8vw, 65px) clamp(20px, 5vw, 40px); }
.directory__card {
  position: relative; width: 100%; max-width: 1280px; min-height: 280px; overflow: hidden; border-radius: 25px;
  background: var(--plum); padding: clamp(28px, 5vw, 50px); display: flex; flex-direction: column; gap: 30px; align-items: flex-start;
}
.directory__burst { position: absolute; right: 0; bottom: 0; width: min(473px, 55vw); height: auto; object-fit: contain; pointer-events: none; }
.directory__copy { position: relative; display: flex; flex-direction: column; gap: 24px; width: 100%; max-width: 553px; }
.directory__text { display: flex; flex-direction: column; gap: 10px; }
.directory__title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(24px, 4vw, 32px); line-height: 1.3; letter-spacing: -0.992px; color: var(--white); }
.directory__text p { font-size: 16px; line-height: 24px; letter-spacing: -0.48px; color: var(--white); }
.directory .btn { position: relative; }

/* ---------- Why in person ---------- */
.why { padding: clamp(48px, 10vw, 88px) clamp(20px, 5vw, 40px); display: flex; flex-direction: column; gap: 64px; align-items: center; }
.why__head { width: 100%; max-width: 883px; display: flex; flex-direction: column; gap: 16px; }
.why__head-top { display: flex; flex-direction: column; gap: 4px; align-items: center; }
.why__head .h2, .why__head .lead { text-align: center; }
.compare { display: flex; gap: 24px; align-items: flex-start; width: 100%; max-width: 1280px; justify-content: center; flex-wrap: wrap; }
.compare__card {
  flex: 1 1 460px; max-width: 588px; border-radius: 20px; background: var(--card); overflow: hidden;
  padding: 32px 24px 0; display: flex; flex-direction: column; gap: 32px;
}
.compare__label { display: flex; gap: 12px; align-items: center; }
.compare__label i { width: 12px; height: 12px; border-radius: 999px; flex-shrink: 0; }
.compare__label span { font-family: var(--font-serif); font-weight: 600; font-size: clamp(24px, 3.5vw, 32px); line-height: 28px; letter-spacing: -0.216px; }
.compare__card--them .compare__label i, .compare__card--them .compare__label span { background: rgb(96, 96, 96); color: rgb(96, 96, 96); }
.compare__card--them .compare__label span { background: none; }
.compare__card--us .compare__label i { background: var(--plum); }
.compare__card--us .compare__label span { color: var(--plum); }
.compare__list { position: relative; border-radius: 20px; padding: 18px 20px 0 19px; display: flex; flex-direction: column; gap: 10px; }
.compare__card--them .compare__list { background: var(--sand); }
.compare__card--us .compare__list { background: var(--plum); }
.compare__item {
  min-height: 78px; border-radius: 12px; background: var(--white); box-shadow: 0 6px 14px rgba(31, 59, 99, 0.08);
  display: flex; align-items: center; gap: 16px; padding: 14px clamp(14px, 2vw, 26px);
}
.compare__mark { width: 46px; height: 46px; border-radius: 44px; display: flex; justify-content: center; align-items: center; flex-shrink: 0; }
.compare__card--them .compare__mark { background: rgba(243, 243, 243, 0.4); box-shadow: inset 0 0 0 1px rgb(233, 234, 236); }
.compare__card--us .compare__mark { background: rgba(243, 243, 243, 0.73); box-shadow: inset 0 0 0 1px rgb(233, 233, 233); }
.compare__item span:last-child { font-family: var(--font-serif); font-size: clamp(17px, 4.6vw, 20px); line-height: 1.4; letter-spacing: -0.54px; }
.compare__card--them .compare__item span:last-child { color: rgba(7, 7, 8, 0.5); }
.compare__card--us .compare__item span:last-child { color: rgb(7, 7, 8); }
@media (min-width: 700px) and (max-width: 1249px) { .compare__card { max-width: 100%; } }

/* ---------- Professionals ---------- */
.pros { padding: clamp(48px, 10vw, 80px) clamp(20px, 5vw, 40px); display: flex; gap: 29px; justify-content: center; align-items: flex-start; flex-wrap: wrap; }
.pros__copy { flex: 1 1 480px; max-width: 603px; display: flex; flex-direction: column; gap: 77px; }
.pros__intro { display: flex; flex-direction: column; gap: 15px; align-items: flex-start; }
.pros__intro-text { display: flex; flex-direction: column; gap: 16px; }
.pros__intro-head { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.pros__intro-head .h2 { max-width: 513px; }
.pros__langs { display: flex; flex-direction: column; gap: 30px; align-items: flex-start; }
.chips { width: 100%; max-width: 397px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.chip {
  border-radius: 25px; box-shadow: inset 0 0 0 1px var(--rust); padding: 7px 20px;
  font-size: 18px; line-height: 1; color: var(--ink); white-space: nowrap; cursor: default;
  transition: background 0.2s ease, color 0.2s ease;
}
.chip:hover { background: var(--rust); color: var(--off-white); }
.stats { flex: 1 1 480px; max-width: 608px; display: flex; flex-direction: column; }
.stat { border-bottom: 1px solid var(--rule); display: flex; gap: 24px; align-items: center; padding: 20px 0; }
.stat:first-child { padding-top: 0; }
.stat__num {
  width: clamp(90px, 18vw, 170px); flex-shrink: 0; font-family: var(--font-serif); font-weight: 700;
  font-size: clamp(36px, 7vw, 60px); letter-spacing: -0.384px; color: var(--plum); white-space: nowrap;
}
@media (min-width: 700px) and (max-width: 1099px) { .pros__copy, .stats { max-width: 100%; } }

/* ---------- NIHB ---------- */
.nihb { display: flex; justify-content: center; padding: clamp(24px, 6vw, 40px) clamp(20px, 5vw, 40px); }
.nihb__card {
  width: 100%; max-width: 1200px; border-radius: 20px; background: var(--plum); overflow: hidden;
  display: flex; gap: 54px; padding: clamp(40px, 8vw, 80px) clamp(20px, 5vw, 32px); justify-content: center; align-items: center; flex-wrap: wrap;
}
.nihb__media { width: 100%; max-width: 505px; aspect-ratio: 505 / 643; overflow: hidden; border-radius: 20px; }
.nihb__media img { width: 100%; height: 100%; object-fit: cover; }
.nihb__copy { width: 100%; max-width: 556px; display: flex; flex-direction: column; gap: 54px; align-items: flex-start; }
.nihb__text { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.nihb__text .h2 { max-width: 499px; color: var(--white); }
.nihb__text p { margin-top: 8px; font-size: 16px; line-height: 27.2px; color: var(--white); }
@media (min-width: 700px) and (max-width: 1099px) { .nihb__media, .nihb__copy, .nihb__text .h2 { max-width: 100%; } }

/* ---------- Who we serve (sticky stack) ---------- */
.serve { display: flex; justify-content: center; padding: clamp(24px, 6vw, 48px) clamp(20px, 5vw, 40px) 24px; }
.serve__inner { width: 100%; max-width: 1200px; display: flex; flex-direction: column; gap: 64px; align-items: flex-start; }
.serve__head { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.serve__head-text { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.serve__head .h2 { color: var(--plum); }
.serve__head .lead { max-width: 958px; }
.stack { position: relative; display: flex; flex-direction: column; gap: 16px; align-self: stretch; }
.stack__card {
  position: sticky; border-radius: 16px; display: flex; flex-wrap: wrap; gap: 24px; padding: 24px;
  justify-content: center; align-items: center; min-height: 280px;
}
.stack__card:nth-child(1) { top: 24px; z-index: 1; background: var(--peach); }
.stack__card:nth-child(2) { top: 64px; z-index: 2; background: #f1deca; }
.stack__card:nth-child(3) { top: 104px; z-index: 3; background: #f2e8da; }
@media (min-width: 992px) { .stack__text { height: 100%; } }
.stack__text { flex: 1 1 400px; display: flex; flex-direction: column; gap: 20px; justify-content: space-between; align-items: flex-start; }
.stack__num { font-family: var(--font-serif); font-style: italic; font-size: clamp(40px, 6vw, 64px); line-height: 1.1; letter-spacing: -2.4px; color: var(--plum-ink); }
.stack__body { width: 100%; max-width: 486px; display: flex; flex-direction: column; gap: 7px; align-items: flex-start; }
.stack__title { font-family: var(--font-serif); font-weight: 400; font-style: italic; font-size: clamp(26px, 4vw, 36px); line-height: 1.1; letter-spacing: -2px; color: var(--plum-ink); }
.stack__body p { font-size: 16px; line-height: 25.87px; color: rgb(20, 19, 19); }
.stack__media { flex: 1 1 260px; width: 100%; max-width: 360px; aspect-ratio: 360 / 312; overflow: hidden; border-radius: 8px; align-self: center; }
.stack__media img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1080px) { .stack__card:nth-child(3) { height: 360px; } }
@media (min-width: 700px) and (max-width: 1079px) {
  .stack__card { flex-wrap: nowrap; }
  .stack__text { flex: 1 1 0; min-width: 0; }
  .stack__media { flex: 0 0 clamp(220px, 38%, 300px); width: auto; max-width: 300px; }
}
@media (max-width: 699px) {
  .stack__card { position: relative; top: 0 !important; z-index: auto; min-height: 0; flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
  .stack__text { flex: 0 0 auto; }
  .stack__media { flex: 0 0 auto; max-width: 100%; align-self: stretch; }
}

/* ---------- Our name ---------- */
.name { padding: clamp(48px, 10vw, 88px) clamp(20px, 5vw, 40px) clamp(48px, 10vw, 102px); display: flex; flex-direction: column; gap: 40px; align-items: center; }
.name__inner { width: 100%; max-width: 1136px; display: flex; flex-direction: column; gap: 64px; align-items: center; }
.name__head { position: relative; width: 100%; max-width: 524px; display: flex; flex-direction: column; gap: 8px; align-items: center; }
.name__title {
  font-family: var(--font-serif); font-weight: 600; font-style: italic; font-size: clamp(32px, 6vw, 54px);
  text-align: center; line-height: 1.15; letter-spacing: -0.384px; color: var(--plum);
}
.name__title em, .accent { color: var(--rust); font-style: inherit; }
.name__swoosh {
  position: absolute; right: clamp(-58px, -4vw, -20px); top: 4px; width: 51px; height: 18px; transform: rotate(34deg);
  filter: invert(45%) sepia(60%) saturate(1400%) hue-rotate(335deg) brightness(88%);
}
.name__text { align-self: stretch; font-size: clamp(20px, 3vw, 36px); text-align: center; line-height: 1.4; color: rgb(68, 68, 68); }
.name__text strong { font-weight: 600; }

/* ---------- Team ---------- */
.team { display: flex; justify-content: center; padding: 0 clamp(20px, 5vw, 40px) 45px; }
.team__card {
  position: relative; width: 100%; max-width: 1200px; min-height: 400px; overflow: hidden; border-radius: 20px;
  background: var(--plum); padding: clamp(40px, 8vw, 80px) clamp(24px, 6vw, 79px); display: flex; align-items: flex-start;
}
.team__burst { position: absolute; right: 0; bottom: 0; width: 250px; height: auto; pointer-events: none; opacity: 0.4; }
.team__row { position: relative; display: flex; gap: 40px; align-items: flex-start; width: 100%; flex-wrap: wrap; }
.team__rule { width: 2px; height: 205px; min-height: 120px; margin-top: 10px; background: var(--rust); flex-shrink: 0; }
.team__copy { flex: 1 1 400px; display: flex; flex-direction: column; gap: 48px; align-items: flex-start; min-width: 0; }
.team__text { display: flex; flex-direction: column; gap: 32px; align-items: flex-start; }
.team__text .h2 { align-self: stretch; color: var(--sand); }
.team__text p { max-width: 881px; font-size: 18px; line-height: 1.3; color: rgb(255, 251, 245); }
.team__logo { width: clamp(220px, 30vw, 323px); height: auto; }
@media (max-width: 699px) { .team__rule { display: none; } }

/* ---------- Crisis ---------- */
.crisis { display: flex; justify-content: center; padding: clamp(24px, 6vw, 44px) clamp(20px, 5vw, 40px); }
.crisis__inner { width: 100%; max-width: 1200px; display: flex; gap: 64px; align-items: flex-start; flex-wrap: wrap; }
.crisis__head { flex: 1 1 380px; max-width: 443px; display: flex; flex-direction: column; gap: 24px; }
.crisis__head .h2 { color: var(--plum); }
.crisis__head .lead { color: rgb(68, 68, 68); }
.crisis__cards { flex: 1 1 380px; display: flex; flex-direction: column; gap: 16px; }
.crisis__pair { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.line {
  border-radius: 8px; background: var(--sand);
  padding: 24px 30px 20px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: flex-start;
  text-decoration: none; transition: transform 0.2s ease;
}
.line:hover { transform: translateY(-2px); }
.line__text { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.line__title { font-family: var(--font-serif); font-weight: 500; font-size: 24px; line-height: 33.6px; letter-spacing: -0.5px; color: rgb(13, 5, 3); }
.line__num { font-size: 20px; line-height: 24.29px; color: var(--rust-text); white-space: nowrap; }
.line__arrow { width: 48px; height: 48px; border-radius: 64px; background: rgba(233, 216, 190, 0.7); display: flex; justify-content: center; align-items: center; flex-shrink: 0; }
.line--tall { flex: 1 1 240px; min-height: 200px; padding: 24px 30px; flex-direction: column; flex-wrap: nowrap; gap: 4px; justify-content: flex-end; align-items: flex-end; }
.line--tall .line__text { align-self: stretch; }
@media (max-width: 699px) {
  .line--tall { flex: 1 1 100%; min-height: 0; padding: 24px 30px 20px; flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 16px; }
  .line--tall .line__text { align-self: auto; flex: 1 1 auto; min-width: 0; }
}

/* ---------- FAQ ---------- */
.faq { display: flex; flex-direction: column; gap: 40px; align-items: center; padding: clamp(48px, 8vw, 80px) 0; }
.faq__head { width: 100%; max-width: 524px; padding: 0 20px; display: flex; flex-direction: column; gap: 8px; align-items: center; }
.faq__head .eyebrow { text-align: center; white-space: nowrap; }
@media (max-width: 480px) { .faq__head .eyebrow { font-size: 11.5px; letter-spacing: 1.2px; gap: 6px; } .faq__head .eyebrow svg { width: 18px; } }
.faq__title { font-family: var(--font-serif); font-weight: 700; font-size: clamp(32px, 6vw, 54px); text-align: center; line-height: 1.1; letter-spacing: -0.384px; color: var(--plum); }
.faq__list { width: 100%; max-width: 775px; padding: 0 20px; display: flex; flex-direction: column; }
.faq__item { border-bottom: 1px solid var(--rust); background: var(--cream); padding: clamp(24px, 5vw, 40px) 20px; display: flex; flex-direction: column; }
.faq__q {
  display: flex; justify-content: space-between; align-items: center; gap: 24px; width: 100%;
  background: none; border: none; padding: 0; cursor: pointer; text-align: left;
}
.faq__q span { font-family: var(--font-serif); font-weight: 600; font-size: clamp(20px, 3vw, 26px); line-height: 1.2; color: var(--ink-2); }
.faq__q img { width: 20px; height: 10px; flex-shrink: 0; transition: transform 0.3s ease; }
.faq__a { overflow: hidden; max-height: 0; opacity: 0; margin-top: 0; transition: max-height 0.35s ease, opacity 0.3s ease, margin-top 0.35s ease; }
.faq__a p { max-width: 688px; font-size: 18px; line-height: 1.3; color: var(--ink-2); }
.faq__item.is-open .faq__q img { transform: rotate(180deg); }
.faq__item.is-open .faq__a { max-height: 400px; opacity: 1; margin-top: 5px; }

/* ---------- CTA ---------- */
.cta { position: relative; min-height: 364px; overflow: hidden; display: flex; justify-content: center; align-items: center; padding: 48px 0; }
.cta__bg {
  position: absolute; inset: 0;
  background: radial-gradient(110% 160% at 85% 0%, rgba(247, 155, 28, 0.45) 0%, rgba(247, 155, 28, 0) 55%), url("team-sunburst.svg") right -120px top -120px / 480px no-repeat, linear-gradient(160deg, #152A47 0%, #1F3B63 75%);
}
.cta__row { position: relative; width: 100%; max-width: 1120px; padding: 0 clamp(20px, 5vw, 40px); display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }
.cta__title {
  flex: 1 1 320px; max-width: 693px; font-family: var(--font-serif); font-weight: 500;
  font-size: clamp(30px, 5vw, 48px); line-height: 1.25; letter-spacing: -0.02em; color: var(--white);
}
.cta__copy { flex: 1 1 320px; max-width: 457px; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.cta__copy p { font-size: 18px; line-height: 31.15px; color: var(--white); }
.cta__copy .btn { min-height: 55px; }
@media (min-width: 700px) and (max-width: 1099px) {
  .cta__row { flex-direction: column; align-items: flex-start; gap: 24px; }
  .cta__title, .cta__copy { flex: 0 0 auto; max-width: 640px; }
}

/* ---------- Footer ---------- */
.footer { background: var(--plum); padding: 64px clamp(20px, 5vw, 40px) 10px; display: flex; flex-direction: column; gap: 56px; align-items: center; }
.footer__top { width: 100%; max-width: 1280px; display: flex; flex-wrap: wrap; gap: 48px; justify-content: space-between; align-items: flex-start; }
.footer__brand { flex: 1 1 380px; max-width: 581px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.footer__brand img { width: clamp(240px, 30vw, 323px); height: auto; }
.footer__about { display: flex; flex-direction: column; gap: 22px; }
.footer__about p { max-width: 532px; font-size: 15.2px; line-height: 25.84px; color: rgb(255, 245, 237); }
.footer__about p:first-child { max-width: 511px; }
.footer__links { display: flex; flex-wrap: wrap; gap: 40px clamp(32px, 5vw, 60px); padding: 16px 0; align-items: flex-start; }
.footer__col { min-width: 150px; display: flex; flex-direction: column; gap: 13px; align-items: flex-start; }
.footer__col h4 { margin: 0; font-weight: 700; font-size: 15px; line-height: 21.1px; letter-spacing: 1.536px; color: #F2A23A; text-transform: uppercase; }
.footer__col nav { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.footer__col a { font-size: 15.2px; line-height: 25px; color: rgb(255, 245, 237); text-decoration: none; }
.footer__col a:hover { color: var(--apricot); }
.footer__bottom {
  width: 100%; max-width: 1280px; border-top: 1px solid rgba(160, 160, 160, 0.14); padding: 28px 0;
  display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center;
}
.footer__bottom span { font-size: 14px; line-height: 22.44px; color: var(--cream); }
.footer__bottom span:last-child { font-family: "DM Sans", sans-serif; color: rgba(245, 235, 217, 0.6); }
.footer__bottom a { color: var(--peach); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.footer__bottom a:hover { color: var(--apricot); }
@media (min-width: 700px) and (max-width: 1099px) {
  .footer__links { flex-basis: 100%; padding: 0; gap: 40px clamp(48px, 10vw, 120px); }
}

/* ==========================================================
   About page
   ========================================================== */
.nav--solid { z-index: 10; }

/* About hero */
.ahero { display: flex; justify-content: center; padding: clamp(40px, 6vw, 60px) clamp(20px, 5vw, 40px); }
.ahero__inner { width: 100%; max-width: 1240px; display: flex; flex-direction: column; gap: 40px; }
.ahero__head { display: flex; gap: clamp(24px, 8vw, 144px); align-items: flex-end; justify-content: space-between; flex-wrap: wrap; }
.ahero__title-wrap { flex: 1 1 420px; max-width: 628px; display: flex; flex-direction: column; gap: 4px; }
.ahero__title {
  font-family: var(--font-serif); font-weight: 600; font-size: clamp(36px, 5.5vw, 58px);
  line-height: 1.08; letter-spacing: -0.544px; color: var(--plum); text-wrap: pretty;
}
.ahero__lead { flex: 1 1 320px; max-width: 468px; font-size: 18px; line-height: 31.15px; color: var(--ink); }
.ahero__media { width: 100%; aspect-ratio: 1240 / 500; overflow: hidden; border-radius: 25px; }
.ahero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
@media (max-width: 699px) { .ahero__media { aspect-ratio: 4 / 3; } }

/* Our name (about) */
.aname { display: flex; justify-content: center; padding: clamp(48px, 8vw, 80px) clamp(20px, 5vw, 40px); }
.aname__inner { width: 100%; max-width: 1240px; display: flex; flex-direction: column; gap: 40px; align-items: center; }
.aname__head { width: 100%; max-width: 883px; display: flex; flex-direction: column; gap: 16px; align-items: center; }
.aname__title-wrap { position: relative; display: flex; flex-direction: column; gap: 8px; align-items: center; }
.aname__title {
  font-family: var(--font-serif); font-weight: 600; font-style: italic; font-size: clamp(32px, 6vw, 54px);
  text-align: center; line-height: 1.15; letter-spacing: -0.384px; color: var(--plum);
}
.aname__title em { color: var(--rust); font-style: inherit; }
.aname__swoosh {
  position: absolute; right: clamp(-58px, -4vw, -20px); top: 32px; width: 51px; height: 18px; transform: rotate(34deg);
  filter: invert(45%) sepia(60%) saturate(1400%) hue-rotate(335deg) brightness(88%);
}
.aname__lead { text-align: center; }
.aname__cards { width: 100%; display: flex; gap: 22px; align-items: stretch; flex-wrap: wrap; }
.aname__cards .pcard {
  flex: 1 1 300px; min-height: 284px; overflow: hidden; border-radius: 20px; background: var(--plum); border: 0;
  padding: clamp(24px, 3vw, 32px); display: flex; flex-direction: column; gap: 16px; justify-content: center;
}
.aname__cards .pcard .pcard__title { margin: 0; }
.aname__cards .pcard .pcard__text { margin: 0; font-size: 16px; line-height: 24px; color: #F1EBE2; }
.pcard__title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(24px, 3vw, 32px); line-height: 1.3; letter-spacing: -0.992px; color: var(--white); text-wrap: pretty; }
.pcard__text { font-size: 16px; line-height: 24px; letter-spacing: -0.48px; color: var(--white); }

/* Shared split header (title left, lead right) */
.split-head { display: flex; gap: clamp(24px, 10vw, 212px); align-items: flex-end; justify-content: space-between; flex-wrap: wrap; }
.split-head--top { align-items: flex-start; }
.split-head__title { flex: 1 1 380px; max-width: 570px; display: flex; flex-direction: column; gap: 4px; }
.split-head__lead { flex: 1 1 300px; max-width: 458px; }
@media (max-width: 1099px) {
  .split-head { gap: 20px; align-items: flex-start; }
  .split-head__title, .split-head__lead { flex: 1 1 100%; max-width: none; }
}

/* What we actually do */
.what { display: flex; justify-content: center; padding: clamp(48px, 8vw, 80px) clamp(20px, 5vw, 40px); }
.what__inner { width: 100%; max-width: 1240px; display: flex; flex-direction: column; gap: 30px; }
.rows { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.row {
  display: flex; gap: clamp(24px, 4vw, 60px); justify-content: space-between; align-items: center; flex-wrap: wrap;
  padding: clamp(24px, 4vw, 40px) clamp(20px, 3vw, 30px); position: relative;
  border-radius: 25px; transition: background-color 0.25s ease;
}
.row::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: rgb(120, 110, 112); transition: opacity 0.25s ease; }
.row:hover { background: rgb(242, 232, 218); }
.row:hover::after { opacity: 0; }
.row:has(+ .row:hover)::after { opacity: 0; }
.row__heading { flex: 1 1 320px; display: flex; gap: 20px; align-items: center; }
.row__heading--top { align-items: flex-start; }
.row__icon { position: relative; width: 47px; height: 50px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.row__icon img, .row__icon svg { max-width: 47px; max-height: 50px; }
.row__icon img { filter: invert(45%) sepia(60%) saturate(1400%) hue-rotate(335deg) brightness(88%); }
.row__icon--reads { display: block; }
.row__icon--reads svg { position: absolute; left: 12px; top: 3px; }
.row__icon--reads img { position: absolute; left: 0; top: 17px; width: 40px; height: 28px; }
.row__title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(22px, 2.6vw, 28px); line-height: 1.35; letter-spacing: -0.992px; color: var(--near-black); text-wrap: pretty; }
.row__text { flex: 0 0 50%; max-width: 620px; font-size: 18px; line-height: 31.15px; color: var(--ink); }
@media (max-width: 1079px) { .row__text { flex: 1 1 100%; } .row { align-items: flex-start; } }

/* What we hold to */
.hold { display: flex; justify-content: center; padding: clamp(48px, 8vw, 80px) clamp(20px, 5vw, 40px); }
.hold__inner { width: 100%; max-width: 1240px; display: flex; flex-direction: column; gap: 40px; }
.hold__head { display: flex; flex-direction: column; gap: 5px; align-items: flex-start; }
.hold__title { max-width: 564px; font-family: var(--font-serif); font-weight: 700; font-size: clamp(30px, 4.5vw, 44px); line-height: 1.4; letter-spacing: -1.936px; color: var(--plum-ink); }
.hold__title .word { color: rgb(196, 188, 176); transition: color 0.05s linear; }
.hold__cards { display: flex; gap: 16px; align-items: stretch; flex-wrap: wrap; }
.hcard { position: relative; overflow: hidden; border-radius: 20px; padding: 30px 20px; display: flex; }
.hcard--sand { flex: 1.6 1 460px; background: rgb(241, 222, 202); padding-right: clamp(20px, 12vw, 150px); min-height: 364px; align-items: flex-end; }
.hcard--plum { flex: 1 1 280px; background: var(--plum); min-height: 364px; align-items: center; }
.hcard__burst { position: absolute; right: -16px; bottom: -24px; width: 222px; height: auto; opacity: 0.4; pointer-events: none; }
.hcard__body { position: relative; width: 100%; max-width: 372px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; align-self: stretch; }
.hcard--sand .hcard__body { gap: 100px; }
.hcard__title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(24px, 3vw, 32px); line-height: 1.3; letter-spacing: -0.992px; text-wrap: pretty; }
.hcard__text { font-size: 16px; line-height: 24px; letter-spacing: -0.48px; }
.hcard--sand .hcard__title, .hcard--sand .hcard__text { color: var(--near-black); }
.hcard--plum .hcard__title, .hcard--plum .hcard__text { color: var(--white); }
@media (max-width: 699px) {
  .hcard--sand { padding-right: 20px; padding-bottom: 140px; min-height: 0; }
  .hcard--plum { min-height: 0; }
  .hcard__body, .hcard--sand .hcard__body { gap: 24px; }
}

/* Cultural protocols */
.protocols { background: var(--sand); display: flex; justify-content: center; padding: clamp(48px, 8vw, 80px) clamp(20px, 5vw, 40px); }
.protocols__inner { width: 100%; max-width: 1240px; display: flex; flex-direction: column; gap: 40px; }
.protocols__grid { display: flex; gap: clamp(24px, 4vw, 50px); align-items: flex-start; flex-wrap: wrap; }
.rules { list-style: none; margin: 0; padding: 0; flex: 1 1 420px; max-width: 607px; display: flex; flex-direction: column; }
.rule { border-bottom: 1px solid var(--salmon); padding: 20px clamp(20px, 4vw, 50px) 20px 0; display: flex; flex-direction: column; }
.rule:first-child { padding-top: 0; }
.rule__title { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.3; letter-spacing: -0.992px; color: var(--near-black); text-wrap: pretty; }
.rule__q { all: unset; display: block; width: 100%; cursor: pointer; font: inherit; letter-spacing: inherit; color: inherit; }
.rule__q:focus-visible { outline: 2px solid var(--rust); outline-offset: 4px; }
.rule__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.35s ease; }
.rule.is-open .rule__a { grid-template-rows: 1fr; }
.rule__a > * { overflow: hidden; }
.rule__text { font-size: 16px; line-height: 24px; letter-spacing: -0.48px; color: var(--near-black); padding-top: 10px; margin: 0; }
.protocols__media { flex: 1 1 420px; max-width: 620px; aspect-ratio: 620 / 470; overflow: hidden; border-radius: 25px; }
.protocols__media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1079px) { .rules, .protocols__media { max-width: 100%; } }

/* About page: align all sections (except footer) with the header's content edges */
.page-about .ahero, .page-about .aname, .page-about .what, .page-about .hold, .page-about .protocols {
  padding-left: clamp(20px, 5vw, 60px); padding-right: clamp(20px, 5vw, 60px);
}
.page-about .ahero__inner, .page-about .aname__inner, .page-about .what__inner, .page-about .hold__inner, .page-about .protocols__inner {
  max-width: 1440px;
}
.page-about .ahero__media { aspect-ratio: 1440 / 500; }
.page-about .ahero__head { gap: clamp(24px, 6vw, 100px); }
.page-about .ahero__title-wrap { flex: 1 1 520px; max-width: 700px; padding-bottom: 45px; }
.page-about .ahero__lead { flex: 0 1 470px; max-width: 470px; }
@media (max-width: 1099px) {
  .page-about .ahero__head { gap: 20px; }
  .page-about .ahero__title-wrap { flex: 1 1 100%; max-width: none; padding-bottom: 0; }
  .page-about .ahero__title { padding-bottom: 0 !important; }
  .page-about .ahero__lead { flex: 1 1 100%; max-width: none; }
}
@media (max-width: 699px) { .page-about .ahero__media { aspect-ratio: 4 / 3; } }


/* ==========================================================
   NIHB Coverage page
   ========================================================== */
/* Hero: title top-aligned, lead offset, pill row under the photo */
.page-nihb .ahero__head { align-items: flex-end; gap: clamp(24px, 6vw, 96px); }
.page-nihb .ahero__title-wrap { flex: 1 1 520px; max-width: 628px; padding-bottom: 0; }
.page-nihb .ahero__lead { flex: 1 1 400px; max-width: 520px; padding-bottom: 6px; margin: 0; }
.nhero__pills { display: flex; gap: 12px; flex-wrap: wrap; }
.pill {
  display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 10px 20px 10px 14px;
  border-radius: 999px; background: var(--sand); border: 1px solid rgba(31, 59, 99, 0.12);
  font-size: clamp(15px, 1.3vw, 17px); font-weight: 600; line-height: 1.2; color: var(--plum); text-wrap: pretty;
}
.pill::before {
  content: ''; flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--teal) no-repeat center / 12px
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.2 3L11 1' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (max-width: 1099px) {
  .page-nihb .ahero__head { gap: 20px; }
  .page-nihb .ahero__title-wrap, .page-nihb .ahero__lead { flex: 1 1 100%; max-width: none; padding-top: 0; }
}

/* How billing works: aligned with header edges, header split title-left / lead-right */
.page-nihb .how__inner { max-width: 1440px; padding: 0 clamp(20px, 5vw, 60px); }
.how__head--split { align-items: flex-end; gap: 24px clamp(24px, 10vw, 267px); }
.how__head--split .eyebrow { margin-top: 0; }
.how__head-title { flex: 1 1 380px; max-width: 472px; display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.how__head-title .h2 { white-space: nowrap; }
.how__head-lead { flex: 1 1 300px; max-width: 458px; }
@media (max-width: 1099px) {
  .how__head--split { gap: 20px; align-items: flex-start; }
  .how__head-title, .how__head-lead { flex: 1 1 100%; max-width: none; }
  .how__head-title .h2 { white-space: normal; }
}

/* Cards: match Figma sizes (side 401px centred, featured 407×430) */
.page-nihb .step { padding: 32px 24px; gap: 48px; }
.page-nihb .step--side { min-height: 401px; justify-content: flex-start; }
.page-nihb .step--featured { min-height: 430px; padding-bottom: 34px; gap: 48px; justify-content: flex-start; }
.page-nihb .step__title { min-height: 84px; display: flex; align-items: flex-start; }
.page-nihb .step__body { gap: 16px; }
@media (max-width: 1079px) {
  .page-nihb .step--side, .page-nihb .step--featured { min-height: 0; }
  .page-nihb .step { gap: 28px; }
  .page-nihb .step__title { min-height: 0; }
}

/* For Métis readers */
.metis { display: flex; justify-content: center; padding: clamp(48px, 8vw, 80px) clamp(20px, 5vw, 60px); }
.metis__inner { width: 100%; max-width: 1440px; display: flex; gap: clamp(24px, 4vw, 50px); align-items: center; flex-wrap: wrap; }
.metis__copy { flex: 1 1 420px; max-width: 685px; display: flex; flex-direction: column; gap: 35px; align-items: flex-start; }
.metis__copy .h2 { font-size: clamp(26px, 4.5vw, 36px); line-height: 1.2; }
.metis__copy .lead { line-height: 1.7; }
.metis__text { display: flex; flex-direction: column; gap: 10px; }
.metis__head { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.plain {
  position: relative; overflow: hidden; width: 100%; max-width: 646px; min-height: 204px; border-radius: 20px; background: var(--plum);
  padding: 30px clamp(20px, 10vw, 150px) 30px 20px; display: flex; flex-direction: column; gap: 30px; justify-content: flex-end;
}
.plain__burst { position: absolute; right: 0; bottom: -60px; width: 222px; height: auto; opacity: 0.4; pointer-events: none; }
.plain__title { position: relative; font-family: var(--font-serif); font-weight: 500; font-size: clamp(24px, 3vw, 32px); line-height: 1.3; letter-spacing: -0.992px; color: var(--white); }
.plain__text { position: relative; max-width: 465px; font-size: 16px; line-height: 24px; letter-spacing: -0.48px; color: var(--white); }
.metis__media { flex: 1 1 320px; max-width: none; align-self: stretch; overflow: hidden; border-radius: 25px; }
.metis__media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1079px) {
  .metis__inner { align-items: flex-start; }
  .metis__copy { max-width: 100%; }
  .metis__media { display: none; }
  .plain { max-width: none; padding-right: 20px; padding-bottom: 110px; }
  .plain__burst { left: auto !important; right: 0; top: auto !important; bottom: -30px; }
}
@media (max-width: 699px) {
  .metis { padding-top: 48px; padding-bottom: 48px; }
  .metis__copy { gap: 24px; }
  .plain { padding: 24px 20px 100px; gap: 16px; min-height: 0; }
  .plain__burst { width: 180px; bottom: -24px; }
  .nhero__pills { gap: 12px; }
  .pill { min-height: 44px; padding: 10px 18px; white-space: normal; text-align: center; }
}

/* ==========================================================
   Contact page
   ========================================================== */
.chero { display: flex; justify-content: center; padding: clamp(40px, 6vw, 72px) clamp(20px, 5vw, 60px) clamp(32px, 5vw, 56px); }
.chero__inner { width: 100%; max-width: 1440px; display: flex; flex-direction: column; gap: clamp(40px, 5vw, 64px); align-items: center; }
.chero__head { width: 100%; max-width: 760px; display: flex; flex-direction: column; gap: 16px; align-items: center; }
.chero__head .eyebrow { justify-content: center; }
.chero__title {
  font-family: var(--font-serif); font-weight: 600; font-size: clamp(36px, 5.5vw, 58px);
  line-height: 1.08; letter-spacing: -0.544px; text-align: center; color: var(--plum); text-wrap: pretty;
}
.chero__head .lead { text-align: center; max-width: 640px; }
/* Form */
.cform { background: var(--sand); display: flex; justify-content: center; padding: clamp(56px, 8vw, 95px) clamp(20px, 5vw, 60px); }
.cform__inner { width: 100%; max-width: 1280px; display: flex; gap: clamp(32px, 6vw, 96px); align-items: flex-start; justify-content: center; flex-wrap: wrap; }
.cform__copy { flex: 1 1 360px; max-width: 480px; display: flex; flex-direction: column; gap: 28px; }
.cform__copy-head { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.cways { display: flex; flex-direction: column; gap: 12px; }
.cway {
  display: flex; gap: 16px; align-items: center; padding: 16px 20px; border-radius: 16px; background: var(--card);
  text-decoration: none; color: inherit; transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cway:hover { color: inherit; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(31, 59, 99, 0.1); }
.cway__icon { width: 56px; height: 56px; flex-shrink: 0; border-radius: 14px; background: var(--sand-2); display: flex; justify-content: center; align-items: center; }
.cway__icon svg { width: 26px; height: 26px; }
.cway__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cway__label { font-size: 14px; line-height: 20px; color: var(--ink-3); }
.cway__value { font-family: var(--font-serif); font-weight: 500; font-size: clamp(19px, 1.8vw, 22px); line-height: 1.3; letter-spacing: -0.5px; color: var(--near-black); overflow-wrap: anywhere; }
.cway__arrow { width: 40px; height: 40px; flex-shrink: 0; border-radius: 999px; background: rgba(233, 216, 190, 0.7); display: flex; justify-content: center; align-items: center; }
.cform__crisis { font-size: 15px; line-height: 22px; color: var(--ink-3); }
.cform__crisis a { color: var(--rust); font-weight: 600; text-decoration: none; }
.cform__crisis a:hover { color: var(--rust-dark); }
.page-contact .directory { padding-top: clamp(48px, 7vw, 80px); padding-left: clamp(20px, 5vw, 60px); padding-right: clamp(20px, 5vw, 60px); }
.page-contact .directory__card { max-width: 1440px; }

.form { flex: 1 1 420px; max-width: 700px; border-radius: 20px; background: var(--card); padding: clamp(24px, 4vw, 40px); display: flex; flex-direction: column; gap: 20px;
  box-shadow: 0 50px 100px rgba(0, 0, 0, 0.06), 0 20px 40px rgba(0, 0, 0, 0.04), 0 2px 4px rgba(0, 0, 0, 0.02); }
.form__row { display: flex; gap: 20px; flex-wrap: wrap; }
.field { flex: 1 1 240px; display: flex; flex-direction: column; gap: 8px; }
.form > .field { flex: 0 0 auto; }
.field label { font-weight: 600; font-size: 14px; line-height: 20px; color: var(--plum-ink); }
.field input, .field textarea {
  width: 100%; min-height: 54px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--rule); background: var(--white);
  font: inherit; font-size: 16px; line-height: 24px; color: var(--ink-2); transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.field textarea { min-height: 160px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: rgba(63, 59, 60, 0.5); }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--rust); box-shadow: 0 0 0 3px rgba(194, 78, 58, 0.15); }
.form__foot { display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.form__foot p { font-size: 14px; line-height: 20px; color: var(--ink-3); max-width: 380px; }
.form .btn { border: none; cursor: pointer; }
.form__done { display: none; border-radius: 12px; background: var(--peach); padding: 16px 20px; font-size: 16px; line-height: 24px; color: var(--plum-ink); }
.form.is-sent .form__done { display: block; }
.form.is-sent .form__row, .form.is-sent .form__foot, .form.is-sent .field { display: none; }


@media (max-width: 1099px) {
  .cform__inner { gap: 40px; }
  .cform__copy, .form { flex: 1 1 100%; max-width: 100%; }
}
@media (max-width: 699px) {
  .chero__title { font-size: clamp(30px, 8.5vw, 36px); }
  .chero__head .lead { font-size: 16px; line-height: 1.6; }
  .cform { padding-top: 48px; padding-bottom: 48px; }
  .cform__copy { gap: 20px; }
  .cway { padding: 14px 16px; gap: 12px; }
  .cway__icon { width: 48px; height: 48px; border-radius: 12px; }
  .cway__icon svg { width: 22px; height: 22px; }
  .cway__value { font-size: 18px; }
  .cway__arrow { display: none; }
  .form { padding: 20px; gap: 16px; border-radius: 16px; }
  .form__row { gap: 16px; }
  .field { flex: 1 1 100%; }
  .field textarea { min-height: 130px; }
  .form__foot { flex-direction: column; align-items: stretch; gap: 16px; }
  .form__foot p { max-width: none; }
  .form .btn { width: 100%; }
  .page-contact .directory__card { min-height: 0; }
}

/* ==========================================================
   FAQ page
   ========================================================== */
.fpage { background: var(--sand); display: flex; justify-content: center; padding: clamp(48px, 8vw, 80px) clamp(20px, 5vw, 60px); }
.fpage__inner { width: 100%; max-width: 1280px; display: flex; gap: clamp(32px, 6vw, 96px); align-items: flex-start; }
.fnav { position: sticky; top: 32px; flex: 0 0 240px; display: flex; flex-direction: column; gap: 16px; }
.fnav__label { font-weight: 600; font-size: 12.8px; line-height: 21px; letter-spacing: 1.792px; text-transform: uppercase; color: var(--teal); }
.fnav__links { display: flex; flex-direction: column; gap: 4px; }
.fnav__links a {
  padding: 10px 14px; border-radius: 10px; font-weight: 500; font-size: 16px; line-height: 24px; color: var(--ink); text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.fnav__links a:hover { background: var(--card); color: var(--rust); }
.fnav__links a.is-active { background: var(--card); color: var(--plum); font-weight: 600; }
.fpage__groups { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: clamp(40px, 6vw, 72px); }
.fgroup { display: flex; flex-direction: column; gap: 8px; scroll-margin-top: 24px; }
.fgroup__title { font-family: var(--font-serif); font-weight: 700; font-size: clamp(26px, 3.5vw, 34px); line-height: 1.3; letter-spacing: -0.384px; color: var(--plum); }
.fgroup__list { max-width: none; padding: 0; }
.fgroup__list .faq__item { background: transparent; padding-left: 0; padding-right: 0; }
.fgroup__list .faq__a p { max-width: 760px; }
.page-faq .chero__title { max-width: 720px; }
.page-faq .crisis { padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(56px, 8vw, 96px); }
@media (max-width: 899px) {
  .fpage__inner { flex-direction: column; gap: 32px; }
  .fnav { position: static; flex: 0 0 auto; width: 100%; gap: 10px; }
  .fnav__links { flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .fnav__links a { padding: 8px 14px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--rust); font-size: 15px; line-height: 22px; }
  .fnav__links a.is-active { background: var(--rust); color: var(--off-white); }
}
@media (max-width: 699px) {
  .fpage { padding-top: 40px; padding-bottom: 40px; }
  .fpage__groups { gap: 36px; }
  .fgroup__title { font-size: 24px; }
  .fgroup__list .faq__item { padding-top: 18px; padding-bottom: 18px; }
  .fgroup__list .faq__q { gap: 16px; align-items: flex-start; }
  .fgroup__list .faq__q span { font-size: 18px; line-height: 1.3; }
  .fgroup__list .faq__q img { margin-top: 6px; }
  .fgroup__list .faq__a p { font-size: 16px; line-height: 1.5; }
  .fgroup__list .faq__item.is-open .faq__a { max-height: 600px; }
  .fnav__links a { padding: 7px 12px; font-size: 14px; }
  .page-faq .chero__head .lead { font-size: 16px; line-height: 1.6; }
}

/* ==========================================================
   For counsellors page
   ========================================================== */
.khero__side { flex: 0 1 470px; max-width: 470px; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; padding-bottom: 30px; }
.khero__side .ahero__lead { flex: none; max-width: none; }
.khero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
@media (max-width: 1099px) { .khero__side { flex: 1 1 100%; max-width: none; padding-bottom: 0; } }
.btn--outline { background: transparent; color: var(--rust-text); box-shadow: inset 0 0 0 1px var(--rust-text); }
.btn--outline:hover { background: var(--rust); color: var(--off-white); }
.khero__pills { margin-top: -8px; }
.page-counsellors .ahero__title-wrap { max-width: 640px; }
.page-counsellors .team__text .eyebrow { color: var(--salmon); }
.page-counsellors .team__text p em { font-style: italic; }
.kform__aside a, .form__done a { color: var(--rust); font-weight: 600; text-decoration: none; }
.kform__aside a:hover, .form__done a:hover { text-decoration: underline; }
.choice { margin: 0; }
.choices { display: flex; flex-direction: column; }
.page-counsellors .cta__copy .btn { white-space: normal; text-align: center; }
.row__num { width: 47px; flex-shrink: 0; font-family: var(--font-serif); font-weight: 600; font-size: 28px; line-height: 1; letter-spacing: -0.5px; color: var(--rust); }

.terms { background: var(--sand); display: flex; justify-content: center; padding: clamp(56px, 8vw, 95px) clamp(20px, 5vw, 60px); }
.terms__inner { width: 100%; max-width: 1440px; display: flex; flex-direction: column; gap: 40px; }
.terms__cards { display: flex; gap: 24px; flex-wrap: wrap; align-items: stretch; }
.tcard { position: relative; overflow: hidden; flex: 1 1 420px; border-radius: 20px; background: var(--card); padding: clamp(28px, 4vw, 40px); display: flex; flex-direction: column; gap: 24px; }
.tcard__title { position: relative; font-family: var(--font-serif); font-weight: 500; font-size: clamp(24px, 3vw, 32px); line-height: 1.3; letter-spacing: -0.992px; color: var(--plum); }
.tcard__list { position: relative; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.tcard__list li { padding: 18px 0; border-top: 1px solid var(--rule); font-size: 16px; line-height: 26px; color: var(--ink); }
.tcard__list li strong { display: block; margin-bottom: 4px; font-family: var(--font-serif); font-weight: 600; font-size: 19px; line-height: 1.35; color: var(--near-black); }
.tcard--plum { background: var(--plum); }
.tcard--plum .tcard__title { color: var(--sand); }
.tcard--plum .tcard__list li { border-top-color: rgba(255, 172, 149, 0.35); color: rgb(255, 245, 237); }
.tcard--plum .tcard__list li strong { color: var(--white); }
.tcard__burst { position: absolute; right: 0; bottom: 0; width: 220px; height: auto; opacity: 0.25; pointer-events: none; }

.page-counsellors .team { padding: clamp(56px, 8vw, 95px) clamp(20px, 5vw, 60px); }
.page-counsellors .team__card { max-width: 1440px; }
.page-counsellors .team__text { gap: 20px; }

.kform__aside { font-size: 15px; line-height: 24px; color: var(--ink-3); }
.field select {
  width: 100%; min-height: 54px; padding: 14px 44px 14px 16px; border-radius: 12px; border: 1px solid var(--rule); background: var(--white);
  font: inherit; font-size: 16px; line-height: 24px; color: var(--ink-2); appearance: none; cursor: pointer;
  background-image: url("faq-chevron.svg"); background-repeat: no-repeat; background-position: right 16px center; background-size: 14px;
}
.field select:focus { outline: none; border-color: var(--rust); box-shadow: 0 0 0 3px rgba(194, 78, 58, 0.15); }
.choices { border: 0; margin: 0; padding: 0; min-width: 0; flex: 0 0 auto; gap: 10px; }
.choices legend { padding: 0; margin-bottom: 8px; font-weight: 600; font-size: 14px; line-height: 20px; color: var(--plum-ink); }
.choice { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--rule); background: var(--white); cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease; }
.choice:has(input:checked) { border-color: var(--rust); background: rgb(255, 247, 240); }
.choice input { flex-shrink: 0; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--rust); }
.choice__body { display: flex; flex-direction: column; gap: 2px; }
.choice__title { font-weight: 600; font-size: 16px; line-height: 22px; color: var(--near-black); }
.choice__text { font-size: 14px; line-height: 20px; color: var(--ink-3); }
.form > .choices { flex: 0 0 auto; }

@media (max-width: 699px) {
  .khero__actions { flex-direction: column; align-items: stretch; width: 100%; }
  .khero__actions .btn { width: 100%; }
  .row__num { width: auto; font-size: 22px; }
  .tcard { flex-basis: 100%; }
  .tcard__list li strong { font-size: 17px; }
}

/* ==========================================================
   Find a counsellor page — directory
   ========================================================== */
.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; }
.page-find .chero { background: var(--sand); padding-bottom: clamp(40px, 5vw, 64px); }
.page-find .chero__inner { align-items: flex-start; gap: 36px; }
.page-find .chero__head { max-width: 1000px; align-items: flex-start; }
.page-find .chero__head .eyebrow { justify-content: flex-start; }
.page-find .chero__title { text-align: left; }
.page-find .chero__head .lead { text-align: left; max-width: 1000px; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.65; }
.dsearch { width: 100%; max-width: 1000px; display: flex; flex-direction: column; gap: 28px; }
.dsearch__input { width: 100%; min-height: 76px; padding: 20px 28px; border-radius: 24px; border: 1px solid rgba(31, 59, 99, 0.18); background: var(--off-white); font: inherit; font-size: 19px; color: var(--ink-2); -webkit-appearance: none; }
.dsearch__input::placeholder { color: rgb(118, 110, 106); }
.dsearch__input:focus { outline: none; border-color: var(--plum); box-shadow: 0 0 0 3px rgba(31, 59, 99, 0.12); }
.dprov { display: flex; gap: 14px; flex-wrap: wrap; }
.dprov__btn { min-height: 58px; padding: 14px 32px; border-radius: 29px; border: 1px solid rgba(31, 59, 99, 0.18); background: var(--off-white); font-weight: 600; font-size: 18px; line-height: 1.2; color: var(--ink-2); cursor: pointer; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.dprov__btn:hover { border-color: var(--plum); }
.dprov__btn.is-active { background: var(--plum); border-color: var(--plum); color: var(--off-white); }
.dir { display: flex; justify-content: center; padding: clamp(40px, 6vw, 64px) clamp(20px, 5vw, 60px) clamp(56px, 8vw, 96px); background: var(--cream); }
.dir__inner { width: 100%; max-width: 1440px; display: flex; flex-direction: column; gap: 36px; }
.dfilters { display: flex; flex-wrap: wrap; gap: 20px 26px; align-items: center; }
.dselect { position: relative; flex: 1 1 240px; }
.dselect--wide { flex: 2 1 360px; }
.dselect select { width: 100%; min-height: 66px; padding: 16px 52px 16px 28px; border-radius: 20px; border: 1px solid rgba(31, 59, 99, 0.18); background: var(--off-white); font: inherit; font-size: 19px; line-height: 1.3; color: var(--ink-2); appearance: none; -webkit-appearance: none; cursor: pointer; }
.dselect::after { content: ""; position: absolute; right: 26px; top: 50%; width: 9px; height: 9px; border-right: 1.5px solid var(--ink-2); border-bottom: 1.5px solid var(--ink-2); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.dselect select:focus { outline: none; border-color: var(--plum); box-shadow: 0 0 0 3px rgba(31, 59, 99, 0.12); }
.dcheck { display: inline-flex; align-items: center; gap: 14px; min-height: 66px; padding: 14px 30px; border-radius: 33px; border: 1px solid rgba(31, 59, 99, 0.18); background: var(--off-white); font-size: 19px; line-height: 1.3; color: var(--ink-2); cursor: pointer; flex: 0 0 auto; user-select: none; transition: border-color 0.2s ease, background 0.2s ease; }
.dcheck input { width: 20px; height: 20px; margin: 0; accent-color: var(--plum); cursor: pointer; }
.dcheck:hover { border-color: var(--plum); }
.dcheck:has(input:checked) { border-color: var(--plum); background: rgba(31, 59, 99, 0.06); }
.dcount { font-size: 19px; line-height: 1.5; color: var(--ink); margin: 0; }
.dgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 28px; }
.dcard { display: flex; flex-direction: column; gap: 20px; padding: 32px 28px 28px; border-radius: 28px; border: 1px solid rgba(31, 59, 99, 0.1); background: var(--off-white); }
.dcard__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.dcard__id { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dcard__name { font-family: var(--font-serif); font-weight: 500; font-size: 26px; line-height: 1.2; letter-spacing: -0.4px; color: var(--plum); margin: 0; text-wrap: pretty; }
.dcard__role, .dcard__org { font-size: 17px; line-height: 1.55; color: var(--ink); margin: 0; }
.dcard__meta { font-size: 15px; line-height: 1.5; color: var(--ink-3); margin: 0; }
.dcard__avatar { flex: 0 0 auto; width: 68px; height: 68px; border-radius: 50%; background: var(--peach); color: var(--rust); font-family: var(--font-serif); font-weight: 500; font-size: 22px; letter-spacing: 0.5px; display: inline-flex; align-items: center; justify-content: center; }
.dcard__badges, .dcard__tags { display: flex; flex-wrap: wrap; gap: 10px; }
.dbadge { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 16px; border-radius: 18px; background: var(--sand); font-weight: 600; font-size: 15px; line-height: 1.3; color: var(--plum); }
.dbadge--ok { background: rgb(226, 236, 223); color: rgb(45, 92, 54); }
.dbadge--peach { background: var(--peach); color: var(--plum-ink); }
.dtag { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 15px; border-radius: 18px; background: var(--sand); font-size: 15px; line-height: 1.3; color: var(--ink); }
.dcard__actions { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.btn--sm { min-height: 46px; padding: 10px 22px; font-size: 15px; }
.dcard__link { font-weight: 600; font-size: 16px; color: var(--rust-text); text-decoration: none; }
.dcard__link:hover { text-decoration: underline; }
.dempty { display: none; text-align: center; padding: 40px 20px; }
.dempty h3, .dupsell h3 { font-family: var(--font-serif); font-weight: 600; font-size: 24px; line-height: 1.3; color: var(--plum); margin: 0 0 12px; }
.dempty p, .dupsell p { font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0 auto; max-width: 560px; }
.dempty a { color: var(--rust); font-weight: 600; text-decoration: none; }
.dempty a:hover { text-decoration: underline; }
.dmore { align-self: center; }
.btn--secondary { background: transparent; color: var(--rust); box-shadow: inset 0 0 0 1px var(--rust); border: 0; cursor: pointer; }
.btn--secondary:hover { background: var(--rust); color: var(--off-white); }
.dupsell { text-align: center; padding-top: 24px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.dupsell p { margin-bottom: 12px; }
@media (max-width: 899px) {
  .dselect, .dselect--wide { flex: 1 1 100%; }
  .dcheck { flex: 1 1 100%; }
  .dgrid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
}
@media (max-width: 699px) {
  .page-find .chero__title { max-width: 100%; }
  .dsearch__input { min-height: 60px; padding: 16px 20px; font-size: 16px; border-radius: 18px; }
  .dprov { gap: 10px; }
  .dprov__btn { min-height: 48px; padding: 12px 20px; font-size: 15px; }
  .dselect select, .dcheck { min-height: 56px; font-size: 16px; }
  .dselect select { padding: 14px 44px 14px 20px; }
  .dcheck { padding: 12px 20px; }
  .dcount { font-size: 16px; }
  .dgrid { grid-template-columns: 1fr; gap: 20px; }
  .dcard { padding: 24px 20px; border-radius: 20px; }
  .dcard__name { font-size: 22px; }
  .dcard__role, .dcard__org { font-size: 16px; }
  .dcard__avatar { width: 56px; height: 56px; font-size: 18px; }
}

/* ==========================================================
   Intake page
   ========================================================== */
.crisis-strip { margin: 0; text-align: center; padding: 10px 20px; background: var(--plum); color: var(--off-white); font-size: 14px; line-height: 21px; }
.crisis-strip a { color: var(--peach); font-weight: 600; text-decoration: none; }
.crisis-strip a:hover { text-decoration: underline; }
.intake { display: flex; justify-content: center; padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 60px) clamp(56px, 8vw, 96px); background: var(--sand); }
.intake__wrap { width: 100%; max-width: 760px; display: flex; flex-direction: column; gap: 16px; }
.ask { display: flex; gap: 14px; align-items: flex-start; padding: 18px 22px; border-radius: 16px; background: var(--peach); color: var(--plum-ink); margin-bottom: 8px; }
.ask[hidden] { display: none; }
.ask__icon { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: var(--off-white); display: flex; align-items: center; justify-content: center; color: var(--rust); font-family: var(--font-serif); font-weight: 600; font-size: 15px; letter-spacing: 0.5px; }
.ask p { font-size: 16px; line-height: 25px; margin: 0; }
.ask strong { font-weight: 700; }
.intake__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.intake__step { font-weight: 600; font-size: 13px; line-height: 20px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--teal); }
.intake__saved { font-size: 14px; color: var(--ink-3); opacity: 0; transition: opacity 0.3s ease; }
.intake__saved.is-on { opacity: 1; }
.intake__progress { height: 4px; border-radius: 2px; background: rgba(31, 59, 99, 0.12); overflow: hidden; }
.intake__progress i { display: block; height: 100%; width: 0; background: var(--rust); transition: width 0.4s var(--ease); }
.intake__form { max-width: none; flex: 0 0 auto; margin-top: 8px; }
.ipanel { display: none; flex-direction: column; gap: 22px; }
.ipanel.is-active { display: flex; }
.ipanel > .field { flex: 0 0 auto; }
.ipanel__head { display: flex; flex-direction: column; gap: 10px; }
.ipanel__title { font-family: var(--font-serif); font-weight: 600; font-size: clamp(26px, 3.5vw, 34px); line-height: 1.2; letter-spacing: -0.4px; color: var(--plum); margin: 0; text-wrap: pretty; }
.ipanel__lead { font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0; }
.ilist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.ilist li { position: relative; padding-left: 28px; font-size: 16px; line-height: 1.6; color: var(--ink); }
.ilist li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--rust); }
.intake .choices { display: flex; flex-direction: column; gap: 10px; }
.intake .choices legend { float: left; width: 100%; }
.ichips { display: flex; flex-wrap: wrap; gap: 10px; }
.ichip { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 10px 18px; border-radius: 23px; border: 1px solid var(--rule); background: var(--white); font-size: 15px; line-height: 20px; color: var(--ink-2); cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease; }
.ichip input { width: 18px; height: 18px; margin: 0; accent-color: var(--rust); }
.ichip:has(input:checked) { border-color: var(--rust); background: rgb(255, 247, 240); }
.inote { display: none; margin: 0; padding: 12px 16px; border-radius: 10px; background: var(--sand-2); font-size: 14px; line-height: 21px; color: var(--ink-3); }
.inote.is-on { display: block; }
.ipanel__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 6px; }
.iback { background: none; border: 0; padding: 10px 0; font: inherit; font-weight: 600; font-size: 16px; color: var(--ink-3); cursor: pointer; }
.iback:hover { color: var(--rust); }
.ireview { display: flex; flex-direction: column; border: 1px solid var(--rule); border-radius: 14px; overflow: hidden; background: var(--white); }
.irow { display: flex; align-items: flex-start; gap: 16px; padding: 14px 18px; border-bottom: 1px solid rgba(189, 189, 189, 0.5); }
.irow:last-child { border-bottom: 0; }
.irow__k { flex: 0 0 160px; font-weight: 600; font-size: 14px; line-height: 22px; color: var(--plum-ink); }
.irow__v { flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 22px; color: var(--ink); white-space: pre-line; overflow-wrap: anywhere; }
.irow__edit { flex: 0 0 auto; background: none; border: 0; padding: 0; font: inherit; font-weight: 600; font-size: 14px; line-height: 22px; color: var(--rust); cursor: pointer; }
.irow__edit:hover { text-decoration: underline; }
.iconsent { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 22px; color: var(--ink); cursor: pointer; }
.iconsent input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--rust); }
.iconsent a { color: var(--rust); font-weight: 600; text-decoration: none; }
.idone { align-items: center; text-align: center; padding: 16px 0; }
.idone__sun { width: 72px; height: 72px; }
.idone p { font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0; max-width: 520px; }
.idone__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; padding-top: 8px; }
@media (max-width: 699px) {
  .intake { padding-top: 24px; }
  .ask { padding: 14px 16px; }
  .irow { flex-wrap: wrap; }
  .irow__k { flex-basis: 100%; }
  .ipanel__foot { flex-direction: row; }
  .intake .form .btn { width: auto; }
  .idone__actions .btn { width: 100%; }
}

/* ==========================================================
   Counsellor profile page
   ========================================================== */
.prof { display: flex; justify-content: center; padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 60px) clamp(56px, 8vw, 96px); background: var(--cream); }
.prof__inner { width: 100%; max-width: 1200px; display: flex; flex-direction: column; gap: 28px; }
.prof__back { align-self: flex-start; font-weight: 600; font-size: 15px; line-height: 22px; color: var(--ink-3); text-decoration: none; }
.prof__back:hover { color: var(--rust); }
.prof__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(28px, 4vw, 56px); align-items: start; }
.prof__grid[hidden] { display: none; }
.prof__main { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.prof__head { display: flex; gap: 24px; align-items: flex-start; }
.prof__avatar { flex: 0 0 auto; width: 96px; height: 96px; border-radius: 50%; background: var(--peach); color: var(--rust); font-family: var(--font-serif); font-weight: 500; font-size: 30px; letter-spacing: 0.5px; display: flex; align-items: center; justify-content: center; }
.prof__id { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.prof__name { font-family: var(--font-serif); font-weight: 600; font-size: clamp(32px, 4vw, 46px); line-height: 1.1; letter-spacing: -0.5px; color: var(--plum); margin: 0; text-wrap: pretty; }
.prof__role { font-size: 19px; line-height: 1.5; color: var(--ink); margin: 0; }
.prof__org { font-size: 17px; line-height: 1.5; color: var(--ink-3); margin: 0; }
.prof__org[hidden] { display: none; }
.prof__badges { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 6px; }
.pnote { margin: 0; padding: 16px 20px; border-radius: 14px; background: var(--sand); font-size: 15px; line-height: 24px; color: var(--ink); }
.pnote strong { color: var(--plum-ink); }
.pnote[hidden] { display: none; }
.psec { display: flex; flex-direction: column; gap: 14px; padding-top: 24px; border-top: 1px solid rgba(31, 59, 99, 0.12); }
.psec h2 { font-family: var(--font-serif); font-weight: 600; font-size: 22px; line-height: 1.3; color: var(--plum); margin: 0; }
.psec p { font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0; }
.prof__side { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 24px; }
.pcard { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 24px; background: var(--off-white); border: 1px solid rgba(31, 59, 99, 0.1); }
.pcard .btn { width: 100%; }
.pcard p { font-size: 15px; line-height: 24px; color: var(--ink); margin: 0; }
.pcard p strong { color: var(--plum-ink); font-size: 16px; }
.pcard a:not(.btn) { color: var(--rust); font-weight: 600; text-decoration: none; }
.pcard a:not(.btn):hover { text-decoration: underline; }
.pcard--soft { background: var(--sand); border-color: transparent; }
.prof__missing { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 60px 20px; }
.prof__missing[hidden] { display: none; }
.prof__missing h2 { font-family: var(--font-serif); font-weight: 600; font-size: 28px; line-height: 1.3; color: var(--plum); margin: 0; }
.prof__missing p { font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0 0 12px; }
@media (max-width: 899px) {
  .prof__grid { grid-template-columns: 1fr; }
  .prof__side { position: static; }
}
@media (max-width: 699px) {
  .prof__head { gap: 16px; }
  .prof__name, .dcard__name, .ccard__name { overflow-wrap: anywhere; }
  .pcard .btn, .idone__actions .btn, .ccard .btn--full, .prof__missing .btn { white-space: normal; text-align: center; }
  .ipanel__foot .btn { white-space: normal; text-align: center; }
  .prof__avatar { width: 72px; height: 72px; font-size: 24px; }
  .prof__role { font-size: 17px; }
  .pcard { padding: 20px; }
}

/* ---------- Keyframes ---------- */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }


/* ---------- Wapan additions (integration) ---------- */
.nav__crisis { font-weight: 600; font-size: 16px; line-height: 25px; white-space: nowrap; color: #F2A23A; text-decoration: none; }
.nav__crisis:hover { color: #FFFFFF; }
.media-fill { width: 100%; height: 100%; border-radius: 8px;
  background: radial-gradient(130% 130% at 82% 12%, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 55%), url("team-sunburst.svg") center / 70% no-repeat, linear-gradient(150deg, var(--peach) 0%, var(--apricot) 100%); }
.media-fill--2 { background: radial-gradient(130% 130% at 82% 12%, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 55%), url("team-sunburst.svg") center / 70% no-repeat, linear-gradient(150deg, var(--salmon) 0%, var(--apricot) 110%); }
.media-fill--3 { background: radial-gradient(130% 130% at 82% 12%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 55%), url("team-sunburst.svg") center / 70% no-repeat, linear-gradient(150deg, var(--sand) 0%, var(--peach) 100%); }

.dcard__avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }

[hidden] { display: none !important; }

/* Vincent pass: cream arrows on the navy ticker band */
.ticker__track svg path { stroke: var(--cream); }

/* Colour-audit fixes */
.dcard__avatar { color: var(--plum); }
.prof__avatar { color: var(--plum); }
.directory__copy .eyebrow { color: var(--salmon); }

/* Compare lists: staggered slide-in when scrolled into view */
@media (prefers-reduced-motion: no-preference) {
  .compare__card--them .compare__item { opacity: 0; transform: translateX(-30px); }
  .compare__card--us .compare__item { opacity: 0; transform: translateX(30px); }
  .compare__item { transition: opacity 0.55s var(--ease), transform 0.55s var(--ease); }
  .compare__item .compare__mark { transform: scale(0.3); opacity: 0; transition: transform 0.4s var(--ease), opacity 0.3s ease; }
  .compare__item:nth-child(1) { transition-delay: 0.05s; } .compare__item:nth-child(1) .compare__mark { transition-delay: 0.3s; }
  .compare__item:nth-child(2) { transition-delay: 0.2s; }  .compare__item:nth-child(2) .compare__mark { transition-delay: 0.45s; }
  .compare__item:nth-child(3) { transition-delay: 0.35s; } .compare__item:nth-child(3) .compare__mark { transition-delay: 0.6s; }
  .compare__item:nth-child(4) { transition-delay: 0.5s; }  .compare__item:nth-child(4) .compare__mark { transition-delay: 0.75s; }
  .compare.is-in .compare__item { opacity: 1; transform: none; }
  .compare.is-in .compare__mark { transform: scale(1); opacity: 1; }
}

/* Claim-your-profile band (homepage) */
.claimband { display: flex; justify-content: center; padding: 0 clamp(20px, 5vw, 60px) clamp(56px, 8vw, 95px); }
.claimband__card { width: 100%; max-width: 1120px; background: var(--sand); border: 1px solid rgba(31, 59, 99, 0.12); border-radius: 28px; padding: clamp(32px, 5vw, 56px); }
.claimband__copy { max-width: 720px; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.claimband__title { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: clamp(26px, 3.6vw, 38px); line-height: 1.25; letter-spacing: -0.02em; color: var(--plum); }
.claimband__text { margin: 0; font-size: 17px; line-height: 1.65; color: var(--ink); }
.claimband__actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 6px; }
.claimband__link { font-weight: 600; font-size: 16px; color: var(--rust-text); text-decoration: none; }
.claimband__link:hover { text-decoration: underline; }

/* How-it-works rows: collage + alternating layout, animated on scroll-in */
.howrows { display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 1060px; }
.howrow { display: flex; align-items: center; gap: clamp(28px, 6vw, 80px); padding: 18px 0; flex-wrap: wrap; }
.howrow--flip { flex-direction: row-reverse; }
.howrow__media { position: relative; flex: 1 1 400px; min-width: 300px; max-width: 520px; padding: 26px; }
.howrow__img {
  width: 100%; height: auto; display: block; position: relative; z-index: 1;
  border-radius: 110px 30px 30px 30px; box-shadow: 0 18px 44px rgba(31, 59, 99, 0.16);
}
.howrow--flip .howrow__img { border-radius: 30px 110px 30px 30px; }
.howrow__shape { position: absolute; z-index: 0; }
.howrow__shape--fan {
  width: 86px; height: 86px; left: -4px; top: -2px;
  background: var(--apricot); border-radius: 0 100% 0 0; transform: rotate(180deg);
}
.howrow--flip .howrow__shape--fan { left: auto; right: -4px; transform: rotate(90deg); }
.howrow__shape--ring {
  width: 58px; height: 58px; right: 2px; bottom: 6px; z-index: 2;
  border: 10px solid var(--salmon); border-radius: 50%; background: transparent;
}
.howrow--flip .howrow__shape--ring { right: auto; left: 2px; }
.howrow__shape--teal { background: var(--teal); border-color: var(--teal); }
.howrow__shape--fan.howrow__shape--teal { background: var(--salmon); }
.howrow__shape--coral { background: var(--rust); border-color: var(--rust); }
.howrow__shape--fan.howrow__shape--coral { background: var(--rust); }
.howrow__shape--ring.howrow__shape--coral { background: transparent; }
.howrow__chip {
  position: absolute; z-index: 3; width: 66px; height: 66px; left: 4px; bottom: 24px;
  background: var(--white); border-radius: 18px; box-shadow: 0 8px 22px rgba(31, 59, 99, 0.18);
  display: flex; align-items: center; justify-content: center;
}
.howrow--flip .howrow__chip { left: auto; right: 4px; }
.howrow__chip img { width: 36px; height: 36px; }
.howrow__body { flex: 1 1 340px; min-width: 280px; display: flex; flex-direction: column; gap: 12px; }
.howrow__num { font-weight: 700; font-size: 13px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--teal); }
.howrow__title { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: clamp(24px, 3vw, 32px); line-height: 1.25; color: var(--plum); }
.howrow__text { margin: 0; font-size: 17px; line-height: 1.65; color: var(--ink); }
.howrow__arrow { display: flex; justify-content: center; padding: 2px 0; }
@media (max-width: 760px) {
  .howrow, .howrow--flip { flex-direction: column; align-items: stretch; }
  .howrow__media { max-width: 440px; margin: 0 auto; }
}
@media (prefers-reduced-motion: no-preference) {
  .howrow .howrow__media { opacity: 0; transform: translateY(26px); transition: opacity 0.6s var(--ease), transform 0.6s var(--ease); }
  .howrow .howrow__body { opacity: 0; transform: translateY(18px); transition: opacity 0.6s var(--ease) 0.15s, transform 0.6s var(--ease) 0.15s; }
  .howrow .howrow__shape, .howrow .howrow__chip { scale: 0.3; opacity: 0; transition: scale 0.45s var(--ease), opacity 0.35s ease; }
  .howrow .howrow__shape--fan { transition-delay: 0.35s; }
  .howrow .howrow__shape--ring { transition-delay: 0.5s; }
  .howrow .howrow__chip { transition-delay: 0.6s; }
  .howrow.is-visible .howrow__media, .howrow.is-visible .howrow__body { opacity: 1; transform: none; }
  .howrow.is-visible .howrow__shape, .howrow.is-visible .howrow__chip { scale: 1; opacity: 1; }
  .howrow--flip.is-visible .howrow__shape--fan { scale: 1; rotate: 0deg; }
  .howrow__arrow { opacity: 0; transform: translateY(-8px); transition: opacity 0.5s ease 0.2s, transform 0.5s var(--ease) 0.2s; }
  .howrow__arrow.is-visible { opacity: 1; transform: none; }
}

/* Compare lists: continuous loop after the entry animation */
@media (prefers-reduced-motion: no-preference) {
  .compare.is-in .compare__card--them { animation: cmpFloat 9s ease-in-out 1.6s infinite; }
  @keyframes cmpFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

  /* Wapan rows take turns lifting, 2s per row on an 8s cycle */
  .compare.is-in .compare__card--us .compare__item { animation: cmpRow 8s ease-in-out infinite; }
  .compare.is-in .compare__card--us .compare__item:nth-child(1) { animation-delay: 1.5s; }
  .compare.is-in .compare__card--us .compare__item:nth-child(2) { animation-delay: 3.5s; }
  .compare.is-in .compare__card--us .compare__item:nth-child(3) { animation-delay: 5.5s; }
  .compare.is-in .compare__card--us .compare__item:nth-child(4) { animation-delay: 7.5s; }
  @keyframes cmpRow {
    0%, 22%, 100% { transform: translateY(0); box-shadow: none; }
    8%, 14% { transform: translateY(-5px); box-shadow: 0 10px 22px rgba(10, 20, 28, 0.22); }
  }
  .compare.is-in .compare__card--us .compare__mark { animation: cmpTick 8s ease-out infinite; }
  .compare.is-in .compare__card--us .compare__item:nth-child(1) .compare__mark { animation-delay: 1.5s; }
  .compare.is-in .compare__card--us .compare__item:nth-child(2) .compare__mark { animation-delay: 3.5s; }
  .compare.is-in .compare__card--us .compare__item:nth-child(3) .compare__mark { animation-delay: 5.5s; }
  .compare.is-in .compare__card--us .compare__item:nth-child(4) .compare__mark { animation-delay: 7.5s; }
  @keyframes cmpTick {
    0%, 22%, 100% { box-shadow: 0 0 0 0 rgba(247, 155, 28, 0); }
    8% { box-shadow: 0 0 0 9px rgba(247, 155, 28, 0.35); }
    18% { box-shadow: 0 0 0 14px rgba(247, 155, 28, 0); }
  }
}

/* ===== Location pages (nihb-counselling/) ===== */
.crumbs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; font-size: 14px; color: var(--ink); }
.crumbs a { color: var(--teal); font-weight: 600; text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.crumbs [aria-current] { color: var(--ink); }
.page-loc .hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.locfacts { width: 100%; max-width: 980px; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.locfacts > div { padding: 22px 16px; text-align: center; border-left: 1px solid var(--rule); }
.locfacts > div:first-child { border-left: 0; }
.locfacts dt { font-family: var(--font-serif); font-weight: 700; font-size: clamp(26px, 3.4vw, 40px); line-height: 1.1; color: var(--plum); }
.locfacts dd { margin: 6px 0 0; font-size: 14px; line-height: 1.35; color: var(--ink); }
@media (max-width: 699px) {
  .locfacts { grid-template-columns: repeat(2, 1fr); }
  .locfacts > div:nth-child(3) { border-left: 0; }
  .locfacts > div:nth-child(n+3) { border-top: 1px solid var(--rule); }
}
.lochead { display: flex; flex-direction: column; gap: 8px; max-width: 760px; }
.lochead p { color: var(--ink); margin: 0; }
.lochead__title { font-family: var(--font-serif); font-weight: 700; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.15; color: var(--plum); margin: 0; }
.lochead__title--sm { font-size: clamp(20px, 2.2vw, 24px); margin-bottom: 14px; }
.locprose { display: flex; justify-content: center; background: var(--sand); padding: clamp(48px, 7vw, 80px) clamp(20px, 5vw, 60px); }
.locprose__inner { width: 100%; max-width: 1240px; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); }
@media (max-width: 899px) { .locprose__inner { grid-template-columns: 1fr; } }
.locprose h2 { font-family: var(--font-serif); font-weight: 700; font-size: clamp(24px, 2.8vw, 32px); line-height: 1.2; color: var(--plum); margin: 0 0 18px; }
.locprose p { font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0 0 14px; }
.locprose a { color: var(--rust-text); font-weight: 600; }
.locsteps { list-style: none; counter-reset: s; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.locsteps li { counter-increment: s; position: relative; padding-left: 52px; font-size: 17px; line-height: 1.55; color: var(--ink); }
.locsteps li::before { content: counter(s); position: absolute; left: 0; top: -2px; width: 36px; height: 36px; border-radius: 50%; background: var(--plum); color: #fff; font-family: var(--font-serif); font-weight: 700; display: grid; place-items: center; }
.locsteps strong { color: var(--plum); }
.page-loc .nearby { display: flex; flex-wrap: wrap; gap: 8px; }
.page-loc .nearby a { text-decoration: none; font-size: 0.9rem; font-weight: 600; color: var(--plum); background: #fff; border: 1.5px solid rgba(31, 59, 99, 0.18); border-radius: 999px; padding: 8px 16px; }
.page-loc .nearby a:hover { border-color: var(--apricot); background: rgba(247,155,28,0.1); }
.citytiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.citytile { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border-radius: 16px; background: #fff; border: 1px solid rgba(31, 59, 99, 0.12); text-decoration: none; transition: border-color .2s, transform .2s; }
.citytile:hover { border-color: var(--apricot); transform: translateY(-2px); }
.citytile__name { font-family: var(--font-serif); font-weight: 700; font-size: 20px; color: var(--plum); }
.citytile__n { font-size: 14px; color: var(--teal); font-weight: 600; }
.lochub { display: flex; flex-direction: column; gap: 18px; }
.lochub + .lochub { margin-top: 24px; }
.lochub__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; }
.lochub__head a { color: var(--rust-text); font-weight: 600; text-decoration: none; }
.cityjump { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; font-size: 15px; color: var(--ink); margin: 0; }
.cityjump a { color: var(--teal); font-weight: 600; text-decoration: none; }
.cityjump a:hover { text-decoration: underline; }

/* ===== Homepage hero v3: solid navy + dot-art florals + cut-out collage ===== */
.hero { background: rgb(21, 57, 90); }
.hero__bg { top: 0; bottom: 110px; background: rgb(21, 57, 90) url("img-hero-dots.webp") center / cover no-repeat; -webkit-mask-image: linear-gradient(to bottom, #000 78%, transparent 100%); mask-image: linear-gradient(to bottom, #000 78%, transparent 100%); }
.hero__shade { display: none; }
.hero__content {
  --h: clamp(440px, 44vw, 640px);
  flex-direction: row; align-items: flex-end; justify-content: space-between; gap: clamp(24px, 4vw, 64px);
  width: 100%; max-width: 1340px; margin: 0 auto; padding: clamp(40px, 5vw, 72px) clamp(20px, 5vw, 40px) 0;
}
.hero__copy { flex: 1 1 520px; max-width: 720px; display: flex; flex-direction: column; gap: 16px; padding-bottom: clamp(56px, 7vw, 110px); }
.hero__copy .eyebrow { justify-content: flex-start; }
.hero__copy .hero__stack, .hero__copy .hero__text { align-items: flex-start; width: 100%; min-width: 0; }
.hero__copy .hero__title { text-align: left; text-shadow: none; font-size: clamp(34px, 4.1vw, 54px); }
.hero__copy .hero__lead { text-align: left; text-shadow: none; color: rgba(250, 249, 246, 0.9); max-width: 560px; }
.hero__copy .hero__actions { justify-content: flex-start; }
.hero__collage { position: relative; flex: 0 0 auto; height: var(--h); width: calc(var(--h) * 0.62); margin-bottom: -118px; z-index: 1; }
.hero__halo {
  position: absolute; left: 50%; top: 2%; width: 150%; aspect-ratio: 1; transform: translateX(-50%);
  background: radial-gradient(circle, rgba(247, 155, 28, 0.38) 0%, rgba(247, 155, 28, 0.12) 38%, rgba(247, 155, 28, 0) 66%);
  pointer-events: none;
}
.hero__arch {
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 100%; height: 84%; border-radius: 999px 999px 0 0; background: rgb(143, 195, 205);
}
.hero__arch::after {
  content: ''; position: absolute; inset: 14px 14px 0; border-radius: inherit;
  border: 3px dotted rgba(21, 57, 90, 0.35); border-bottom: 0;
}
.hero__people { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); height: 100%; width: auto; max-width: none; filter: drop-shadow(0 18px 30px rgba(10, 25, 45, 0.35)); }
.hero .ticker { z-index: 3; }
.hero .ticker__band { background: var(--apricot); }
.hero .ticker__track span { color: rgb(21, 45, 72); }
@media (max-width: 899px) {
  .hero__content { --h: clamp(340px, 90vw, 440px); flex-direction: column; align-items: stretch; }
  .hero__copy { flex: none; width: 100%; max-width: none; min-width: 0; padding-bottom: 8px; }
  .hero__copy .hero__title br { display: none; }
  .hero__collage { align-self: center; margin-bottom: -112px; }
  .hero__bg { background-size: 190% auto; background-position: 100% 0; }
  .hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(21, 57, 90, 0.94) 0%, rgba(21, 57, 90, 0.8) 55%, rgba(21, 57, 90, 0.2) 100%); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero__people { animation: heroPeople 1s var(--ease) 0.15s both; }
  @keyframes heroPeople { from { opacity: 0; transform: translate(-50%, 26px); } to { opacity: 1; transform: translate(-50%, 0); } }
}

/* Homepage hero: tighter on phones */
@media (max-width: 599px) {
  .hide-sm { display: none; }
  .hero__content { padding-top: 28px; gap: 12px; }
  .hero__copy { gap: 12px; padding-bottom: 4px; }
  .hero__copy .hero__stack { gap: 20px; }
  .hero__copy .hero__text { gap: 12px; }
  .hero__copy .hero__title { font-size: 32px; line-height: 1.12; }
  .hero__copy .hero__lead { font-size: 16px; line-height: 1.55; }
  .hero__copy .eyebrow { font-size: 11px; }
  .hero__copy .hero__actions { flex-wrap: nowrap; gap: 10px; }
  .hero__copy .hero__actions .btn { min-height: 48px; padding: 0 18px; font-size: 15px; white-space: nowrap; }
  .hero__content { --h: 360px; }
}

/* Compare: clearer colour coding (muted "apps" side vs Wapan side) + no clipped last row */
.compare__card { padding-bottom: 24px; }
.compare__list { padding-bottom: 18px; }
.compare__card--them { background: #FFFFFF; border: 1px solid #E2DDD4; }
.compare__card--them .compare__label i { background: #A39C90; }
.compare__card--them .compare__label span { color: #586273; }
.compare__card--them .compare__list { background: #EFEAE2; }
.compare__card--them .compare__item { background: #FAF8F4; box-shadow: none; border: 1px solid #E2DDD4; }
.compare__card--them .compare__mark { background: #F6E4DD; box-shadow: none; }
.compare__card--them .compare__mark path { stroke: #B3462A; stroke-width: 1.8; }
.compare__card--them .compare__item span:last-child { color: #6B7280; text-decoration: line-through; text-decoration-color: rgba(107, 114, 128, .35); text-decoration-thickness: 1px; }
.compare__card--us { background: #FFFFFF; border: 1.5px solid #1F3B63; }
.compare__card--us .compare__label i { background: #CC4A22; }
.compare__card--us .compare__label span { color: #1F3B63; }
.compare__card--us .compare__mark { background: #CC4A22; box-shadow: none; }
.compare__card--us .compare__mark path { stroke: #FFFFFF; stroke-width: 2; }
.compare__card--us .compare__item span:last-child { color: #1F3B63; font-weight: 500; }

/* Hero H1: rotating place name ("close to home / Saskatoon / Regina ...") */
.hero-rot { position: relative; display: inline-block; vertical-align: bottom; overflow: hidden; height: 1.2em; padding-right: .06em; margin-right: -.06em; transition: width .45s var(--ease); white-space: nowrap; }
.hero-rot__word { display: inline-block; color: #F2A23A; }
.hero-rot__word.is-out { animation: rotOut .38s var(--ease) forwards; }
.hero-rot__word.is-in { animation: rotIn .45s var(--ease) both; }
@keyframes rotOut { to { transform: translateY(-110%); opacity: 0; } }
@keyframes rotIn { from { transform: translateY(110%); opacity: 0; } to { transform: none; opacity: 1; } }

/* NIHB glossary */
.gloss { margin: 0; max-width: 860px; border-top: 2px solid #1F3B63; }
.gloss__row { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 8px 40px; padding: 22px 0; border-bottom: 1px solid #E2DDD4; scroll-margin-top: 24px; }
.gloss__row dt { font-family: var(--font-serif); font-weight: 700; font-size: 19px; line-height: 1.3; color: #1F3B63; }
.gloss__row dd { margin: 0; font-size: 16px; line-height: 1.65; color: #3E4858; }
.gloss__row dd a { color: #B33E1B; font-weight: 600; }
@media (max-width: 699px) { .gloss__row { grid-template-columns: 1fr; } }
.itransport { min-height: 52px; padding: 10px 22px; font-size: 16px; margin-top: 14px; }

/* intake: status number field */
.istatus { margin-top: 18px; }
.ifield__help { margin-top: 6px; font-size: 14px; line-height: 1.5; color: #586273; }
