/*
 * Interior experience layer
 * Brings non-home pages closer to the calmer editorial feel of the homepage.
 */

:root {
  --interior-cream: #fffcf7;
  --interior-cream-warm: #f7f1e8;
  --interior-cream-deep: #efe4d6;
  --interior-ink: #17231f;
  --interior-muted: #5f6b62;
  --interior-green: #1f3026;
  --interior-green-soft: #2e4d3d;
  --interior-sage: #dfe9de;
  --interior-blue: #274d6b;
  --interior-clay: #a96f56;
  --interior-line: rgba(35, 50, 41, 0.12);
  --interior-shadow: 0 24px 70px rgba(35, 50, 41, 0.11);
  --interior-shadow-soft: 0 16px 44px rgba(35, 50, 41, 0.075);
}

body:not(.page-home) {
  background: var(--interior-cream) !important;
  color: var(--interior-ink) !important;
}

body:not(.page-home) p,
body:not(.page-home) li {
  color: var(--interior-muted) !important;
}

body:not(.page-home) h1,
body:not(.page-home) h2,
body:not(.page-home) h3,
body:not(.page-home) h4 {
  color: var(--interior-ink) !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .eyebrow,
body:not(.page-home) .feature-label,
body:not(.page-home) .summary-label,
body:not(.page-home) .card-kicker,
body:not(.page-home) .resource-pill-row span,
body:not(.page-home) .directory-category header > span,
body:not(.page-home) .faq-icon {
  color: var(--interior-clay) !important;
}

body:not(.page-home) .site-header {
  position: sticky !important;
  top: 16px !important;
  z-index: 80 !important;
  width: min(100% - 48px, 1180px) !important;
  margin: 16px auto 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(35, 50, 41, 0.1) !important;
  border-radius: 20px !important;
  background: rgba(255, 252, 247, 0.88) !important;
  box-shadow: 0 18px 58px rgba(35, 50, 41, 0.095) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
}

body:not(.page-home) .nav-wrap {
  width: 100% !important;
  height: 70px !important;
  padding: 0 20px !important;
}

body:not(.page-home) .brand img {
  height: 50px !important;
  max-width: 220px !important;
  object-fit: contain !important;
}

body:not(.page-home) .site-nav {
  gap: 18px !important;
  color: var(--interior-ink) !important;
}

body:not(.page-home) .site-nav a {
  color: var(--interior-ink) !important;
  opacity: 0.78 !important;
}

body:not(.page-home) .site-nav a:hover,
body:not(.page-home) .site-nav a.active {
  color: var(--interior-green) !important;
  opacity: 1 !important;
}

body:not(.page-home) .site-nav > a.active::after {
  background: var(--interior-clay) !important;
}

body:not(.page-home) .nav-cta,
body:not(.page-home) .site-nav .nav-cta,
body:not(.page-home) .nav-actions .nav-consult,
body:not(.page-home) .nav-actions .nav-schedule,
body:not(.page-home) .site-header .nav-actions .nav-consult,
body:not(.page-home) .site-header .nav-actions .nav-schedule {
  min-height: 42px !important;
  padding: 9px 16px !important;
  border: 1px solid rgba(31, 48, 38, 0.9) !important;
  background: var(--interior-green) !important;
  color: #fff !important;
  opacity: 1 !important;
  box-shadow: 0 14px 30px rgba(31, 48, 38, 0.16) !important;
}

body:not(.page-home) .nav-cta:hover,
body:not(.page-home) .nav-actions .nav-consult:hover,
body:not(.page-home) .nav-actions .nav-schedule:hover {
  background: var(--interior-green-soft) !important;
}

body:not(.page-home) .nav-toggle {
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 10px 26px rgba(35, 50, 41, 0.08) !important;
}

body:not(.page-home) main {
  position: relative;
}

body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .hero {
  position: relative !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(35, 50, 41, 0.08) !important;
  background:
    linear-gradient(135deg, rgba(255, 252, 247, 0.98) 0%, rgba(247, 241, 232, 0.92) 58%, rgba(239, 228, 214, 0.82) 100%) !important;
  padding: clamp(70px, 9vw, 124px) 0 clamp(62px, 8vw, 104px) !important;
}

body:not(.page-home) .page-title::before,
body:not(.page-home) .faq-hero::before,
body:not(.page-home) .local-hero::before,
body:not(.page-home) .resources-hero::before,
body:not(.page-home) .directory-hero::before,
body:not(.page-home) .notes-title::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: auto 0 0 0;
  height: 38%;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0), rgba(255, 252, 247, 0.74)) !important;
  pointer-events: none;
}

body:not(.page-home) .page-title .container,
body:not(.page-home) .faq-hero .container,
body:not(.page-home) .resources-hero .container,
body:not(.page-home) .directory-hero .container,
body:not(.page-home) .notes-title .container {
  position: relative;
  z-index: 1;
}

body:not(.page-home) .page-title .container.narrow {
  width: min(100% - 48px, 980px) !important;
  max-width: 980px !important;
  margin-inline: auto !important;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1 {
  max-width: 920px !important;
  margin-bottom: 22px !important;
  font-size: clamp(3.05rem, 7vw, 6.35rem) !important;
  line-height: 0.98 !important;
  text-wrap: balance;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow) {
  max-width: 720px !important;
  font-size: clamp(1.04rem, 1.45vw, 1.22rem) !important;
  line-height: 1.72 !important;
}

body:not(.page-home) .breadcrumb {
  margin-bottom: 20px !important;
  color: rgba(23, 35, 31, 0.62) !important;
}

body:not(.page-home) .breadcrumb a {
  color: var(--interior-green) !important;
}

body:not(.page-home) .button {
  min-height: 44px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 28px rgba(35, 50, 41, 0.09) !important;
}

body:not(.page-home) .button-primary {
  border-color: var(--interior-green) !important;
  background: var(--interior-green) !important;
  color: #fff !important;
}

body:not(.page-home) .button-primary:hover {
  background: var(--interior-green-soft) !important;
}

body:not(.page-home) .button-secondary {
  border-color: rgba(39, 77, 107, 0.18) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: var(--interior-green) !important;
}

body:not(.page-home) .section {
  position: relative;
  padding: clamp(70px, 8vw, 104px) 0 !important;
  background: var(--interior-cream) !important;
}

body:not(.page-home) .section:nth-of-type(odd) {
  background: linear-gradient(180deg, var(--interior-cream), rgba(247, 241, 232, 0.72)) !important;
}

body:not(.page-home) .section-heading {
  margin-bottom: 40px !important;
}

body:not(.page-home) .section-heading h2,
body:not(.page-home) .section-copy h2,
body:not(.page-home) .cta-panel h2 {
  font-size: clamp(2.15rem, 4vw, 4.1rem) !important;
  line-height: 1.03 !important;
  text-wrap: balance;
}

body:not(.page-home) .section-copy p,
body:not(.page-home) .section-heading p {
  font-size: 1.02rem !important;
  line-height: 1.74 !important;
}

body:not(.page-home) .service-card,
body:not(.page-home) .contact-card,
body:not(.page-home) .pillar-card,
body:not(.page-home) .fit-card,
body:not(.page-home) .next-step-card,
body:not(.page-home) .resource-library-card,
body:not(.page-home) .directory-resource,
body:not(.page-home) .directory-category,
body:not(.page-home) .faq-item,
body:not(.page-home) .faq-group,
body:not(.page-home) .local-link-card,
body:not(.page-home) .service-summary-card,
body:not(.page-home) .service-focus-card,
body:not(.page-home) .modalities-grid > div,
body:not(.page-home) .trust-detail-grid > div,
body:not(.page-home) .resource-trust-grid > div,
body:not(.page-home) .contact-trust-grid > article,
body:not(.page-home) .process-list > div {
  border: 1px solid rgba(35, 50, 41, 0.1) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: var(--interior-shadow-soft) !important;
}

body:not(.page-home) .service-card,
body:not(.page-home) .contact-card,
body:not(.page-home) .next-step-card,
body:not(.page-home) .fit-card,
body:not(.page-home) .resource-library-card,
body:not(.page-home) .local-link-card {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

body:not(.page-home) .service-card:hover,
body:not(.page-home) .contact-card:hover,
body:not(.page-home) .next-step-card:hover,
body:not(.page-home) .fit-card:hover,
body:not(.page-home) .resource-library-card:hover,
body:not(.page-home) .local-link-card:hover {
  transform: translateY(-3px);
  border-color: rgba(35, 50, 41, 0.18) !important;
  box-shadow: var(--interior-shadow) !important;
}

body:not(.page-home) .featured-card,
body:not(.page-home) .resource-library-card-featured,
body:not(.page-home) .primary-contact,
body:not(.page-home) .claire-note-panel,
body:not(.page-home) .approach-modalities-panel,
body:not(.page-home) .trust-detail-panel,
body:not(.page-home) .resources-trust-panel,
body:not(.page-home) .referral-prep-panel,
body:not(.page-home) .directory-sources-panel,
body:not(.page-home) .payment-panel,
body:not(.page-home) .insurance-panel,
body:not(.page-home) .privacy-contact-panel,
body:not(.page-home) .faq-quick-card,
body:not(.page-home) .resources-quick-panel {
  border: 1px solid rgba(35, 50, 41, 0.11) !important;
  border-radius: 30px !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(247, 241, 232, 0.78)) !important;
  box-shadow: var(--interior-shadow-soft) !important;
}

body:not(.page-home) .portrait-panel picture,
body:not(.page-home) .living-photo,
body:not(.page-home) .resource-preview-link,
body:not(.page-home) .services-photo-banner picture,
body:not(.page-home) .contact-image-card picture {
  overflow: hidden !important;
  border-radius: 28px !important;
  box-shadow: var(--interior-shadow) !important;
}

body:not(.page-home) .portrait-panel {
  padding: 0 !important;
}

body:not(.page-home) .portrait-panel img,
body:not(.page-home) .services-photo-banner img,
body:not(.page-home) .resource-preview-link img {
  filter: saturate(0.96) contrast(1.02);
}

body:not(.page-home) .services-photo-banner {
  position: relative;
  z-index: 2;
  margin-top: -46px !important;
  padding: 0 0 28px !important;
  background: transparent !important;
}

body:not(.page-home) .services-photo-banner .container {
  width: min(100% - 48px, 1120px) !important;
}

body:not(.page-home) .services-photo-banner img {
  max-height: 380px;
  width: 100%;
  object-fit: cover;
}

body.page-services .services-photo-banner {
  margin-top: -28px !important;
  padding-bottom: 48px !important;
}

body.page-services .services-photo-banner .container {
  width: min(100% - 40px, 1160px) !important;
}

body.page-services .services-photo-banner picture {
  aspect-ratio: 2.55 / 1 !important;
  display: block !important;
}

body.page-services .services-photo-banner img,
body.page-services.page-loaded .services-photo-banner .mountain-living-photo img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 52% !important;
  animation: none !important;
  transform: none !important;
}

body:not(.page-home) .trust-strip {
  margin-top: -34px !important;
  padding: 0 0 30px !important;
  background: transparent !important;
}

body:not(.page-home) .trust-grid {
  width: min(100% - 48px, 1120px) !important;
  padding: 24px !important;
  border-radius: 24px !important;
  background: rgba(31, 48, 38, 0.96) !important;
  box-shadow: var(--interior-shadow) !important;
}

body:not(.page-home) .trust-grid div {
  border-left-color: rgba(255, 255, 255, 0.18) !important;
}

body:not(.page-home) .trust-grid strong {
  color: #fff !important;
}

body:not(.page-home) .trust-grid span {
  color: rgba(255, 255, 255, 0.72) !important;
}

body:not(.page-home) .approach-section,
body:not(.page-home) .next-steps-section,
body:not(.page-home) .approach-modalities-section,
body:not(.page-home) .good-fit-section,
body:not(.page-home) .therapy-feel-section,
body:not(.page-home) .resources-trust-section,
body:not(.page-home) .payment-section,
body:not(.page-home) .local-link-section,
body:not(.page-home) .service-areas-section,
body:not(.page-home) .privacy-contact-section {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(247, 241, 232, 0.82)) !important;
}

body:not(.page-home) .emergency-section {
  background: #efe4d6 !important;
}

body:not(.page-home) .emergency-section .container {
  border-left: 4px solid var(--interior-clay);
  padding-left: clamp(20px, 3vw, 34px);
}

body:not(.page-home) .faq-trigger {
  color: var(--interior-ink) !important;
}

body:not(.page-home) .faq-toggle-icon {
  background: rgba(31, 48, 38, 0.08) !important;
}

body:not(.page-home) .local-therapy-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px !important;
  max-width: 920px;
  margin-inline: auto;
  padding: 0 !important;
  list-style: none !important;
}

body:not(.page-home) .local-therapy-list li {
  padding: 16px 18px !important;
  border: 1px solid rgba(35, 50, 41, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.66);
  color: var(--interior-ink) !important;
  font-weight: 720;
}

body:not(.page-home) .resource-pill-row span,
body:not(.page-home) .card-kicker,
body:not(.page-home) .next-step-card span,
body:not(.page-home) .faq-icon,
body:not(.page-home) .directory-category header > span {
  border-radius: 999px !important;
  background: rgba(223, 233, 222, 0.76) !important;
}

body:not(.page-home) .text-link,
body:not(.page-home) .inline-link,
body:not(.page-home) .footer-phone,
body:not(.page-home) .phone-link.dark {
  color: var(--interior-green) !important;
}

body:not(.page-home) .final-cta {
  overflow: hidden;
  border-top: 0 !important;
  background: linear-gradient(145deg, #17231f, #22372d) !important;
}

body:not(.page-home) .final-cta .cta-panel {
  max-width: 920px !important;
}

body:not(.page-home) .final-cta h2,
body:not(.page-home) .final-cta .eyebrow,
body:not(.page-home) .final-cta .phone-link,
body:not(.page-home) .final-cta .inline-phone {
  color: #fff !important;
}

body:not(.page-home) .final-cta p {
  color: rgba(255, 255, 255, 0.92) !important;
}

body:not(.page-home) .final-cta .button-primary,
body:not(.page-home) .final-cta a.button-primary {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--interior-green) !important;
}

body:not(.page-home) .final-cta .button-primary:hover,
body:not(.page-home) .final-cta a.button-primary:hover {
  background: var(--interior-sage) !important;
  border-color: var(--interior-sage) !important;
  color: var(--interior-green) !important;
}

body:not(.page-home) .final-cta .button-secondary {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  color: #fff !important;
}

