/* Homepage — marketing token aliases, hero, and section utilities */

:root {
  /* Full-page canvas below the hero (Figma: pale gray / seafoam) */
  --color-homepage-canvas: #f5f6f5;
  --leaf-typography-font-family-display: Inter, ui-sans-serif, system-ui, sans-serif;
  --leaf-typography-font-family-body: Inter, ui-sans-serif, system-ui, sans-serif;
  --leaf-typography-font-size-body-xlarge: 1.25rem;
  --leaf-typography-line-height-body-xlarge: 1.333333;
  --leaf-typography-letter-spacing-body-xlarge: 0;
  --leaf-typography-letter-spacing-display-large: -0.015em;
  --leaf-spacing-component-button-padding-vertical-medium: 0.75rem;
  --leaf-spacing-component-button-padding-horizontal-medium: 1.5rem;
  --leaf-spacing-semantic-spacing-4: 0.25rem;
  --leaf-spacing-semantic-spacing-8: 0.5rem;
  --leaf-spacing-semantic-spacing-16: 1rem;
  --color-content-link: #035c67;
  --color-content-subtle: #6c6c6c;
  --color-accent-bg-medium-mint: #008f83;
  /* Trust & safety (Figma 3355:17526) */
  --color-content-default: #2d2d2d;
  --color-trust-safety-stat-bg: #eaf4f6;
  --color-trust-safety-stat-border: rgba(3, 92, 103, 0.15);
  --color-trust-safety-card-border: #d5d5d5;
  --color-trust-safety-quote-on-banner: #ffffff;
  /* Footer (Figma 3355:17648 — color/footer/bg-secondary, color/content/link, etc.) */
  --color-footer-bg: #00363d;
  --color-footer-leaf: #3effc0;
  --color-footer-leaf-hover: #b8fff0;
  --color-footer-heading: #ffffff;
  --color-footer-muted: rgba(255, 255, 255, 0.72);
  --color-footer-copyright: rgba(255, 255, 255, 0.55);
  --color-footer-rule: #D5D5D5;
  --shadow-container-spread: 0;
  /* Reviews band (landing) — stripe + field; field matches footer for seamless edge */
  --color-reviews-stripe-bg: #0f1a1c;
  --color-reviews-field-bg: #00363d;
  --color-reviews-plus-line: rgba(62, 255, 192, 0.35);
  --color-reviews-eyebrow: rgba(248, 250, 252, 0.72);
  --color-reviews-heading-on-stripe: #f8fafc;
  --color-reviews-read-link: #5eead4;
  --color-reviews-read-link-hover: #99f6e4;
  --color-reviews-card-bg: #ffffff;
  --color-reviews-quote-text: #374151;
  --color-reviews-stat-caption: #64748b;
  --color-reviews-cite: #2bb389;
  --color-reviews-cta-bg: #2bb389;
  --color-reviews-cta-bg-hover: #3dca9c;
  --color-reviews-portrait-bg: #b8e4ef;
  /* Cost section (Figma 3355:17483) */
  --color-cost-insurance-header-bg: #eaf4f6;
  --color-cost-oop-header-bg: #edebe7;
  --color-cost-card-border-accent: rgba(3, 92, 103, 0.1);
  --color-cost-border-muted: #d5d5d5;
  --shadow-cost-card: 0 6px 18.9px rgba(0, 0, 0, 0.08);
  --color-cost-pill-text: #008f83;
  --color-cost-pill-border: rgba(3, 92, 103, 0.12);
  /* Services (Figma 3355:17432) — color/bg/subtle */
  --color-services-section-bg: #f6f5f3;
  --color-services-title: var(--color-content-link);
  /* Single shadow on photo card (Figma parent-img 3355:17442) — apply once, not on img + wrapper */
  --shadow-services-photo: 0 4px 47px rgba(0, 0, 0, 0.2);
  /* Link + CTA arrow icon (Figma Link, Underline=false, Icon=CTA) — shadow on circle only */
  --shadow-link-cta-icon: 0 4px 12px rgba(3, 46, 52, 0.18);
}

html {
  font-family: var(--leaf-typography-font-family-body);
}

/* Homepage hero — text + CTAs; full-bleed JPG per breakpoint (Figma 3355:17398 / 3355:19545 / 3355:18044) */

.homepage-hero {
  isolation: isolate;
  min-height: 100vh !important;
}

.homepage-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center bottom;
  background-image: url("../public/assets/Background Image_Mobile.jpg");
}

@media (min-width: 768px) {
  .homepage-hero::before {
    background-image: url("../public/assets/Background Image_Tablet.jpg");
    background-position: right 15vw;
    background-size: contain;
  }
}

@media (min-width: 1024px) {
  .homepage-hero::before {
    background-image: url("../public/assets/Background Image_Desktop.jpg");
    background-position: right center;
    background-size: contain;
  }
}

@media (min-width: 1440px) {
  .homepage-hero::before {
    background-position: center bottom;
    background-size: contain;
  }
}

/* Doctors standing by chip */

.hero-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  padding: 0.5rem 0.75rem 0.5rem 0.5rem;
  border-radius: 100px;
  border: 1px solid rgba(62, 141, 131, 0.3);
  background: hsl(var(--leaf-color-bg-default));
  width: -moz-fit-content;
  width: fit-content;
}

.hero-chip__text {
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.25px;
  color: var(--color-accent-bg-medium-mint);
}

/* Hero heading — Figma 3355:17409 / design-docs ladder (40→56→72, lh 56→64→80), Inter display */

.hero-heading {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  color: var(--color-content-link);
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 3.5rem;
  letter-spacing: -0.0625rem;
  max-width: 100%;
}

@media (min-width: 768px) {
  .hero-heading {
    font-size: 3.5rem;
    line-height: 4rem;
  }
}

@media (min-width: 1200px) {
  .hero-heading {
    font-size: 4.5rem;
    line-height: 5rem;
    max-width: 44.75rem;
  }
}

/* Subhead — 18/32 mobile; 24/32 from xl (Figma body/xlarge) */

.hero-subhead {
  font-family: var(--leaf-typography-font-family-body);
  color: var(--color-content-subtle);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2rem;
  letter-spacing: 0;
  max-width: 36rem;
}

@media (min-width: 1200px) {
  .hero-subhead {
    font-size: 1.5rem;
  }
}

/* Hero primary / tertiary CTAs — Leaf button tokens (Figma primary #035c67, tertiary link #035c67) */

.btn-primary-fill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--leaf-spacing-semantic-spacing-8);
  box-sizing: border-box;
  padding: var(--leaf-spacing-component-button-padding-vertical-medium) var(--leaf-spacing-component-button-padding-horizontal-medium);
  border: 2px solid hsl(var(--leaf-color-button-primary-border));
  border-radius: 0.5rem;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  background-color: hsl(var(--leaf-color-button-primary-bg));
  color: hsl(var(--leaf-color-button-primary-content));
  transition: opacity 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.btn-primary-fill:hover {
  background-color: #00363D;
  border-color: #00363D;
}

.btn-link-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--leaf-spacing-semantic-spacing-8);
  box-sizing: border-box;
  padding: var(--leaf-spacing-component-button-padding-vertical-medium) var(--leaf-spacing-component-button-padding-horizontal-medium);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  color: var(--color-content-link);
  text-underline-offset: 4px;
  transition: opacity 0.15s ease;
}

.btn-link-inline:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/* Static handoff .html subpages (Drupal/static drop-in) */

.page-handoff-title {
  margin: 0;
  font-family: var(--leaf-typography-font-family-display);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-content-default, #2d2d2d);
}

/* Match floating header geometry: 1rem gutters mobile; 70px + width min(1300, vw-140) desktop */

.hero-shell {
  box-sizing: border-box;
  margin-left: 1rem;
  margin-right: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-top: 2rem;
}

@media (min-width: 960px) {
  .hero-shell {
    margin-left: auto;
    margin-right: auto;
    width: min(1300px, calc(100vw - 140px));
    max-width: 1300px;
    margin-top: 0;
  }
}

/* -------------------------------------------------------------------------- */

/* Services — Figma 3355:17432 (“Care that fits in your life”)               */

/* -------------------------------------------------------------------------- */

.services {
  position: relative;
  isolation: isolate;
  background-color: var(--color-services-section-bg);
  /* Figma 3355:17399 — tighter gap below hero */
  padding-top: 160px;
  padding-bottom: 160px;
  overflow: hidden;
}

.services__shell {
  position: relative;
  z-index: 1;
}

.services-split {
  display: grid;
  gap: clamp(1.75rem, 4vw, 2.5rem);
}

@media (min-width: 960px) {
  .services-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    -moz-column-gap: clamp(2rem, 4vw, 3rem);
         column-gap: clamp(2rem, 4vw, 3rem);
  }
}

.services-col--intro {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.services-intro {
  max-width: 32rem;
}

.services-eyebrow {
  margin: 0 0 0.25rem;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.333;
  letter-spacing: 0;
  color: var(--color-accent-bg-medium-mint);
}

.services-heading {
  margin: 0;
  font-family: var(--leaf-typography-font-family-display);
  font-weight: 700;
  font-size: clamp(1.875rem, 2.2vw + 1.25rem, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--color-content-default);
}

@media (min-width: 960px) {
  .services-heading {
    font-size: clamp(2.25rem, 2vw + 1.5rem, 2.5rem);
    line-height: 1.4;
  }
}

.services-lead {
  margin: 1rem 0 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.78;
  color: var(--color-content-subtle);
}

/* Learn more / Check coverage / Read testimonials — Figma Link (Underline=false, Icon=CTA arrow) */

.services-textlink {
  display: inline-flex;
  align-items: center;
  gap: var(--leaf-spacing-semantic-spacing-4);
  margin-top: 1.25rem;
  min-height: 44px;
  padding: 0.25rem 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.333;
  color: var(--color-content-link);
  text-decoration: none;
  border-bottom: none;
}

.services-textlink:hover {
  color: var(--color-content-link);
  text-decoration: none;
  opacity: 0.88;
}

.services-textlink:focus-visible {
  outline: 2px solid var(--color-content-link);
  outline-offset: 3px;
  border-radius: 0.25rem;
}

.services-textlink__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: var(--color-content-link);
  color: #fff;
  box-shadow: var(--shadow-link-cta-icon);
  margin-left: 0.25rem;
}

.services-textlink__icon svg {
  width: 0.75rem;
  height: 0.75rem;
}

/* One rounded card + one shadow (Figma 3355:17442): shadow on wrapper only; img fills flush inside */

.services-photo-wrap {
  position: relative;
  isolation: isolate;
  max-width: 36rem;
  border-radius: 1.5rem;
  overflow: hidden;
}

@media (min-width: 960px) {
  .services-photo-wrap {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .services-photo-wrap::before {
    display: none;
  }
}

.arrow-icon {
  width: 32px;
  height: 32px;
}

.shield-icon {
  width: 24px;
  height: 24px;
}

.services-photo {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  max-width: 457px;
  height: auto;
  max-height: min(22rem, 52vw);
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 38% 42%;
     object-position: 38% 42%;
  border-radius: 0;
  box-shadow: none;
}

@media (min-width: 768px) {
  .services-photo {
    max-height: min(26rem, 44vw);
  }
}

/* Tablet (Figma 3355:19579): image beside title + blurb; desktop keeps stacked intro + tiles split */

@media (min-width: 768px) and (max-width: 959px) {
  .services-col--intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.25rem, 2.5vw, 1.75rem);
    align-items: center;
  }

  .services-intro {
    max-width: none;
  }

  .services-photo-wrap {
    max-width: none;
  }

  .services-photo {
    max-height: min(22rem, 42vh);
  }
}

@media (min-width: 960px) {
  .services-photo {
    max-height: none;
    aspect-ratio: 457 / 361;
  }
}

.services-tiles {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2rem);
}

@media (min-width: 640px) {
  .services-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.75rem, 3vw, 3rem);
  }
}

@media (min-width: 960px) {
  .services-tiles {
    gap: 3rem;
  }
}

.services-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  scroll-margin-top: clamp(5.5rem, 14vw, 7.5rem);
}

.services-card__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  border-radius: 1.5rem;
  background: var(--color-accent-bg-medium-mint);
  color: #fff;
}

.services-card__icon-img {
  display: block;
  width: 4rem;
  height: 4rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.services-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}

.services-card__title-link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  text-decoration: none;
  color: var(--color-services-title);
}

.services-card__title-link:hover .services-card__title {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.services-card__title-link:focus-visible {
  outline: 2px solid var(--color-content-link);
  outline-offset: 3px;
  border-radius: 0.25rem;
}

.services-card__title {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: clamp(1.25rem, 1.5vw + 0.75rem, 2rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.03125em;
  color: inherit;
}

.services-card__title-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  color: var(--color-content-link);
}

.services-card__title-icon svg,
.services-card__title-icon img {
  width: 2rem;
  height: 2rem;
  display: block;
}

.services-card__title-icon img {
  -o-object-fit: contain;
     object-fit: contain;
}

.services-card__desc {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.78;
  color: var(--color-content-default);
  opacity: 0.8;
}

.services-card__desc strong {
  font-weight: 700;
  color: var(--color-content-default);
  opacity: 1;
}

.services-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
  min-height: 44px;
  padding: 0.125rem 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.333;
  color: var(--color-content-link);
  text-decoration: none;
  border-bottom: none;
}

.services-card__cta:hover {
  text-decoration: none;
  opacity: 0.88;
}

.services-card__cta:focus-visible {
  outline: 2px solid var(--color-content-link);
  outline-offset: 2px;
  border-radius: 0.25rem;
}

.services-card__cta-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-left: 0.5rem;
  border-radius: 9999px;
  background: var(--color-content-link);
  color: #fff;
  box-shadow: var(--shadow-link-cta-icon);
}

.services-card__cta-icon svg {
  width: 1rem;
  height: 1rem;
}

/* -------------------------------------------------------------------------- */

/* Cost — Figma 3355:17483 (headline row, two cards, service price row)        */

/* -------------------------------------------------------------------------- */

.cost-section {
  position: relative;
  isolation: isolate;
  background-color: var(--color-services-section-bg);
  padding-top: clamp(2.25rem, 4.5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.cost-section__shell {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3rem);
}

.cost-top {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

/* Desktop: intro block (left) | CTA (right, bottom-aligned with copy) */

@media (min-width: 1024px) {
  .cost-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    align-items: end;
  }

  .cost-top__intro {
    grid-column: 1;
    grid-row: 1;
  }

  .cost-top__cta {
    grid-column: 2;
    grid-row: 1;
  }
}

.cost-top__intro {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-width: 43.125rem;
}

.cost-eyebrow {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.333;
  letter-spacing: 0;
  color: var(--color-accent-bg-medium-mint);
}

.cost-heading {
  margin: 0;
  font-family: var(--leaf-typography-font-family-display);
  font-weight: 700;
  font-size: clamp(1.75rem, 2.2vw + 1rem, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--color-content-default);
}

.cost-lead {
  margin: 0.75rem 0 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--color-content-subtle);
}

@media (min-width: 768px) {
  .cost-lead {
    margin-top: 0.5rem;
  }
}

.cost-coverage-link {
  display: inline-flex;
  align-items: center;
  gap: var(--leaf-spacing-semantic-spacing-4);
  min-height: 44px;
  padding: 0.25rem 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.333;
  color: var(--color-content-link);
  text-decoration: none;
}

.cost-coverage-link:hover {
  text-decoration: none;
  opacity: 0.88;
}

.cost-coverage-link:focus-visible {
  outline: 2px solid var(--color-content-link);
  outline-offset: 3px;
  border-radius: 0.25rem;
}

.cost-coverage-link__label {
  font-weight: 500;
}

.cost-coverage-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background: var(--color-content-link);
  color: #fff;
  flex-shrink: 0;
  box-shadow: var(--shadow-link-cta-icon);
  margin-left: 0.5rem;
}

.cost-coverage-link__chev {
  width: 1rem;
  height: 1rem;
}

