.hero-method-line {
  display: block;
  margin-top: 0.32em;
  max-width: 23ch;
  color: #d9e4dc;
  font-size: 0.43em;
  font-weight: 650;
  line-height: 1.28;
  letter-spacing: -0.025em;
  text-transform: none;
}

.hero-family-bridge {
  max-width: 570px;
  margin-top: 22px;
  color: #dce8d3;
  font-size: 13px;
  line-height: 1.55;
}

.hero-family-bridge a {
  color: inherit;
  font-weight: 750;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

/* Keep the opening offer readable over the dark photo overlay.  Earlier
   global heading rules supplied only typography, so the H1 could inherit a
   stale dark colour during the entrance animation on some mobile browsers. */
.hero-copy h1 {
  color: #fffdf8;
}

.hero-copy .eyebrow,
.hero-copy .hero-subtitle,
.hero-copy .hero-method-line,
.hero-copy .hero-family-bridge {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .hero-enter {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

.comparison-note {
  max-width: 760px;
  margin-left: auto;
  line-height: 1.5;
}

.guarantee-section .lead {
  max-width: 36ch;
}

.booking-inline-form {
  background: #f5f5ee;
  color: #183b31;
  box-shadow: 8px 8px 0 rgba(9, 27, 22, 0.16);
}

.booking-section .booking-inline-form :is(h3, p, label) {
  color: inherit;
}

.booking-section .booking-inline-form .lead-form-heading p,
.booking-section .booking-inline-form .lead-field-hint,
.booking-section .booking-inline-form .lead-consent label {
  color: #66766e;
}

.booking-section .booking-inline-form a {
  color: #19483a;
}

.booking-section .booking-contact-divider {
  color: #dce6dd;
}

.booking-section .contact-panel {
  gap: 18px;
}

@media (max-width: 767px) {
  .hero-method-line {
    max-width: 25ch;
    font-size: 0.47em;
  }

  .hero-family-bridge {
    margin-top: 18px;
    font-size: 12px;
  }

  .booking-inline-form {
    box-shadow: 5px 5px 0 rgba(9, 27, 22, 0.16);
  }
}

/* Main-page revisions, 2026-10-02. This file is loaded last so these rules
   resolve legacy campaign overrides in one place. */
.site-header .header-brand-logo .brand-mark {
  width: clamp(82px, 8vw, 116px);
  height: auto;
  max-width: none;
  aspect-ratio: 249.45 / 129.36;
  object-fit: contain;
}

.price-section .decision-option:last-child .button-sage {
  border-color: #d7e0d7;
  background: #f5f7f2;
  color: #173c31;
}

.price-section .decision-option:last-child .button-sage .button-arrow {
  background: #173c31;
  color: #f5f7f2;
}

.price-section .decision-option:last-child .button-sage:hover {
  background: #ffffff;
  color: #102b25;
}

.guarantee-section {
  background: #315749;
  color: #fffdf8;
}

.guarantee-section h2,
.guarantee-section .prose,
.guarantee-section .prose p,
.guarantee-section .prose > p:last-child,
.guarantee-section .lead {
  color: #fffdf8;
  opacity: 1;
}

.guarantee-section h2 {
  max-width: 14ch;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-transform: none;
}

@media (max-width: 760px) {
  .site-header .header-brand-logo .brand-mark {
    width: clamp(76px, 22vw, 94px);
  }

  .guarantee-section h2 {
    max-width: none;
    font-size: clamp(28px, 8vw, 42px);
    line-height: 1.08;
  }
}

@media (max-width: 600px) {
  /* The sticky header already keeps the primary action available. Removing
     the second fixed action prevents it from covering reviews and controls. */
  .floating-booking {
    display: none;
  }

  .site-footer {
    padding-bottom: max(28px, env(safe-area-inset-bottom));
  }
}