body:not(.page-home) .site-footer {
  background: linear-gradient(180deg, #17231f, #121b18) !important;
}

body:not(.page-home) .site-footer p,
body:not(.page-home) .site-footer a,
body:not(.page-home) .site-footer h2,
body:not(.page-home) .site-footer .footer-link-button {
  color: rgba(255, 255, 255, 0.76) !important;
}

body:not(.page-home) .site-footer .footer-name,
body:not(.page-home) .site-footer h2 {
  color: #fff !important;
}

body:not(.page-home) .analytics-consent {
  left: 50% !important;
  right: auto !important;
  bottom: 10px !important;
  width: min(760px, calc(100% - 36px)) !important;
  max-width: none !important;
  border: 1px solid rgba(17, 27, 25, 0.14) !important;
  border-radius: 14px !important;
  background: rgba(255, 250, 242, 0.96) !important;
  color: var(--interior-ink) !important;
  box-shadow: 0 20px 52px rgba(37, 30, 22, 0.16) !important;
  transform: translateX(-50%) !important;
}

body:not(.page-home) .analytics-consent-inner {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 12px 16px !important;
}

body:not(.page-home) .analytics-consent h2,
body:not(.page-home) .analytics-consent p,
body:not(.page-home) .analytics-consent a {
  color: var(--interior-ink) !important;
}

body:not(.page-home) .analytics-consent p {
  color: rgba(17, 27, 25, 0.68) !important;
  font-size: 0.86rem !important;
  line-height: 1.4 !important;
}

body:not(.page-home) .analytics-consent-actions {
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
}

body:not(.page-home) .analytics-consent .button {
  min-height: 38px !important;
  padding: 0.64rem 0.88rem !important;
  font-size: 0.84rem !important;
}

body:not(.page-home) .analytics-consent .button-primary {
  background: var(--interior-green) !important;
  border-color: var(--interior-green) !important;
  color: #fff !important;
}

body:not(.page-home) .analytics-consent .button-secondary {
  background: #fffaf1 !important;
  border-color: rgba(17, 27, 25, 0.16) !important;
  color: var(--interior-green) !important;
}

@media (max-width: 1220px) {
  body:not(.page-home) .site-header {
    top: 12px !important;
    width: min(100% - 28px, 760px) !important;
  }

  body:not(.page-home) .site-nav {
    inset: calc(100% + 10px) 0 auto 0 !important;
    border-radius: 18px !important;
    background: rgba(255, 252, 247, 0.98) !important;
    box-shadow: var(--interior-shadow) !important;
  }

  body:not(.page-home) .site-nav > a,
  body:not(.page-home) .site-nav .nav-cta {
    width: fit-content !important;
    max-width: 100% !important;
  }

  body:not(.page-home) .site-nav .nav-actions,
  body:not(.page-home) .site-nav .nav-actions-single {
    width: 100% !important;
  }

  body:not(.page-home) .site-nav .nav-cta {
    width: 100% !important;
  }
}

@media (max-width: 980px) {
  body:not(.page-home) .page-title .container.narrow,
  body:not(.page-home) .services-photo-banner .container,
  body:not(.page-home) .trust-grid {
    width: min(100% - 34px, 760px) !important;
  }

  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title {
    padding-top: 72px !important;
  }

  body:not(.page-home) .faq-hero-grid,
  body:not(.page-home) .resources-hero-grid,
  body:not(.page-home) .directory-hero-grid,
  body:not(.page-home) .local-two-column,
  body:not(.page-home) .approach-grid,
  body:not(.page-home) .claire-grid,
  body:not(.page-home) .contact-cards {
    grid-template-columns: 1fr !important;
  }

  body:not(.page-home) .local-therapy-list {
    grid-template-columns: 1fr;
  }

  body.page-services .services-photo-banner picture {
    aspect-ratio: 2.05 / 1 !important;
  }
}

@media (max-width: 620px) {
  body:not(.page-home) .site-header {
    width: min(100% - 20px, 520px) !important;
    border-radius: 16px !important;
  }

  body:not(.page-home) .nav-wrap {
    height: 62px !important;
    padding: 0 14px !important;
  }

  body:not(.page-home) .brand img {
    height: 44px !important;
    max-width: 174px !important;
  }

  body:not(.page-home) .page-title .container.narrow,
  body:not(.page-home) .services-photo-banner .container,
  body:not(.page-home) .trust-grid {
    width: min(100% - 28px, 520px) !important;
  }

  body.page-services .services-photo-banner {
    margin-top: -18px !important;
    padding-bottom: 36px !important;
  }

  body.page-services .services-photo-banner picture {
    aspect-ratio: 1.55 / 1 !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1 {
    font-size: clamp(2.65rem, 13vw, 4.35rem) !important;
  }

  body:not(.page-home) .section {
    padding: 58px 0 !important;
  }

  body:not(.page-home) .trust-grid {
    padding: 22px !important;
  }

  body:not(.page-home) .trust-grid div {
    padding-left: 14px !important;
  }

  body:not(.page-home) .service-card,
  body:not(.page-home) .contact-card,
  body:not(.page-home) .next-step-card,
  body:not(.page-home) .resource-library-card,
  body:not(.page-home) .faq-group,
  body:not(.page-home) .directory-category {
    border-radius: 20px !important;
  }
}

/* About page standards: keep the credentials area open and scannable. */
body.page-about .trust-detail-section {
  background: #fffaf5 !important;
}

body.page-about .trust-detail-panel {
  display: grid !important;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.35fr) !important;
  gap: clamp(34px, 5vw, 70px) !important;
  align-items: start !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-about .trust-detail-copy {
  max-width: 440px !important;
}

body.page-about .trust-detail-copy h2 {
  font-size: clamp(2rem, 3.4vw, 3.35rem) !important;
}

body.page-about .trust-detail-copy p {
  max-width: 360px !important;
}

body.page-about .trust-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch !important;
  border-top: 1px solid rgba(35, 50, 41, 0.14) !important;
  border-bottom: 1px solid rgba(35, 50, 41, 0.14) !important;
}

body.page-about .trust-detail-grid > div {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  padding: 26px 28px 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.page-about .trust-detail-grid > div + div {
  border-left: 1px solid rgba(35, 50, 41, 0.12) !important;
}

body.page-about .trust-detail-grid > div::before,
body.page-about .trust-detail-grid > div::after {
  content: none !important;
  display: none !important;
}

body.page-about .trust-detail-grid span {
  min-width: 0 !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin-bottom: 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--interior-green) !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.12em !important;
}

body.page-about .trust-detail-grid h3 {
  margin-bottom: 10px !important;
  font-size: 1.06rem !important;
  line-height: 1.22 !important;
}

body.page-about .trust-detail-grid p {
  margin-bottom: 0 !important;
  font-size: 0.97rem !important;
  line-height: 1.68 !important;
}

body.page-about .trust-detail-grid .text-link {
  margin-top: auto !important;
  padding-top: 18px !important;
  line-height: 1.35 !important;
}

@media (hover: hover) {
  body.page-about .trust-detail-grid > div:hover {
    transform: none !important;
    border-color: rgba(35, 50, 41, 0.12) !important;
    box-shadow: none !important;
  }
}

@media (max-width: 980px) {
  body.page-about .trust-detail-panel {
    grid-template-columns: 1fr !important;
  }

  body.page-about .trust-detail-copy,
  body.page-about .trust-detail-copy p {
    max-width: 680px !important;
  }

  body.page-about .trust-detail-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-about .trust-detail-grid > div {
    padding: 24px 0 !important;
  }

body.page-about .trust-detail-grid > div + div {
    border-left: 0 !important;
    border-top: 1px solid rgba(35, 50, 41, 0.12) !important;
  }
}

/* Homepage-aligned interior polish: warm editorial surfaces, photographic heroes, and tighter shapes. */
:root {
  --interior-cream: var(--exp-cream, #fffaf1);
  --interior-cream-warm: var(--exp-paper, #f4eee5);
  --interior-cream-deep: var(--exp-paper-2, #e9ddcf);
  --interior-ink: var(--exp-ink, #111b19);
  --interior-muted: rgba(17, 27, 25, 0.66);
  --interior-green: var(--exp-ink-2, #1b2926);
  --interior-green-soft: var(--exp-teal, #24595a);
  --interior-sage: var(--exp-fog, #dbe5df);
  --interior-clay: var(--exp-clay, #b8795d);
  --interior-line: rgba(17, 27, 25, 0.14);
  --interior-shadow: 0 28px 90px rgba(17, 27, 25, 0.18);
  --interior-shadow-soft: 0 18px 58px rgba(17, 27, 25, 0.1);
}

body:not(.page-home) {
  overflow-x: clip;
  background:
    linear-gradient(180deg, var(--interior-cream), var(--interior-cream-warm) 42%, var(--interior-cream)) !important;
  text-rendering: geometricPrecision;
}

body:not(.page-home) .site-header {
  top: 16px !important;
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 16px auto 0 !important;
  border: 1px solid rgba(17, 27, 25, 0.16) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.88) !important;
  box-shadow: 0 20px 60px rgba(17, 27, 25, 0.14) !important;
  backdrop-filter: blur(20px) saturate(1.1) !important;
}

body:not(.page-home) .nav-wrap,
body:not(.page-home) .site-header .nav-wrap {
  height: 58px !important;
  min-height: 58px !important;
  padding: 0 14px !important;
  gap: 18px !important;
}

body:not(.page-home) .brand {
  width: 164px !important;
  min-width: 164px !important;
  line-height: 0 !important;
}

body:not(.page-home) .brand img,
body:not(.page-home) .site-header .brand img {
  width: auto !important;
  height: 34px !important;
  max-width: 156px !important;
  max-height: 34px !important;
  object-fit: contain !important;
}

body:not(.page-home) .site-nav {
  gap: clamp(10px, 1vw, 16px) !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

body:not(.page-home) .site-nav > a {
  position: relative !important;
  padding: 12px 0 !important;
  color: rgba(17, 27, 25, 0.74) !important;
  font-size: 0.82rem !important;
  opacity: 1 !important;
  white-space: nowrap !important;
}

body:not(.page-home) .site-nav > a::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 1px;
  background: currentColor !important;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}

body:not(.page-home) .site-nav > a:hover,
body:not(.page-home) .site-nav > a.active {
  color: #49364f !important;
}

body:not(.page-home) .site-nav > a:hover::after,
body:not(.page-home) .site-nav > a.active::after {
  transform: scaleX(1);
}

body:not(.page-home) .nav-cta,
body:not(.page-home) .site-nav .nav-cta,
body:not(.page-home) .nav-actions .nav-consult,
body:not(.page-home) .nav-actions .nav-schedule,
body:not(.page-home) .site-header .nav-actions .nav-consult,
body:not(.page-home) .site-header .nav-actions .nav-schedule {
  min-height: 36px !important;
  padding: 9px 13px !important;
  border: 1px solid var(--interior-ink) !important;
  border-radius: 999px !important;
  background: var(--interior-ink) !important;
  color: var(--interior-cream) !important;
  box-shadow: none !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .not-found-hero {
  isolation: isolate;
  margin-top: -74px !important;
  padding: clamp(148px, 16vw, 210px) 0 clamp(82px, 9vw, 126px) !important;
  border-bottom: 0 !important;
  background: var(--interior-ink) !important;
  color: var(--interior-cream) !important;
}

body:not(.page-home) .page-title::after,
body:not(.page-home) .faq-hero::after,
body:not(.page-home) .local-hero::after,
body:not(.page-home) .resources-hero::after,
body:not(.page-home) .directory-hero::after,
body:not(.page-home) .notes-title::after,
body:not(.page-home) .not-found-hero::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(17, 27, 25, 0.95), rgba(17, 27, 25, 0.74) 42%, rgba(17, 27, 25, 0.42) 72%, rgba(17, 27, 25, 0.88)),
    linear-gradient(180deg, rgba(17, 27, 25, 0.18), rgba(17, 27, 25, 0.76)),
    url("/assets/home-mountain-trail-elevate.jpg") 58% 48% / cover no-repeat !important;
  filter: saturate(0.92) contrast(1.05);
}

body:not(.page-home) .page-title::before,
body:not(.page-home) .faq-hero::before,
body:not(.page-home) .local-hero::before,
body:not(.page-home) .resources-hero::before,
body:not(.page-home) .directory-hero::before,
body:not(.page-home) .notes-title::before,
body:not(.page-home) .not-found-hero::before {
  content: "Elevate" !important;
  display: block !important;
  position: absolute;
  right: -0.08em;
  bottom: -0.08em;
  z-index: -1;
  width: auto;
  height: auto;
  background: transparent !important;
  color: rgba(255, 250, 241, 0.055);
  font-family: var(--exp-display, "Playfair Display", Georgia, "Times New Roman", serif);
  font-size: clamp(6rem, 18vw, 18rem);
  font-weight: 800;
  line-height: 0.72;
  pointer-events: none;
}

body:not(.page-home) .page-title .container,
body:not(.page-home) .faq-hero .container,
body:not(.page-home) .resources-hero .container,
body:not(.page-home) .directory-hero .container,
body:not(.page-home) .notes-title .container {
  position: relative;
  z-index: 2;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1 {
  max-width: 980px !important;
  color: var(--interior-cream) !important;
  font-size: clamp(4rem, 8.3vw, 8.8rem) !important;
  line-height: 0.82 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow),
body:not(.page-home) .breadcrumb,
body:not(.page-home) .breadcrumb a,
body:not(.page-home) .breadcrumb span {
  color: rgba(255, 250, 241, 0.78) !important;
}

body:not(.page-home) .page-title .eyebrow,
body:not(.page-home) .faq-hero .eyebrow,
body:not(.page-home) .resources-hero .eyebrow,
body:not(.page-home) .directory-hero .eyebrow,
body:not(.page-home) .notes-title .eyebrow {
  color: rgba(255, 250, 241, 0.66) !important;
}

body:not(.page-home) .page-title .button-primary,
body:not(.page-home) .faq-hero .button-primary,
body:not(.page-home) .resources-hero .button-primary,
body:not(.page-home) .directory-hero .button-primary,
body:not(.page-home) .notes-title .button-primary {
  background: var(--interior-cream) !important;
  border-color: var(--interior-cream) !important;
  color: var(--interior-ink) !important;
}

body:not(.page-home) .page-title .button-secondary,
body:not(.page-home) .faq-hero .button-secondary,
body:not(.page-home) .resources-hero .button-secondary,
body:not(.page-home) .directory-hero .button-secondary,
body:not(.page-home) .notes-title .button-secondary {
  background: rgba(255, 250, 241, 0.08) !important;
  border-color: rgba(255, 250, 241, 0.32) !important;
  color: var(--interior-cream) !important;
  backdrop-filter: blur(14px);
}

body:not(.page-home) main > section:not(.page-title):not(.faq-hero):not(.local-hero):not(.resources-hero):not(.directory-hero):not(.notes-title):not(.final-cta):not(.trust-strip) {
  background: var(--interior-cream-warm) !important;
}

body:not(.page-home) .section:nth-of-type(odd):not(.final-cta) {
  background: var(--interior-cream) !important;
}

body:not(.page-home) .section-heading h2,
body:not(.page-home) .section-copy h2,
body:not(.page-home) .cta-panel h2 {
  letter-spacing: 0 !important;
}

body:not(.page-home) .service-card,
body:not(.page-home) .contact-card,
body:not(.page-home) .pillar-card,
body:not(.page-home) .fit-card,
body:not(.page-home) .next-step-card,
body:not(.page-home) .resource-library-card,
body:not(.page-home) .directory-resource,
body:not(.page-home) .directory-category,
body:not(.page-home) .faq-item,
body:not(.page-home) .faq-group,
body:not(.page-home) .local-link-card,
body:not(.page-home) .service-summary-card,
body:not(.page-home) .service-focus-card,
body:not(.page-home) .modalities-grid > div,
body:not(.page-home) .trust-detail-grid > div,
body:not(.page-home) .resource-trust-grid > div,
body:not(.page-home) .contact-trust-grid > article,
body:not(.page-home) .process-list > div,
body:not(.page-home) .quick-answer-list > div,
body:not(.page-home) .insurance-plan-card {
  border: 1px solid rgba(17, 27, 25, 0.14) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.78) !important;
  box-shadow: 0 18px 58px rgba(17, 27, 25, 0.08) !important;
}

body:not(.page-home) .featured-card,
body:not(.page-home) .resource-library-card-featured,
body:not(.page-home) .primary-contact,
body:not(.page-home) .claire-note-panel,
body:not(.page-home) .approach-modalities-panel,
body:not(.page-home) .trust-detail-panel,
body:not(.page-home) .resources-trust-panel,
body:not(.page-home) .referral-prep-panel,
body:not(.page-home) .directory-sources-panel,
body:not(.page-home) .payment-panel,
body:not(.page-home) .insurance-panel,
body:not(.page-home) .simple-insurance-panel,
body:not(.page-home) .privacy-contact-panel,
body:not(.page-home) .faq-quick-card,
body:not(.page-home) .resources-quick-panel {
  border: 1px solid rgba(17, 27, 25, 0.14) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.86) !important;
  box-shadow: 0 20px 64px rgba(17, 27, 25, 0.1) !important;
}

body:not(.page-home) .service-card:hover,
body:not(.page-home) .contact-card:hover,
body:not(.page-home) .next-step-card:hover,
body:not(.page-home) .fit-card:hover,
body:not(.page-home) .resource-library-card:hover,
body:not(.page-home) .local-link-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 28px 90px rgba(17, 27, 25, 0.16) !important;
}

body:not(.page-home) .portrait-panel picture,
body:not(.page-home) .living-photo,
body:not(.page-home) .resource-preview-link,
body:not(.page-home) .services-photo-banner picture,
body:not(.page-home) .contact-image-card picture,
body:not(.page-home) .resource-preview-frame {
  border: 1px solid rgba(255, 250, 241, 0.28) !important;
  border-radius: 8px !important;
  box-shadow: var(--interior-shadow) !important;
}

body:not(.page-home) .services-photo-banner {
  margin-top: -58px !important;
  padding-bottom: 42px !important;
}

body:not(.page-home) .services-photo-banner .container {
  width: min(100% - 64px, 1180px) !important;
}

body:not(.page-home) .services-photo-banner img {
  max-height: 420px;
  filter: saturate(0.92) contrast(1.05) brightness(0.92) !important;
}

body:not(.page-home) .trust-strip {
  margin-top: -42px !important;
  padding: 0 0 42px !important;
}

body:not(.page-home) .trust-grid {
  width: min(100% - 64px, 1180px) !important;
  border: 1px solid rgba(255, 250, 241, 0.18) !important;
  border-radius: 8px !important;
  background: rgba(17, 27, 25, 0.94) !important;
  box-shadow: 0 22px 70px rgba(17, 27, 25, 0.22) !important;
}

body:not(.page-home) .trust-grid div {
  border-left: 1px solid rgba(255, 250, 241, 0.16) !important;
}

body:not(.page-home) .card-kicker,
body:not(.page-home) .next-step-card span,
body:not(.page-home) .faq-icon,
body:not(.page-home) .summary-label,
body:not(.page-home) .resource-pill-row span,
body:not(.page-home) .directory-category header > span {
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-radius: 999px !important;
  background: rgba(219, 229, 223, 0.72) !important;
  color: var(--interior-ink) !important;
}

body:not(.page-home) .button {
  min-height: 46px !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  letter-spacing: 0 !important;
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease !important;
}

body:not(.page-home) .button:hover {
  transform: translateY(-2px) !important;
}

body:not(.page-home) .final-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden !important;
  background: var(--interior-ink) !important;
}

body:not(.page-home) .final-cta::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(17, 27, 25, 0.92), rgba(17, 27, 25, 0.58), rgba(17, 27, 25, 0.9)),
    url("/assets/home-therapy-room-living.jpg") center / cover no-repeat !important;
  filter: saturate(0.9) contrast(1.04) brightness(0.78);
}

body:not(.page-home) .final-cta::after {
  content: "begin" !important;
  display: block !important;
  position: absolute;
  right: -0.12em;
  bottom: -0.18em;
  z-index: -1;
  color: rgba(255, 250, 241, 0.055);
  font-family: var(--exp-display, "Playfair Display", Georgia, "Times New Roman", serif);
  font-size: clamp(7rem, 20vw, 20rem);
  font-weight: 800;
  line-height: 0.72;
}

body:not(.page-home) .emergency-section,
body.page-contact .emergency-section {
  background: #2f201f !important;
}

body:not(.page-home) .site-footer {
  border-top: 0 !important;
  background: linear-gradient(180deg, #17231f, #0f1714) !important;
}

body.page-about .trust-detail-section,
body.page-about .trust-detail-panel {
  background: var(--interior-cream) !important;
}

body.page-about .trust-detail-grid {
  border-top-color: rgba(17, 27, 25, 0.16) !important;
  border-bottom-color: rgba(17, 27, 25, 0.16) !important;
}

@media (max-width: 1220px) {
  body:not(.page-home) .site-header {
    width: min(100% - 28px, 760px) !important;
  }

  body:not(.page-home) .site-nav {
    inset: calc(100% + 10px) 0 auto 0 !important;
    border: 1px solid rgba(17, 27, 25, 0.14) !important;
    border-radius: 8px !important;
    background: rgba(255, 250, 241, 0.98) !important;
    box-shadow: 0 24px 70px rgba(17, 27, 25, 0.16) !important;
  }

  body:not(.page-home) .nav-toggle {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 980px) {
  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title,
  body:not(.page-home) .not-found-hero {
    padding-top: 134px !important;
  }

  body:not(.page-home) .page-title .container.narrow,
  body:not(.page-home) .services-photo-banner .container,
  body:not(.page-home) .trust-grid {
    width: min(100% - 34px, 760px) !important;
  }
}

@media (max-width: 620px) {
  body:not(.page-home) .site-header {
    width: min(100% - 20px, 520px) !important;
    border-radius: 8px !important;
  }

  body:not(.page-home) .nav-wrap,
  body:not(.page-home) .site-header .nav-wrap {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 12px !important;
  }

  body:not(.page-home) .brand {
    width: 150px !important;
    min-width: 0 !important;
  }

  body:not(.page-home) .brand img,
  body:not(.page-home) .site-header .brand img {
    height: 32px !important;
    max-width: 146px !important;
  }

  body:not(.page-home) .site-nav {
    inset: calc(100% + 10px) 0 auto 0 !important;
    max-height: calc(100dvh - 88px) !important;
  }

  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title,
  body:not(.page-home) .not-found-hero {
    margin-top: -74px !important;
    padding: 126px 0 70px !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1 {
    font-size: clamp(2.9rem, 14vw, 4.8rem) !important;
    line-height: 0.88 !important;
  }

  body:not(.page-home) .page-title::before,
  body:not(.page-home) .faq-hero::before,
  body:not(.page-home) .local-hero::before,
  body:not(.page-home) .resources-hero::before,
  body:not(.page-home) .directory-hero::before,
  body:not(.page-home) .notes-title::before,
  body:not(.page-home) .not-found-hero::before {
    font-size: clamp(5rem, 26vw, 9rem);
  }

  body:not(.page-home) .services-photo-banner,
  body:not(.page-home) .trust-strip {
    margin-top: -34px !important;
    padding-bottom: 30px !important;
  }

  body:not(.page-home) .trust-grid div {
    border-left: 0 !important;
    border-top: 1px solid rgba(255, 250, 241, 0.14) !important;
  }

  body:not(.page-home) .trust-grid div:first-child {
    border-top: 0 !important;
  }
}

/* FAQ page rebuild: quieter, flatter, and easier to scan. */
body.page-faq {
  --faq-page-bg: #f7f4ee;
  --faq-hero-bg: #e8efea;
  --faq-surface: #ffffff;
  --faq-surface-warm: #fffaf4;
  --faq-line: rgba(38, 49, 47, 0.13);
  --faq-line-strong: rgba(41, 79, 79, 0.24);
  --faq-teal: #294f4f;
  --faq-teal-soft: #365f60;
  --faq-clay: #a56f4e;
}

body.page-faq .faq-hero {
  padding: clamp(66px, 8vw, 102px) 0 clamp(50px, 7vw, 82px) !important;
  border-bottom: 1px solid var(--faq-line) !important;
  background:
    linear-gradient(180deg, rgba(232, 239, 234, 0.96), rgba(247, 244, 238, 0.98)) !important;
  overflow: visible !important;
}

body.page-faq .faq-hero::before,
body.page-faq .faq-hero::after,
body.page-faq .faq-quick-card::before,
body.page-faq .faq-quick-card::after,
body.page-faq .faq-group::before,
body.page-faq .faq-group::after,
body.page-faq .faq-item::before,
body.page-faq .faq-item::after {
  content: none !important;
  display: none !important;
}

body.page-faq .faq-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.56fr) !important;
  gap: clamp(34px, 6vw, 72px) !important;
  align-items: end !important;
}

body.page-faq .faq-hero-copy {
  max-width: 780px !important;
}

body.page-faq .faq-hero-copy h1 {
  max-width: 760px !important;
  margin-bottom: 20px !important;
  color: var(--interior-ink) !important;
  font-size: clamp(3rem, 6vw, 5.55rem) !important;
  line-height: 1 !important;
}

body.page-faq .faq-hero-copy p:not(.eyebrow) {
  max-width: 680px !important;
  color: rgba(17, 27, 25, 0.74) !important;
}

body.page-faq .faq-hero .eyebrow {
  color: var(--faq-clay) !important;
}

body.page-faq .faq-hero .button-primary {
  border-color: var(--faq-teal) !important;
  background: var(--faq-teal) !important;
  color: #ffffff !important;
}

body.page-faq .faq-hero .button-secondary {
  border-color: rgba(41, 79, 79, 0.18) !important;
  background: rgba(255, 255, 255, 0.7) !important;
  color: var(--faq-teal) !important;
}

body.page-faq .faq-hero-actions {
  margin-top: 30px !important;
  gap: 12px !important;
}

body.page-faq .faq-quick-card {
  align-self: stretch !important;
  display: grid !important;
  align-content: center !important;
  min-height: 100% !important;
  padding: clamp(24px, 4vw, 34px) !important;
  border: 1px solid var(--faq-line) !important;
  border-radius: 22px !important;
  background: var(--faq-surface) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.page-faq .faq-quick-card .eyebrow {
  margin-bottom: 10px !important;
}

body.page-faq .quick-answer-list {
  display: grid !important;
  gap: 0 !important;
}

body.page-faq .quick-answer-list div {
  display: grid !important;
  gap: 4px !important;
  padding: 16px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--faq-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-faq .quick-answer-list div:first-child {
  border-top: 0 !important;
}

body.page-faq .quick-answer-list strong {
  color: var(--faq-teal) !important;
  font-size: 0.98rem !important;
}

body.page-faq .quick-answer-list span {
  color: var(--interior-muted) !important;
  font-size: 0.94rem !important;
  line-height: 1.55 !important;
}

body.page-faq .faq-page {
  padding-top: clamp(66px, 8vw, 94px) !important;
  padding-bottom: clamp(72px, 8vw, 104px) !important;
  background: var(--faq-page-bg) !important;
}

body.page-faq .faq-grid {
  display: grid !important;
  grid-template-columns: minmax(230px, 320px) minmax(0, 1fr) !important;
  gap: clamp(42px, 7vw, 86px) !important;
  align-items: start !important;
}

body.page-faq .faq-page .section-copy {
  position: sticky !important;
  top: 118px !important;
  max-width: 340px !important;
  text-align: left !important;
}

body.page-faq .faq-page .section-copy h2 {
  max-width: 340px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-size: clamp(2.05rem, 3.35vw, 3.2rem) !important;
  line-height: 1.06 !important;
}

body.page-faq .faq-page .section-copy p {
  max-width: 330px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-faq .faq-topic-nav {
  display: grid !important;
  gap: 3px !important;
  margin-top: 28px !important;
  padding-left: 16px !important;
  border-left: 2px solid rgba(41, 79, 79, 0.18) !important;
}

body.page-faq .faq-topic-nav a {
  display: block !important;
  padding: 7px 0 !important;
  color: var(--faq-teal) !important;
  font-size: 0.93rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

body.page-faq .faq-topic-nav a:hover {
  color: var(--faq-clay) !important;
}

body.page-faq .faq-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(34px, 5vw, 50px) !important;
}

body.page-faq .faq-page .faq-group {
  scroll-margin-top: 116px !important;
  display: grid !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--faq-line-strong) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
}

body.page-faq .faq-group-heading {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 22px 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--faq-line) !important;
  background: transparent !important;
}

body.page-faq .faq-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 44px !important;
  height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #e8efea !important;
  color: var(--faq-teal) !important;
  box-shadow: none !important;
  font-size: 0.76rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
}

body.page-faq .faq-group-heading h3 {
  margin: 0 0 6px !important;
  color: var(--interior-ink) !important;
  font-size: clamp(1.1rem, 1.8vw, 1.38rem) !important;
  line-height: 1.2 !important;
}

body.page-faq .faq-group-heading p {
  max-width: 680px !important;
  margin: 0 !important;
  color: var(--interior-muted) !important;
  font-size: 0.96rem !important;
  line-height: 1.58 !important;
}

body.page-faq .faq-page .faq-group .faq-item {
  margin: 12px 0 0 !important;
  padding: 0 18px !important;
  border: 1px solid var(--faq-line) !important;
  border-radius: 16px !important;
  background: var(--faq-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transform: none !important;
}

body.page-faq .faq-page .faq-group .faq-item:hover {
  border-color: rgba(41, 79, 79, 0.28) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.page-faq .faq-page .faq-item.is-open {
  border-color: rgba(165, 111, 78, 0.36) !important;
  background: var(--faq-surface-warm) !important;
  box-shadow: 0 10px 24px rgba(38, 49, 47, 0.045) !important;
}

body.page-faq .crisis-faq-item {
  border-color: rgba(165, 111, 78, 0.28) !important;
}

body.page-faq .faq-question-heading {
  margin: 0 !important;
}

body.page-faq .faq-trigger {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 30px !important;
  gap: 16px !important;
  align-items: center !important;
  width: 100% !important;
  padding: 18px 0 !important;
  color: var(--interior-ink) !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

body.page-faq .faq-trigger:hover {
  color: var(--faq-teal) !important;
}

body.page-faq .faq-toggle-icon {
  width: 30px !important;
  height: 30px !important;
  border: 1px solid rgba(41, 79, 79, 0.14) !important;
  border-radius: 999px !important;
  background: #f7f4ee !important;
  color: var(--faq-teal) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.page-faq .faq-toggle-icon::before {
  content: "+" !important;
}

body.page-faq .faq-trigger[aria-expanded="true"] .faq-toggle-icon {
  border-color: rgba(165, 111, 78, 0.24) !important;
  background: #efe4d6 !important;
  color: var(--faq-clay) !important;
  transform: none !important;
}

body.page-faq .faq-trigger[aria-expanded="true"] .faq-toggle-icon::before {
  content: "-" !important;
}

body.page-faq .faq-panel {
  transition: grid-template-rows 260ms ease !important;
}

body.page-faq .faq-panel-inner {
  max-width: 760px !important;
  padding: 0 4px 20px 0 !important;
}

body.page-faq .faq-panel-inner p {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: var(--interior-muted) !important;
  font-size: 0.98rem !important;
  line-height: 1.72 !important;
}

body.page-faq .faq-panel-inner p:last-child {
  margin-bottom: 0 !important;
}

body.page-faq .faq-panel-inner .inline-link {
  color: var(--faq-teal) !important;
  text-decoration-thickness: 1px !important;
}

body.page-faq .final-cta {
  max-width: 100% !important;
  overflow: hidden !important;
}

body.page-faq .final-cta .cta-panel {
  width: min(100% - 28px, 920px) !important;
  max-width: 920px !important;
}

body.page-faq .final-cta .cta-row {
  max-width: 100% !important;
}

@media (hover: hover) {
  body.page-faq .faq-quick-card:hover,
  body.page-faq .faq-page .faq-group:hover,
  body.page-faq .faq-page .faq-item:hover {
    transform: none !important;
  }
}

@media (max-width: 980px) {
  body.page-faq .faq-hero-grid,
  body.page-faq .faq-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-faq .faq-quick-card {
    max-width: 720px !important;
  }

  body.page-faq .faq-page .section-copy {
    position: static !important;
    max-width: 720px !important;
  }

  body.page-faq .faq-page .section-copy h2,
  body.page-faq .faq-page .section-copy p {
    max-width: 680px !important;
  }

  body.page-faq .faq-topic-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body.page-faq .faq-topic-nav a {
    padding: 8px 12px !important;
    border: 1px solid var(--faq-line) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.7) !important;
    font-size: 0.88rem !important;
  }
}

@media (max-width: 620px) {
  body.page-faq .faq-hero {
    padding: 56px 0 42px !important;
  }

  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 4rem) !important;
  }

  body.page-faq .faq-quick-card {
    padding: 22px !important;
    border-radius: 18px !important;
  }

  body.page-faq .faq-page {
    padding-top: 50px !important;
    padding-bottom: 62px !important;
  }

  body.page-faq .faq-list {
    gap: 32px !important;
  }

  body.page-faq .faq-group-heading {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding-top: 18px !important;
  }

  body.page-faq .faq-page .faq-group .faq-item {
    padding: 0 14px !important;
    border-radius: 14px !important;
  }

  body.page-faq .faq-trigger {
    grid-template-columns: minmax(0, 1fr) 28px !important;
    gap: 12px !important;
    padding: 16px 0 !important;
    font-size: 0.96rem !important;
  }

  body.page-faq .faq-toggle-icon {
    width: 28px !important;
    height: 28px !important;
  }

  body.page-faq .faq-panel-inner {
    padding-bottom: 18px !important;
  }
}

/* Final cascade guard: keep late page-specific rules aligned with the homepage-inspired system. */
body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .not-found-hero,
body.page-faq .faq-hero {
  isolation: isolate;
  margin-top: -74px !important;
  padding: clamp(148px, 16vw, 210px) 0 clamp(82px, 9vw, 126px) !important;
  border-bottom: 0 !important;
  background: #111b19 !important;
  color: #fffaf1 !important;
  overflow: hidden !important;
}

body:not(.page-home) .page-title::after,
body:not(.page-home) .faq-hero::after,
body:not(.page-home) .local-hero::after,
body:not(.page-home) .resources-hero::after,
body:not(.page-home) .directory-hero::after,
body:not(.page-home) .notes-title::after,
body:not(.page-home) .not-found-hero::after,
body.page-faq .faq-hero::after {
  content: "" !important;
  display: none !important;
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(17, 27, 25, 0.95), rgba(17, 27, 25, 0.74) 42%, rgba(17, 27, 25, 0.42) 72%, rgba(17, 27, 25, 0.88)),
    linear-gradient(180deg, rgba(17, 27, 25, 0.18), rgba(17, 27, 25, 0.76)),
    url("/assets/home-mountain-trail-elevate.jpg") 58% 48% / cover no-repeat !important;
  filter: saturate(0.92) contrast(1.05);
}

body:not(.page-home) .page-title::before,
body:not(.page-home) .faq-hero::before,
body:not(.page-home) .local-hero::before,
body:not(.page-home) .resources-hero::before,
body:not(.page-home) .directory-hero::before,
body:not(.page-home) .notes-title::before,
body:not(.page-home) .not-found-hero::before,
body.page-faq .faq-hero::before {
  content: "Elevate" !important;
  display: block !important;
  position: absolute;
  right: -0.08em;
  bottom: -0.08em;
  z-index: -1;
  width: auto;
  height: auto;
  background: transparent !important;
  color: rgba(255, 250, 241, 0.055);
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(6rem, 18vw, 18rem);
  font-weight: 800;
  line-height: 0.72;
  pointer-events: none;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body.page-faq .faq-hero-copy h1 {
  max-width: 980px !important;
  color: #fffaf1 !important;
  font-size: clamp(4rem, 8.3vw, 8.8rem) !important;
  line-height: 0.82 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow),
body:not(.page-home) .breadcrumb,
body:not(.page-home) .breadcrumb a,
body:not(.page-home) .breadcrumb span,
body.page-faq .faq-hero-copy p:not(.eyebrow) {
  color: rgba(255, 250, 241, 0.78) !important;
}

body:not(.page-home) .page-title .eyebrow,
body:not(.page-home) .faq-hero .eyebrow,
body:not(.page-home) .resources-hero .eyebrow,
body:not(.page-home) .directory-hero .eyebrow,
body:not(.page-home) .notes-title .eyebrow,
body.page-faq .faq-hero .eyebrow {
  color: rgba(255, 250, 241, 0.66) !important;
}

body:not(.page-home) .service-card,
body:not(.page-home) .contact-card,
body:not(.page-home) .pillar-card,
body:not(.page-home) .fit-card,
body:not(.page-home) .next-step-card,
body:not(.page-home) .resource-library-card,
body:not(.page-home) .directory-resource,
body:not(.page-home) .directory-category,
body:not(.page-home) .faq-item,
body:not(.page-home) .faq-group,
body:not(.page-home) .local-link-card,
body:not(.page-home) .service-summary-card,
body:not(.page-home) .service-focus-card,
body:not(.page-home) .modalities-grid > div,
body:not(.page-home) .trust-detail-grid > div,
body:not(.page-home) .resource-trust-grid > div,
body:not(.page-home) .contact-trust-grid > article,
body:not(.page-home) .process-list > div,
body:not(.page-home) .quick-answer-list > div,
body:not(.page-home) .insurance-plan-card,
body.page-faq .faq-quick-card,
body.page-faq .faq-page .faq-group .faq-item {
  border-radius: 8px !important;
}

body.page-faq .faq-quick-card {
  align-self: stretch !important;
  border: 1px solid rgba(255, 250, 241, 0.2) !important;
  background: rgba(255, 250, 241, 0.86) !important;
  box-shadow: 0 20px 64px rgba(17, 27, 25, 0.18) !important;
}

body.page-faq .quick-answer-list div {
  border-top-color: rgba(17, 27, 25, 0.14) !important;
}

body.page-faq .quick-answer-list strong {
  color: #111b19 !important;
}

@media (max-width: 620px) {
  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title,
  body:not(.page-home) .not-found-hero,
  body.page-faq .faq-hero {
    margin-top: -74px !important;
    padding: 126px 0 70px !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.9rem, 14vw, 4.8rem) !important;
    line-height: 0.88 !important;
  }
}

/* QA final: align interior pages with the calm homepage system. */
body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .not-found-hero,
body.page-faq .faq-hero {
  margin-top: -74px !important;
  padding: clamp(130px, 13vw, 176px) 0 clamp(72px, 8vw, 104px) !important;
  border-bottom: 1px solid rgba(17, 27, 25, 0.12) !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(120, 146, 127, 0.14), transparent 32%),
    linear-gradient(135deg, #fffaf1 0%, #f4eee5 64%, #e9ddcf 100%) !important;
  color: #111b19 !important;
  overflow: hidden !important;
}

body:not(.page-home) .page-title::before,
body:not(.page-home) .page-title::after,
body:not(.page-home) .faq-hero::before,
body:not(.page-home) .faq-hero::after,
body:not(.page-home) .local-hero::before,
body:not(.page-home) .local-hero::after,
body:not(.page-home) .resources-hero::before,
body:not(.page-home) .resources-hero::after,
body:not(.page-home) .directory-hero::before,
body:not(.page-home) .directory-hero::after,
body:not(.page-home) .notes-title::before,
body:not(.page-home) .notes-title::after,
body:not(.page-home) .not-found-hero::before,
body:not(.page-home) .not-found-hero::after,
body.page-faq .faq-hero::before,
body.page-faq .faq-hero::after,
body:not(.page-home) .final-cta::after {
  content: none !important;
  display: none !important;
}

body:not(.page-home) .page-title .container,
body:not(.page-home) .faq-hero .container,
body:not(.page-home) .resources-hero .container,
body:not(.page-home) .directory-hero .container,
body:not(.page-home) .notes-title .container {
  position: relative !important;
  z-index: 1 !important;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body.page-faq .faq-hero h1,
body.page-faq .faq-hero-copy h1 {
  max-width: 880px !important;
  color: #111b19 !important;
  font-size: clamp(3rem, 5.25vw, 5.25rem) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .page-title .eyebrow,
body:not(.page-home) .faq-hero .eyebrow,
body:not(.page-home) .resources-hero .eyebrow,
body:not(.page-home) .directory-hero .eyebrow,
body:not(.page-home) .notes-title .eyebrow,
body.page-faq .faq-hero .eyebrow,
body.page-faq .faq-quick-card .eyebrow {
  color: #b8795d !important;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow),
body.page-faq .faq-hero-copy p:not(.eyebrow),
body:not(.page-home) .breadcrumb,
body:not(.page-home) .breadcrumb a,
body:not(.page-home) .breadcrumb span {
  max-width: 690px !important;
  color: rgba(17, 27, 25, 0.66) !important;
  font-size: clamp(1rem, 1.25vw, 1.16rem) !important;
  line-height: 1.68 !important;
}

body:not(.page-home) .page-title .button-primary,
body:not(.page-home) .faq-hero .button-primary,
body:not(.page-home) .resources-hero .button-primary,
body:not(.page-home) .directory-hero .button-primary,
body:not(.page-home) .notes-title .button-primary {
  background: #163e39 !important;
  border-color: #163e39 !important;
  color: #fffaf1 !important;
}

body:not(.page-home) .page-title .button-secondary,
body:not(.page-home) .faq-hero .button-secondary,
body:not(.page-home) .resources-hero .button-secondary,
body:not(.page-home) .directory-hero .button-secondary,
body:not(.page-home) .notes-title .button-secondary {
  background: rgba(255, 250, 241, 0.72) !important;
  border-color: rgba(17, 27, 25, 0.16) !important;
  color: #163e39 !important;
}

body.page-faq .faq-quick-card,
body:not(.page-home) .faq-quick-card,
body:not(.page-home) .resources-quick-panel {
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  background: rgba(255, 250, 241, 0.74) !important;
  box-shadow: 0 20px 64px rgba(17, 27, 25, 0.1) !important;
}

@media (max-width: 620px) {
  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title,
  body:not(.page-home) .not-found-hero,
  body.page-faq .faq-hero {
    padding: 112px 0 58px !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.4rem, 10.4vw, 3.6rem) !important;
    line-height: 1.02 !important;
  }
}

/* QA pass: consistent typography and no decorative background words. */
body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .not-found-hero,
body.page-faq .faq-hero {
  padding: clamp(124px, 13vw, 172px) 0 clamp(70px, 8vw, 104px) !important;
}

body:not(.page-home) .page-title::before,
body:not(.page-home) .faq-hero::before,
body:not(.page-home) .local-hero::before,
body:not(.page-home) .resources-hero::before,
body:not(.page-home) .directory-hero::before,
body:not(.page-home) .notes-title::before,
body:not(.page-home) .not-found-hero::before,
body:not(.page-home) .final-cta::after,
body.page-faq .faq-hero::before {
  content: none !important;
  display: none !important;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body.page-faq .faq-hero h1,
body.page-faq .faq-hero-copy h1 {
  max-width: 900px !important;
  font-size: clamp(3rem, 5.6vw, 5.4rem) !important;
  line-height: 0.96 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .section-heading h2,
body:not(.page-home) .section-copy h2,
body:not(.page-home) .cta-panel h2,
body:not(.page-home) .trust-detail-copy h2 {
  font-size: clamp(2rem, 3.4vw, 3.4rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow),
body.page-faq .faq-hero-copy p:not(.eyebrow) {
  max-width: 690px !important;
  font-size: clamp(1rem, 1.25vw, 1.16rem) !important;
  line-height: 1.68 !important;
}

@media (max-width: 620px) {
  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title,
  body:not(.page-home) .not-found-hero,
  body.page-faq .faq-hero {
    padding: 116px 0 62px !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.45rem, 10.6vw, 3.65rem) !important;
    line-height: 1 !important;
  }

  body:not(.page-home) .section-heading h2,
  body:not(.page-home) .section-copy h2,
  body:not(.page-home) .cta-panel h2,
  body:not(.page-home) .trust-detail-copy h2 {
    font-size: clamp(1.85rem, 8vw, 2.75rem) !important;
    line-height: 1.08 !important;
  }
}

/* FAQ final overrides: keep this after the shared interior hero layer. */
body.page-faq .faq-hero {
  margin-top: 0 !important;
  padding: clamp(66px, 8vw, 102px) 0 clamp(50px, 7vw, 82px) !important;
  border-bottom: 1px solid var(--faq-line) !important;
  background: linear-gradient(180deg, rgba(232, 239, 234, 0.96), rgba(247, 244, 238, 0.98)) !important;
  color: var(--interior-ink) !important;
}

body.page-faq .faq-hero::before,
body.page-faq .faq-hero::after {
  content: none !important;
  display: none !important;
}

body.page-faq .faq-hero .eyebrow {
  color: var(--faq-clay) !important;
}

body.page-faq .faq-hero h1,
body.page-faq .faq-hero-copy h1 {
  max-width: 760px !important;
  color: var(--interior-ink) !important;
  font-size: clamp(3rem, 6vw, 5.55rem) !important;
  line-height: 1 !important;
}

body.page-faq .faq-hero p:not(.eyebrow),
body.page-faq .faq-hero-copy p:not(.eyebrow) {
  max-width: 680px !important;
  color: rgba(17, 27, 25, 0.74) !important;
}

body.page-faq .faq-hero .button-primary {
  border-color: var(--faq-teal) !important;
  background: var(--faq-teal) !important;
  color: #ffffff !important;
}

body.page-faq .faq-hero .button-secondary {
  border-color: rgba(41, 79, 79, 0.18) !important;
  background: rgba(255, 255, 255, 0.7) !important;
  color: var(--faq-teal) !important;
}

body.page-faq .faq-quick-card {
  border: 1px solid var(--faq-line) !important;
  border-radius: 22px !important;
  background: var(--faq-surface) !important;
  box-shadow: none !important;
}

body.page-faq .faq-page .section-copy {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

body.page-faq .faq-page .faq-group .faq-item {
  border-radius: 16px !important;
}

body.page-faq .final-cta {
  max-width: 100% !important;
  overflow: hidden !important;
}

body.page-faq .final-cta .cta-panel {
  width: min(100% - 28px, 920px) !important;
  max-width: 920px !important;
}

@media (max-width: 620px) {
  body.page-faq .faq-hero {
    margin-top: 0 !important;
    padding: 56px 0 42px !important;
  }

  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 4rem) !important;
    line-height: 1 !important;
  }

  body.page-faq .faq-quick-card {
    border-radius: 18px !important;
  }

  body.page-faq .faq-page {
    padding-top: 34px !important;
  }

  body.page-faq .faq-grid {
    gap: 24px !important;
  }

  body.page-faq .faq-page .section-copy > .eyebrow,
  body.page-faq .faq-page .section-copy > h2,
  body.page-faq .faq-page .section-copy > p {
    display: none !important;
  }

  body.page-faq .faq-topic-nav {
    margin-top: 0 !important;
  }

  body.page-faq .faq-page .faq-group .faq-item {
    border-radius: 14px !important;
  }
}

/* Mobile guardrails for the shared floating header and oversized editorial heroes. */
@media (max-width: 1220px) {
  body:not(.page-home) .nav-wrap,
  body:not(.page-home) .site-header .nav-wrap {
    position: relative !important;
    padding-right: 66px !important;
  }

  body:not(.page-home) .nav-toggle {
    position: fixed !important;
    top: 24px !important;
    right: 22px !important;
    z-index: 120 !important;
    flex: 0 0 42px !important;
    display: grid !important;
    place-content: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(17, 27, 25, 0.16) !important;
    border-radius: 999px !important;
    background: rgba(255, 250, 241, 0.78) !important;
    transform: none !important;
  }

  body:not(.page-home) .nav-toggle::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 14px !important;
    background:
      linear-gradient(#111b19, #111b19) 0 0 / 18px 2px no-repeat,
      linear-gradient(#111b19, #111b19) 0 6px / 18px 2px no-repeat,
      linear-gradient(#111b19, #111b19) 0 12px / 18px 2px no-repeat !important;
  }

  body:not(.page-home) .nav-toggle span {
    display: none !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px auto !important;
    border-radius: 999px !important;
    background: #111b19 !important;
  }
}

@media (max-width: 620px) {
  body:not(.page-home) .page-title .container,
  body:not(.page-home) .page-title .container.narrow,
  body:not(.page-home) .faq-hero .container,
  body:not(.page-home) .resources-hero .container,
  body:not(.page-home) .directory-hero .container,
  body:not(.page-home) .notes-title .container {
    width: min(100% - 34px, 520px) !important;
  }

  body:not(.page-home) .page-title p:not(.eyebrow),
  body:not(.page-home) .faq-hero p:not(.eyebrow),
  body:not(.page-home) .resources-hero p:not(.eyebrow),
  body:not(.page-home) .directory-hero p:not(.eyebrow),
  body:not(.page-home) .notes-title p:not(.eyebrow) {
    max-width: 100% !important;
    font-size: 1.04rem !important;
    line-height: 1.62 !important;
  }
}

/* Absolute final FAQ alignment: keep this page with the calm interior system. */
body.page-faq .faq-hero {
  isolation: isolate;
  margin-top: -74px !important;
  padding: clamp(130px, 13vw, 176px) 0 clamp(72px, 8vw, 104px) !important;
  border-bottom: 1px solid rgba(17, 27, 25, 0.12) !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(120, 146, 127, 0.14), transparent 32%),
    linear-gradient(135deg, #fffaf1 0%, #f4eee5 64%, #e9ddcf 100%) !important;
  color: #111b19 !important;
  overflow: hidden !important;
}

body.page-faq .faq-hero::before,
body.page-faq .faq-hero::after {
  content: none !important;
  display: none !important;
}

body.page-faq .faq-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px) !important;
  gap: clamp(34px, 6vw, 70px) !important;
  align-items: center !important;
}

body.page-faq .faq-hero .eyebrow {
  color: #b8795d !important;
}

body.page-faq .faq-hero h1,
body.page-faq .faq-hero-copy h1 {
  max-width: 880px !important;
  color: #111b19 !important;
  font-size: clamp(3rem, 5.25vw, 5.25rem) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.page-faq .faq-hero p:not(.eyebrow),
body.page-faq .faq-hero-copy p:not(.eyebrow) {
  color: rgba(17, 27, 25, 0.72) !important;
}

body.page-faq .faq-quick-card {
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.74) !important;
  box-shadow: 0 18px 48px rgba(37, 30, 22, 0.08) !important;
}

body.page-faq .faq-quick-card .eyebrow {
  color: #b8795d !important;
}

body.page-faq .faq-hero .button-primary {
  background: #163e39 !important;
  border-color: #163e39 !important;
  color: #fff !important;
}

body.page-faq .faq-hero .button-secondary {
  background: rgba(255, 250, 241, 0.72) !important;
  border-color: rgba(17, 27, 25, 0.14) !important;
  color: #163e39 !important;
}

body.page-faq .faq-page .section-copy h2 {
  max-width: 360px !important;
  font-size: clamp(2rem, 3.2vw, 3.05rem) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 620px) {
  body:not(.page-home) .analytics-consent {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    width: auto !important;
    transform: none !important;
  }

  body:not(.page-home) .analytics-consent-inner {
    grid-template-columns: 1fr !important;
  }

  body:not(.page-home) .analytics-consent-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  body.page-faq .faq-hero {
    margin-top: -74px !important;
    padding: 120px 0 54px !important;
  }

  body.page-faq .faq-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.4rem, 10.4vw, 3.6rem) !important;
    line-height: 1.02 !important;
  }
}

/* About standards final spacing: keep credentials readable inside one calm card. */
body.page-about .trust-detail-section {
  background: #fffaf5 !important;
}

body.page-about .trust-detail-panel {
  display: grid !important;
  grid-template-columns: minmax(240px, 0.78fr) minmax(0, 1.42fr) !important;
  gap: clamp(30px, 5vw, 68px) !important;
  align-items: start !important;
  padding: clamp(30px, 4.2vw, 54px) !important;
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.76) !important;
  box-shadow: 0 18px 52px rgba(37, 30, 22, 0.08) !important;
}

body.page-about .trust-detail-copy {
  max-width: 390px !important;
}

body.page-about .trust-detail-copy .eyebrow {
  margin-bottom: 12px !important;
}

body.page-about .trust-detail-copy h2 {
  max-width: 360px !important;
  margin-bottom: 14px !important;
  font-size: clamp(2rem, 3.15vw, 3.05rem) !important;
  line-height: 1.08 !important;
}

body.page-about .trust-detail-copy p {
  max-width: 330px !important;
  margin-bottom: 0 !important;
  line-height: 1.62 !important;
}

body.page-about .trust-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  align-items: stretch !important;
  border: 0 !important;
}

body.page-about .trust-detail-grid > div {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  column-gap: clamp(18px, 2.5vw, 30px) !important;
  row-gap: 8px !important;
  align-items: start !important;
  min-height: 0 !important;
  padding: 0 0 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.page-about .trust-detail-grid > div + div {
  margin-top: 24px !important;
  padding-top: 24px !important;
  border-left: 0 !important;
  border-top: 1px solid rgba(17, 27, 25, 0.12) !important;
}

body.page-about .trust-detail-grid > div:last-child {
  padding-bottom: 0 !important;
}

body.page-about .trust-detail-grid > div::before,
body.page-about .trust-detail-grid > div::after {
  content: none !important;
  display: none !important;
}

body.page-about .trust-detail-grid span {
  grid-row: 1 / span 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(22, 62, 57, 0.16) !important;
  border-radius: 999px !important;
  background: rgba(219, 229, 223, 0.62) !important;
  color: #163e39 !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.05em !important;
}

body.page-about .trust-detail-grid h3 {
  grid-column: 2 !important;
  margin: 0 !important;
  color: #111b19 !important;
  font-size: 1.08rem !important;
  line-height: 1.26 !important;
}

body.page-about .trust-detail-grid p {
  grid-column: 2 !important;
  max-width: 660px !important;
  margin: 0 !important;
  color: rgba(17, 27, 25, 0.68) !important;
  font-size: 0.98rem !important;
  line-height: 1.62 !important;
}

body.page-about .trust-detail-grid .text-link {
  grid-column: 2 !important;
  justify-self: start !important;
  margin-top: 4px !important;
  padding-top: 0 !important;
  line-height: 1.35 !important;
}

@media (max-width: 980px) {
  body.page-about .trust-detail-panel {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body.page-about .trust-detail-copy,
  body.page-about .trust-detail-copy h2,
  body.page-about .trust-detail-copy p {
    max-width: 680px !important;
  }
}

@media (max-width: 620px) {
  body.page-about .trust-detail-panel {
    padding: 24px 20px !important;
  }

  body.page-about .trust-detail-grid > div {
    grid-template-columns: 1fr !important;
    row-gap: 10px !important;
    padding-bottom: 22px !important;
  }

  body.page-about .trust-detail-grid > div + div {
    margin-top: 22px !important;
    padding-top: 22px !important;
  }

  body.page-about .trust-detail-grid span,
  body.page-about .trust-detail-grid h3,
  body.page-about .trust-detail-grid p,
  body.page-about .trust-detail-grid .text-link {
    grid-column: 1 !important;
  }
}

/* Mobile text guardrail: keep interior headings from running past the viewport. */
@media (max-width: 620px) {
  body:not(.page-home) {
    overflow-x: hidden !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(2.12rem, 9.2vw, 3rem) !important;
    line-height: 1.06 !important;
  }

  body:not(.page-home) .section-heading h2,
  body:not(.page-home) .section-copy h2,
  body:not(.page-home) .cta-panel h2,
  body:not(.page-home) .trust-detail-copy h2 {
    max-width: 100% !important;
    font-size: clamp(1.75rem, 8vw, 2.45rem) !important;
    line-height: 1.1 !important;
  }
}

/* About standards reset: purpose-built layout, isolated from legacy trust cards. */
body.page-about .about-standards-section {
  padding: clamp(70px, 8vw, 108px) 0 !important;
  background: linear-gradient(180deg, #f7f1e8, #fffaf5) !important;
}

body.page-about .about-standards-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(26px, 4vw, 40px) !important;
  align-items: start !important;
  width: min(100% - 40px, 1080px) !important;
  padding: clamp(34px, 4.4vw, 58px) !important;
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.82) !important;
  box-shadow: 0 18px 52px rgba(37, 30, 22, 0.08) !important;
}

body.page-about .about-standards-intro {
  display: grid !important;
  gap: 12px !important;
  max-width: 720px !important;
}

body.page-about .about-standards-intro .eyebrow {
  margin: 0 !important;
}

body.page-about .about-standards-intro h2 {
  max-width: 640px !important;
  margin: 0 !important;
  color: #111b19 !important;
  font-size: clamp(2.15rem, 3.3vw, 3.25rem) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body.page-about .about-standards-intro p:not(.eyebrow) {
  max-width: 520px !important;
  margin: 0 !important;
  color: rgba(17, 27, 25, 0.66) !important;
  font-size: 1rem !important;
  line-height: 1.62 !important;
}

body.page-about .about-standards-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.page-about .about-standard-item {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  align-items: start !important;
  min-height: 100% !important;
  padding: clamp(22px, 2.4vw, 28px) !important;
  border: 1px solid rgba(17, 27, 25, 0.1) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.58) !important;
  box-shadow: none !important;
}

body.page-about .about-standard-item + .about-standard-item {
  padding-top: clamp(22px, 2.4vw, 28px) !important;
  border-top: 1px solid rgba(17, 27, 25, 0.1) !important;
}

body.page-about .about-standard-item:last-child {
  padding-bottom: clamp(22px, 2.4vw, 28px) !important;
}

body.page-about .about-standard-item span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(22, 62, 57, 0.16) !important;
  border-radius: 999px !important;
  background: rgba(219, 229, 223, 0.64) !important;
  color: #163e39 !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.05em !important;
}

body.page-about .about-standard-item h3 {
  margin: 0 !important;
  color: #111b19 !important;
  font-size: 1.08rem !important;
  line-height: 1.26 !important;
  letter-spacing: 0 !important;
}

body.page-about .about-standard-item p {
  max-width: 100% !important;
  margin: 0 !important;
  color: rgba(17, 27, 25, 0.68) !important;
  font-size: 0.98rem !important;
  line-height: 1.62 !important;
}

body.page-about .about-standard-item .text-link {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-top: 10px !important;
  color: #163e39 !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

@media (max-width: 900px) {
  body.page-about .about-standards-list {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

@media (max-width: 620px) {
  body.page-about .about-standards-section {
    padding: 52px 0 !important;
  }

  body.page-about .about-standards-card {
    width: min(100% - 28px, 520px) !important;
    padding: 24px 20px !important;
    gap: 24px !important;
  }

  body.page-about .about-standards-intro h2 {
    font-size: clamp(1.85rem, 7.4vw, 2.35rem) !important;
    line-height: 1.12 !important;
  }

  body.page-about .about-standard-item {
    gap: 12px !important;
    padding: 20px !important;
  }

  body.page-about .about-standard-item + .about-standard-item {
    padding-top: 20px !important;
  }

  body.page-about .about-standard-item .text-link {
    width: auto !important;
  }
}

/* Final UX correction: standards as a light section, not boxed cards. */
body.page-about .about-standards-section {
  padding: clamp(72px, 8vw, 108px) 0 !important;
  background: #fffaf1 !important;
}

body.page-about .about-standards-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(30px, 4vw, 46px) !important;
  width: min(100% - 40px, 1080px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-about .about-standards-intro {
  max-width: 720px !important;
}

body.page-about .about-standards-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-top: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-bottom: 1px solid rgba(17, 27, 25, 0.12) !important;
}

body.page-about .about-standard-item {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  min-height: 100% !important;
  padding: 28px clamp(22px, 2.8vw, 34px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-about .about-standard-item + .about-standard-item {
  padding-top: 28px !important;
  border-top: 0 !important;
  border-left: 1px solid rgba(17, 27, 25, 0.12) !important;
}

body.page-about .about-standard-item:last-child {
  padding-bottom: 28px !important;
}

/* Final type scale: practical interior pages should not feel poster-sized. */
body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body.page-faq .faq-hero h1,
body.page-faq .faq-hero-copy h1 {
  max-width: 820px !important;
  font-size: clamp(2.65rem, 4.35vw, 4.35rem) !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .section-heading h2,
body:not(.page-home) .section-copy h2,
body:not(.page-home) .cta-panel h2,
body:not(.page-home) .trust-detail-copy h2,
body.page-about .about-standards-intro h2,
body.page-faq .faq-page .section-copy h2 {
  max-width: 720px !important;
  font-size: clamp(1.85rem, 2.85vw, 2.85rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 900px) {
  body.page-about .about-standards-list {
    grid-template-columns: 1fr !important;
  }

  body.page-about .about-standard-item + .about-standard-item {
    border-left: 0 !important;
    border-top: 1px solid rgba(17, 27, 25, 0.12) !important;
  }
}

@media (max-width: 620px) {
  body.page-about .about-standards-section {
    padding: 52px 0 !important;
  }

  body.page-about .about-standards-card {
    width: min(100% - 28px, 520px) !important;
  }

  body.page-about .about-standard-item,
  body.page-about .about-standard-item + .about-standard-item,
  body.page-about .about-standard-item:last-child {
    padding: 22px 0 !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.05rem, 8.6vw, 2.85rem) !important;
    line-height: 1.08 !important;
  }

  body:not(.page-home) .section-heading h2,
  body:not(.page-home) .section-copy h2,
  body:not(.page-home) .cta-panel h2,
  body:not(.page-home) .trust-detail-copy h2,
  body.page-about .about-standards-intro h2,
  body.page-faq .faq-page .section-copy h2 {
    font-size: clamp(1.62rem, 7vw, 2.18rem) !important;
    line-height: 1.14 !important;
  }
}

/* Uniform interior finish: keep pages light; reserve dark color for the footer. */
body:not(.page-home) {
  background: #f7f1e8 !important;
}

body:not(.page-home) main {
  background: #f7f1e8 !important;
}

body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .not-found-hero,
body.page-faq .faq-hero {
  margin-top: -74px !important;
  padding: clamp(120px, 12vw, 164px) 0 clamp(66px, 7vw, 96px) !important;
  border-bottom: 1px solid rgba(17, 27, 25, 0.12) !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(120, 146, 127, 0.12), transparent 32%),
    linear-gradient(135deg, #fffaf1 0%, #f4eee5 66%, #e9ddcf 100%) !important;
  color: #111b19 !important;
  overflow: hidden !important;
}

body:not(.page-home) .page-title::before,
body:not(.page-home) .page-title::after,
body:not(.page-home) .faq-hero::before,
body:not(.page-home) .faq-hero::after,
body:not(.page-home) .local-hero::before,
body:not(.page-home) .local-hero::after,
body:not(.page-home) .resources-hero::before,
body:not(.page-home) .resources-hero::after,
body:not(.page-home) .directory-hero::before,
body:not(.page-home) .directory-hero::after,
body:not(.page-home) .notes-title::before,
body:not(.page-home) .notes-title::after,
body:not(.page-home) .not-found-hero::before,
body:not(.page-home) .not-found-hero::after,
body.page-faq .faq-hero::before,
body.page-faq .faq-hero::after {
  content: none !important;
  display: none !important;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body:not(.page-home) .not-found-hero h1,
body.page-faq .faq-hero h1,
body.page-faq .faq-hero-copy h1 {
  max-width: 820px !important;
  color: #111b19 !important;
  font-size: clamp(2.55rem, 4.15vw, 4.15rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow),
body:not(.page-home) .not-found-hero p:not(.eyebrow),
body.page-faq .faq-hero-copy p:not(.eyebrow),
body:not(.page-home) .breadcrumb,
body:not(.page-home) .breadcrumb a,
body:not(.page-home) .breadcrumb span {
  max-width: 690px !important;
  color: rgba(17, 27, 25, 0.68) !important;
  font-size: clamp(1rem, 1.16vw, 1.12rem) !important;
  line-height: 1.66 !important;
}

body:not(.page-home) .page-title .eyebrow,
body:not(.page-home) .faq-hero .eyebrow,
body:not(.page-home) .resources-hero .eyebrow,
body:not(.page-home) .directory-hero .eyebrow,
body:not(.page-home) .notes-title .eyebrow,
body:not(.page-home) .not-found-hero .eyebrow,
body.page-faq .faq-hero .eyebrow {
  color: #b8795d !important;
}

body:not(.page-home) .section-heading h2,
body:not(.page-home) .section-copy h2,
body:not(.page-home) .cta-panel h2,
body:not(.page-home) .trust-detail-copy h2,
body:not(.page-home) .insurance-panel h2,
body:not(.page-home) .resources-quick-panel h2,
body.page-about .about-standards-intro h2,
body.page-faq .faq-page .section-copy h2 {
  max-width: 720px !important;
  color: #111b19 !important;
  font-size: clamp(1.82rem, 2.7vw, 2.65rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .contact-card h2,
body:not(.page-home) .service-card h2,
body:not(.page-home) .resource-library-card h2,
body:not(.page-home) .directory-resource h3,
body:not(.page-home) .directory-urgent-card h3,
body:not(.page-home) .faq-trigger {
  letter-spacing: 0 !important;
}

body:not(.page-home) .final-cta,
body.page-faq .final-cta {
  position: relative !important;
  isolation: auto !important;
  overflow: visible !important;
  padding: clamp(66px, 8vw, 98px) 0 !important;
  border-top: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-bottom: 1px solid rgba(17, 27, 25, 0.12) !important;
  background: #fffaf1 !important;
  color: #111b19 !important;
}

body:not(.page-home) .final-cta::before,
body:not(.page-home) .final-cta::after,
body.page-faq .final-cta::before,
body.page-faq .final-cta::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

body:not(.page-home) .final-cta .cta-panel,
body.page-faq .final-cta .cta-panel {
  width: min(100% - 40px, 920px) !important;
  max-width: 920px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.page-home) .final-cta h2,
body.page-faq .final-cta h2 {
  color: #111b19 !important;
}

body:not(.page-home) .final-cta .eyebrow,
body.page-faq .final-cta .eyebrow {
  color: #b8795d !important;
}

body:not(.page-home) .final-cta p,
body.page-faq .final-cta p {
  color: rgba(17, 27, 25, 0.68) !important;
}

body:not(.page-home) .final-cta .phone-link,
body:not(.page-home) .final-cta .inline-phone,
body.page-faq .final-cta .phone-link,
body.page-faq .final-cta .inline-phone {
  color: #163e39 !important;
}

body:not(.page-home) .final-cta .button-primary,
body:not(.page-home) .final-cta a.button-primary,
body.page-faq .final-cta .button-primary,
body.page-faq .final-cta a.button-primary {
  border-color: #163e39 !important;
  background: #163e39 !important;
  color: #fffaf1 !important;
}

body:not(.page-home) .final-cta .button-secondary,
body.page-faq .final-cta .button-secondary {
  border-color: rgba(17, 27, 25, 0.16) !important;
  background: rgba(255, 255, 255, 0.58) !important;
  color: #163e39 !important;
}

body:not(.page-home) .emergency-section,
body.page-contact .emergency-section {
  border-top: 1px solid rgba(91, 42, 38, 0.14) !important;
  border-bottom: 1px solid rgba(91, 42, 38, 0.14) !important;
  background: #f4e8e2 !important;
  color: #111b19 !important;
}

body:not(.page-home) .emergency-section h2,
body.page-contact .emergency-section h2 {
  color: #4d2520 !important;
  font-size: clamp(1.76rem, 2.6vw, 2.42rem) !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .emergency-section p,
body.page-contact .emergency-section p {
  color: rgba(17, 27, 25, 0.72) !important;
}

body:not(.page-home) .site-footer {
  border-top: 0 !important;
  background: linear-gradient(180deg, #17231f, #0f1714) !important;
  color: rgba(255, 255, 255, 0.76) !important;
}

@media (max-width: 620px) {
  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title,
  body:not(.page-home) .not-found-hero,
  body.page-faq .faq-hero {
    padding: 110px 0 56px !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body:not(.page-home) .not-found-hero h1,
  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.05rem, 8.6vw, 2.85rem) !important;
    line-height: 1.08 !important;
  }

  body:not(.page-home) .section-heading h2,
  body:not(.page-home) .section-copy h2,
  body:not(.page-home) .cta-panel h2,
  body:not(.page-home) .trust-detail-copy h2,
  body:not(.page-home) .insurance-panel h2,
  body:not(.page-home) .resources-quick-panel h2,
  body.page-about .about-standards-intro h2,
  body.page-faq .faq-page .section-copy h2 {
    font-size: clamp(1.62rem, 7vw, 2.16rem) !important;
    line-height: 1.14 !important;
  }
}

body:not(.page-home) main > section.section.final-cta,
body.page-faq main > section.section.final-cta {
  background: #fffaf1 !important;
  background-image: none !important;
}

body:not(.page-home) .contact-card h2,
body:not(.page-home) .service-card h2,
body:not(.page-home) .service-card h3,
body:not(.page-home) .fit-card h3,
body:not(.page-home) .pillar-card h3,
body:not(.page-home) .next-step-card h3,
body:not(.page-home) .resource-library-card h2,
body:not(.page-home) .directory-resource h3,
body:not(.page-home) .directory-urgent-card h3,
body:not(.page-home) .local-link-card h3,
body:not(.page-home) .insurance-plan-card h3 {
  color: #111b19 !important;
  font-size: clamp(1.24rem, 1.55vw, 1.58rem) !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
}

body:not(.page-home) .resources-quick-panel h2,
body.page-faq .faq-quick-card h2 {
  font-size: clamp(1.35rem, 1.85vw, 1.9rem) !important;
  line-height: 1.18 !important;
}

/* Services and Resources should have unique content, not a separate visual theme. */
body.page-services .services-photo-banner {
  display: none !important;
}

body.page-services .services-photo-banner .container {
  width: min(100% - 40px, 1080px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.page-services .services-photo-banner picture {
  display: block !important;
  height: clamp(220px, 27vw, 320px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-radius: 8px !important;
  background: #fffaf1 !important;
  box-shadow: none !important;
}

body.page-services .services-photo-banner img,
body.page-services.page-loaded .services-photo-banner .mountain-living-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 52% !important;
  filter: saturate(0.9) contrast(1) !important;
  transform: none !important;
}

body.page-services .services-page,
body.page-services .approach-modalities-section,
body.page-resources .resources-trust-section,
body.page-resources .resources-page {
  background: #f7f1e8 !important;
}

body.page-services .approach-modalities-panel,
body.page-resources .resources-trust-panel {
  width: min(100% - 40px, 1160px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-services .service-page-grid,
body.page-services .modalities-grid,
body.page-resources .resource-trust-grid,
body.page-resources .resource-library-grid {
  gap: 18px !important;
}

body.page-services .service-card,
body.page-services .featured-card,
body.page-services .modalities-grid > div,
body.page-services .fit-card,
body.page-resources .resources-quick-panel,
body.page-resources .resource-trust-grid > div,
body.page-resources .resource-library-card,
body.page-resources .resource-library-card-featured,
body.page-resources .resource-download-panel,
body.page-resources .resource-preview-frame {
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.78) !important;
  box-shadow: none !important;
}

body.page-services .service-card::before,
body.page-services .service-card::after,
body.page-services .modalities-grid > div::before,
body.page-services .modalities-grid > div::after,
body.page-resources .resource-library-card::before,
body.page-resources .resource-library-card::after,
body.page-resources .resource-trust-grid > div::before,
body.page-resources .resource-trust-grid > div::after,
body.page-resources .resources-quick-panel::before,
body.page-resources .resources-quick-panel::after {
  content: none !important;
  display: none !important;
}

body.page-resources .resource-library-card-featured {
  grid-column: auto !important;
  display: flex !important;
  grid-template-columns: none !important;
  align-items: stretch !important;
}

body.page-resources .resource-card-content,
body.page-resources .resource-library-card-featured .resource-card-content {
  padding: 24px !important;
}

body.page-resources .resource-preview-link,
body.page-resources .resource-library-card-featured .resource-preview-link {
  padding: 12px 12px 0 !important;
}

body.page-resources .resource-preview-link img {
  aspect-ratio: 1.22 / 0.82 !important;
  border: 1px solid rgba(17, 27, 25, 0.1) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

body.page-services .service-card:hover,
body.page-services .modalities-grid > div:hover,
body.page-services .fit-card:hover,
body.page-resources .resource-library-card:hover,
body.page-resources .resource-trust-grid > div:hover {
  transform: none !important;
  border-color: rgba(17, 27, 25, 0.16) !important;
  box-shadow: none !important;
}

body.page-services .card-kicker,
body.page-resources .resource-trust-grid span,
body.page-resources .resource-pill-row span {
  background: rgba(219, 229, 223, 0.72) !important;
  color: #163e39 !important;
}

body.page-services .approach-note,
body.page-resources .resources-library-note,
body.page-resources .resource-note {
  color: rgba(17, 27, 25, 0.66) !important;
}

body.page-resources .resources-hero-grid {
  grid-template-columns: minmax(0, 760px) !important;
  gap: 0 !important;
}

body.page-resources .resources-quick-panel {
  display: none !important;
}

@media (max-width: 980px) {
  body.page-resources .resource-library-card-featured {
    grid-column: auto !important;
  }
}

@media (max-width: 620px) {
  body.page-services .services-photo-banner {
    padding-top: 32px !important;
  }

  body.page-services .services-photo-banner .container,
  body.page-services .approach-modalities-panel,
  body.page-resources .resources-trust-panel {
    width: min(100% - 28px, 520px) !important;
  }

  body.page-services .services-photo-banner picture {
    height: 190px !important;
  }

  body.page-services .service-page-grid,
  body.page-services .modalities-grid,
  body.page-resources .resource-trust-grid,
  body.page-resources .resource-library-grid {
    gap: 14px !important;
  }
}

/* Finish pass: Services and Resources need polish, not just sameness. */
body.page-services .page-title,
body.page-resources .resources-hero {
  padding-bottom: clamp(58px, 6vw, 78px) !important;
}

body.page-services .services-page,
body.page-services .approach-modalities-section,
body.page-resources .resources-trust-section,
body.page-resources .resources-page {
  padding-top: clamp(54px, 6vw, 76px) !important;
  padding-bottom: clamp(58px, 7vw, 88px) !important;
}

body.page-services .service-page-grid {
  align-items: stretch !important;
}

body.page-services .service-card,
body.page-services .featured-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  padding: clamp(24px, 2.4vw, 30px) !important;
}

body.page-services .service-card .text-link {
  width: fit-content !important;
  margin-top: auto !important;
  padding-top: 20px !important;
}

body.page-services .service-card ul {
  margin: 16px 0 0 !important;
  padding-left: 18px !important;
}

body.page-services .service-card li {
  margin: 6px 0 !important;
  color: rgba(17, 27, 25, 0.72) !important;
}

body.page-services .service-card h2,
body.page-services .service-card h3,
body.page-services .modalities-grid h3,
body.page-resources .resource-trust-grid h3,
body.page-resources .resource-library-card h3 {
  margin-bottom: 10px !important;
  color: #111b19 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "system-ui", "Segoe UI", sans-serif !important;
  font-size: clamp(1.08rem, 1.25vw, 1.24rem) !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

body.page-services .service-card p,
body.page-services .modalities-grid p,
body.page-resources .resource-trust-grid p,
body.page-resources .resource-library-card p {
  color: rgba(17, 27, 25, 0.68) !important;
  font-size: 0.98rem !important;
  line-height: 1.62 !important;
}

body.page-services .modalities-grid > div {
  padding: 22px !important;
}

body.page-resources .resource-trust-grid > div {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  row-gap: 6px !important;
  align-content: start !important;
  min-height: 0 !important;
  padding: 22px !important;
}

body.page-resources .resource-trust-grid span {
  grid-row: 1 / span 2 !important;
}

body.page-resources .resource-trust-grid h3,
body.page-resources .resource-trust-grid p {
  grid-column: 2 !important;
  margin: 0 !important;
}

body.page-resources .resource-library-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.page-resources .resource-library-card,
body.page-resources .resource-library-card-featured {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.page-resources .resource-library-card:has(.resource-preview-link) {
  display: grid !important;
  grid-template-columns: 148px minmax(0, 1fr) !important;
  align-items: stretch !important;
}

body.page-resources .resource-preview-link,
body.page-resources .resource-library-card-featured .resource-preview-link {
  height: 100% !important;
  padding: 14px 0 14px 14px !important;
}

body.page-resources .resource-preview-link img {
  width: 100% !important;
  height: 100% !important;
  min-height: 174px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: 50% 0 !important;
}

body.page-resources .resource-card-content,
body.page-resources .resource-library-card-featured .resource-card-content {
  display: flex !important;
  flex-direction: column !important;
  padding: 22px !important;
}

body.page-resources .resource-pill-row {
  margin-bottom: 12px !important;
}

body.page-resources .resource-actions {
  margin-top: auto !important;
  padding-top: 20px !important;
}

body.page-resources .resource-actions .button {
  min-height: 40px !important;
  padding: 10px 14px !important;
  font-size: 0.86rem !important;
}

body .analytics-consent {
  left: 50% !important;
  right: auto !important;
  bottom: 18px !important;
  width: min(100% - 32px, 760px) !important;
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.96) !important;
  box-shadow: 0 14px 40px rgba(37, 30, 22, 0.12) !important;
  transform: translateX(-50%) !important;
}

body .analytics-consent-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 14px 16px !important;
}

body .analytics-consent-copy h2 {
  margin: 0 0 3px !important;
  color: #111b19 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "system-ui", "Segoe UI", sans-serif !important;
  font-size: 0.96rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

body .analytics-consent-copy p {
  max-width: 520px !important;
  margin: 0 !important;
  color: rgba(17, 27, 25, 0.68) !important;
  font-size: 0.84rem !important;
  line-height: 1.42 !important;
}

body .analytics-consent-copy a {
  display: inline-flex !important;
  margin-top: 6px !important;
  color: #163e39 !important;
  font-size: 0.84rem !important;
  font-weight: 760 !important;
}

body .analytics-consent-actions {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}

body .analytics-consent .button {
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: 0.82rem !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

body:not(.page-home) .analytics-consent,
body.page-home .analytics-consent {
  left: 50% !important;
  right: auto !important;
  bottom: 18px !important;
  width: min(100% - 32px, 760px) !important;
  border: 1px solid rgba(17, 27, 25, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.96) !important;
  box-shadow: 0 14px 40px rgba(37, 30, 22, 0.12) !important;
  transform: translateX(-50%) !important;
}

body:not(.page-home) .analytics-consent-inner,
body.page-home .analytics-consent-inner {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  padding: 14px 16px !important;
}

@media (max-width: 900px) {
  body.page-resources .resource-library-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  body.page-services .services-page,
  body.page-services .approach-modalities-section,
  body.page-resources .resources-trust-section,
  body.page-resources .resources-page {
    padding-top: 42px !important;
    padding-bottom: 56px !important;
  }

  body.page-resources .resource-trust-grid > div {
    grid-template-columns: 1fr !important;
    padding: 20px !important;
  }

  body.page-resources .resource-trust-grid span,
  body.page-resources .resource-trust-grid h3,
  body.page-resources .resource-trust-grid p {
    grid-column: 1 !important;
  }

  body.page-resources .resource-library-card:has(.resource-preview-link) {
    grid-template-columns: 1fr !important;
  }

  body.page-resources .resource-preview-link,
  body.page-resources .resource-library-card-featured .resource-preview-link {
    padding: 12px 12px 0 !important;
  }

  body.page-resources .resource-preview-link img {
    min-height: 0 !important;
    aspect-ratio: 1.4 / 0.78 !important;
  }

  body .analytics-consent {
    bottom: 12px !important;
    width: min(100% - 24px, 520px) !important;
  }

  body .analytics-consent-inner {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body .analytics-consent-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  body:not(.page-home) .analytics-consent,
  body.page-home .analytics-consent {
    bottom: 12px !important;
    width: min(100% - 24px, 520px) !important;
  }

  body:not(.page-home) .analytics-consent-inner,
  body.page-home .analytics-consent-inner {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

/* Final finish pass: one calm interior system with page-specific content. */
body:not(.page-home) {
  --finish-page: #fffaf1;
  --finish-band: #f7f1e8;
  --finish-line: rgba(17, 27, 25, 0.12);
  --finish-line-strong: rgba(17, 27, 25, 0.18);
  --finish-text: #111b19;
  --finish-muted: rgba(17, 27, 25, 0.68);
  --finish-teal: #163e39;
  --finish-clay: #a96f56;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body:not(.page-home) .not-found-hero h1,
body.page-faq .faq-hero h1,
body.page-faq .faq-hero-copy h1 {
  max-width: 820px !important;
  font-size: clamp(2.42rem, 3.85vw, 3.7rem) !important;
  line-height: 1.07 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

body:not(.page-home) .section-heading h2,
body:not(.page-home) .section-copy h2,
body:not(.page-home) .cta-panel h2,
body:not(.page-home) .trust-detail-copy h2,
body:not(.page-home) .insurance-panel h2,
body:not(.page-home) .resources-quick-panel h2,
body.page-about .about-standards-intro h2,
body.page-faq .faq-page .section-copy h2 {
  max-width: 720px !important;
  font-size: clamp(1.72rem, 2.42vw, 2.38rem) !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow),
body:not(.page-home) .not-found-hero p:not(.eyebrow) {
  max-width: 700px !important;
  font-size: clamp(1rem, 1.08vw, 1.1rem) !important;
  line-height: 1.66 !important;
}

body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .not-found-hero {
  background:
    linear-gradient(135deg, rgba(255, 250, 241, 0.98) 0%, rgba(247, 241, 232, 0.94) 62%, rgba(239, 228, 214, 0.74) 100%) !important;
}

body.page-services .services-page,
body.page-services .approach-modalities-section,
body.page-resources .resources-trust-section,
body.page-resources .resources-page,
body.page-about .about-standards-section {
  background: var(--finish-band) !important;
}

body.page-services .services-page,
body.page-services .approach-modalities-section,
body.page-resources .resources-trust-section,
body.page-resources .resources-page,
body.page-about .about-standards-section {
  padding-top: clamp(56px, 6vw, 78px) !important;
  padding-bottom: clamp(62px, 7vw, 92px) !important;
}

body.page-services .service-card,
body.page-services .featured-card,
body.page-services .modalities-grid > div,
body.page-services .fit-card,
body.page-resources .resource-trust-grid > div,
body.page-resources .resource-library-card,
body.page-resources .resource-library-card-featured,
body.page-contact .contact-card {
  border: 1px solid var(--finish-line) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.8) !important;
  box-shadow: none !important;
}

body.page-services .card-kicker,
body.page-services .service-card > .card-kicker,
body.page-resources .resource-trust-grid > div > span,
body.page-about .about-standard-item > span {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  width: auto !important;
  min-width: 40px !important;
  max-width: max-content !important;
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 0 16px !important;
  padding: 0 10px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(22, 62, 57, 0.16) !important;
  border-radius: 999px !important;
  background: rgba(219, 229, 223, 0.74) !important;
  color: var(--finish-teal) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "system-ui", "Segoe UI", sans-serif !important;
  font-size: 0.74rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body.page-services .service-card h2,
body.page-services .service-card h3,
body.page-services .modalities-grid h3,
body.page-resources .resource-trust-grid h3,
body.page-resources .resource-library-card h3,
body.page-contact .contact-card h2,
body.page-about .about-standard-item h3 {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "system-ui", "Segoe UI", sans-serif !important;
  font-size: clamp(1.08rem, 1.18vw, 1.22rem) !important;
  font-weight: 850 !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
}

body.page-services .service-card p,
body.page-services .modalities-grid p,
body.page-resources .resource-trust-grid p,
body.page-resources .resource-library-card p,
body.page-contact .contact-card p,
body.page-about .about-standard-item p {
  color: var(--finish-muted) !important;
  font-size: 0.96rem !important;
  line-height: 1.62 !important;
}

body.page-resources .resource-trust-grid {
  width: min(100%, 980px) !important;
  margin-inline: auto !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.page-resources .resource-trust-grid > div {
  display: block !important;
  min-height: 0 !important;
  padding: 24px !important;
}

body.page-resources .resource-trust-grid h3,
body.page-resources .resource-trust-grid p {
  grid-column: auto !important;
  grid-row: auto !important;
  margin: 0 !important;
}

body.page-resources .resource-trust-grid h3 {
  margin-bottom: 8px !important;
}

body.page-resources .resource-pill-row span {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  white-space: normal !important;
}

body.page-resources .resource-library-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.page-resources .resource-library-card:has(.resource-preview-link) {
  display: grid !important;
  grid-template-columns: 144px minmax(0, 1fr) !important;
}

body.page-resources .resource-preview-link,
body.page-resources .resource-library-card-featured .resource-preview-link {
  padding: 14px 0 14px 14px !important;
}

body.page-resources .resource-preview-link img {
  min-height: 170px !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

body.page-about .about-standards-card {
  display: grid !important;
  grid-template-columns: minmax(230px, 0.68fr) minmax(0, 1.32fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  width: min(100% - 40px, 1120px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-about .about-standards-intro {
  max-width: 360px !important;
}

body.page-about .about-standards-intro p:not(.eyebrow) {
  max-width: 320px !important;
}

body.page-about .about-standards-list {
  display: grid !important;
  gap: 0 !important;
  border-top: 1px solid var(--finish-line) !important;
}

body.page-about .about-standard-item,
body.page-about .about-standard-item + .about-standard-item,
body.page-about .about-standard-item:last-child {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 24px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--finish-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-about .about-standard-item > span {
  margin: 2px 0 0 !important;
}

body.page-about .about-standard-item .text-link {
  display: inline-flex !important;
  width: fit-content !important;
  margin-top: 8px !important;
  line-height: 1.35 !important;
}

body:not(.page-home) .final-cta,
body.page-faq .final-cta,
body:not(.page-home) main > section.section.final-cta,
body.page-faq main > section.section.final-cta {
  border-top: 1px solid var(--finish-line) !important;
  border-bottom: 1px solid var(--finish-line) !important;
  background: var(--finish-page) !important;
  background-image: none !important;
  color: var(--finish-text) !important;
}

body:not(.page-home) .final-cta h2,
body:not(.page-home) .final-cta p,
body:not(.page-home) .final-cta .eyebrow,
body.page-faq .final-cta h2,
body.page-faq .final-cta p,
body.page-faq .final-cta .eyebrow {
  color: inherit !important;
}

html body #analytics-consent.analytics-consent {
  left: 50% !important;
  right: auto !important;
  bottom: 14px !important;
  width: min(100% - 32px, 720px) !important;
  max-width: 720px !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--finish-line-strong) !important;
  border-radius: 8px !important;
  background: rgba(255, 250, 241, 0.97) !important;
  color: var(--finish-text) !important;
  box-shadow: 0 10px 30px rgba(37, 30, 22, 0.1) !important;
  transform: translateX(-50%) !important;
}

html body #analytics-consent.analytics-consent .analytics-consent-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 12px 14px !important;
}

html body #analytics-consent.analytics-consent .analytics-consent-copy h2 {
  margin: 0 0 2px !important;
  color: var(--finish-text) !important;
  font-size: 0.9rem !important;
  font-weight: 850 !important;
  line-height: 1.22 !important;
}

html body #analytics-consent.analytics-consent .analytics-consent-copy p {
  max-width: 500px !important;
  margin: 0 !important;
  color: var(--finish-muted) !important;
  font-size: 0.8rem !important;
  line-height: 1.35 !important;
}

html body #analytics-consent.analytics-consent .analytics-consent-copy a {
  display: inline-flex !important;
  margin-top: 4px !important;
  color: var(--finish-teal) !important;
  font-size: 0.8rem !important;
  font-weight: 760 !important;
}

html body #analytics-consent.analytics-consent .analytics-consent-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
}

html body #analytics-consent.analytics-consent .button {
  width: auto !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  font-size: 0.8rem !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  body.page-resources .resource-trust-grid,
  body.page-resources .resource-library-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-resources .resource-library-card:has(.resource-preview-link) {
    grid-template-columns: 138px minmax(0, 1fr) !important;
  }

  body.page-about .about-standards-card {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
}

@media (max-width: 620px) {
  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body:not(.page-home) .not-found-hero h1,
  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2rem, 8.4vw, 2.72rem) !important;
    line-height: 1.1 !important;
  }

  body:not(.page-home) .section-heading h2,
  body:not(.page-home) .section-copy h2,
  body:not(.page-home) .cta-panel h2,
  body:not(.page-home) .trust-detail-copy h2,
  body:not(.page-home) .insurance-panel h2,
  body:not(.page-home) .resources-quick-panel h2,
  body.page-about .about-standards-intro h2,
  body.page-faq .faq-page .section-copy h2 {
    font-size: clamp(1.55rem, 6.6vw, 2.05rem) !important;
  }

  body.page-services .services-page,
  body.page-services .approach-modalities-section,
  body.page-resources .resources-trust-section,
  body.page-resources .resources-page,
  body.page-about .about-standards-section {
    padding-top: 44px !important;
    padding-bottom: 58px !important;
  }

  body.page-resources .resource-library-card:has(.resource-preview-link) {
    grid-template-columns: 1fr !important;
  }

  body.page-resources .resource-preview-link,
  body.page-resources .resource-library-card-featured .resource-preview-link {
    padding: 12px 12px 0 !important;
  }

  body.page-resources .resource-preview-link img {
    min-height: 0 !important;
    aspect-ratio: 1.42 / 0.8 !important;
  }

  body.page-about .about-standard-item,
  body.page-about .about-standard-item + .about-standard-item,
  body.page-about .about-standard-item:last-child {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 22px 0 !important;
  }

  html body #analytics-consent.analytics-consent {
    bottom: 10px !important;
    width: min(100% - 24px, 520px) !important;
    max-width: 520px !important;
  }

  html body #analytics-consent.analytics-consent .analytics-consent-inner {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body #analytics-consent.analytics-consent .analytics-consent-actions {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
}

/* Mobile and consent cleanup after visual QA. */
body:not(.page-home) {
  overflow-x: clip !important;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body:not(.page-home) .not-found-hero h1,
body.page-faq .faq-hero h1,
body.page-faq .faq-hero-copy h1 {
  font-size: clamp(2.34rem, 3.55vw, 3.45rem) !important;
  line-height: 1.08 !important;
}

body:not(.page-home) .section-heading h2,
body:not(.page-home) .section-copy h2,
body:not(.page-home) .cta-panel h2,
body:not(.page-home) .trust-detail-copy h2,
body:not(.page-home) .insurance-panel h2,
body:not(.page-home) .resources-quick-panel h2,
body.page-about .about-standards-intro h2,
body.page-faq .faq-page .section-copy h2 {
  font-size: clamp(1.68rem, 2.25vw, 2.2rem) !important;
}

@media (min-width: 761px) {
  html body #analytics-consent.analytics-consent {
    left: auto !important;
    right: 18px !important;
    bottom: 18px !important;
    width: 430px !important;
    max-width: calc(100vw - 36px) !important;
    transform: none !important;
  }

  html body #analytics-consent.analytics-consent .analytics-consent-inner {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body #analytics-consent.analytics-consent .analytics-consent-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  html body #analytics-consent.analytics-consent .button {
    width: 100% !important;
  }
}

@media (max-width: 620px) {
  html,
  body:not(.page-home),
  body:not(.page-home) main {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  body:not(.page-home) .site-header {
    width: calc(100% - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 10px auto 0 !important;
  }

  body:not(.page-home) .site-header .nav-wrap {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body:not(.page-home) .nav-toggle {
    position: static !important;
    display: grid !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    margin-left: auto !important;
    transform: none !important;
  }

  body:not(.page-home) .page-title .container,
  body:not(.page-home) .page-title .container.narrow,
  body:not(.page-home) .faq-hero .container,
  body:not(.page-home) .resources-hero .container,
  body:not(.page-home) .directory-hero .container,
  body:not(.page-home) .notes-title .container,
  body.page-services .services-page .container,
  body.page-services .approach-modalities-panel,
  body.page-resources .resources-trust-panel,
  body.page-resources .resources-page .container,
  body.page-about .about-standards-card {
    width: min(100% - 28px, 520px) !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
  }

  body:not(.page-home) .section-heading,
  body.page-resources .resources-trust-section .section-heading {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body:not(.page-home) .not-found-hero h1,
  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(1.95rem, 7.8vw, 2.48rem) !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere !important;
  }

  body:not(.page-home) .section-heading h2,
  body:not(.page-home) .section-copy h2,
  body:not(.page-home) .cta-panel h2,
  body:not(.page-home) .trust-detail-copy h2,
  body:not(.page-home) .insurance-panel h2,
  body:not(.page-home) .resources-quick-panel h2,
  body.page-about .about-standards-intro h2,
  body.page-faq .faq-page .section-copy h2 {
    max-width: 100% !important;
    font-size: clamp(1.45rem, 5.8vw, 1.92rem) !important;
    line-height: 1.16 !important;
    overflow-wrap: anywhere !important;
  }

  html body #analytics-consent.analytics-consent {
    left: 12px !important;
    right: 12px !important;
    bottom: 10px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
  }

  html body #analytics-consent.analytics-consent .analytics-consent-inner {
    gap: 8px !important;
    padding: 10px 12px !important;
  }

  html body #analytics-consent.analytics-consent .analytics-consent-copy h2 {
    font-size: 0.84rem !important;
  }

  html body #analytics-consent.analytics-consent .analytics-consent-copy p,
  html body #analytics-consent.analytics-consent .analytics-consent-copy a {
    font-size: 0.76rem !important;
    line-height: 1.32 !important;
  }

  html body #analytics-consent.analytics-consent .analytics-consent-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  html body #analytics-consent.analytics-consent .button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 32px !important;
    padding: 7px 6px !important;
    font-size: 0.73rem !important;
    white-space: nowrap !important;
  }
}

/* Final mobile containment and About standards correction. */
body.page-about .about-standards-list {
  grid-template-columns: 1fr !important;
}

body.page-about .about-standard-item,
body.page-about .about-standard-item + .about-standard-item,
body.page-about .about-standard-item:last-child {
  grid-template-columns: 54px minmax(0, 1fr) !important;
}

@media (max-width: 620px) {
  body:not(.page-home) .site-header {
    width: min(calc(100% - 20px), 370px) !important;
    max-width: 370px !important;
  }

  body:not(.page-home) .page-title .container,
  body:not(.page-home) .page-title .container.narrow,
  body:not(.page-home) .faq-hero .container,
  body:not(.page-home) .resources-hero .container,
  body:not(.page-home) .directory-hero .container,
  body:not(.page-home) .notes-title .container,
  body.page-services .services-page .container,
  body.page-services .approach-modalities-panel,
  body.page-resources .resources-trust-panel,
  body.page-resources .resources-page .container,
  body.page-about .about-standards-card,
  body:not(.page-home) .contact-cards {
    width: min(calc(100% - 28px), 362px) !important;
    max-width: 362px !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body:not(.page-home) .not-found-hero h1,
  body.page-faq .faq-hero h1,
  body.page-faq .faq-hero-copy h1 {
    max-width: 340px !important;
    font-size: clamp(1.86rem, 7vw, 2.18rem) !important;
    line-height: 1.13 !important;
    text-wrap: normal !important;
  }

  body:not(.page-home) .page-title p:not(.eyebrow),
  body:not(.page-home) .faq-hero p:not(.eyebrow),
  body:not(.page-home) .resources-hero p:not(.eyebrow),
  body:not(.page-home) .directory-hero p:not(.eyebrow),
  body:not(.page-home) .notes-title p:not(.eyebrow) {
    max-width: 340px !important;
  }

  body:not(.page-home) .section-heading h2,
  body:not(.page-home) .section-copy h2,
  body:not(.page-home) .cta-panel h2,
  body:not(.page-home) .trust-detail-copy h2,
  body:not(.page-home) .insurance-panel h2,
  body:not(.page-home) .resources-quick-panel h2,
  body.page-about .about-standards-intro h2,
  body.page-faq .faq-page .section-copy h2 {
    max-width: 330px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: clamp(1.42rem, 5.4vw, 1.82rem) !important;
    text-wrap: normal !important;
  }

  html body #analytics-consent.analytics-consent {
    left: 12px !important;
    right: auto !important;
    width: min(calc(100% - 24px), 366px) !important;
    max-width: 366px !important;
    transform: none !important;
  }
}

@media (max-width: 430px) {
  body:not(.page-home) .site-header {
    margin-left: 10px !important;
    margin-right: 0 !important;
  }

  body:not(.page-home) .page-title .container,
  body:not(.page-home) .page-title .container.narrow,
  body:not(.page-home) .faq-hero .container,
  body:not(.page-home) .resources-hero .container,
  body:not(.page-home) .directory-hero .container,
  body:not(.page-home) .notes-title .container,
  body.page-services .services-page .container,
  body.page-services .approach-modalities-panel,
  body.page-resources .resources-trust-panel,
  body.page-resources .resources-page .container,
  body.page-about .about-standards-card,
  body:not(.page-home) .contact-cards {
    margin-left: 14px !important;
    margin-right: 0 !important;
  }

  body:not(.page-home) .cta-row,
  body:not(.page-home) .hero-actions,
  body.page-faq .faq-hero-actions {
    width: min(100%, 340px) !important;
  }
}

@media (max-width: 560px) {
  body:not(.page-home) .site-header {
    margin-left: 10px !important;
    margin-right: 0 !important;
  }

  body:not(.page-home) .page-title .container,
  body:not(.page-home) .page-title .container.narrow,
  body:not(.page-home) .faq-hero .container,
  body:not(.page-home) .resources-hero .container,
  body:not(.page-home) .directory-hero .container,
  body:not(.page-home) .notes-title .container,
  body.page-services .services-page .container,
  body.page-services .approach-modalities-panel,
  body.page-resources .resources-trust-panel,
  body.page-resources .resources-page .container,
  body.page-about .about-standards-card,
  body:not(.page-home) .contact-cards {
    margin-left: 14px !important;
    margin-right: 0 !important;
  }

  body:not(.page-home) .cta-row,
  body:not(.page-home) .hero-actions,
  body.page-faq .faq-hero-actions {
    width: min(100%, 340px) !important;
  }
}

/* Interior page final CTA contrast */
body:not(.page-home) .final-cta,
body:not(.page-home) main > section.section.final-cta {
  background: var(--finish-page) !important;
  color: var(--finish-text) !important;
}

body:not(.page-home) .final-cta .cta-panel {
  color: var(--finish-text) !important;
}

body:not(.page-home) .final-cta .eyebrow {
  color: #9a5f49 !important;
}

body:not(.page-home) .final-cta h2,
body:not(.page-home) .final-cta .cta-panel h2,
body:not(.page-home) .final-cta p,
body:not(.page-home) .final-cta .cta-panel > p:not(.eyebrow):not(.privacy-note) {
  color: var(--finish-text) !important;
}

body:not(.page-home) .final-cta .phone-link,
body:not(.page-home) .final-cta .phone-link.inline-phone {
  color: #163e39 !important;
}

body:not(.page-home) .final-cta .button-secondary,
body:not(.page-home) .final-cta a.button-secondary {
  border-color: rgba(17, 27, 25, 0.18) !important;
  background: rgba(255, 255, 255, 0.64) !important;
  color: #163e39 !important;
}

/* No-beige interior layer */
:root {
  --interior-cream: #f6fbf8;
  --interior-cream-warm: #e5f3ef;
  --interior-cream-deep: #cfe4df;
  --interior-ink: #142321;
  --interior-muted: #526461;
  --interior-green: #123833;
  --interior-green-soft: #0f625c;
  --interior-sage: #dff4ef;
  --interior-blue: #244f87;
  --interior-clay: #c95f4f;
  --interior-line: rgba(20, 35, 33, 0.13);
  --interior-shadow: 0 24px 70px rgba(12, 48, 45, 0.13);
  --interior-shadow-soft: 0 16px 44px rgba(12, 48, 45, 0.08);
  --faq-page-bg: #f6fbf8;
  --faq-clay: #c95f4f;
  --finish-page: #e5f3ef;
  --finish-band: #dcefeb;
  --finish-text: #142321;
  --finish-clay: #c95f4f;
}

body:not(.page-home),
body:not(.page-home) main,
body:not(.page-home) .services-page,
body:not(.page-home) .faq-page,
body:not(.page-home) .resources-page,
body:not(.page-home) .contact-page,
body:not(.page-home) .section,
body:not(.page-home) .approach-section,
body:not(.page-home) .approach-modalities-section,
body:not(.page-home) .good-fit-section,
body:not(.page-home) .next-steps-section,
body:not(.page-home) .payment-section,
body:not(.page-home) .privacy-contact-section,
body:not(.page-home) .claire-note-section {
  background: #f6fbf8 !important;
}

body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .hero {
  background:
    radial-gradient(circle at 10% 0%, rgba(104, 169, 142, 0.28), transparent 32%),
    linear-gradient(135deg, #f8fffb 0%, #e5f3ef 58%, #dcefeb 100%) !important;
}

body:not(.page-home) .site-header {
  background: rgba(248, 255, 251, 0.9) !important;
  border-color: rgba(20, 35, 33, 0.12) !important;
  box-shadow: 0 18px 58px rgba(12, 48, 45, 0.11) !important;
}

body:not(.page-home) .hero-feature,
body:not(.page-home) .service-card,
body:not(.page-home) .pillar-card,
body:not(.page-home) .contact-card,
body:not(.page-home) .fit-card,
body:not(.page-home) .next-step-card,
body:not(.page-home) .faq-item,
body:not(.page-home) .insurance-panel,
body:not(.page-home) .simple-insurance-panel,
body:not(.page-home) .privacy-contact-panel,
body:not(.page-home) .claire-note-panel,
body:not(.page-home) .therapy-feel-card,
body:not(.page-home) .approach-modalities-panel,
body:not(.page-home) .modalities-grid > div,
body:not(.page-home) .resource-library-card,
body:not(.page-home) .resource-download-panel,
body:not(.page-home) .resources-quick-panel,
body:not(.page-home) .local-link-card,
body:not(.page-home) .service-summary-card,
body:not(.page-home) .service-focus-card,
body:not(.page-home) .directory-category {
  background: #ffffff !important;
  border-color: rgba(20, 35, 33, 0.12) !important;
}

body:not(.page-home) .featured-card,
body:not(.page-home) .primary-contact,
body:not(.page-home) .resource-library-card-featured,
body:not(.page-home) .faq-group-heading,
body:not(.page-home) .faq-payment .faq-group-heading,
body:not(.page-home) .faq-services .faq-group-heading,
body:not(.page-home) .faq-support .faq-group-heading {
  background: #eaf5fb !important;
}

body:not(.page-home) .eyebrow,
body:not(.page-home) .feature-label,
body:not(.page-home) .summary-label,
body:not(.page-home) .card-kicker,
body:not(.page-home) .resource-pill-row span,
body:not(.page-home) .directory-category header > span,
body:not(.page-home) .faq-icon {
  color: #c95f4f !important;
}

body:not(.page-home) .button-primary,
body:not(.page-home) .nav-cta,
body:not(.page-home) .site-nav .nav-cta,
body:not(.page-home) .nav-actions .nav-consult,
body:not(.page-home) .nav-actions .nav-schedule {
  background: #0f625c !important;
  border-color: #0f625c !important;
  color: #ffffff !important;
}

body:not(.page-home) .button-secondary {
  background: #ffffff !important;
  border-color: rgba(15, 98, 92, 0.24) !important;
  color: #0f625c !important;
}

/* Interior final specificity fixes */
body:not(.page-home) .page-title .button-primary,
body:not(.page-home) .hero .button-primary,
body:not(.page-home) main .button-primary,
body:not(.page-home) main a.button-primary,
body:not(.page-home) .site-header .nav-cta,
body:not(.page-home) .site-header .nav-actions .nav-consult,
body:not(.page-home) .site-header .nav-actions .nav-schedule {
  background: #0f625c !important;
  border-color: #0f625c !important;
  color: #ffffff !important;
}

body:not(.page-home) .page-title .button-primary:hover,
body:not(.page-home) .hero .button-primary:hover,
body:not(.page-home) main .button-primary:hover,
body:not(.page-home) main a.button-primary:hover,
body:not(.page-home) .site-header .nav-cta:hover,
body:not(.page-home) .site-header .nav-actions .nav-consult:hover,
body:not(.page-home) .site-header .nav-actions .nav-schedule:hover {
  background: #0a4f4a !important;
  border-color: #0a4f4a !important;
}

body:not(.page-home) .page-title .button-secondary,
body:not(.page-home) .hero .button-secondary,
body:not(.page-home) main .button-secondary,
body:not(.page-home) main a.button-secondary {
  background: #ffffff !important;
  border-color: rgba(15, 98, 92, 0.24) !important;
  color: #0f625c !important;
}

body:not(.page-home) .analytics-consent {
  background: rgba(248, 255, 251, 0.96) !important;
  border-color: rgba(20, 35, 33, 0.14) !important;
  color: #142321 !important;
  box-shadow: 0 20px 52px rgba(12, 48, 45, 0.16) !important;
}

body:not(.page-home) .analytics-consent-copy h2 {
  color: #142321 !important;
}

body:not(.page-home) .analytics-consent-copy p {
  color: rgba(20, 35, 33, 0.72) !important;
}

body:not(.page-home) .analytics-consent-copy a {
  color: #0f625c !important;
  font-weight: 850 !important;
}

body:not(.page-home) .analytics-consent .button-primary {
  background: #0f625c !important;
  border-color: #0f625c !important;
  color: #ffffff !important;
}

body:not(.page-home) .analytics-consent .button-secondary {
  background: #ffffff !important;
  border-color: rgba(15, 98, 92, 0.22) !important;
  color: #0f625c !important;
}

html body:not(.page-home) #analytics-consent.analytics-consent {
  background: rgba(248, 255, 251, 0.96) !important;
  border-color: rgba(20, 35, 33, 0.14) !important;
  color: #142321 !important;
  box-shadow: 0 20px 52px rgba(12, 48, 45, 0.16) !important;
}

html body:not(.page-home) #analytics-consent.analytics-consent .analytics-consent-copy h2 {
  color: #142321 !important;
}

html body:not(.page-home) #analytics-consent.analytics-consent .analytics-consent-copy p {
  color: rgba(20, 35, 33, 0.72) !important;
}

html body:not(.page-home) #analytics-consent.analytics-consent .analytics-consent-copy a {
  color: #0f625c !important;
}

html body:not(.page-home) #analytics-consent.analytics-consent .analytics-consent-actions .button.button-primary {
  background: #0f625c !important;
  border-color: #0f625c !important;
  color: #ffffff !important;
}

html body:not(.page-home) #analytics-consent.analytics-consent .analytics-consent-actions .button.button-secondary {
  background: #ffffff !important;
  border-color: rgba(15, 98, 92, 0.22) !important;
  color: #0f625c !important;
}

body:not(.page-home) .nav-toggle {
  background: rgba(248, 255, 251, 0.78) !important;
  border-color: rgba(20, 35, 33, 0.14) !important;
}

/* Site-wide mountain/teal experience layer */
body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .hero,
body.page-faq .faq-hero {
  background:
    linear-gradient(90deg, rgba(248, 255, 251, 0.98) 0%, rgba(248, 255, 251, 0.90) 40%, rgba(229, 243, 239, 0.52) 62%, rgba(7, 29, 27, 0.34) 100%),
    linear-gradient(180deg, rgba(248, 255, 251, 0.78), rgba(248, 255, 251, 0.28) 56%, rgba(7, 29, 27, 0.28)),
    url("/assets/home-mountain-trail-elevate.jpg") center right / cover no-repeat !important;
  border-bottom: 1px solid rgba(20, 35, 33, 0.12) !important;
}

body:not(.page-home) .page-title .container,
body:not(.page-home) .faq-hero .container,
body:not(.page-home) .resources-hero .container,
body:not(.page-home) .directory-hero .container,
body:not(.page-home) .notes-title .container,
body.page-faq .faq-hero-grid {
  position: relative !important;
  z-index: 1 !important;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body.page-faq .faq-hero-copy h1 {
  color: #142321 !important;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow),
body.page-faq .faq-hero-copy p:not(.eyebrow) {
  color: rgba(20, 35, 33, 0.72) !important;
}

body:not(.page-home) .section:nth-of-type(even),
body:not(.page-home) .services-preview,
body:not(.page-home) .pillars-section,
body:not(.page-home) .therapy-feel-section,
body:not(.page-home) .privacy-contact-section {
  background: #e5f3ef !important;
}

body:not(.page-home) .section:nth-of-type(odd),
body:not(.page-home) .services-page,
body:not(.page-home) .faq-page,
body:not(.page-home) .resources-page,
body:not(.page-home) .contact-page,
body:not(.page-home) .approach-section,
body:not(.page-home) .good-fit-section,
body:not(.page-home) .next-steps-section,
body:not(.page-home) .payment-section,
body:not(.page-home) .claire-note-section {
  background: #f6fbf8 !important;
}

body:not(.page-home) .service-card,
body:not(.page-home) .pillar-card,
body:not(.page-home) .contact-card,
body:not(.page-home) .fit-card,
body:not(.page-home) .next-step-card,
body:not(.page-home) .faq-item,
body:not(.page-home) .insurance-plan-card,
body:not(.page-home) .modalities-grid > div,
body:not(.page-home) .trust-detail-grid > div,
body:not(.page-home) .resource-trust-grid > div,
body:not(.page-home) .contact-trust-grid > article,
body:not(.page-home) .local-link-card,
body:not(.page-home) .resource-library-card,
body:not(.page-home) .service-summary-card,
body:not(.page-home) .service-focus-card,
body:not(.page-home) .directory-category {
  border-radius: 8px !important;
  border-color: rgba(20, 35, 33, 0.12) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 18px 48px rgba(12, 48, 45, 0.08) !important;
}

body:not(.page-home) .featured-card,
body:not(.page-home) .primary-contact,
body:not(.page-home) .resource-library-card-featured,
body:not(.page-home) .faq-group-heading,
body:not(.page-home) .faq-payment .faq-group-heading,
body:not(.page-home) .faq-services .faq-group-heading,
body:not(.page-home) .faq-support .faq-group-heading {
  background: #eaf5fb !important;
}

body:not(.page-home) .final-cta,
body:not(.page-home) main > section.section.final-cta {
  background:
    radial-gradient(circle at 88% 4%, rgba(201, 95, 79, 0.22), transparent 24%),
    linear-gradient(135deg, #071d1b 0%, #0f625c 100%) !important;
  color: #f8fffb !important;
}

body:not(.page-home) .final-cta h2,
body:not(.page-home) .final-cta .cta-panel h2 {
  color: #f8fffb !important;
}

body:not(.page-home) .final-cta p,
body:not(.page-home) .final-cta .cta-panel > p:not(.eyebrow):not(.privacy-note) {
  color: rgba(248, 255, 251, 0.76) !important;
}

body:not(.page-home) .final-cta .eyebrow {
  color: rgba(248, 255, 251, 0.68) !important;
}

body:not(.page-home) .final-cta .phone-link,
body:not(.page-home) .final-cta .phone-link.inline-phone {
  color: #f8fffb !important;
}

body:not(.page-home) .final-cta .button-primary,
body:not(.page-home) .final-cta a.button-primary {
  background: #f8fffb !important;
  border-color: #f8fffb !important;
  color: #0f625c !important;
}

body:not(.page-home) .final-cta .button-secondary,
body:not(.page-home) .final-cta a.button-secondary {
  background: rgba(248, 255, 251, 0.08) !important;
  border-color: rgba(248, 255, 251, 0.30) !important;
  color: #f8fffb !important;
}

@media (max-width: 760px) {
  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title,
  body:not(.page-home) .hero,
  body.page-faq .faq-hero {
    background:
      linear-gradient(180deg, rgba(248, 255, 251, 0.96) 0%, rgba(248, 255, 251, 0.84) 48%, rgba(7, 29, 27, 0.28) 100%),
      url("/assets/home-mountain-trail-elevate.jpg") center right / cover no-repeat !important;
  }
}

/* Deep QA rhythm pass for interior pages */
body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .hero,
body.page-faq .faq-hero {
  padding-top: clamp(118px, 10vw, 148px) !important;
  padding-bottom: clamp(58px, 6vw, 78px) !important;
}

body:not(.page-home) .page-title h1,
body:not(.page-home) .faq-hero h1,
body:not(.page-home) .resources-hero h1,
body:not(.page-home) .directory-hero h1,
body:not(.page-home) .notes-title h1,
body.page-faq .faq-hero-copy h1 {
  font-size: clamp(2.55rem, 3.75vw, 4.2rem) !important;
  line-height: 1.08 !important;
  max-width: 760px !important;
}

body:not(.page-home) .page-title p:not(.eyebrow),
body:not(.page-home) .faq-hero p:not(.eyebrow),
body:not(.page-home) .resources-hero p:not(.eyebrow),
body:not(.page-home) .directory-hero p:not(.eyebrow),
body:not(.page-home) .notes-title p:not(.eyebrow),
body.page-faq .faq-hero-copy p:not(.eyebrow) {
  font-size: clamp(1rem, 1.15vw, 1.12rem) !important;
  line-height: 1.66 !important;
  max-width: 660px !important;
}

body:not(.page-home) .section {
  padding-top: clamp(58px, 6.4vw, 82px) !important;
  padding-bottom: clamp(58px, 6.4vw, 82px) !important;
}

body:not(.page-home) .section-heading {
  margin-bottom: clamp(24px, 3vw, 34px) !important;
}

body:not(.page-home) .section-heading h2,
body:not(.page-home) .section-copy h2,
body:not(.page-home) .payment-panel h2,
body:not(.page-home) .privacy-contact-panel h2,
body:not(.page-home) .claire-note-panel h2,
body:not(.page-home) .final-cta h2 {
  font-size: clamp(2rem, 3.4vw, 3.45rem) !important;
  line-height: 1.12 !important;
}

body:not(.page-home) .service-card,
body:not(.page-home) .pillar-card,
body:not(.page-home) .contact-card,
body:not(.page-home) .fit-card,
body:not(.page-home) .next-step-card,
body:not(.page-home) .resource-library-card,
body:not(.page-home) .service-summary-card,
body:not(.page-home) .service-focus-card,
body:not(.page-home) .directory-category {
  padding: clamp(22px, 2.6vw, 30px) !important;
}

body:not(.page-home) .trust-strip {
  margin-top: 0 !important;
  padding: 24px 0 !important;
}

body:not(.page-home) .trust-grid {
  gap: 18px !important;
}

@media (max-width: 760px) {
  body:not(.page-home) .page-title,
  body:not(.page-home) .faq-hero,
  body:not(.page-home) .local-hero,
  body:not(.page-home) .resources-hero,
  body:not(.page-home) .directory-hero,
  body:not(.page-home) .notes-title,
  body:not(.page-home) .hero,
  body.page-faq .faq-hero {
    padding-top: 112px !important;
    padding-bottom: 48px !important;
  }

  body:not(.page-home) .page-title h1,
  body:not(.page-home) .faq-hero h1,
  body:not(.page-home) .resources-hero h1,
  body:not(.page-home) .directory-hero h1,
  body:not(.page-home) .notes-title h1,
  body.page-faq .faq-hero-copy h1 {
    font-size: clamp(2.15rem, 9.2vw, 3rem) !important;
    line-height: 1.1 !important;
  }

  body:not(.page-home) .page-title p:not(.eyebrow),
  body:not(.page-home) .faq-hero p:not(.eyebrow),
  body:not(.page-home) .resources-hero p:not(.eyebrow),
  body:not(.page-home) .directory-hero p:not(.eyebrow),
  body:not(.page-home) .notes-title p:not(.eyebrow),
  body.page-faq .faq-hero-copy p:not(.eyebrow) {
    font-size: 0.98rem !important;
    line-height: 1.62 !important;
  }

  body:not(.page-home) .section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body:not(.page-home) .section-heading h2,
  body:not(.page-home) .section-copy h2,
  body:not(.page-home) .payment-panel h2,
  body:not(.page-home) .privacy-contact-panel h2,
  body:not(.page-home) .claire-note-panel h2,
  body:not(.page-home) .final-cta h2 {
    font-size: clamp(1.85rem, 7.8vw, 2.55rem) !important;
    line-height: 1.12 !important;
  }

  body:not(.page-home) .trust-strip {
    padding: 18px 0 !important;
  }

  body:not(.page-home) .trust-grid {
    gap: 10px !important;
    padding: 0 !important;
  }

  body:not(.page-home) .trust-grid div {
    min-height: 0 !important;
    padding: 12px 0 12px 14px !important;
  }

  body:not(.page-home) .trust-grid strong {
    font-size: 0.94rem !important;
    line-height: 1.25 !important;
  }

  body:not(.page-home) .trust-grid span {
    font-size: 0.88rem !important;
    line-height: 1.4 !important;
  }
}

/* Corrective QA pass final cascade: readable accents, roomier cards, explicit dark sections */
:root {
  --interior-clay-readable: #8b4f42;
  --interior-dark: #102722;
  --interior-dark-2: #193f39;
  --interior-light-text: #fffdf8;
}

body:not(.page-home) .eyebrow,
body:not(.page-home) .feature-label,
body:not(.page-home) .summary-label,
body:not(.page-home) .card-kicker,
body:not(.page-home) .resource-pill-row span,
body:not(.page-home) .directory-category header > span,
body:not(.page-home) .faq-icon,
body:not(.page-home) .page-title .eyebrow,
body:not(.page-home) .faq-hero .eyebrow,
body:not(.page-home) .resources-hero .eyebrow,
body:not(.page-home) .directory-hero .eyebrow,
body:not(.page-home) .notes-title .eyebrow,
body.page-faq .faq-hero .eyebrow,
body.page-faq .faq-quick-card .eyebrow,
body.page-faq .faq-page .section-copy .eyebrow {
  color: var(--interior-clay-readable) !important;
}

body:not(.page-home) .summary-label,
body:not(.page-home) .card-kicker,
body:not(.page-home) .resource-pill-row span {
  background: #eef3ef !important;
  border-color: rgba(29, 41, 38, 0.14) !important;
}

body:not(.page-home) .service-card,
body:not(.page-home) .pillar-card,
body:not(.page-home) .contact-card,
body:not(.page-home) .fit-card,
body:not(.page-home) .next-step-card,
body:not(.page-home) .resource-library-card,
body:not(.page-home) .service-summary-card,
body:not(.page-home) .service-focus-card,
body:not(.page-home) .local-link-card,
body:not(.page-home) .directory-category,
body:not(.page-home) .faq-item {
  padding: clamp(28px, 3vw, 36px) !important;
  min-height: 168px !important;
  overflow: visible !important;
}

body:not(.page-home) .faq-item {
  min-height: 0 !important;
}

body:not(.page-home) .service-card p,
body:not(.page-home) .fit-card p,
body:not(.page-home) .next-step-card p,
body:not(.page-home) .contact-card p,
body:not(.page-home) .resource-library-card p,
body:not(.page-home) .service-summary-card p,
body:not(.page-home) .service-focus-card p,
body:not(.page-home) .local-link-card p {
  min-height: 0 !important;
  line-height: 1.68 !important;
}

body:not(.page-home) .cards-grid,
body:not(.page-home) .fit-grid,
body:not(.page-home) .next-steps-grid,
body:not(.page-home) .local-link-grid,
body:not(.page-home) .contact-cards {
  gap: clamp(20px, 2.6vw, 30px) !important;
  align-items: stretch !important;
}

body:not(.page-home) .final-cta {
  background:
    linear-gradient(135deg, rgba(228, 183, 154, 0.15), transparent 42%),
    linear-gradient(180deg, var(--interior-dark-2), var(--interior-dark)),
    var(--interior-dark) !important;
  color: var(--interior-light-text) !important;
}

body:not(.page-home) .final-cta::before,
body:not(.page-home) .final-cta::after {
  opacity: 0.18 !important;
}

body:not(.page-home) .final-cta h2,
body:not(.page-home) .final-cta .phone-link,
body:not(.page-home) .final-cta .inline-phone {
  color: var(--interior-light-text) !important;
}

body:not(.page-home) .final-cta .eyebrow {
  color: #e4b79a !important;
}

body:not(.page-home) .final-cta p,
body:not(.page-home) .final-cta .privacy-note {
  color: rgba(255, 253, 248, 0.86) !important;
}

body:not(.page-home) .site-footer {
  background-color: #0d211d !important;
  color: var(--interior-light-text) !important;
}

body:not(.page-home) .site-footer p,
body:not(.page-home) .site-footer a,
body:not(.page-home) .site-footer h2,
body:not(.page-home) .site-footer .footer-link-button {
  color: rgba(255, 253, 248, 0.88) !important;
}

body:not(.page-home) .site-footer .footer-name,
body:not(.page-home) .site-footer h2 {
  color: var(--interior-light-text) !important;
}

@media (max-width: 760px) {
  body:not(.page-home) .service-card,
  body:not(.page-home) .pillar-card,
  body:not(.page-home) .contact-card,
  body:not(.page-home) .fit-card,
  body:not(.page-home) .next-step-card,
  body:not(.page-home) .resource-library-card,
  body:not(.page-home) .service-summary-card,
  body:not(.page-home) .service-focus-card,
  body:not(.page-home) .local-link-card,
  body:not(.page-home) .directory-category {
    min-height: 0 !important;
    padding: 26px 22px !important;
  }
}

/* Corrective QA pass: content must never render blurred or faded while readable */
body:not(.page-home) .reveal,
body:not(.page-home) .reveal-up,
body:not(.page-home) .reveal-card,
body:not(.page-home) .reveal-step,
body:not(.page-home) .reveal-photo,
body:not(.page-home).motion-ready .reveal,
body:not(.page-home).motion-ready .reveal-up,
body:not(.page-home).motion-ready .reveal-card,
body:not(.page-home).motion-ready .reveal-step,
body:not(.page-home).motion-ready .reveal-photo {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease !important;
}

/* Compact footer across all interior pages. */
body:not(.page-home) .site-footer {
  padding: 28px 0 20px !important;
}

body:not(.page-home) .site-footer .footer-shell {
  display: grid !important;
  grid-template-columns: minmax(230px, 0.9fr) minmax(360px, 1.1fr) !important;
  gap: clamp(18px, 3vw, 34px) !important;
  align-items: start !important;
}

body:not(.page-home) .site-footer .footer-intro {
  display: grid !important;
  gap: 5px !important;
}

body:not(.page-home) .site-footer .footer-name {
  margin: 0 !important;
  font-size: 0.96rem !important;
  line-height: 1.2 !important;
}

body:not(.page-home) .site-footer .footer-intro p:not(.footer-name),
body:not(.page-home) .site-footer .footer-phone,
body:not(.page-home) .site-footer .footer-group-links a,
body:not(.page-home) .site-footer .footer-link-button,
body:not(.page-home) .site-footer .footer-legal a {
  font-size: 0.84rem !important;
  line-height: 1.38 !important;
}

body:not(.page-home) .site-footer .footer-intro p:not(.footer-name) {
  max-width: 390px !important;
  margin: 0 !important;
}

body:not(.page-home) .site-footer .footer-navigation {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:not(.page-home) .site-footer .footer-group h2 {
  margin: 0 0 5px !important;
  padding-bottom: 5px !important;
  font-size: 0.66rem !important;
  line-height: 1.2 !important;
}

body:not(.page-home) .site-footer .footer-group-links {
  display: grid !important;
  gap: 3px !important;
}

body:not(.page-home) .site-footer .footer-utility {
  margin-top: 14px !important;
  padding-top: 10px !important;
  display: flex !important;
  gap: 12px !important;
}

body:not(.page-home) .site-footer .footer-utility p {
  margin: 0 !important;
  font-size: 0.8rem !important;
  line-height: 1.35 !important;
}

body:not(.page-home) .site-footer .footer-legal {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

@media (max-width: 820px) {
  body:not(.page-home) .site-footer {
    padding: 24px 0 18px !important;
  }

  body:not(.page-home) .site-footer .footer-shell,
  body:not(.page-home) .site-footer .footer-navigation,
  body:not(.page-home) .site-footer .footer-utility {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body:not(.page-home) .site-footer .footer-utility {
    display: grid !important;
  }
}

/* Ultra-compact footer across all interior pages. */
body:not(.page-home) .site-footer {
  padding: 12px 0 10px !important;
}

body:not(.page-home) .site-footer .footer-shell {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
}

body:not(.page-home) .site-footer .footer-intro {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 12px !important;
  align-items: baseline !important;
  min-width: 0 !important;
}

body:not(.page-home) .site-footer .footer-intro p:not(.footer-name) {
  display: none !important;
}

body:not(.page-home) .site-footer .footer-name,
body:not(.page-home) .site-footer .footer-phone {
  margin: 0 !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
}

body:not(.page-home) .site-footer .footer-navigation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 18px !important;
  justify-content: flex-end !important;
  align-items: baseline !important;
}

body:not(.page-home) .site-footer .footer-group h2 {
  display: none !important;
}

body:not(.page-home) .site-footer .footer-group-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px 12px !important;
  align-items: center !important;
}

body:not(.page-home) .site-footer .footer-group-links a,
body:not(.page-home) .site-footer .footer-link-button,
body:not(.page-home) .site-footer .footer-legal a {
  font-size: 0.78rem !important;
  line-height: 1.25 !important;
}

body:not(.page-home) .site-footer .footer-utility {
  margin-top: 8px !important;
  padding-top: 8px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
}

body:not(.page-home) .site-footer .footer-utility p {
  font-size: 0.74rem !important;
  line-height: 1.25 !important;
}

@media (max-width: 820px) {
  body:not(.page-home) .site-footer .footer-shell,
  body:not(.page-home) .site-footer .footer-navigation,
  body:not(.page-home) .site-footer .footer-utility {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: start !important;
    gap: 10px !important;
  }
}

/* Interior hero image motion: page-specific art, same slow premium push-in. */
body:not(.page-home) {
  --interior-hero-image: url("/assets/utah-services-banner.webp");
  --interior-hero-position: 70% 50%;
  --interior-hero-opacity: 0.64;
  --interior-hero-start-scale: 1.02;
  --interior-hero-end-scale: 1.09;
}

body.page-about {
  --interior-hero-image: url("/assets/hero-about-generated.jpg");
  --interior-hero-position: 78% 43%;
  --interior-hero-opacity: 0.62;
}

body.page-services {
  --interior-hero-image: url("/assets/hero-services-generated.jpg");
  --interior-hero-position: 72% 48%;
  --interior-hero-opacity: 0.68;
}

body.page-faq {
  --interior-hero-image: url("/assets/hero-faq-generated.jpg");
  --interior-hero-position: 74% 52%;
  --interior-hero-opacity: 0.62;
}

body.page-contact {
  --interior-hero-image: url("/assets/hero-contact-generated.jpg");
  --interior-hero-position: 72% 50%;
  --interior-hero-opacity: 0.62;
}

body.page-resources {
  --interior-hero-image: url("/assets/hero-resources-generated.jpg");
  --interior-hero-position: 82% 38%;
  --interior-hero-opacity: 0.56;
}

body.page-resource-directory {
  --interior-hero-image: url("/assets/hero-directory-generated.jpg");
  --interior-hero-position: 84% 40%;
  --interior-hero-opacity: 0.56;
}

body.page-elevate-one {
  --interior-hero-image: url("/assets/hero-elevate-one-generated.jpg");
  --interior-hero-position: 76% 50%;
  --interior-hero-opacity: 0.6;
}

body.page-privacy {
  --interior-hero-image: url("/assets/hero-privacy-generated.jpg");
  --interior-hero-position: 82% 46%;
  --interior-hero-opacity: 0.48;
  --interior-hero-start-scale: 1;
  --interior-hero-end-scale: 1.06;
}

body.page-404 {
  --interior-hero-image: url("/assets/hero-404-generated.jpg");
  --interior-hero-position: 70% 46%;
  --interior-hero-opacity: 0.66;
}

body.page-local-anxiety-depression {
  --interior-hero-image: url("/assets/hero-anxiety-generated.jpg");
  --interior-hero-position: 72% 48%;
  --interior-hero-opacity: 0.62;
}

body.page-local-emdr {
  --interior-hero-image: url("/assets/hero-emdr-generated.jpg");
  --interior-hero-position: 75% 50%;
  --interior-hero-opacity: 0.62;
}

body.page-local-couples {
  --interior-hero-image: url("/assets/hero-couples-generated.jpg");
  --interior-hero-position: 62% 42%;
  --interior-hero-opacity: 0.62;
}

body.page-local-teen {
  --interior-hero-image: url("/assets/hero-teen-generated.jpg");
  --interior-hero-position: 80% 36%;
  --interior-hero-opacity: 0.58;
}

body.page-local-lehi {
  --interior-hero-image: url("/assets/hero-lehi-generated.jpg");
  --interior-hero-position: 68% 56%;
  --interior-hero-opacity: 0.62;
}

body.page-local-saratoga {
  --interior-hero-image: url("/assets/hero-saratoga-generated.jpg");
  --interior-hero-position: 72% 46%;
  --interior-hero-opacity: 0.66;
}

body.page-local-eagle-mountain {
  --interior-hero-image: url("/assets/hero-eagle-mountain-generated.jpg");
  --interior-hero-position: 78% 54%;
  --interior-hero-opacity: 0.66;
}

body:not(.page-home) .page-title,
body:not(.page-home) .faq-hero,
body:not(.page-home) .local-hero,
body:not(.page-home) .resources-hero,
body:not(.page-home) .directory-hero,
body:not(.page-home) .notes-title,
body:not(.page-home) .not-found-hero,
body.page-faq .faq-hero {
  isolation: isolate !important;
  background:
    linear-gradient(90deg, rgba(246, 251, 248, 0.98) 0%, rgba(246, 251, 248, 0.9) 31%, rgba(246, 251, 248, 0.42) 58%, rgba(246, 251, 248, 0.08) 100%),
    var(--interior-hero-image) var(--interior-hero-position) / cover no-repeat !important;
}

body:not(.page-home) .page-title::after,
body:not(.page-home) .faq-hero::after,
body:not(.page-home) .local-hero::after,
body:not(.page-home) .resources-hero::after,
body:not(.page-home) .directory-hero::after,
body:not(.page-home) .notes-title::after,
body:not(.page-home) .not-found-hero::after,
body.page-faq .faq-hero::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 0 0 auto !important;
  width: 100% !important;
  z-index: 0 !important;
  background-image: var(--interior-hero-image) !important;
  background-position: var(--interior-hero-position) !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  opacity: 0.24 !important;
  transform: scale(var(--interior-hero-start-scale)) translate3d(0, 0, 0);
  transform-origin: 72% 48%;
  filter: saturate(0.98) contrast(1.06);
  will-change: transform;
  animation: none !important;
  pointer-events: none;
}

body:not(.page-home) .page-title::before,
body:not(.page-home) .faq-hero::before,
body:not(.page-home) .local-hero::before,
body:not(.page-home) .resources-hero::before,
body:not(.page-home) .directory-hero::before,
body:not(.page-home) .notes-title::before,
body:not(.page-home) .not-found-hero::before,
body.page-faq .faq-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(246, 251, 248, 0.97) 0%, rgba(246, 251, 248, 0.82) 35%, rgba(246, 251, 248, 0.2) 70%, rgba(246, 251, 248, 0) 100%),
    linear-gradient(180deg, rgba(246, 251, 248, 0.14) 0%, rgba(246, 251, 248, 0) 62%, rgba(15, 98, 92, 0.14) 100%) !important;
  pointer-events: none;
}

body:not(.page-home) .page-title .container,
body:not(.page-home) .faq-hero .container,
body:not(.page-home) .resources-hero .container,
body:not(.page-home) .directory-hero .container,
body:not(.page-home) .notes-title .container,
body:not(.page-home) .local-hero .container,
body:not(.page-home) .not-found-hero .container {
  position: relative !important;
  z-index: 2 !important;
}

@keyframes interiorHeroPush {
  to {
    transform: scale(var(--interior-hero-end-scale)) translate3d(-0.8%, -0.6%, 0);
  }
}

@media (max-width: 760px) {
  body:not(.page-home) {
    --interior-hero-opacity: 0.42;
    --interior-hero-start-scale: 1.03;
    --interior-hero-end-scale: 1.08;
  }

  body:not(.page-home) .page-title::before,
  body:not(.page-home) .faq-hero::before,
  body:not(.page-home) .local-hero::before,
  body:not(.page-home) .resources-hero::before,
  body:not(.page-home) .directory-hero::before,
  body:not(.page-home) .notes-title::before,
  body:not(.page-home) .not-found-hero::before,
  body.page-faq .faq-hero::before {
    background:
      linear-gradient(180deg, rgba(246, 251, 248, 0.98) 0%, rgba(246, 251, 248, 0.9) 62%, rgba(246, 251, 248, 0.7) 100%) !important;
  }

  body:not(.page-home) .page-title::after,
  body:not(.page-home) .faq-hero::after,
  body:not(.page-home) .local-hero::after,
  body:not(.page-home) .resources-hero::after,
  body:not(.page-home) .directory-hero::after,
  body:not(.page-home) .notes-title::after,
  body:not(.page-home) .not-found-hero::after,
  body.page-faq .faq-hero::after {
    inset: 0 !important;
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.page-home) .page-title::after,
  body:not(.page-home) .faq-hero::after,
  body:not(.page-home) .local-hero::after,
  body:not(.page-home) .resources-hero::after,
  body:not(.page-home) .directory-hero::after,
  body:not(.page-home) .notes-title::after,
  body:not(.page-home) .not-found-hero::after,
  body.page-faq .faq-hero::after {
    animation: none !important;
    transform: scale(1.055) translate3d(0, 0, 0) !important;
  }
}

/* Direct generated hero art: keep the image on the hero itself so it is visibly different. */
body:not(.page-home) .page-title::after,
body:not(.page-home) .faq-hero::after,
body:not(.page-home) .local-hero::after,
body:not(.page-home) .resources-hero::after,
body:not(.page-home) .directory-hero::after,
body:not(.page-home) .notes-title::after,
body:not(.page-home) .not-found-hero::after,
body.page-faq .faq-hero::after {
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

body:not(.page-home) .hero-photo-bg {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: var(--interior-hero-position, center) !important;
  opacity: 0.84 !important;
  filter: saturate(1.02) contrast(1.04) !important;
  transform: scale(var(--interior-hero-start-scale, 1.02)) translate3d(0, 0, 0) !important;
  transform-origin: 72% 48% !important;
  animation: interiorHeroPush 10s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  pointer-events: none !important;
}

body:not(.page-home) .page-title::before,
body:not(.page-home) .faq-hero::before,
body:not(.page-home) .local-hero::before,
body:not(.page-home) .resources-hero::before,
body:not(.page-home) .directory-hero::before,
body:not(.page-home) .notes-title::before,
body:not(.page-home) .not-found-hero::before,
body.page-faq .faq-hero::before {
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(246, 251, 248, 0.98) 0%, rgba(246, 251, 248, 0.9) 31%, rgba(246, 251, 248, 0.34) 62%, rgba(246, 251, 248, 0.03) 100%),
    linear-gradient(180deg, rgba(246, 251, 248, 0.08) 0%, rgba(246, 251, 248, 0) 62%, rgba(15, 98, 92, 0.1) 100%) !important;
}

@media (max-width: 760px) {
  body:not(.page-home) .hero-photo-bg {
    opacity: 0.48 !important;
  }
}