.cost-compare {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .cost-compare {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
}

.cost-card {
  display: flex;
  flex-direction: column;
  border-radius: 1.5rem;
  overflow: hidden;
  background-color: #fff;
}

.cost-card--insurance {
  border: 1px solid var(--color-cost-card-border-accent);
  box-shadow: var(--shadow-cost-card);
}

.cost-card--oop {
  border: 1px solid var(--color-cost-border-muted);
}

.cost-card__banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 1rem 1.5rem;
}

.cost-card__banner--insurance {
  background: var(--color-cost-insurance-header-bg);
}

.cost-card__banner--oop {
  background: var(--color-cost-oop-header-bg);
}

.cost-card__banner-main {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.cost-card__banner-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--color-content-link);
}

.cost-card__banner-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

.cost-card__banner-icon--muted {
  color: var(--color-content-subtle);
}

.cost-card__banner-title {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-content-link);
}

.cost-card__banner-title--muted {
  color: var(--color-content-subtle);
}

.cost-plans-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-content-link);
  text-decoration: none;
}

.cost-plans-link:hover .cost-plans-link__label {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cost-plans-link:focus-visible {
  outline: 2px solid var(--color-content-link);
  outline-offset: 2px;
  border-radius: 0.25rem;
}

.cost-plans-link__label {
  padding-bottom: 1px;
}

.cost-plans-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  background: var(--color-content-link);
  color: #fff;
  flex-shrink: 0;
  margin-left: 0.5rem;
}

.cost-plans-link__chev {
  width: 0.75rem;
  height: 0.75rem;
}

.cost-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  padding: 2.5rem 1.5rem 1.5rem;
  text-align: center;
}

.cost-card--oop .cost-card__body {
  padding-bottom: 3rem;
}

.cost-card__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.cost-card__kicker {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-content-default);
}

.cost-card__price {
  margin: 0;
  font-family: var(--leaf-typography-font-family-display);
  font-weight: 700;
  font-size: var(--leaf-typography-font-size-display-default-mobile);
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.cost-card__price--accent {
  color: var(--color-content-link);
}

.cost-card__price--dark {
  color: var(--color-content-default);
}

.cost-card__price-nd {
  font-weight: 700;
}

.cost-card__sub {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-content-default);
}

.cost-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 3vw, 2rem);
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.cost-logos__item {
  flex: 0 0 auto;
}

.cost-logos__img {
  display: block;
  height: auto;
  max-height: 32px;
  width: auto;
  max-width: 102px;
  -o-object-fit: contain;
     object-fit: contain;
  mix-blend-mode: luminosity;
}

.cost-logos__item--bcbs .cost-logos__img,
.cost-logos__item--aetna .cost-logos__img {
  opacity: 0.65;
}

.cost-card__affirm {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
}

.cost-card__affirm-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--color-content-subtle);
}

.cost-card__affirm-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

.cost-card__affirm-text {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-content-subtle);
}

.cost-service-list {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Tablet (Figma 3355:19631): ~3 items per row, centered; second row wraps naturally */

@media (min-width: 768px) and (max-width: 1023px) {
  .cost-service-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
    row-gap: 1rem;
  }

  .cost-service {
    flex: 0 1 calc(33.333% - 0.5rem);
    min-width: 8.75rem;
    max-width: calc((100% - 1.5rem) / 3);
    align-items: center;
    text-align: center;
  }

  .cost-service__row {
    justify-content: center;
  }
}

@media (min-width: 1024px) {
  .cost-service-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.cost-service {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.cost-service__title {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.333;
  color: var(--color-content-default);
  opacity: 0.8;
}

.cost-service__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.cost-service__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border-radius: 1rem;
  background: #fff;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.333;
  color: var(--color-cost-pill-text);
}

.cost-service__suffix {
  font-family: var(--leaf-typography-font-family-body);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.142;
  color: var(--color-content-default);
  opacity: 0.8;
}

/* -------------------------------------------------------------------------- */

/* Trust & safety — Figma 3355:17526 (intro + banner + cards + stats)          */

/* -------------------------------------------------------------------------- */

.trust-safety {
  box-sizing: border-box;
  padding-top: 90px;
  padding-bottom: 90px;
  background-color: var(--color-homepage-canvas);
}

.trust-safety__shell {
  box-sizing: border-box;
}

.trust-safety__inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.trust-safety__intro {
  margin: 0;
}

.trust-safety__eyebrow {
  margin: 0 0 0.25rem;
  font-family: var(--leaf-typography-font-family-body);
  font-size: clamp(0.9375rem, 1.5vw, 1.125rem);
  font-weight: 500;
  line-height: 1.33;
  letter-spacing: 0;
  color: var(--color-accent-bg-medium-mint);
}

.trust-safety__heading {
  margin: 0;
  font-family: var(--leaf-typography-font-family-display);
  font-weight: 700;
  font-size: clamp(1.75rem, 3vw + 0.75rem, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-content-default);
}

/* Teal quote banner + duotone photos */

.trust-safety__banner {
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: clamp(1.25rem, 2vw, 2rem);
  background-color: var(--color-accent-bg-medium-mint);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.11);
  min-height: clamp(12rem, 28vw, 17.5rem);
}

.trust-safety__banner-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.trust-safety__banner-bg-left,
.trust-safety__banner-bg-right {
  position: absolute;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.trust-safety__banner-bg-left {
  left: -6%;
  width: min(52%, 30rem);
}

.trust-safety__banner-bg-right {
  right: -13%;
  width: 52%;
}

.trust-safety__banner-bg-left img,
.trust-safety__banner-bg-right img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  mix-blend-mode: luminosity;
}

.trust-safety__banner-bg-left img {
  opacity: 0.25;
}

.trust-safety__banner-bg-right img {
  opacity: 0.29;
}

.trust-safety__banner-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: inherit;
  padding: clamp(2rem, 6vw, 4rem) clamp(0.75rem, 2vw, 1rem);
  text-align: center;
}

.trust-safety__quote {
  margin: 0;
  padding: 0;
  border: none;
  max-width: 100%;
}

.trust-safety__quote>p {
  margin: 0;
  font-family: var(--leaf-typography-font-family-display);
  font-weight: 600;
  font-size: clamp(1.375rem, 4vw + 0.5rem, 3.5rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--color-trust-safety-quote-on-banner);
}

.trust-safety__quote-foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  margin-top: 1rem;
}

.trust-safety__quote-link {
  font-family: var(--leaf-typography-font-family-body);
  font-size: clamp(0.9375rem, 1.2vw, 1.125rem);
  font-weight: 600;
  line-height: 1.33;
  color: var(--color-trust-safety-quote-on-banner);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.trust-safety__quote-link:hover {
  color: var(--color-trust-safety-quote-on-banner);
  opacity: 0.92;
}

.trust-safety__quote-link:focus-visible {
  outline: 2px solid var(--color-trust-safety-quote-on-banner);
  outline-offset: 3px;
  border-radius: 0.25rem;
}

.trust-safety__quote-sub {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 0.875rem;
  font-weight: 500;
  font-style: italic;
  line-height: 1.14;
  color: var(--color-trust-safety-quote-on-banner);
  opacity: 0.75;
}

/* Outstanding + NCQA row */

.trust-safety__cards-row {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.trust-safety__card {
  box-sizing: border-box;
  border-radius: 1.5rem;
  border: 1px solid var(--color-trust-safety-card-border);
  background-color: #ffffff;
  box-shadow: 0 4px 7.1px rgba(0, 0, 0, 0.05);
}

.trust-safety__card--outstanding {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: clamp(1.25rem, 3vw, 1.5rem) clamp(1.25rem, 3vw, 2.5rem);
}

.trust-safety__outstanding-head {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.trust-safety__outstanding-title {
  margin: 0;
  font-family: var(--leaf-typography-font-family-display);
  font-weight: 700;
  font-size: clamp(1.5rem, 2vw + 1rem, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-content-link);
}

.trust-safety__outstanding-link {
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-accent-bg-medium-mint);
  text-decoration: underline;
  text-underline-offset: 3px;
  width: -moz-fit-content;
  width: fit-content;
}

.trust-safety__outstanding-link:hover {
  color: var(--color-content-link);
}

.trust-safety__outstanding-link:focus-visible {
  outline: 2px solid var(--color-content-link);
  outline-offset: 3px;
  border-radius: 0.25rem;
}

.trust-safety__checklist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.trust-safety__checklist li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-content-subtle);
}

.trust-safety__check-ic {
  flex-shrink: 0;
  display: flex;
  width: 1rem;
  height: 1rem;
  margin-top: 0.2rem;
}

.trust-safety__check-ic img {
  display: block;
  width: 100%;
  height: 100%;
}

.trust-safety__card--ncqa {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem;
}

.trust-safety__ncqa-seal {
  flex-shrink: 0;
  width: min(6.9375rem, 28vw);
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.trust-safety__ncqa-copy {
  min-width: 0;
  flex: 1 1 auto;
}

.trust-safety__ncqa-title {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.33;
  color: var(--color-accent-bg-medium-mint);
}

.trust-safety__ncqa-body {
  margin: 0.25rem 0 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-content-subtle);
}

/* Three stat tiles */

.trust-safety__stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.trust-safety__stat {
  container-type: inline-size;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-radius: 1.5rem;
  border: 1px solid var(--color-trust-safety-stat-border);
  background-color: var(--color-trust-safety-stat-bg);
  box-shadow: 0 4px 7.1px rgba(0, 0, 0, 0.05);
  text-align: center;
}

.trust-safety__stat-value {
  font-family: var(--leaf-typography-font-family-display);
  font-weight: 700;
  /* cqi tracks tile width (3-up narrow band); vw caps upward on very wide single column */
  font-size: clamp(1.875rem, 9cqi + 1rem, min(4.5rem, 6vw + 1rem));
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--color-content-link);
  white-space: nowrap;
}

.trust-safety__stat-label {
  max-width: 22ch;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-content-subtle);
}

/* Tablet (Figma 3355:19673): keep numerals + labels inside stat tiles */

@media (min-width: 768px) and (max-width: 1023px) {
  .trust-safety__stat {
    min-width: 0;
    padding: 1.5rem 0.75rem 1.35rem;
  }

  .trust-safety__stat-value {
    font-size: clamp(1.625rem, 1.5vw + 1rem, 2.375rem);
    line-height: 1.12;
    max-width: 100%;
  }

  .trust-safety__stat-label {
    font-size: 0.9375rem;
    line-height: 1.45;
  }
}

@media (min-width: 768px) {
  .trust-safety__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .trust-safety__stat {
    min-width: 0;
  }

  .trust-safety__stat-label {
    max-width: none;
  }

  .trust-safety__card--outstanding {
    padding: 1.5rem clamp(1.5rem, 4vw, 2.5rem);
  }

  .trust-safety__outstanding-head {
    padding-bottom: 0.5rem;
  }
}

@media (min-width: 1024px) {
  .trust-safety__cards-row {
    flex-direction: row;
    align-items: stretch;
    gap: 1.5rem;
  }

  .trust-safety__card--outstanding {
    flex-direction: row;
    align-items: center;
    gap: clamp(2rem, 5vw, 4rem);
    flex: 1 1 0;
    min-width: 0;
  }

  .trust-safety__outstanding-head {
    flex-shrink: 0;
  }

  .trust-safety__checklist {
    flex: 1 1 auto;
    justify-content: center;
  }

  .trust-safety__card--ncqa {
    flex: 0 0 24rem;
    width: 24rem;
    max-width: 100%;
  }
}

/* -------------------------------------------------------------------------- */

/* Reviews / testimonials — band above footer (no bottom gap)                  */

/* -------------------------------------------------------------------------- */

.reviews {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.reviews__stripe {
  box-sizing: border-box;
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
  padding-bottom: clamp(2.25rem, 4vw, 3.25rem);
}

.reviews__stripe-inner {
  box-sizing: border-box;
}

.reviews__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.reviews__titles {
  min-width: 0;
}

.reviews__eyebrow {
  color: var(--leaf-color-bg-default);
  /* label/large */
  font-family: var(--leaf-typography-font-family-label);
  font-size: var(--leaf-typography-font-size-label-large);
  font-style: normal;
  font-weight: 500;
  line-height: var(--leaf-typography-line-height-label-large);
  /* 133.333% */
  letter-spacing: var(--leaf-typography-letter-spacing-label-large);
}

.reviews__heading {
  margin: 0;
  font-family: var(--leaf-typography-font-family-display);
  font-weight: 700;
  font-size: var(--leaf-typography-font-size-display-small-mobile);
  line-height: var(--leaf-typography-line-height-display-small-mobile);
  /* 140% */
  letter-spacing: var(--leaf-typography-letter-spacing-display-large);
  color: var(--color-content-default, #2D2D2D);
}

.reviews__read {
  display: inline-flex;
  align-items: center;
  gap: var(--leaf-spacing-semantic-spacing-4);
  flex-shrink: 0;
  text-decoration: none;
  color: var(--leaf-color-content-link);
  /* label/large */
  font-family: var(--leaf-typography-font-family-label);
  font-size: var(--leaf-typography-font-size-label-large);
  font-style: normal;
  font-weight: 500;
  line-height: var(--leaf-typography-line-height-label-large);
  /* 133.333% */
  letter-spacing: var(--leaf-typography-letter-spacing-label-large);
}

.reviews__read:hover {
  text-decoration: none;
  color: var(--color-content-link);
  opacity: 0.88;
}

.reviews__read:focus-visible {
  outline: 2px solid var(--color-content-link);
  outline-offset: 3px;
  border-radius: 0.25rem;
}

.reviews__read-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: var(--color-content-link);
  color: #fff;
  flex-shrink: 0;
  box-shadow: var(--shadow-link-cta-icon);
}

.reviews__read-icon svg {
  width: 0.75rem;
  height: 0.75rem;
}

.reviews__main {
  margin: 0;
  padding: 0;
}

/* Pull teal band under the card row so tiles straddle canvas + field (Figma 3355:17626) */

.reviews__cards-stage {
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  padding-top: clamp(0.25rem, 1vw, 0.75rem);
  padding-bottom: 0;
  margin-bottom: clamp(-7rem, -14vw, -5rem);
}

.reviews__cards-shell {
  box-sizing: border-box;
}

.reviews__field {
  box-sizing: border-box;
  margin: 0;
  margin-top: clamp(-7rem, -14vw, -5rem);
  padding-top: clamp(7.5rem, 14vw, 10rem);
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
  border-radius: 1.5rem 1.5rem 0 0;
  background-color: var(--color-reviews-field-bg);
  position: relative;
  overflow: hidden;
}

@media (max-width: 768px) {
  .reviews__field {
    display: none;
  }
}

.reviews__field::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.12;
}

.reviews__field-inner {
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

/* Figma 3355:17626 — single row: photo | quote | photo | stat | portrait */

.reviews__grid {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.reviews__grid--cards {
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch;
  align-items: stretch;
}

@media (max-width: 767px) {
  /* Teal .reviews__field is hidden; kill straddle margin so footer isn't pulled under cards */

  .reviews__cards-stage {
    margin-bottom: 0;
    z-index: auto;
  }

  .reviews__main {
    padding-bottom: clamp(1.5rem, 5vw, 2.5rem);
  }

  .reviews__grid--cards .reviews__tile--photo {
    display: none;
  }

  .reviews__grid--cards {
    gap: 1rem;
    margin-inline: auto;
  }
}

@media (min-width: 768px) {
  .reviews__grid--cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: clamp(0.75rem, 1.8vw, 1.5rem);
  }

  .reviews__grid--cards>.reviews__tile {
    min-width: 0;
  }

  .reviews__grid--cards .reviews__tile--photo {
    min-height: clamp(12rem, 28vw, 17.5rem);
  }
}

/* Tablet: row1 = family + quote; row2 = woman + stat + portrait (deterministic, not flex-wrap) */

@media (min-width: 768px) and (max-width: 1023px) {
  .reviews__grid--cards {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: auto auto;
    -moz-column-gap: clamp(0.75rem, 1.8vw, 1.5rem);
         column-gap: clamp(0.75rem, 1.8vw, 1.5rem);
    row-gap: clamp(0.75rem, 1.8vw, 1.5rem);
  }

  .reviews__grid--cards .reviews__tile--family {
    grid-column: 1 / 3;
    grid-row: 1;
    max-width: 20rem;
    width: 100%;
    justify-self: center;
  }

  .reviews__grid--cards .reviews__tile--quote {
    grid-column: 3 / 7;
    grid-row: 1;
    width: 100%;
    align-self: stretch;
  }

  .reviews__grid--cards .reviews__tile--quote .reviews__quote-article {
    align-items: center;
    justify-content: center;
  }

  .reviews__grid--cards .reviews__tile--woman {
    grid-column: 1 / 3;
    grid-row: 2;
    max-width: 20rem;
    width: 100%;
    justify-self: center;
  }

  .reviews__grid--cards .reviews__tile--stat {
    grid-column: 3 / 5;
    grid-row: 2;
    max-width: 18rem;
    width: 100%;
    justify-self: center;
  }

  .reviews__grid--cards .reviews__tile--portrait {
    grid-column: 5 / 7;
    grid-row: 2;
    max-width: 16rem;
    width: 100%;
    justify-self: center;
  }
}

@media (min-width: 1024px) {
  .reviews__cards-stage {
    margin-bottom: clamp(-8.5rem, -15vw, -6.5rem);
  }

  .reviews__field {
    margin-top: clamp(-8.5rem, -15vw, -6.5rem);
    padding-top: clamp(8.75rem, 15vw, 11rem);
  }

  .reviews__grid--cards {
    flex-wrap: nowrap;
    justify-content: center;
    gap: 1.5rem;
  }

  .reviews__grid--cards .reviews__tile--family,
  .reviews__grid--cards .reviews__tile--woman {
    flex: 0 1 17.625rem;
    width: 17.625rem;
    max-width: 17.625rem;
    min-height: 18.25rem;
  }

  .reviews__grid--cards .reviews__tile--quote {
    flex: 0 1 24rem;
    width: 24rem;
  }

  .reviews__grid--cards .reviews__tile--stat {
    flex: 0 1 auto;
    min-width: 11.5rem;
    max-width: 15rem;
  }

  .reviews__grid--cards .reviews__tile--portrait {
    flex: 0 1 14.1875rem;
    width: 14.1875rem;
    max-width: 14.1875rem;
    min-height: 18.25rem;
  }
}

.reviews__tile {
  box-sizing: border-box;
  border-radius: 25px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}

.reviews__tile--photo {
  overflow: hidden;
  padding: 0;
  min-height: 14rem;
  display: flex;
  flex-direction: column;
}

.reviews__photo {
  display: block;
  width: 100%;
  flex: 1 1 auto;
  min-height: 14rem;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media (min-width: 768px) {
  .reviews__grid--cards .reviews__photo {
    min-height: clamp(12rem, 28vw, 17.5rem);
  }
}

.reviews__tile--portrait {
  background-color: var(--color-reviews-portrait-bg);
}

.reviews__photo--portrait {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.reviews__tile--quote {
  background-color: var(--color-reviews-card-bg);
  padding: clamp(1.25rem, 3vw, 1.75rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: flex-start;
}

.reviews__quote-article {
  margin: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.reviews__blockquote {
  margin: 0;
  padding: 0;
  border: none;
}

.reviews__quote-text {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 24;
  font-weight: 400;
  line-height: 1.45;
  color: var(--color-reviews-quote-text);
}

.reviews__quote-foot {
  margin: 1rem 0 0;
  padding: 0;
  border: none;
  font-style: normal;
}

.reviews__cite {
  font-family: var(--leaf-typography-font-family-title);
  font-size: var(--leaf-typography-font-size-title-small);
  font-weight: 700;
  font-style: normal;
  color: var(--color-reviews-cite);
}

.reviews__tile--stat {
  background-color: var(--color-reviews-card-bg);
  padding: clamp(1.125rem, 2.5vw, 1.5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  border-radius: 25px;
  align-self: flex-start;
}

.reviews__stat-value {
  margin: 0;
  font-family: var(--leaf-typography-font-family-label);
  font-weight: 700;
  font-size: clamp(1.5rem, 2vw + 1rem, 2rem);
  line-height: var(--leaf-typography-line-height-headline-small);
  /* 125% */
  letter-spacing: -0.02em;
  color: var(--color-reviews-cite);
  width: 100%;
}

.reviews__stat-phrase {
  white-space: nowrap;
  text-align: left;
  color: var(--accent);
  font-size: var(--leaf-typography-font-size-headline-small);
  font-family: var(--leaf-typography-font-family-headline);
}

.reviews__stat-caption {
  margin: 0;
  font-family: var(--leaf-typography-font-family-body);
  font-size: var(--leaf-typography-font-size-body-default);
  font-weight: 500;
  line-height: var(--leaf-typography-line-height-body-default);
  /* 150% */
  color: var(--color-reviews-stat-caption);
  width: 100%;
}

.reviews__cta-wrap {
  margin-top: 0;
}

.reviews__cta {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  width: 100%;
  padding: var(--leaf-spacing-component-button-padding-vertical-medium) var(--leaf-spacing-component-button-padding-horizontal-medium);
  border-radius: 0.5rem;
  font-family: var(--leaf-typography-font-family-body);
  font-weight: 600;
  font-size: var(--leaf-typography-font-size-label-default);
  line-height: 1.2;
  color: var(--leaf-color-button-primary-inverse-content);
  text-decoration: none;
  background: var(--leaf-color-button-primary-inverse-bg);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.reviews__cta:hover {
  background-color: var(--color-reviews-cta-bg-hover);
}

.reviews__cta:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

@media (min-width: 768px) {
  .reviews__head {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
  }

  .reviews__cta {
    width: auto;
  }
}

/* Site header — floating bar, brand cluster, desktop nav + primary CTA */

.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  display: none;
}

.skip-link:focus {
  left: 1rem;
  top: 1rem;
  width: auto;
  height: auto;
  z-index: 100;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  outline: 2px solid #035c67;
  outline-offset: 2px;
}

body.nav-open {
  overflow: hidden;
}

/* Floating bar — fixed to viewport (Figma 3355:17649). Glass surface for scroll/transparency checks; stacks above page content (e.g. services `.hero-shell`). */

.floating-header {
  position: fixed;
  left: 1rem;
  right: 1rem;
  top: 1.25rem;
  width: auto;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  min-height: 86px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 1.9rem;
  border-radius: 18px;
  background: var(--leaf-color-header-bg-default);
  box-shadow: 0 9px 61.7px rgba(51, 51, 51, 0.07);
  backdrop-filter: blur(7.5px);
  -webkit-backdrop-filter: blur(7.5px);
  z-index: 100;
}

/* Desktop: center the bar like .site-footer__inner (ref: newmdlive nav — 503 in CI; re-verify in DevTools when the env is up) */

@media (min-width: 960px) {
  .floating-header {
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: min(1300px, calc(100vw - 140px));
  }
}

/* Brand: Evernorth logo | gray bar | MDLive */

.floating-header__mdlive {
  color: var(--color-content-subtle, #6c6c6c);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 104%;
  letter-spacing: -0.5px;
  white-space: nowrap;
}

.floating-header__label-divider {
  display: block;
  flex-shrink: 0;
  align-self: center;
  width: 1px;
  height: 1.75rem;
  margin: 0 0.75rem;
  border: 0;
  background: hsl(var(--leaf-color-border-default));
}

/* Nav + CTA grouped to the right (Figma): links sit next to Get started */

.floating-header__end {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5rem;
}

.floating-header__nav {
  display: none;
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
  gap: 0;
}

@media (min-width: 960px) {
  .floating-header__nav {
    display: flex;
  }
}

.floating-header__nav-link,
.floating-header__nav a {
  font-family: var(--leaf-typography-font-family-body);
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
  color: rgb(3 92 103);
  white-space: nowrap;
  text-decoration: none;
  transition: color 0.15s ease, font-weight 0.15s ease, text-decoration-color 0.15s ease;
}

.floating-header__nav a {
  padding: 1rem;
}

.floating-header__nav-link:hover,
.floating-header__nav a:hover {
  color: var(--color-content-link);
}

.floating-header__nav-link--active[aria-current='page'],
.floating-header__nav a.floating-header__nav-link--active[aria-current='page'] {
  color: var(--color-content-link);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--color-content-link);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.22em;
}

#mobile-nav .floating-header__nav-link {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
  font-weight: 600;
  color: var(--color-content-link);
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 2.25rem;
  padding: 0.5rem 0.5rem 0.5rem 0.75rem;
  text-align: left;
  text-decoration: none;
  border: none;
  border-radius: 0;
  transition: background-color 0.15s ease, color 0.15s ease;
}

#mobile-nav .floating-header__nav-link:hover {
  background: hsl(var(--leaf-color-bg-default-hover));
}

#mobile-nav a.floating-header__nav-link--active[aria-current='page'] {
  color: var(--color-content-link);
  font-weight: 600;
  background: hsl(var(--leaf-color-bg-subtle));
  text-decoration: none;
  box-shadow: none;
}

/* CTA row: Figma Nav Link 4 (4682:11342) — pl-12 pr-8 py-8 around pill primary */

#mobile-nav.mobile-nav-panel .mobile-nav-panel__cta {
  padding: 0.5rem 0.5rem 0.5rem 0.75rem;
  margin-top: 0;
}

#mobile-nav .floating-header__mobile-cta-link {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  min-height: 3rem;
  padding: 0.75rem 1.5rem;
  color: hsl(var(--leaf-color-button-primary-content));
  text-decoration: none;
  text-align: center;
  border-radius: 8px;
  border: 2px solid hsl(var(--leaf-color-button-primary-border));
  background: hsl(var(--leaf-color-button-primary-bg));
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#mobile-nav .floating-header__mobile-cta-link:hover {
  background: hsl(var(--leaf-color-button-primary-bg-hover));
}

.floating-header__cta {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: var(--leaf-spacing-semantic-spacing-8);
  padding: var(--leaf-spacing-component-button-padding-vertical-medium) var(--leaf-spacing-component-button-padding-horizontal-medium);
  border-radius: var(--leaf-border-radius-component-border-radius-button);
  border: 2px solid hsl(var(--leaf-color-button-primary-border));
  background: hsl(var(--leaf-color-button-primary-bg));
  font-weight: 600;
  font-size: 0.9375rem;
  color: hsl(var(--leaf-color-button-primary-content));
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

@media (min-width: 960px) {
  .floating-header__cta {
    display: flex;
  }
}

.floating-header__cta:hover {
  background: #00363D;
}

/* Hamburger: Figma tertiary icon-only (4682:11338) — 56×56, white chip, bold menu glyph */

.floating-header__menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
  min-width: 3.5rem;
  min-height: 3.5rem;
  padding: 0.75rem;
  border-radius: 0.5rem;
  border: 2px solid transparent;
  background: hsl(var(--background));
  color: var(--color-content-link);
}

.floating-header__menu-icon {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 2rem;
  height: 1.25rem;
}

.floating-header__menu-bar {
  display: block;
  width: 1.875rem;
  height: 4px;
  flex-shrink: 0;
  border-radius: 9999px;
  background-color: currentColor;
}

.floating-header__close-svg {
  color: var(--color-content-link);
  width: 1.5rem;
  height: 1.5rem;
}

@media (min-width: 960px) {
  .floating-header__menu-button {
    display: none !important;
  }
}

/* Stack header vertically on small viewports; brand lockup stays one horizontal row */

@media (max-width: 767px) {
  .floating-header {
    align-items: stretch;
    gap: 1rem;
  }

  .floating-header__end {
    justify-content: flex-end;
  }
}

/* --- Scrolled: pin bar full-bleed top (mobile only, <960px) --- */

@media (prefers-reduced-motion: no-preference) {
  @media (max-width: 959px) {
    .floating-header {
      transition:
        border-radius 0.2s ease,
        left 0.2s ease,
        right 0.2s ease,
        top 0.2s ease,
        max-width 0.2s ease,
        box-shadow 0.2s ease,
        margin 0.2s ease,
        width 0.2s ease;
    }

    #mobile-nav.mobile-nav-panel {
      transition:
        left 0.2s ease,
        right 0.2s ease,
        top 0.2s ease,
        border-radius 0.2s ease,
        max-height 0.2s ease;
    }
  }
}

/* --- Mobile menu panel (<960px): flush under header; --mobile-nav-panel-top set by JS --- */

@media (max-width: 959px) {
  html[data-header-scrolled] .floating-header {
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    border-radius: 0;
    box-shadow: 0 2px 16px rgba(51, 51, 51, 0.08);
  }

  #mobile-nav.mobile-nav-panel {
    position: fixed;
    z-index: 110;
    left: 1rem;
    right: 1rem;
    top: var(--mobile-nav-panel-top, calc(1.25rem + 9rem));
    max-height: min(70vh, calc(100vh - var(--mobile-nav-panel-top, 10.25rem)));
    overflow-y: auto;
    box-sizing: border-box;
    border-radius: 18px;
    border: 1px solid hsl(var(--leaf-color-border-default) / 0.55);
    background: hsl(var(--background));
    box-shadow: 0 12px 40px rgba(51, 51, 51, 0.1);
  }

  html[data-header-scrolled] #mobile-nav.mobile-nav-panel {
    left: 0;
    right: 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
  }

  #mobile-nav.mobile-nav-panel .mobile-nav-panel__nav {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin: 0;
  }
}

@media (min-width: 960px) {
  #mobile-nav.mobile-nav-panel {
    display: none !important;
  }
}

/* Site footer — dark teal band, 4-col grid → 2 → 1 (md / lg match header breakpoints) */

.site-footer {
  background-color: var(--color-footer-bg);
  color: var(--color-footer-heading);
  font-family: var(--leaf-typography-font-family-body);
}

.site-footer__inner {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  padding: 3rem 1rem 2.5rem;
  width: min(1300px, calc(100% - 2rem));
  max-width: 100%;
}

@media (min-width: 960px) {
  .site-footer__inner {
    padding: 4rem 2rem 3rem;
    width: min(1300px, calc(100vw - 240px));
  }
}

.site-footer__grid {
  display: grid;
  gap: 2rem 2.5rem;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 3rem;
         column-gap: 3rem;
    row-gap: 2.25rem;
  }
}

@media (min-width: 960px) {
  .site-footer__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem 3rem;
  }
}

.site-footer__heading {
  margin: 0 0 1rem;
  font-family: var(--leaf-typography-font-family-body);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--color-footer-heading);
  text-align: left;
}

.site-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__links li {
  margin: 0 0 var(--leaf-spacing-semantic-spacing-8);
}

.site-footer__links li:last-child {
  margin-bottom: 0;
}

.site-footer__link {
  display: inline;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: calc(16 / 14);
  color: var(--color-footer-leaf);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color 0.15s ease;
}

.site-footer__link:hover {
  color: var(--color-footer-leaf-hover);
}

.site-footer__link:focus-visible {
  outline: 2px solid var(--color-footer-leaf);
  outline-offset: 3px;
  border-radius: 2px;
}

/* Connect column: left-aligned with other footer cols (Figma 3355:17648 mobile) */

.site-footer__col--connect {
  text-align: left;
}

.site-footer__social {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(0.625rem, 2.4vw, 1.125rem);
  margin-bottom: 0.75rem;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.site-footer__social::-webkit-scrollbar {
  display: none;
}

.site-footer__social-link {
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: clamp(2.25rem, 6.5vw, 3.5rem);
  height: clamp(2.25rem, 6.5vw, 3.5rem);
  border-radius: 9999px;
  color: var(--color-footer-heading);
  text-decoration: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
  width: 20%;
  height: 32px;
  max-width: 32px;
}

.site-footer__social-link:hover {
  opacity: 0.92;
}

.site-footer__social-link:focus-visible {
  outline: 2px solid var(--color-footer-leaf);
  outline-offset: 2px;
}

a.site-footer__social-link img {
  width: 100%;
}

/* Brand SVGs are white; mask them over footer-bg fill for “chip + teal glyph” */

.site-footer__social-glyph {
  display: block;
  width: 58%;
  height: 58%;
  flex-shrink: 0;
  background-color: var(--color-footer-bg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.site-footer__badges {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(0.5rem, 2vw, 0.75rem);
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.site-footer__badges::-webkit-scrollbar {
  display: none;
}

.site-footer__badge {
  display: block;
  flex: 0 0 auto;
  line-height: 0;
  text-decoration: none;
  border-radius: 0.375rem;
  max-width: 120px;
  width: 46%;
}

.site-footer__badge:focus-visible {
  outline: 2px solid var(--color-footer-leaf);
  outline-offset: 3px;
}

/* Same rendered height at every breakpoint; width follows aspect ratio */

.site-footer__badge img {
  display: block;
  height: clamp(2.25rem, 9.5vw, 3rem);
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.site-footer__rule {
  margin: 2rem 0 1.25rem;
  border: none;
  border-top: 1px solid var(--color-footer-rule);
}

.site-footer__rule--tight {
  margin: 1.25rem 0 1.25rem;
}

.site-footer__legal {
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.65;
}

.site-footer__legal-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.35rem 0.5rem;
  margin: 0 0 0.5rem;
}

.site-footer__legal-row:last-of-type {
  margin-bottom: 0;
}

.site-footer__legal a {
  color: var(--color-footer-leaf);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.site-footer__legal a:hover {
  color: var(--color-footer-leaf-hover);
}

.site-footer__legal a:focus-visible {
  outline: 2px solid var(--color-footer-leaf);
  outline-offset: 2px;
  border-radius: 2px;
}

.site-footer__dot {
  color: var(--color-footer-muted);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-weight: 400;
}

.site-footer__copyright {
  margin: 0;
  max-width: 72rem;
  text-align: left;
  color: var(--color-content-knockout);
  font-family: var(--leaf-typography-font-family-body);
  font-size: var(--leaf-typography-font-size-body-small);
  font-style: normal;
  font-weight: 400;
  line-height: var(--leaf-typography-line-height-body-small);
  /* 114.286% */
  letter-spacing: var(--leaf-typography-letter-spacing-body-small);
}

/**
 * Testimonials + What we treat — page fragments aligned with mdlive-pages-preview dist.
 * `.hero-gradient`, `.check-icon`, `.btn-cta` are the primary surface for static HTML.
 * Additional preview-only helpers below stay inert until markup uses those classes.
 */

.hero-gradient {
  background: linear-gradient(
    135deg,
    hsl(162 100% 96%) 0%,
    hsl(190 40% 97%) 50%,
    hsl(0 0% 100%) 100%
  );
}

.check-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px;
  max-width: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-color: #035c67;
}

.check-icon svg {
  width: 12px !important;
  height: 12px !important;
  color: white;
  fill: white;
}

.btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 9999px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  background-color: hsl(var(--primary));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),
    0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-cta:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),
    0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
  background-color: hsl(186 100% 17%);
  transform: translateY(-2px);
}

.btn-cta:active {
  transform: translateY(0);
}

.btn-cta svg {
  transition: transform 0.3s ease;
}

.btn-cta:hover svg {
  transform: translateX(4px);
}

/* --------------------------------------------------------------------------
   Preview parity (mdlive-pages-preview dist) — not covered by this repo’s
   Tailwind content scan; omitted here: generic `.alert` / `.section` (name
   collisions), duplicate `.text-accent`, Tailwind arbitrary `[&>svg]` utilities.
   -------------------------------------------------------------------------- */

.nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 18px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  background-color: rgba(255, 255, 255, 0.9);
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
    var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
    var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

@media (min-width: 768px) {
  .nav-header {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.value-prop > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.value-prop {
  border-radius: 1rem;
  padding: 1.5rem;
  transition: all 0.3s ease;
}

.value-prop:hover {
  background-color: hsl(162 100% 97%);
  transform: translateY(-4px);
}

.value-prop:hover .value-prop-icon {
  transform: scale(1.1);
}

.image-with-shape .shape {
  position: absolute;
  z-index: -10;
}

/** FAQ page: brand tokens, accordion, search, side nav, jump links, bottom “learn more” band. */

.faq-main-content {
  padding-top: 4rem;
}

@keyframes accordion-open {
  from {
    opacity: 0;
    max-height: 0;
  }

  to {
    opacity: 1;
    max-height: 500px;
  }
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
  tab-size: 4;
  /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

:root {
  /* ========================================
       BASE SIZING
       ======================================== */
  --size-base-unit: 0.5rem;
  /* ========================================
       SHADCN CORE VARIABLES (Light Mode)
       Mapped from Leaf Design Tokens
       ======================================== */
  /* Background & Foreground - Evernorth/MDLive Branding */
  --background: 0 0% 100%;
  /* white */
  --foreground: 0 0% 18%;
  /* #2d2d2d - content default */
  /* Card */
  --card: 0 0% 100%;
  --card-foreground: 0 0% 18%;
  /* Popover */
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 18%;
  /* Primary (Brand) - Evernorth Teal #035c67 */
  --primary: 186 96% 21%;
  --primary-foreground: 0 0% 100%;
  /* Secondary - Light background */
  --secondary: 40 14% 96%;
  /* #f6f5f3 - bg-subtle */
  --secondary-foreground: 0 0% 18%;
  /* Muted */
  --muted: 40 14% 96%;
  --muted-foreground: 0 0% 42%;
  /* #6c6c6c - content-subtle */
  /* Accent - Mint #008f83 */
  --accent: 173 100% 28%;
  --accent-foreground: 0 0% 100%;
  /* Destructive */
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;
  /* Border & Input */
  --border: 0 0% 90%;
  --input: 0 0% 80%;
  --ring: 186 96% 21%;
  /* Focus ring - brand teal */
  /* Border Radius - from Leaf tokens */
  --radius: 0.5rem;
  /* ========================================
       EXTENDED LEAF COLOR TOKENS
       ======================================== */
  /* === BACKGROUND COLORS === Evernorth/MDLive */
  --leaf-color-bg-default: 0 0% 100%;
  --leaf-color-bg-default-hover: 0 0% 98%;
  --leaf-color-bg-active: 0 0% 95%;
  --leaf-color-bg-pressed: 0 0% 93%;
  --leaf-color-bg-disabled: 0 0% 95%;
  --leaf-color-bg-subtle: 40 14% 96%;
  /* #f6f5f3 */
  --leaf-color-bg-moderate: 0 0% 94%;
  --leaf-color-bg-strong: 0 0% 90%;
  /* Brand Backgrounds - Evernorth Teal */
  --leaf-color-bg-brand: 186 96% 21%;
  /* #035c67 */
  --leaf-color-bg-brand-hover: 186 96% 18%;
  --leaf-color-bg-brand-active: 186 96% 15%;
  --leaf-color-bg-brand-disabled: 186 30% 60%;
  --leaf-color-bg-brand-strong: 186 100% 17%;
  /* #004c54 */
  --leaf-color-bg-brand-xstrong: 186 100% 14%;
  /* Inverse Backgrounds */
  --leaf-color-bg-inverse: 186 100% 17%;
  /* #004c54 dark teal */
  --leaf-color-bg-inverse-active: 186 100% 14%;
  --leaf-color-bg-inverse-moderate: 186 96% 21%;
  /* Status Backgrounds - MDLive specific */
  --leaf-color-bg-error: 0 84% 95%;
  --leaf-color-bg-error-strong: 0 84% 60%;
  --leaf-color-bg-success: 162 100% 92%;
  /* #d6fff2 - mint */
  --leaf-color-bg-success-strong: 173 100% 28%;
  /* #008f83 */
  --leaf-color-bg-warning: 45 100% 95%;
  --leaf-color-bg-warning-strong: 45 100% 50%;
  --leaf-color-bg-info: 190 33% 94%;
  /* #eaf4f6 */
  --leaf-color-bg-info-strong: 210 100% 50%;
  --leaf-color-bg-attention: 190 33% 94%;
  /* #eaf4f6 - attention */
  --leaf-color-bg-attention-strong: 186 96% 21%;
  /* === BORDER COLORS === Evernorth/MDLive */
  --leaf-color-border-default: 0 0% 90%;
  --leaf-color-border-default-hover: 0 0% 80%;
  --leaf-color-border-subtle: 0 0% 92%;
  --leaf-color-border-strong: 0 0% 70%;
  --leaf-color-border-light: 0 0% 95%;
  --leaf-color-border-disabled: 0 0% 88%;
  --leaf-color-border-neutral: 0 0% 80%;
  --leaf-color-border-inverse: 0 0% 100%;
  --leaf-color-border-knockout: 0 0% 100%;
  --leaf-color-border-active-outline: 186 96% 21%;
  --leaf-color-border-inverse-active-outline: 0 0% 100%;
  /* Footer-specific Figma tokens */
  --leaf-color-footer-bg: 186 100% 12%;
  /* #00363d */
  --leaf-color-footer-link: 157 100% 62%;
  /* #3effc0 */
  /* Brand Borders - Evernorth */
  --leaf-color-border-brand: 186 96% 21%;
  /* #035c67 */
  --leaf-color-border-brand-subtle: 157 100% 62%;
  /* #3effc0 mint */
  --leaf-color-border-brand-strong: 186 100% 17%;
  /* #004c54 */
  /* Status Borders */
  --leaf-color-border-error: 0 84% 60%;
  --leaf-color-border-success: 157 100% 62%;
  /* #3effc0 */
  --leaf-color-border-warning: 45 100% 50%;
  --leaf-color-border-info: 190 33% 50%;
  --leaf-color-border-attention: 186 96% 21%;
  /* #035c67 */
  /* === CONTENT/TEXT COLORS === Evernorth/MDLive */
  --leaf-color-content-default: 0 0% 18%;
  /* #2d2d2d */
  --leaf-color-content-subtle: 0 0% 42%;
  /* #6c6c6c */
  --leaf-color-content-strong: 0 0% 10%;
  --leaf-color-content-disabled: 0 0% 60%;
  --leaf-color-content-knockout: 0 0% 100%;
  /* Brand Content - Evernorth Teal */
  --leaf-color-content-brand: 186 96% 21%;
  /* #035c67 */
  --leaf-color-content-brand-hover: 186 100% 17%;
  --leaf-color-content-brand-strong: 186 100% 17%;
  /* #004c54 */
  --leaf-color-content-brand-knockout: 0 0% 100%;
  /* Accent Content - Mint */
  --leaf-color-content-accent: 173 100% 28%;
  /* #008f83 */
  /* Link Colors - Brand teal */
  --leaf-color-content-link: 186 96% 21%;
  --leaf-color-content-link-hover: 186 100% 17%;
  --leaf-color-content-link-active: 186 100% 14%;
  --leaf-color-content-link-visited: 186 60% 30%;
  /* Status Content */
  --leaf-color-content-error: 0 84% 45%;
  --leaf-color-content-success: 173 100% 28%;
  /* #008f83 */
  --leaf-color-content-info: 186 96% 21%;
  --leaf-color-content-warning: 45 100% 35%;
  /* === BUTTON COLORS === Evernorth/MDLive */
  /* Primary Button - Evernorth Teal */
  --leaf-color-button-primary-bg: 186 96% 21%;
  /* #035c67 */
  --leaf-color-button-primary-bg-hover: 186 100% 17%;
  --leaf-color-button-primary-bg-active: 186 100% 14%;
  --leaf-color-button-primary-bg-disabled: 0 0% 85%;
  --leaf-color-button-primary-content: 0 0% 100%;
  --leaf-color-button-primary-content-disabled: 0 0% 60%;
  /* Secondary Button */
  --leaf-color-button-secondary-bg: 0 0% 100%;
  --leaf-color-button-secondary-bg-hover: 0 0% 97%;
  --leaf-color-button-secondary-bg-active: 0 0% 95%;
  --leaf-color-button-secondary-border: 186 96% 21%;
  --leaf-color-button-secondary-content: 186 96% 21%;
  /* Tertiary Button */
  --leaf-color-button-tertiary-bg: transparent;
  --leaf-color-button-tertiary-bg-hover: 0 0% 97%;
  --leaf-color-button-tertiary-content: 186 96% 21%;
  /* Danger Button */
  --leaf-color-button-danger-bg: 0 84% 60%;
  --leaf-color-button-danger-bg-hover: 0 84% 55%;
  --leaf-color-button-danger-content: 0 0% 100%;
  /* === SHADOWS === */
  --leaf-shadow-small: 0 1px 2px 0 hsl(0 0% 0% / 0.05);
  --leaf-shadow-default: 0 4px 6px -1px hsl(0 0% 0% / 0.1), 0 2px 4px -2px hsl(0 0% 0% / 0.1);
  --leaf-shadow-large: 0 10px 15px -3px hsl(0 0% 0% / 0.1), 0 4px 6px -4px hsl(0 0% 0% / 0.1);
  /* === BORDER RADIUS === */
  --leaf-border-radius-none: 0;
  --leaf-border-radius-small: 0.25rem;
  --leaf-border-radius-default: 0.375rem;
  --leaf-border-radius-large: 0.5rem;
  --leaf-border-radius-round: 9999px;
  --leaf-border-radius-button: 0.375rem;
  --leaf-border-radius-badge: 9999px;
  --leaf-border-radius-field: 0.375rem;
  --leaf-border-radius-container: 0.5rem;
  /* === BORDER WIDTH === */
  --leaf-border-width-default: 1px;
  --leaf-border-width-focus: 2px;
  --leaf-border-width-large: 2px;
  /* === Z-INDEX === */
  --leaf-z-index-1: 1;
  --leaf-z-index-50: 50;
  --leaf-z-index-100: 100;
  --leaf-z-index-200: 200;
  --leaf-z-index-1030: 1030;
  /* === ANIMATIONS === */
  --leaf-anim-fade-quick: 350ms;
  --leaf-anim-ease: ease;
  /* === SIDEBAR (for Shadcn sidebar component) === */
  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 0 0% 20%;
  --sidebar-primary: 145 63% 42%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 0 0% 95%;
  --sidebar-accent-foreground: 0 0% 20%;
  --sidebar-border: 0 0% 90%;
  --sidebar-ring: 145 63% 42%;
  /* === CHART COLORS (for Shadcn charts) === */
  --chart-1: 145 63% 42%;
  --chart-2: 210 100% 50%;
  --chart-3: 45 100% 50%;
  --chart-4: 280 60% 50%;
  --chart-5: 0 84% 60%;
}

/* ========================================
     DARK MODE
     ======================================== */

/* ========================================
     RTL SUPPORT
     ======================================== */

[dir='rtl'] {
  --rtlTranslateX: 50%;
  --rtlGradientToRight: 270deg;
  --rtlRotate45Inverse: -45deg;
}

* {
  border-color: hsl(var(--border));
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-feature-settings: "rlig" 1, "calt" 1;
}

/* === BUTTONS === */

/* === CARD === */

/* === INPUT === */

/* === BADGES === */

/* === MDLIVE SPECIFIC COMPONENTS === */

/* Alert/Notification Box */

/* Section Container */

.section {
  padding-left: 8rem;
  padding-right: 8rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 960px) {
  .section {
    padding-left: 8rem;
    padding-right: 8rem;
  }
}

/* Icon Container */

/* Feature List Item */

/* Condition List */

/* Value Prop Card */

/* Availability Banner */

/* Footer */

/* Header Navigation */

/* Text Styles using Leaf typography */

/* Accent Colors */

.text-accent {
  color: hsl(var(--accent));
}

/* === MDLIVE PAGE-SPECIFIC COMPONENTS === */

/* Decorative Organic Shapes (Figma mint blobs) */

/* Image Container with Rounded Corners */

/* Decorative shapes for Figma design */

/* Hero Section Styles */

/* Value Proposition Cards - Figma Style */

/* Section Divider with Images */

/* Service Card (Urgent Care, Primary Care, etc.) */

/* Feature Checkmark List */

.check-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 9999px;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px;
  min-height: 24px;
  max-width: 24px;
  max-height: 24px;
}

.check-icon svg {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px;
  max-height: 14px;
  color: white;
  fill: white;
}

/* Conditions Column */

/* CTA Button Variants */

.btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: var(--radius);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  background-color: hsl(var(--primary));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-cta:hover {
  background-color: hsl(186 100% 17%);
  transform: translateY(-2px);
}

.btn-cta:active {
  transform: translateY(0);
}

.btn-cta svg {
  transition: transform 0.3s ease;
}

.btn-cta:hover svg {
  transform: translateX(4px);
}

/* Availability Alert Banner */

/* Limitation/Info Box */

/* Footnotes */

/* Footer Enhancements */

/* Image with Decorative Shape */

.pointer-events-none {
  pointer-events: none;
}

.static {
  position: static;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.inset-0 {
  inset: 0px;
}

.z-10 {
  z-index: 10;
}

.col-span-1 {
  grid-column: span 1 / span 1;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.ml-auto {
  margin-left: auto;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-20 {
  margin-top: 5rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.h-10 {
  height: 2.5rem;
}

.h-4 {
  height: 1rem;
}

.h-\[104px\] {
  height: 104px;
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.min-h-\[216px\] {
  min-height: 216px;
}

.min-h-\[80px\] {
  min-height: 80px;
}

.w-10 {
  width: 2.5rem;
}

.w-4 {
  width: 1rem;
}

.w-\[104px\] {
  width: 104px;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-\[420px\] {
  max-width: 420px;
}

.max-w-lg {
  max-width: 32rem;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.grow {
  flex-grow: 1;
}

.select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.list-disc {
  list-style-type: disc;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.overflow-hidden {
  overflow: hidden;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-3xl {
  border-radius: 1.5rem;
}

.rounded-\[24px\] {
  border-radius: 24px;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: var(--radius);
}

.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}

.border {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-\[\#035c67\] {
  --tw-border-opacity: 1;
  border-color: rgb(3 92 103 / var(--tw-border-opacity, 1));
}

.border-\[\#3effc0\] {
  --tw-border-opacity: 1;
  border-color: rgb(62 255 192 / var(--tw-border-opacity, 1));
}

.border-\[\#d5d5d5\] {
  --tw-border-opacity: 1;
  border-color: rgb(213 213 213 / var(--tw-border-opacity, 1));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.border-primary {
  border-color: hsl(var(--primary));
}

.bg-\[\#035c67\] {
  --tw-bg-opacity: 1;
  background-color: rgb(3 92 103 / var(--tw-bg-opacity, 1));
}

.bg-\[\#3effc0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(62 255 192 / var(--tw-bg-opacity, 1));
}

.bg-\[\#eaf4f6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(234 244 246 / var(--tw-bg-opacity, 1));
}

.bg-primary {
  background-color: hsl(var(--primary));
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}

.object-cover {
  -o-object-fit: cover;
  object-fit: cover;
}

.p-10 {
  padding: 2.5rem;
}

.p-6 {
  padding: 1.5rem;
}

.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-\[120px\] {
  padding-top: 120px;
  padding-bottom: 120px;
}

.pb-10 {
  padding-bottom: 2.5rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pt-10 {
  padding-top: 2.5rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-20 {
  padding-top: 5rem;
}

.pt-4 {
  padding-top: 1rem;
}

.text-center {
  text-align: center;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-\[32px\] {
  font-size: 32px;
}

.text-\[40px\] {
  font-size: 40px;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.leading-10 {
  line-height: 2.5rem;
}

.leading-6 {
  line-height: 1.5rem;
}

.leading-8 {
  line-height: 2rem;
}

.leading-\[40px\] {
  line-height: 40px;
}

.leading-\[56px\] {
  line-height: 56px;
}

.tracking-\[-0\.5px\] {
  letter-spacing: -0.5px;
}

.tracking-\[-1px\] {
  letter-spacing: -1px;
}

.text-\[\#00363d\] {
  --tw-text-opacity: 1;
  color: rgb(0 54 61 / var(--tw-text-opacity, 1));
}

.text-\[\#035c67\] {
  --tw-text-opacity: 1;
  color: rgb(3 92 103 / var(--tw-text-opacity, 1));
}

.text-\[\#2d2d2d\] {
  --tw-text-opacity: 1;
  color: rgb(45 45 45 / var(--tw-text-opacity, 1));
}

.text-\[\#3effc0\] {
  --tw-text-opacity: 1;
  color: rgb(62 255 192 / var(--tw-text-opacity, 1));
}

.text-\[\#6c6c6c\] {
  --tw-text-opacity: 1;
  color: rgb(108 108 108 / var(--tw-text-opacity, 1));
}

.text-accent {
  color: hsl(var(--accent));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-primary {
  color: hsl(var(--primary));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-80 {
  opacity: 0.8;
}

.mix-blend-multiply {
  mix-blend-mode: multiply;
}

.shadow-\[0px_4px_19\.6px_0px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-shadow: 0px 4px 19.6px 0px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0px 4px 19.6px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_4px_47px_0px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0px 4px 47px 0px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0px 4px 47px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.backdrop-blur-\[50px\] {
  --tw-backdrop-blur: blur(50px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}

/* Leaf spacing utilities using CSS calc */

/* Focus utilities matching Leaf patterns */

/*
 * ============================================================================
 * LEAF DESIGN SYSTEM → SHADCN INTEGRATION
 * ============================================================================
 *
 * This file maps Leaf Design System tokens to Shadcn UI's expected CSS variables.
 *
 * IMPORTANT: Replace placeholder values with actual values from:
 * - @cigna/leaf-design-tokens package
 * - Your design team's Figma files
 * - Extracting from a running Leaf application via DevTools
 *
 * Available brand themes in Leaf:
 * - cigna-healthcare (chc)
 * - the-cigna-group (tcg)
 * - cigna-legacy
 * - evernorth
 * - pbm
 * ============================================================================
 */

/* ========================================
   UTILITY CLASSES
   ======================================== */

/* ========================================
   KEYFRAME ANIMATIONS
   ======================================== */

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideIn {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes scaleIn {
  from {
    transform: scale(0.95);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }
}

@keyframes ripple {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* Animation utility classes */

.animate-fade-in-up {
  animation: fadeInUp 0.6s ease-out forwards;
}

.animate-fade-in-left {
  animation: fadeInLeft 0.6s ease-out forwards;
}

.animate-fade-in-right {
  animation: fadeInRight 0.6s ease-out forwards;
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

.animate-pulse-slow {
  animation: pulse 2s ease-in-out infinite;
}

.animation-delay-100 {
  animation-delay: 0.1s;
}

.animation-delay-200 {
  animation-delay: 0.2s;
}

.animation-delay-300 {
  animation-delay: 0.3s;
}

.animation-delay-400 {
  animation-delay: 0.4s;
}

.animation-delay-500 {
  animation-delay: 0.5s;
}

.animation-delay-600 {
  animation-delay: 0.6s;
}

.animation-delay-700 {
  animation-delay: 0.7s;
}

.animation-delay-800 {
  animation-delay: 0.8s;
}

/* Subtle reveal — smaller translate, eased curve, holds starting state during delay */

@keyframes revealUp {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to   {
    opacity: 1;
    transform: translateY(0);
  }
}

.reveal-up {
  animation: revealUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  .reveal-up {
    animation: none;
  }
}

/* Scroll-triggered animations (use with JS) */

.scroll-animate {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

@media (prefers-reduced-motion: no-preference) {
  .scroll-animate {
    opacity: 0;
    transform: translateY(20px);
  }

  .scroll-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ========================================
   COMPONENT STYLES (Using Leaf Tokens)
   ======================================== */

.hover\:bg-\[\#035c67\]\/5:hover {
  background-color: rgb(3 92 103 / 0.05);
}

.hover\:bg-\[\#3effc0\]\/10:hover {
  background-color: rgb(62 255 192 / 0.1);
}

.hover\:bg-\[\#3effc0\]\/90:hover {
  background-color: rgb(62 255 192 / 0.9);
}

.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}

@media (min-width: 375px) {
  .sm\:w-auto {
    width: auto;
  }
}

@media (min-width: 768px) {
  .md\:absolute {
    position: absolute;
  }

  .md\:inset-0 {
    inset: 0px;
  }

  .md\:z-10 {
    z-index: 10;
  }

  .md\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .md\:mt-24 {
    margin-top: 6rem;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:gap-12 {
    gap: 3rem;
  }

  .md\:gap-4 {
    gap: 1rem;
  }

  .md\:gap-9 {
    gap: 2.25rem;
  }

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .md\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .md\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .md\:pt-12 {
    padding-top: 3rem;
  }

  .md\:pt-24 {
    padding-top: 6rem;
  }

  .md\:text-\[40px\] {
    font-size: 40px;
  }

  .md\:leading-\[56px\] {
    line-height: 56px;
  }

  .md\:tracking-\[-1px\] {
    letter-spacing: -1px;
  }
}

@media (min-width: 960px) {
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-start-1 {
    grid-column-start: 1;
  }

  .lg\:col-start-2 {
    grid-column-start: 2;
  }

  .lg\:row-span-2 {
    grid-row: span 2 / span 2;
  }

  .lg\:row-start-1 {
    grid-row-start: 1;
  }

  .lg\:row-start-2 {
    grid-row-start: 2;
  }

  .lg\:mt-\[120px\] {
    margin-top: 120px;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:max-w-\[500px\] {
    max-width: 500px;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-20 {
    gap: 5rem;
  }

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:px-\[100px\] {
    padding-left: 100px;
    padding-right: 100px;
  }

  .lg\:px-\[120px\] {
    padding-left: 120px;
    padding-right: 120px;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:pl-\[100px\] {
    padding-left: 100px;
  }

  .lg\:pr-\[40px\] {
    padding-right: 40px;
  }

  .lg\:pt-16 {
    padding-top: 4rem;
  }

  .lg\:pt-\[120px\] {
    padding-top: 120px;
  }

  .lg\:text-\[48px\] {
    font-size: 48px;
  }

  .lg\:leading-\[64px\] {
    line-height: 64px;
  }
}

@media (min-width: 1200px) {
  .xl\:px-\[120px\] {
    padding-left: 120px;
    padding-right: 120px;
  }
}

/* After other page CSS — static v4 dist parity (see finalStatic.css) */

/*
 * finalStatic.css — rules present in mdlive-staticv4 (output.css + mdlive.css) but not
 * in the repo’s dist/output.css at time of generation. Merged for parity; loaded after @tailwind in input.css.
 * Do not hand-edit the rule set without re-syncing from the static v4 dist.
 */

:root {
  --mdlive-brand-strong: 187 94% 21%;
  --mdlive-brand-accent: 175 100% 28%;
  --mdlive-brand-primary: 187 94% 21%;
  --mdlive-brand-dark: 187 100% 12%;
  --font-body: Inter, ui-sans-serif, system-ui, sans-serif;
  /* ========================================
       BASE SIZING
       ======================================== */
  --size-base-unit: 0.5rem;
  /* ========================================
       SHADCN CORE VARIABLES (Light Mode)
       Mapped from Leaf Design Tokens
       ======================================== */
  /* Background & Foreground */
  --background: 0 0% 100%;
  /* white - maps to leaf-color-bg-default */
  --foreground: 0 0% 20%;
  /* dark gray - maps to leaf-color-content-default */
  --color-content-default: #2D2D2D;
  --color-content-subtle: #6C6C6C;
  --color-accent-bg-medium-mint: #008F83;
  --color-content-link: #035C67;
  --color-content-strong: #000000;
  --color-content-disabled: #6C6C6C;
  --color-content-knockout: #FFFFFF;
  --color-content-error: #D8000C;
  --color-content-success: #008000;
  --color-content-info: #0000FF;
  --color-content-warning: #FFA500;
  --color-content-attention: #FFA500;
  --leaf-typography-font-family-label: "Inter";
  --leaf-typography-font-family-title: "Arial";
  --leaf-typography-font-family-headline: "Arial";
  --leaf-typography-font-family-body: "Inter";
  --leaf-typography-font-family-display: "Inter";
  --leaf-typography-font-size-title-small: 1.125rem;
  --leaf-typography-font-size-headline-small: 2rem;
  --leaf-typography-font-size-display-small-mobile: 2rem;
  --leaf-typography-font-size-body-default: 1rem;
  --leaf-typography-font-size-label-large: 1rem;
  --leaf-typography-font-size-label-default: 1rem;
  --leaf-typography-font-size-body-small: 0.875rem;
  --leaf-typography-font-size-display-default-mobile: 3.5rem;
  --leaf-typography-line-height-headline-small: 125%;
  --leaf-typography-line-height-body-default: 150%;
  --leaf-typography-line-height-display-small-mobile: 140%;
  --leaf-typography-line-height-label-large: 133.333%;
  --leaf-typography-line-height-body-small: 114%;
  --leaf-typography-letter-spacing-label-large: 0;
  --leaf-typography-letter-spacing-body-small: 0;
  /* Card */
  --card: 0 0% 100%;
  --card-foreground: 0 0% 20%;
  /* Popover */
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 20%;
  /* Primary (Brand) - Update with your brand color */
  --primary: 186 96% 21%;
  /* Evernorth green example: #2D9F3C */
  --primary-foreground: 0 0% 100%;
  /* Secondary */
  --secondary: 0 0% 96%;
  /* maps to leaf-color-bg-subtle */
  --secondary-foreground: 0 0% 20%;
  /* Muted */
  --muted: 0 0% 96%;
  --muted-foreground: 0 0% 45%;
  /* maps to leaf-color-content-subtle */
  /* Accent */
  --accent: 173 100% 28%;
  --accent-foreground: 0 0% 20%;
  /* Destructive */
  --destructive: 0 84% 60%;
  /* maps to leaf-color-bg-error-strong */
  --destructive-foreground: 0 0% 100%;
  /* Border & Input */
  --border: 0 0% 80%;
  /* maps to leaf-color-border-default */
  --input: 0 0% 70%;
  /* maps to leaf-color-border-strong */
  --ring: 145 63% 42%;
  /* Focus ring - maps to leaf-color-border-active-outline */
  /* Border Radius - from Leaf tokens */
  --radius: 0.375rem;
  /* maps to leaf-border-radius-default */
  /* ========================================
       EXTENDED LEAF COLOR TOKENS
       ======================================== */
  /* === BACKGROUND COLORS === */
  --leaf-color-bg-default: #008F83;
  --leaf-color-bg-default-hover: 0 0% 98%;
  --leaf-color-bg-active: 0 0% 95%;
  --leaf-color-bg-pressed: 0 0% 93%;
  --leaf-color-bg-disabled: 0 0% 95%;
  --leaf-color-bg-subtle: 0 0% 97%;
  --leaf-color-bg-moderate: 0 0% 94%;
  --leaf-color-bg-strong: 0 0% 90%;
  /* Brand Backgrounds - Update with your brand */
  --leaf-color-bg-brand: 145 63% 42%;
  --leaf-color-bg-brand-hover: 145 63% 38%;
  --leaf-color-bg-brand-active: 145 63% 35%;
  --leaf-color-bg-brand-disabled: 145 30% 70%;
  --leaf-color-bg-brand-strong: 145 63% 35%;
  --leaf-color-bg-brand-xstrong: 145 63% 30%;
  /* Inverse Backgrounds */
  --leaf-color-bg-inverse: 0 0% 20%;
  --leaf-color-bg-inverse-active: 0 0% 15%;
  --leaf-color-bg-inverse-moderate: 0 0% 30%;
  /* Status Backgrounds */
  --leaf-color-bg-error: 0 84% 95%;
  --leaf-color-bg-error-strong: 0 84% 60%;
  --leaf-color-bg-success: 145 60% 95%;
  --leaf-color-bg-success-strong: 145 60% 45%;
  --leaf-color-bg-warning: 45 100% 95%;
  --leaf-color-bg-warning-strong: 45 100% 50%;
  --leaf-color-bg-info: 210 100% 95%;
  --leaf-color-bg-info-strong: 210 100% 50%;
  --leaf-color-bg-attention: 35 100% 95%;
  --leaf-color-bg-attention-strong: 35 100% 50%;
  /* === BORDER COLORS === */
  --leaf-color-border-default: 0 0% 80%;
  --leaf-color-border-default-hover: 0 0% 70%;
  --leaf-color-border-subtle: 0 0% 90%;
  --leaf-color-border-strong: 0 0% 65%;
  --leaf-color-border-light: 0 0% 92%;
  --leaf-color-border-disabled: 0 0% 88%;
  --leaf-color-border-neutral: 0 0% 75%;
  --leaf-color-border-inverse: 0 0% 100%;
  --leaf-color-border-knockout: 0 0% 100%;
  --leaf-color-border-active-outline: 145 63% 42%;
  --leaf-color-border-inverse-active-outline: 0 0% 100%;
  /* Brand Borders */
  --leaf-color-border-brand: 145 63% 42%;
  --leaf-color-border-brand-subtle: 145 40% 70%;
  --leaf-color-border-brand-strong: 145 63% 35%;
  /* Status Borders */
  --leaf-color-border-error: 0 84% 60%;
  --leaf-color-border-success: 145 60% 45%;
  --leaf-color-border-warning: 45 100% 50%;
  --leaf-color-border-info: 210 100% 50%;
  --leaf-color-border-attention: 35 100% 50%;
  /* === CONTENT/TEXT COLORS === */
  --leaf-color-content-default: 0 0% 20%;
  --leaf-color-content-subtle: 0 0% 45%;
  --leaf-color-content-strong: 0 0% 10%;
  --leaf-color-content-disabled: 0 0% 60%;
  --leaf-color-content-knockout: 0 0% 100%;
  /* Brand Content */
  --leaf-color-content-brand: 145 63% 35%;
  --leaf-color-content-brand-hover: 145 63% 30%;
  --leaf-color-content-brand-strong: 145 63% 30%;
  --leaf-color-content-brand-knockout: 0 0% 100%;
  /* Link Colors */
  --leaf-color-content-link: #035C67;
  --leaf-color-content-link-hover: 210 100% 40%;
  --leaf-color-content-link-active: 210 100% 35%;
  --leaf-color-content-link-visited: 270 50% 45%;
  /* Status Content */
  --leaf-color-content-error: 0 84% 45%;
  --leaf-color-content-success: 145 60% 35%;
  --leaf-color-content-info: 210 100% 45%;
  --leaf-color-content-warning: 45 100% 35%;
  /* === BUTTON COLORS === */
  /* Primary Button */
  --leaf-color-button-primary-bg: 187 94% 21%;
  --leaf-color-button-primary-bg-hover: 187 94% 38%;
  --leaf-color-button-primary-bg-active: 187 94% 35%;
  --leaf-color-button-primary-bg-disabled: 0 0% 85%;
  --leaf-color-button-primary-border: 187 94% 21%;
  --leaf-color-button-primary-content: 0 0% 100%;
  --leaf-color-button-primary-inverse-content: #00363D;
  --leaf-color-button-primary-inverse-bg: #3EFFC0;
  --leaf-color-button-primary-content-disabled: 0 0% 60%;
  /* Secondary Button */
  --leaf-color-button-secondary-bg: 0 0% 100%;
  --leaf-color-button-secondary-bg-hover: 0 0% 97%;
  --leaf-color-button-secondary-bg-active: 0 0% 95%;
  --leaf-color-button-secondary-border: 145 63% 42%;
  --leaf-color-button-secondary-content: 145 63% 35%;
  /* Tertiary Button */
  --leaf-color-button-tertiary-bg: transparent;
  --leaf-color-button-tertiary-bg-hover: 0 0% 97%;
  --leaf-color-button-tertiary-content: 145 63% 35%;
  /* Danger Button */
  --leaf-color-button-danger-bg: 0 84% 60%;
  --leaf-color-button-danger-bg-hover: 0 84% 55%;
  --leaf-color-button-danger-content: 0 0% 100%;
  /* === SHADOWS === */
  --leaf-shadow-small: 0 1px 2px 0 hsl(0 0% 0% / 0.05);
  --leaf-shadow-default: 0 4px 6px -1px hsl(0 0% 0% / 0.1), 0 2px 4px -2px hsl(0 0% 0% / 0.1);
  --leaf-shadow-large: 0 10px 15px -3px hsl(0 0% 0% / 0.1), 0 4px 6px -4px hsl(0 0% 0% / 0.1);
  /* === BORDER RADIUS === */
  --leaf-border-radius-none: 0;
  --leaf-border-radius-small: 0.25rem;
  --leaf-border-radius-default: 0.375rem;
  --leaf-border-radius-large: 0.5rem;
  --leaf-border-radius-round: 9999px;
  --leaf-border-radius-button: 0.375rem;
  --leaf-border-radius-component-border-radius-button: var(--leaf-border-radius-button);
  --leaf-border-radius-badge: 9999px;
  --leaf-border-radius-field: 0.375rem;
  --leaf-border-radius-container: 0.5rem;
  /* === BORDER WIDTH === */
  --leaf-border-width-default: 1px;
  --leaf-border-width-focus: 2px;
  --leaf-border-width-large: 2px;
  /* === Z-INDEX === */
  --leaf-z-index-1: 1;
  --leaf-z-index-50: 50;
  --leaf-z-index-100: 100;
  --leaf-z-index-200: 200;
  --leaf-z-index-1030: 1030;
  /* === ANIMATIONS === */
  --leaf-anim-fade-quick: 350ms;
  --leaf-anim-ease: ease;
  /* === SIDEBAR (for Shadcn sidebar component) === */
  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 0 0% 20%;
  --sidebar-primary: 145 63% 42%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 0 0% 95%;
  --sidebar-accent-foreground: 0 0% 20%;
  --sidebar-border: 0 0% 90%;
  --sidebar-ring: 145 63% 42%;
  /* === CHART COLORS (for Shadcn charts) === */
  --chart-1: 145 63% 42%;
  --chart-2: 210 100% 50%;
  --chart-3: 45 100% 50%;
  --chart-4: 280 60% 50%;
  --chart-5: 0 84% 60%;
}

.-left-10 {
  left: -2.5rem;
}

.left-1\/2 {
  left: 50%;
}

.top-1\/2 {
  top: 50%;
}

.m-auto {
  margin: auto;
}

.mt-8 {
  margin-top: 2rem;
}

.aspect-\[462\/198\] {
  aspect-ratio: 462/198;
}

.h-20 {
  height: 5rem;
}

.h-3 {
  height: 0.75rem;
}

.h-\[100px\] {
  height: 100px;
}

.h-\[331px\] {
  height: 331px;
}

.h-\[725px\] {
  height: 725px;
}

.w-20 {
  width: 5rem;
}

.w-3 {
  width: 0.75rem;
}

.w-\[100px\] {
  width: 100px;
}

.w-\[1392px\] {
  width: 1392px;
}

.max-w-\[620px\] {
  max-width: 620px;
}

.max-w-none {
  max-width: none;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-scale-x-100 {
  --tw-scale-x: -1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.items-end {
  align-items: flex-end;
}

.justify-end {
  justify-content: flex-end;
}

.bg-\[rgba\(51\2c 51\2c 51\2c 0\.5\)\] {
  background-color: rgba(51,51,51,0.5);
}

.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-12 {
  padding-bottom: 3rem;
}

.pt-\[50px\] {
  padding-top: 50px;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-5xl {
  font-size: 3rem;
  line-height: 1;
}

.leading-\[29\.25px\] {
  line-height: 29.25px;
}

.leading-\[29px\] {
  line-height: 29px;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.no-underline {
  text-decoration-line: none;
}

.hover\:bg-\[rgba\(51\2c 51\2c 51\2c 0\.65\)\]:hover {
  background-color: rgba(51,51,51,0.65);
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

@media (min-width: 768px) {
  .md\:absolute {
    position: absolute;
  }

  .md\:inset-0 {
    inset: 0px;
  }

  .md\:top-\[118px\] {
    top: 118px;
  }

  .md\:z-10 {
    z-index: 10;
  }

  .md\:m-0 {
    margin: 0px;
  }

  .md\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .md\:mt-0 {
    margin-top: 0px;
  }

  .md\:mt-24 {
    margin-top: 6rem;
  }

  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:min-h-\[36rem\] {
    min-height: 36rem;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:max-w-\[70\%\] {
    max-width: 70%;
  }

  .md\:max-w-\[min\(1300px\2c calc\(100vw-140px\)\)\] {
    max-width: min(1300px, calc(100vw - 140px));
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:gap-4 {
    gap: 1rem;
  }

  .md\:gap-8 {
    gap: 2rem;
  }

  .md\:gap-9 {
    gap: 2.25rem;
  }

  .md\:gap-12 {
    gap: 3rem;
  }

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .md\:px-\[40px\] {
    padding-left: 40px;
    padding-right: 40px;
  }

  .md\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .md\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .md\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .md\:pb-12 {
    padding-bottom: 3rem;
  }

  .md\:pb-20 {
    padding-bottom: 5rem;
  }

  .md\:pt-12 {
    padding-top: 3rem;
  }

  .md\:pt-24 {
    padding-top: 6rem;
  }

  .md\:pt-\[140px\] {
    padding-top: 140px;
  }

  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-\[40px\] {
    font-size: 40px;
  }

  .md\:leading-\[56px\] {
    line-height: 56px;
  }

  .md\:tracking-\[-1px\] {
    letter-spacing: -1px;
  }
}

@media (min-width: 960px) {
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-start-1 {
    grid-column-start: 1;
  }

  .lg\:col-start-2 {
    grid-column-start: 2;
  }

  .lg\:row-span-2 {
    grid-row: span 2 / span 2;
  }

  .lg\:row-start-1 {
    grid-row-start: 1;
  }

  .lg\:row-start-2 {
    grid-row-start: 2;
  }

  .lg\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }

  .lg\:mt-\[120px\] {
    margin-top: 120px;
  }

  .lg\:block {
    display: block;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:min-h-\[50\.0625rem\] {
    min-height: 50.0625rem;
  }

  .lg\:w-\[588px\] {
    width: 588px;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:max-w-\[588px\] {
    max-width: 588px;
  }

  .lg\:max-w-\[500px\] {
    max-width: 500px;
  }

  .lg\:flex-1 {
    flex: 1 1 0%;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-20 {
    gap: 5rem;
  }

  .lg\:gap-\[64px\] {
    gap: 64px;
  }

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .lg\:px-\[120px\] {
    padding-left: 120px;
    padding-right: 120px;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:px-\[100px\] {
    padding-left: 100px;
    padding-right: 100px;
  }

  .lg\:pb-0 {
    padding-bottom: 0px;
  }

  .lg\:pb-20 {
    padding-bottom: 5rem;
  }

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pl-\[100px\] {
    padding-left: 100px;
  }

  .lg\:pr-0 {
    padding-right: 0px;
  }

  .lg\:pr-\[40px\] {
    padding-right: 40px;
  }

  .lg\:pt-16 {
    padding-top: 4rem;
  }

  .lg\:pt-40 {
    padding-top: 10rem;
  }

  .lg\:pt-\[120px\] {
    padding-top: 120px;
  }

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-\[40px\] {
    font-size: 40px;
  }

  .lg\:text-\[48px\] {
    font-size: 48px;
  }

  .lg\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .lg\:leading-\[64px\] {
    line-height: 64px;
  }
}

@media (min-width: 1200px) {
  .xl\:mx-\[120px\] {
    margin-left: 120px;
    margin-right: 120px;
  }

  .xl\:gap-16 {
    gap: 4rem;
  }

  .xl\:px-\[120px\] {
    padding-left: 120px;
    padding-right: 120px;
  }
}

.mt-\[24px\] {
  margin-top: 24px;
}

.h-\[240px\] {
  height: 240px;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.border-\[\#d6d6d6\] {
  --tw-border-opacity: 1;
  border-color: rgb(214 214 214 / var(--tw-border-opacity, 1));
}

.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}

.object-bottom {
  -o-object-position: bottom;
  object-position: bottom;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.text-\[18px\] {
  font-size: 18px;
}

.leading-\[32px\] {
  line-height: 32px;
}

.text-\[\#004c54\] {
  --tw-text-opacity: 1;
  color: rgb(0 76 84 / var(--tw-text-opacity, 1));
}

.text-\[\#333\] {
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}

.text-\[\#5c5c5c\] {
  --tw-text-opacity: 1;
  color: rgb(92 92 92 / var(--tw-text-opacity, 1));
}

.drop-shadow-\[0px_4px_9\.8px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-drop-shadow: drop-shadow(0px 4px 9.8px rgba(0,0,0,0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

@media (min-width: 768px) {
  .md\:absolute {
    position: absolute;
  }

  .md\:inset-0 {
    inset: 0px;
  }

  .md\:inset-x-0 {
    left: 0px;
    right: 0px;
  }

  .md\:top-0 {
    top: 0px;
  }

  .md\:z-10 {
    z-index: 10;
  }

  .md\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .md\:-mt-\[80px\] {
    margin-top: -80px;
  }

  .md\:mt-24 {
    margin-top: 6rem;
  }

  .md\:block {
    display: block;
  }

  .md\:aspect-\[768\/437\] {
    aspect-ratio: 768/437;
  }

  .md\:h-full {
    height: 100%;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:w-full {
    width: 100%;
  }

  .md\:max-w-\[55\%\] {
    max-width: 55%;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:gap-12 {
    gap: 3rem;
  }

  .md\:gap-4 {
    gap: 1rem;
  }

  .md\:gap-9 {
    gap: 2.25rem;
  }

  .md\:object-top {
    -o-object-position: top;
    object-position: top;
  }

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .md\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .md\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .md\:pb-0 {
    padding-bottom: 0px;
  }

  .md\:pt-24 {
    padding-top: 6rem;
  }

  .md\:pt-\[120px\] {
    padding-top: 120px;
  }

  .md\:text-\[40px\] {
    font-size: 40px;
  }

  .md\:text-\[48px\] {
    font-size: 48px;
  }

  .md\:leading-\[56px\] {
    line-height: 56px;
  }

  .md\:leading-\[64px\] {
    line-height: 64px;
  }

  .md\:tracking-\[-1px\] {
    letter-spacing: -1px;
  }
}

@media (min-width: 960px) {
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-start-1 {
    grid-column-start: 1;
  }

  .lg\:col-start-2 {
    grid-column-start: 2;
  }

  .lg\:row-span-2 {
    grid-row: span 2 / span 2;
  }

  .lg\:row-start-1 {
    grid-row-start: 1;
  }

  .lg\:row-start-2 {
    grid-row-start: 2;
  }

  .lg\:-mt-\[56px\] {
    margin-top: -56px;
  }

  .lg\:mt-\[120px\] {
    margin-top: 120px;
  }

  .lg\:aspect-auto {
    aspect-ratio: auto;
  }

  .lg\:h-\[555px\] {
    height: 555px;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:max-w-\[500px\] {
    max-width: 500px;
  }

  .lg\:max-w-\[792px\] {
    max-width: 792px;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-20 {
    gap: 5rem;
  }

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:px-\[120px\] {
    padding-left: 120px;
    padding-right: 120px;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:pt-\[120px\] {
    padding-top: 120px;
  }

  .lg\:pt-\[200px\] {
    padding-top: 200px;
  }

  .lg\:text-\[48px\] {
    font-size: 48px;
  }

  .lg\:leading-\[64px\] {
    line-height: 64px;
  }
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

:root {
  --mdlive-brand-strong: 187 94% 21%;
  --mdlive-brand-accent: 175 100% 28%;
  --mdlive-brand-primary: 187 94% 21%;
  --mdlive-brand-dark: 187 100% 12%;
  --font-body: Inter, ui-sans-serif, system-ui, sans-serif;
  /* ========================================
       BASE SIZING
       ======================================== */
  --size-base-unit: 0.5rem;
  /* ========================================
       SHADCN CORE VARIABLES (Light Mode)
       Mapped from Leaf Design Tokens
       ======================================== */
  /* Background & Foreground */
  --background: 0 0% 100%;
  /* white - maps to leaf-color-bg-default */
  --foreground: 0 0% 20%;
  /* dark gray - maps to leaf-color-content-default */
  --color-content-default: #2D2D2D;
  --color-content-subtle: #6C6C6C;
  --color-accent-bg-medium-mint: #008F83;
  --color-content-link: #035C67;
  --color-content-strong: #000000;
  --color-content-disabled: #6C6C6C;
  --color-content-knockout: #FFFFFF;
  --color-content-error: #D8000C;
  --color-content-success: #008000;
  --color-content-info: #0000FF;
  --color-content-warning: #FFA500;
  --color-content-attention: #FFA500;
  --leaf-typography-font-family-label: "Inter";
  --leaf-typography-font-family-title: "Arial";
  --leaf-typography-font-family-headline: "Arial";
  --leaf-typography-font-family-body: "Inter";
  --leaf-typography-font-family-display: "Inter";
  --leaf-typography-font-size-title-small: 1.125rem;
  --leaf-typography-font-size-headline-small: 2rem;
  --leaf-typography-font-size-display-small-mobile: 2rem;
  --leaf-typography-font-size-body-default: 1rem;
  --leaf-typography-font-size-label-large: 1rem;
  --leaf-typography-font-size-label-default: 1rem;
  --leaf-typography-font-size-body-small: 0.875rem;
  --leaf-typography-font-size-display-default-mobile: 3.5rem;
  --leaf-typography-line-height-headline-small: 125%;
  --leaf-typography-line-height-body-default: 150%;
  --leaf-typography-line-height-display-small-mobile: 140%;
  --leaf-typography-line-height-label-large: 133.333%;
  --leaf-typography-line-height-body-small: 114%;
  --leaf-typography-letter-spacing-label-large: 0;
  --leaf-typography-letter-spacing-body-small: 0;
  /* Card */
  --card: 0 0% 100%;
  --card-foreground: 0 0% 20%;
  /* Popover */
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 20%;
  /* Primary (Brand) - Update with your brand color */
  --primary: 186 96% 21%;
  /* Evernorth green example: #2D9F3C */
  --primary-foreground: 0 0% 100%;
  /* Secondary */
  --secondary: 0 0% 96%;
  /* maps to leaf-color-bg-subtle */
  --secondary-foreground: 0 0% 20%;
  /* Muted */
  --muted: 0 0% 96%;
  --muted-foreground: 0 0% 45%;
  /* maps to leaf-color-content-subtle */
  /* Accent */
  --accent: 173 100% 28%;
  --accent-foreground: 0 0% 20%;
  /* Destructive */
  --destructive: 0 84% 60%;
  /* maps to leaf-color-bg-error-strong */
  --destructive-foreground: 0 0% 100%;
  /* Border & Input */
  --border: 0 0% 80%;
  /* maps to leaf-color-border-default */
  --input: 0 0% 70%;
  /* maps to leaf-color-border-strong */
  --ring: 145 63% 42%;
  /* Focus ring - maps to leaf-color-border-active-outline */
  /* Border Radius - from Leaf tokens */
  --radius: 0.375rem;
  /* maps to leaf-border-radius-default */
  /* ========================================
       EXTENDED LEAF COLOR TOKENS
       ======================================== */
  /* === BACKGROUND COLORS === */
  --leaf-color-bg-default: #008F83;
  --leaf-color-bg-default-hover: 0 0% 98%;
  --leaf-color-header-bg-default: #ffffffe6;
  --leaf-color-bg-active: 0 0% 95%;
  --leaf-color-bg-pressed: 0 0% 93%;
  --leaf-color-bg-disabled: 0 0% 95%;
  --leaf-color-bg-subtle: 0 0% 97%;
  --leaf-color-bg-moderate: 0 0% 94%;
  --leaf-color-bg-strong: 0 0% 90%;
  /* Brand Backgrounds - Update with your brand */
  --leaf-color-bg-brand: 145 63% 42%;
  --leaf-color-bg-brand-hover: 145 63% 38%;
  --leaf-color-bg-brand-active: 145 63% 35%;
  --leaf-color-bg-brand-disabled: 145 30% 70%;
  --leaf-color-bg-brand-strong: 145 63% 35%;
  --leaf-color-bg-brand-xstrong: 145 63% 30%;
  /* Inverse Backgrounds */
  --leaf-color-bg-inverse: 0 0% 20%;
  --leaf-color-bg-inverse-active: 0 0% 15%;
  --leaf-color-bg-inverse-moderate: 0 0% 30%;
  /* Status Backgrounds */
  --leaf-color-bg-error: 0 84% 95%;
  --leaf-color-bg-error-strong: 0 84% 60%;
  --leaf-color-bg-success: 145 60% 95%;
  --leaf-color-bg-success-strong: 145 60% 45%;
  --leaf-color-bg-warning: 45 100% 95%;
  --leaf-color-bg-warning-strong: 45 100% 50%;
  --leaf-color-bg-info: 210 100% 95%;
  --leaf-color-bg-info-strong: 210 100% 50%;
  --leaf-color-bg-attention: 35 100% 95%;
  --leaf-color-bg-attention-strong: 35 100% 50%;
  /* === BORDER COLORS === */
  --leaf-color-border-default: 0 0% 80%;
  --leaf-color-border-default-hover: 0 0% 70%;
  --leaf-color-border-subtle: 0 0% 90%;
  --leaf-color-border-strong: 0 0% 65%;
  --leaf-color-border-light: 0 0% 92%;
  --leaf-color-border-disabled: 0 0% 88%;
  --leaf-color-border-neutral: 0 0% 75%;
  --leaf-color-border-inverse: 0 0% 100%;
  --leaf-color-border-knockout: 0 0% 100%;
  --leaf-color-border-active-outline: 145 63% 42%;
  --leaf-color-border-inverse-active-outline: 0 0% 100%;
  /* Brand Borders */
  --leaf-color-border-brand: 145 63% 42%;
  --leaf-color-border-brand-subtle: 145 40% 70%;
  --leaf-color-border-brand-strong: 145 63% 35%;
  /* Status Borders */
  --leaf-color-border-error: 0 84% 60%;
  --leaf-color-border-success: 145 60% 45%;
  --leaf-color-border-warning: 45 100% 50%;
  --leaf-color-border-info: 210 100% 50%;
  --leaf-color-border-attention: 35 100% 50%;
  /* === CONTENT/TEXT COLORS === */
  --leaf-color-content-default: 0 0% 20%;
  --leaf-color-content-subtle: 0 0% 45%;
  --leaf-color-content-strong: 0 0% 10%;
  --leaf-color-content-disabled: 0 0% 60%;
  --leaf-color-content-knockout: 0 0% 100%;
  /* Brand Content */
  --leaf-color-content-brand: 145 63% 35%;
  --leaf-color-content-brand-hover: 145 63% 30%;
  --leaf-color-content-brand-strong: 145 63% 30%;
  --leaf-color-content-brand-knockout: 0 0% 100%;
  /* Link Colors */
  --leaf-color-content-link: #035C67;
  --leaf-color-content-link-hover: 210 100% 40%;
  --leaf-color-content-link-active: 210 100% 35%;
  --leaf-color-content-link-visited: 270 50% 45%;
  /* Status Content */
  --leaf-color-content-error: 0 84% 45%;
  --leaf-color-content-success: 145 60% 35%;
  --leaf-color-content-info: 210 100% 45%;
  --leaf-color-content-warning: 45 100% 35%;
  /* === BUTTON COLORS === */
  /* Primary Button */
  --leaf-color-button-primary-bg: 187 94% 21%;
  --leaf-color-button-primary-bg-hover: 187 94% 38%;
  --leaf-color-button-primary-bg-active: 187 94% 35%;
  --leaf-color-button-primary-bg-disabled: 0 0% 85%;
  --leaf-color-button-primary-border: 187 94% 21%;
  --leaf-color-button-primary-content: 0 0% 100%;
  --leaf-color-button-primary-inverse-content: #00363D;
  --leaf-color-button-primary-inverse-bg: #3EFFC0;
  --leaf-color-button-primary-content-disabled: 0 0% 60%;
  /* Secondary Button */
  --leaf-color-button-secondary-bg: 0 0% 100%;
  --leaf-color-button-secondary-bg-hover: 0 0% 97%;
  --leaf-color-button-secondary-bg-active: 0 0% 95%;
  --leaf-color-button-secondary-border: 145 63% 42%;
  --leaf-color-button-secondary-content: 145 63% 35%;
  /* Tertiary Button */
  --leaf-color-button-tertiary-bg: transparent;
  --leaf-color-button-tertiary-bg-hover: 0 0% 97%;
  --leaf-color-button-tertiary-content: 145 63% 35%;
  /* Danger Button */
  --leaf-color-button-danger-bg: 0 84% 60%;
  --leaf-color-button-danger-bg-hover: 0 84% 55%;
  --leaf-color-button-danger-content: 0 0% 100%;
  /* === SHADOWS === */
  --leaf-shadow-small: 0 1px 2px 0 hsl(0 0% 0% / 0.05);
  --leaf-shadow-default: 0 4px 6px -1px hsl(0 0% 0% / 0.1), 0 2px 4px -2px hsl(0 0% 0% / 0.1);
  --leaf-shadow-large: 0 10px 15px -3px hsl(0 0% 0% / 0.1), 0 4px 6px -4px hsl(0 0% 0% / 0.1);
  /* === BORDER RADIUS === */
  --leaf-border-radius-none: 0;
  --leaf-border-radius-small: 0.25rem;
  --leaf-border-radius-default: 0.375rem;
  --leaf-border-radius-large: 0.5rem;
  --leaf-border-radius-round: 9999px;
  --leaf-border-radius-button: 0.375rem;
  --leaf-border-radius-component-border-radius-button: var(--leaf-border-radius-button);
  --leaf-border-radius-badge: 9999px;
  --leaf-border-radius-field: 0.375rem;
  --leaf-border-radius-container: 0.5rem;
  /* === BORDER WIDTH === */
  --leaf-border-width-default: 1px;
  --leaf-border-width-focus: 2px;
  --leaf-border-width-large: 2px;
  /* === Z-INDEX === */
  --leaf-z-index-1: 1;
  --leaf-z-index-50: 50;
  --leaf-z-index-100: 100;
  --leaf-z-index-200: 200;
  --leaf-z-index-1030: 1030;
  /* === ANIMATIONS === */
  --leaf-anim-fade-quick: 350ms;
  --leaf-anim-ease: ease;
  /* === SIDEBAR (for Shadcn sidebar component) === */
  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 0 0% 20%;
  --sidebar-primary: 145 63% 42%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 0 0% 95%;
  --sidebar-accent-foreground: 0 0% 20%;
  --sidebar-border: 0 0% 90%;
  --sidebar-ring: 145 63% 42%;
  /* === CHART COLORS (for Shadcn charts) === */
  --chart-1: 145 63% 42%;
  --chart-2: 210 100% 50%;
  --chart-3: 45 100% 50%;
  --chart-4: 280 60% 50%;
  --chart-5: 0 84% 60%;
}

/* ========================================
     DARK MODE
     ======================================== */

/* ========================================
     RTL SUPPORT
     ======================================== */

[dir='rtl'] {
  --rtlTranslateX: 50%;
  --rtlGradientToRight: 270deg;
  --rtlRotate45Inverse: -45deg;
}

* {
  border-color: hsl(var(--border));
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-feature-settings: "rlig" 1, "calt" 1;
}

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}

@media (min-width: 540px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 720px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 960px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1140px) {
  .container {
    max-width: 1140px;
  }
}

@media (min-width: 1320px) {
  .container {
    max-width: 1320px;
  }
}

/* === FAQ GLOBAL FOCUS === */

.faq-accordion-item summary:focus-visible,
  .faq-search-clear:focus-visible,
  .faq-search-field .search-btn:focus-visible,
  .faq-anchor-link:focus-visible,
  .faq-jump-link:focus-visible,
  #faq-jump-to-toggle:focus-visible,
  #see-all-faqs-link:focus-visible {
  outline: 2px solid #035c67;
  outline-offset: 2px;
}

/* === FAQ SECTIONS === */

.faq-section {
  scroll-margin-top: 140px;
}

/* === FAQ ACCORDION === */

.faq-accordion-item {
  width: 100%;
}

.faq-accordion-item summary {
  cursor: pointer;
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-left: 0.5rem;
  padding-right: 0.25rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  list-style: none;
}

.faq-accordion-item summary::-webkit-details-marker {
  display: none;
}

.faq-accordion-item summary::marker {
  display: none;
  content: '';
}

.faq-accordion-item[open] summary .accordion-chevron {
  transform: rotate(180deg);
}

.faq-accordion-item .accordion-body {
  overflow: hidden;
  animation: accordion-open 0.25s ease-out;
}

.faq-accordion-item .accordion-body ul {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin: 0.5rem 0;
}

.faq-accordion-item .accordion-body ol {
  list-style-type: decimal;
  padding-left: 1.5rem;
  margin: 0.5rem 0;
}

.faq-accordion-item .accordion-body li {
  margin-bottom: 0.25rem;
}

/* === FAQ SEARCH FIELD === */

.faq-search-field {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  border: 1px solid hsl(var(--leaf-color-border-strong));
  border-radius: 8px;
  padding: 8px;
}

.faq-search-field:focus-within {
  border-color: #035c67;
  outline: 2px solid #035c67;
  outline-offset: 2px;
}

.faq-search-field input {
  flex: 1 1 0%;
  outline: 2px solid transparent;
  outline-offset: 2px;
  background-color: transparent;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0 8px;
  color: hsl(var(--leaf-color-content-default));
}

.faq-search-field input::-moz-placeholder {
  color: hsl(var(--leaf-color-content-subtle));
}

.faq-search-field input::-moz-placeholder,
  .faq-search-field input::placeholder {
  color: hsl(var(--leaf-color-content-subtle));
}

.faq-search-field .search-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  padding-left: 16px;
  padding-right: 16px;
  background-color: hsl(var(--mdlive-brand-primary));
  border: none;
  border-radius: 8px;
  white-space: nowrap;
  min-height: 32px;
}

.faq-search-field .search-btn:hover {
  background-color: hsl(var(--mdlive-brand-dark));
}

.faq-search-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 50%;
}

.faq-search-clear:hover {
  background: #f0f0f0;
}

/* === ANCHOR NAV === */

.faq-anchor-link {
  display: flex;
  width: 100%;
  align-items: center;
  padding: 16px 24px;
  border-left: 2px solid #d6d6d6;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  color: #333;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.faq-anchor-link:hover {
  color: #035c67;
}

.faq-anchor-link.active {
  border-left-color: #035c67;
  color: #035c67;
}

/* === JUMP-TO DROPDOWN (Mobile/Tablet) === */

.faq-jump-link {
  display: block;
  font-family: var(--font-body);
  transition: background-color 0.1s ease;
}

.faq-jump-link:hover {
  background-color: #f4f4f4;
}

/**
   * Bottom CTA band — matches mdlive-static FAQ build; uses homepage marketing tokens
   * (--color-content-link, --color-footer-leaf) instead of raw hex.
   */

.faq-learn-section {
  position: relative;
  overflow: hidden;
  background: var(--color-content-link);
  border-radius: 24px 24px 0 0;
}

.faq-learn-section__inner {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  margin: 0 auto;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

@media (min-width: 768px) {
  .faq-learn-section__inner {
    padding: 32px 40px;
  }
}

@media (min-width: 960px) {
  .faq-learn-section__inner {
    padding: 64px 120px;
  }
}

.faq-learn-section__heading {
  font-family: var(--leaf-typography-font-family-display), var(--font-body), sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0;
  color: var(--color-footer-heading);
  margin: 0;
}

.faq-learn-section__columns {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 960px) {
  .faq-learn-section__columns {
    flex-direction: row;
    gap: 24px;
  }
}

.faq-learn-section__col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 960px) {
  .faq-learn-section__col {
    flex: 1 0 0;
    min-width: 0;
  }
}

.faq-learn-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--leaf-typography-font-family-body), var(--font-body), sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0;
  color: var(--color-footer-leaf);
  text-decoration: none;
  transition: opacity 0.15s ease;
}

.faq-learn-link:hover {
  opacity: 0.8;
}

.faq-learn-link:focus-visible {
  outline: 2px solid var(--color-footer-leaf);
  outline-offset: 2px;
  border-radius: 4px;
}

.faq-learn-link__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 900px;
  background: var(--color-footer-leaf);
}

.faq-learn-section__deco {
  display: none;
  position: absolute;
  inset: 0;
  max-width: 1440px;
  margin: 0 auto;
  pointer-events: none;
  overflow: hidden;
}

.faq-learn-section__cross {
  position: absolute;
  width: 40px;
  height: 40px;
  opacity: 0.2;
  mix-blend-mode: multiply;
}

@media (min-width: 960px) {
  .faq-learn-section__deco {
    display: block;
  }
}

/* === BUTTONS === */

/* === CARD === */

.card {
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  border-radius: var(--radius);
  border-width: 1px;
}

/* === INPUT === */

.input {
  border-radius: calc(var(--radius) - 2px);
  border-color: hsl(var(--input));
  background-color: hsl(var(--background));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  display: flex;
  height: 2.5rem;
  width: 100%;
  border-width: 1px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-ring-offset-color: hsl(var(--background));
}

.input::file-selector-button {
  border-width: 0px;
  background-color: transparent;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
}

.input::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}

.input::placeholder {
  color: hsl(var(--muted-foreground));
}

.input:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: hsl(var(--ring));
  --tw-ring-offset-width: 2px;
}

.input:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* === BADGES === */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.top-0 {
  top: 0px;
}

.top-8 {
  top: 2rem;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-\[100\] {
  z-index: 100;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.col-span-1 {
  grid-column: span 1 / span 1;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-auto {
  margin-left: auto;
}

.mt-0 {
  margin-top: 0px;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-20 {
  margin-top: 5rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-\[24px\] {
  margin-top: 24px;
}

.box-border {
  box-sizing: border-box;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.h-10 {
  height: 2.5rem;
}

.h-4 {
  height: 1rem;
}

.h-8 {
  height: 2rem;
}

.h-\[104px\] {
  height: 104px;
}

.h-\[240px\] {
  height: 240px;
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.min-h-\[216px\] {
  min-height: 216px;
}

.min-h-\[48px\] {
  min-height: 48px;
}

.min-h-\[80px\] {
  min-height: 80px;
}

.min-h-screen {
  min-height: 100vh;
}

.w-10 {
  width: 2.5rem;
}

.w-4 {
  width: 1rem;
}

.w-8 {
  width: 2rem;
}

.w-\[104px\] {
  width: 104px;
}

.w-\[282px\] {
  width: 282px;
}

.w-auto {
  width: auto;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.min-w-0 {
  min-width: 0px;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-\[1440px\] {
  max-width: 1440px;
}

.max-w-\[170\.67px\] {
  max-width: 170.67px;
}

.max-w-\[420px\] {
  max-width: 420px;
}

.max-w-\[792px\] {
  max-width: 792px;
}

.max-w-\[min\(1300px\2c calc\(100vw-2rem\)\)\] {
  max-width: min(1300px, calc(100vw - 2rem));
}

.max-w-lg {
  max-width: 32rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.shrink {
  flex-shrink: 1;
}

.shrink-0 {
  flex-shrink: 0;
}

.grow {
  flex-grow: 1;
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.resize {
  resize: both;
}

.scroll-mt-28 {
  scroll-margin-top: 7rem;
}

.list-disc {
  list-style-type: disc;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-0 {
  gap: 0px;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-clip {
  overflow-x: clip;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-3xl {
  border-radius: 1.5rem;
}

.rounded-\[24px\] {
  border-radius: 24px;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: var(--radius);
}

.rounded-b-\[24px\] {
  border-bottom-right-radius: 24px;
  border-bottom-left-radius: 24px;
}

.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}

.border {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-\[\#035c67\] {
  --tw-border-opacity: 1;
  border-color: rgb(3 92 103 / var(--tw-border-opacity, 1));
}

.border-\[\#3effc0\] {
  --tw-border-opacity: 1;
  border-color: rgb(62 255 192 / var(--tw-border-opacity, 1));
}

.border-\[\#d5d5d5\] {
  --tw-border-opacity: 1;
  border-color: rgb(213 213 213 / var(--tw-border-opacity, 1));
}

.border-\[\#d6d6d6\] {
  --tw-border-opacity: 1;
  border-color: rgb(214 214 214 / var(--tw-border-opacity, 1));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.border-primary {
  border-color: hsl(var(--primary));
}

.bg-\[\#035c67\] {
  --tw-bg-opacity: 1;
  background-color: rgb(3 92 103 / var(--tw-bg-opacity, 1));
}

.bg-\[\#3effc0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(62 255 192 / var(--tw-bg-opacity, 1));
}

.bg-\[\#eaf4f6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(234 244 246 / var(--tw-bg-opacity, 1));
}

.bg-\[var\(--color-homepage-canvas\2c \#f5f6f5\)\] {
  background-color: var(--color-homepage-canvas,#f5f6f5);
}

.bg-primary {
  background-color: hsl(var(--primary));
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.object-bottom {
  -o-object-position: bottom;
     object-position: bottom;
}

.p-10 {
  padding: 2.5rem;
}

.p-6 {
  padding: 1.5rem;
}

.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-\[120px\] {
  padding-top: 120px;
  padding-bottom: 120px;
}

.pb-10 {
  padding-bottom: 2.5rem;
}

.pb-16 {
  padding-bottom: 4rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pt-10 {
  padding-top: 2.5rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-20 {
  padding-top: 5rem;
}

.pt-32 {
  padding-top: 8rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-\[110px\] {
  padding-top: 110px;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-\[18px\] {
  font-size: 18px;
}

.text-\[28px\] {
  font-size: 28px;
}

.text-\[32px\] {
  font-size: 32px;
}

.text-\[40px\] {
  font-size: 40px;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.leading-6 {
  line-height: 1.5rem;
}

.leading-8 {
  line-height: 2rem;
}

.leading-\[1\.4\] {
  line-height: 1.4;
}

.leading-\[29\.25px\] {
  line-height: 29.25px;
}

.leading-\[32px\] {
  line-height: 32px;
}

.leading-\[40px\] {
  line-height: 40px;
}

.leading-\[48px\] {
  line-height: 48px;
}

.leading-\[56px\] {
  line-height: 56px;
}

.tracking-\[-0\.5px\] {
  letter-spacing: -0.5px;
}

.tracking-\[-1\.5px\] {
  letter-spacing: -1.5px;
}

.tracking-\[-1px\] {
  letter-spacing: -1px;
}

.text-\[\#00363d\] {
  --tw-text-opacity: 1;
  color: rgb(0 54 61 / var(--tw-text-opacity, 1));
}

.text-\[\#004c54\] {
  --tw-text-opacity: 1;
  color: rgb(0 76 84 / var(--tw-text-opacity, 1));
}

.text-\[\#035c67\] {
  --tw-text-opacity: 1;
  color: rgb(3 92 103 / var(--tw-text-opacity, 1));
}

.text-\[\#2d2d2d\] {
  --tw-text-opacity: 1;
  color: rgb(45 45 45 / var(--tw-text-opacity, 1));
}

.text-\[\#333\] {
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}

.text-\[\#3effc0\] {
  --tw-text-opacity: 1;
  color: rgb(62 255 192 / var(--tw-text-opacity, 1));
}

.text-\[\#5c5c5c\] {
  --tw-text-opacity: 1;
  color: rgb(92 92 92 / var(--tw-text-opacity, 1));
}

.text-accent {
  color: hsl(var(--accent));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-neutral-800 {
  --tw-text-opacity: 1;
  color: rgb(38 38 38 / var(--tw-text-opacity, 1));
}

.text-primary {
  color: hsl(var(--primary));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}

.underline {
  text-decoration-line: underline;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-80 {
  opacity: 0.8;
}

.mix-blend-multiply {
  mix-blend-mode: multiply;
}

.shadow-\[0px_4px_19\.6px_0px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-shadow: 0px 4px 19.6px 0px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0px 4px 19.6px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_4px_47px_0px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0px 4px 47px 0px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0px 4px 47px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.drop-shadow-\[0px_4px_9\.8px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-drop-shadow: drop-shadow(0px 4px 9.8px rgba(0,0,0,0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur-\[50px\] {
  --tw-backdrop-blur: blur(50px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}

.duration-200 {
  animation-duration: 200ms;
}

.running {
  animation-play-state: running;
}

.text-mdlive-brand-strong {
  color: hsl(var(--mdlive-brand-strong));
}

.text-mdlive-brand-accent {
  color: hsl(var(--mdlive-brand-accent));
}

/* Leaf spacing utilities using CSS calc */

/* Focus utilities matching Leaf patterns */

/*
 * ============================================================================
 * LEAF DESIGN SYSTEM → SHADCN INTEGRATION
 * ============================================================================
 *
 * This file maps Leaf Design System tokens to Shadcn UI's expected CSS variables.
 *
 * IMPORTANT: Replace placeholder values with actual values from:
 * - @cigna/leaf-design-tokens package
 * - Your design team's Figma files
 * - Extracting from a running Leaf application via DevTools
 *
 * Available brand themes in Leaf:
 * - cigna-healthcare (chc)
 * - the-cigna-group (tcg)
 * - cigna-legacy
 * - evernorth
 * - pbm
 * ============================================================================
 */

/* ========================================
   UTILITY CLASSES
   ======================================== */

/* ========================================
   KEYFRAME ANIMATIONS
   ======================================== */

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes slideIn {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes scaleIn {
  from {
    transform: scale(0.95);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes ripple {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* ========================================
   COMPONENT STYLES (Using Leaf Tokens)
   ======================================== */

.hover\:bg-\[\#035c67\]\/5:hover {
  background-color: rgb(3 92 103 / 0.05);
}

.hover\:bg-\[\#3effc0\]\/10:hover {
  background-color: rgb(62 255 192 / 0.1);
}

.hover\:bg-\[\#3effc0\]\/90:hover {
  background-color: rgb(62 255 192 / 0.9);
}

.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-inset:focus-visible {
  --tw-ring-inset: inset;
}

.focus-visible\:ring-\[\#035c67\]:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(3 92 103 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

@media (max-width: 1023px) {
  .max-\[1023px\]\:flex {
    display: flex;
  }
}

@media not all and (min-width: 375px) {
  .max-sm\:pb-8 {
    padding-bottom: 2rem;
  }

  .max-sm\:pt-12 {
    padding-top: 3rem;
  }
}

@media (min-width: 375px) {
  .sm\:min-h-\[170vw\] {
    min-height: 170vw;
  }

  .sm\:w-\[100\%\] {
    width: 100%;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:max-w-\[100\%\] {
    max-width: 100%;
  }

  .sm\:flex-col {
    flex-direction: column;
  }

  .sm\:flex-wrap {
    flex-wrap: wrap;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:pb-40 {
    padding-bottom: 10rem;
  }

  .sm\:text-\[40px\] {
    font-size: 40px;
  }

  .sm\:leading-\[56px\] {
    line-height: 56px;
  }
}

@media (min-width: 768px) {
  .md\:absolute {
    position: absolute;
  }

  .md\:inset-0 {
    inset: 0px;
  }

  .md\:inset-x-0 {
    left: 0px;
    right: 0px;
  }

  .md\:top-0 {
    top: 0px;
  }

  .md\:z-10 {
    z-index: 10;
  }

  .md\:m-0 {
    margin: 0px;
  }

  .md\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .md\:-mt-\[80px\] {
    margin-top: -80px;
  }

  .md\:mt-24 {
    margin-top: 6rem;
  }

  .md\:block {
    display: block;
  }

  .md\:aspect-\[768\/437\] {
    aspect-ratio: 768/437;
  }

  .md\:h-full {
    height: 100%;
  }

  .md\:min-h-\[36rem\] {
    min-height: 36rem;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:w-full {
    width: 100%;
  }

  .md\:max-w-\[55\%\] {
    max-width: 55%;
  }

  .md\:max-w-\[70\%\] {
    max-width: 70%;
  }

  .md\:max-w-\[min\(1300px\2c calc\(100vw-140px\)\)\] {
    max-width: min(1300px, calc(100vw - 140px));
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:gap-12 {
    gap: 3rem;
  }

  .md\:gap-4 {
    gap: 1rem;
  }

  .md\:gap-9 {
    gap: 2.25rem;
  }

  .md\:object-top {
    -o-object-position: top;
       object-position: top;
  }

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .md\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .md\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .md\:pb-0 {
    padding-bottom: 0px;
  }

  .md\:pb-20 {
    padding-bottom: 5rem;
  }

  .md\:pt-24 {
    padding-top: 6rem;
  }

  .md\:pt-\[120px\] {
    padding-top: 120px;
  }

  .md\:pt-\[140px\] {
    padding-top: 140px;
  }

  .md\:text-\[40px\] {
    font-size: 40px;
  }

  .md\:text-\[48px\] {
    font-size: 48px;
  }

  .md\:leading-\[56px\] {
    line-height: 56px;
  }

  .md\:leading-\[64px\] {
    line-height: 64px;
  }

  .md\:tracking-\[-1px\] {
    letter-spacing: -1px;
  }
}

@media (min-width: 960px) {
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-start-1 {
    grid-column-start: 1;
  }

  .lg\:col-start-2 {
    grid-column-start: 2;
  }

  .lg\:row-span-2 {
    grid-row: span 2 / span 2;
  }

  .lg\:row-start-1 {
    grid-row-start: 1;
  }

  .lg\:row-start-2 {
    grid-row-start: 2;
  }

  .lg\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }

  .lg\:-mt-\[56px\] {
    margin-top: -56px;
  }

  .lg\:mt-\[120px\] {
    margin-top: 120px;
  }

  .lg\:block {
    display: block;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:aspect-auto {
    aspect-ratio: auto;
  }

  .lg\:h-\[555px\] {
    height: 555px;
  }

  .lg\:min-h-\[50\.0625rem\] {
    min-height: 50.0625rem;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:max-w-\[500px\] {
    max-width: 500px;
  }

  .lg\:max-w-\[792px\] {
    max-width: 792px;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-20 {
    gap: 5rem;
  }

  .lg\:gap-\[64px\] {
    gap: 64px;
  }

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:px-\[120px\] {
    padding-left: 120px;
    padding-right: 120px;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:pb-20 {
    padding-bottom: 5rem;
  }

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pt-\[120px\] {
    padding-top: 120px;
  }

  .lg\:pt-\[200px\] {
    padding-top: 200px;
  }

  .lg\:text-\[40px\] {
    font-size: 40px;
  }

  .lg\:text-\[48px\] {
    font-size: 48px;
  }

  .lg\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .lg\:leading-\[64px\] {
    line-height: 64px;
  }
}

@media (min-width: 1024px) {
  @media (max-width: 1299px) {
    .min-\[1024px\]\:max-\[1299px\]\:hidden {
      display: none;
    }
  }
}

@media (min-width: 1200px) {
  .xl\:gap-16 {
    gap: 4rem;
  }

  .xl\:px-\[120px\] {
    padding-left: 120px;
    padding-right: 120px;
  }
}

@media (min-width: 1300px) {
  .min-\[1300px\]\:flex {
    display: flex;
  }
}