/* Shared page hero shell for public non-auth pages. */
.page-hero {
  --page-hero-gap: clamp(0.68rem, 1.22vw, 0.95rem);
  --page-hero-gold-line: rgba(199, 154, 71, 0.72);
  --page-hero-cream-line: rgba(255, 247, 226, 0.78);
  --page-hero-bottom-breathing-room: clamp(0.88rem, 1.45vw, 1.25rem);
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-block: var(--page-hero-gap) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  border-top: 2px solid var(--page-hero-gold-line) !important;
  border-bottom: 2px solid var(--page-hero-gold-line) !important;
  box-shadow:
    inset 0 1px 0 var(--page-hero-cream-line),
    inset 0 -1px 0 var(--page-hero-cream-line) !important;
}

.page-hero__media,
.page-hero__media img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.page-hero__media {
  z-index: -2 !important;
}

.page-hero__media img {
  object-fit: cover !important;
  object-position: center right !important;
}

.page-hero__content {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
}

body.capsule-page .capsule-shell {
  padding-top: 0 !important;
}

body.capsule-page .capsule-hero.page-hero,
body.about-page .about-hero.page-hero {
  padding-block: clamp(1.4rem, 3.2vw, 2.8rem) clamp(1.5rem, 3.4vw, 3rem) !important;
}

body.capsule-page .capsule-hero.page-hero::after {
  background:
    linear-gradient(90deg, rgba(255, 247, 232, .99) 0%, rgba(255, 247, 232, .94) 31%, rgba(255, 247, 232, .55) 49%, rgba(255, 247, 232, .14) 68%, rgba(255, 247, 232, 0) 100%),
    linear-gradient(180deg, rgba(251, 246, 238, .05), rgba(77, 42, 24, .08)) !important;
}

body.about-page .about-hero.page-hero::after {
  background:
    linear-gradient(90deg, rgba(255, 246, 229, .99) 0%, rgba(255, 246, 229, .93) 32%, rgba(255, 246, 229, .55) 50%, rgba(255, 246, 229, .16) 69%, rgba(255, 246, 229, 0) 100%),
    linear-gradient(180deg, rgba(255, 248, 236, .06), rgba(78, 43, 24, .08)) !important;
}

body.capsule-page .capsule-hero.page-hero .capsule-hero-picture img,
body.capsule-page .capsule-hero.page-hero .page-hero__media img {
  object-position: center right !important;
}

body.about-page .about-hero.page-hero .about-hero__media img,
body.about-page .about-hero.page-hero .page-hero__media img {
  object-position: center right !important;
}

body.capsule-page .capsule-hero.page-hero .capsule-hero-content {
  width: min(48%, 540px) !important;
  max-width: 540px !important;
  padding: 0 clamp(1.4rem, 4.6vw, 4.25rem) !important;
}

body.about-page .about-hero.page-hero .about-hero__content {
  width: min(50%, 620px) !important;
  max-width: 620px !important;
  padding: 0 clamp(1.4rem, 4.8vw, 4.4rem) !important;
}

body.capsule-page .capsule-hero.page-hero .capsule-feature-pill {
  display: inline-flex !important;
  margin: 0 0 clamp(0.75rem, 1.25vw, 1.1rem) !important;
}

body.capsule-page .capsule-hero.page-hero h1 {
  max-width: 510px !important;
  margin: 0 !important;
  font-size: clamp(2.65rem, 4.25vw, 5.05rem) !important;
  line-height: .98 !important;
}

body.capsule-page .capsule-hero.page-hero p {
  max-width: 390px !important;
  margin-top: clamp(0.85rem, 1.4vw, 1.15rem) !important;
  font-size: clamp(.92rem, 1vw, 1.05rem) !important;
  line-height: 1.46 !important;
}

body.capsule-page .capsule-hero.page-hero .capsule-proof-grid {
  margin-top: clamp(1rem, 1.8vw, 1.45rem) !important;
  gap: clamp(0.55rem, 1.1vw, 0.9rem) !important;
}

body.capsule-page .capsule-hero.page-hero .capsule-primary-button {
  margin-top: clamp(1.05rem, 1.9vw, 1.65rem) !important;
  margin-bottom: var(--page-hero-bottom-breathing-room) !important;
}

body.about-page .about-hero.page-hero .about-eyebrow {
  margin: 0 0 clamp(0.55rem, 0.95vw, 0.8rem) !important;
}

body.about-page .about-hero.page-hero h1 {
  max-width: 620px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(2.3rem, 3.8vw, 4.55rem) !important;
  line-height: 1.04 !important;
  overflow: visible !important;
}

body.about-page .about-hero.page-hero .about-title-line {
  display: block !important;
}

body.about-page .about-hero.page-hero .about-title-line--intro {
  white-space: nowrap !important;
}

body.about-page .about-hero.page-hero .about-ornament {
  margin: clamp(0.85rem, 1.45vw, 1.2rem) 0 clamp(0.8rem, 1.3vw, 1.15rem) !important;
}

body.about-page .about-hero.page-hero p {
  max-width: 420px !important;
  margin: 0 !important;
  font-size: clamp(.86rem, .96vw, 1.02rem) !important;
  line-height: 1.45 !important;
  overflow: visible !important;
}

body.about-page .about-hero.page-hero p + p {
  margin-top: clamp(0.48rem, 0.82vw, 0.72rem) !important;
}

body.about-page .about-hero.page-hero .about-script {
  margin-top: clamp(0.68rem, 1.1vw, 0.95rem) !important;
  margin-bottom: var(--page-hero-bottom-breathing-room) !important;
  font-size: clamp(1.08rem, 1.55vw, 1.68rem) !important;
  line-height: 1.24 !important;
}

@media (max-width: 980px) {
  body.capsule-page .capsule-hero.page-hero,
  body.about-page .about-hero.page-hero {
    padding-block: clamp(1.25rem, 5vw, 2rem) clamp(1.35rem, 5.4vw, 2.1rem) !important;
  }

  body.capsule-page .capsule-hero.page-hero .capsule-hero-content {
    width: min(56%, 390px) !important;
    max-width: 390px !important;
    padding-inline: clamp(1.1rem, 4.8vw, 1.9rem) !important;
  }

  body.about-page .about-hero.page-hero .about-hero__content {
    width: min(62%, 430px) !important;
    max-width: 430px !important;
    padding-inline: clamp(1.1rem, 4.8vw, 1.9rem) !important;
  }

  body.capsule-page .capsule-hero.page-hero h1 {
    max-width: 330px !important;
    font-size: clamp(2.05rem, 8vw, 3.2rem) !important;
    line-height: 1 !important;
  }

  body.capsule-page .capsule-hero.page-hero p {
    max-width: 286px !important;
    font-size: clamp(.8rem, 2.36vw, .92rem) !important;
    line-height: 1.42 !important;
  }

  body.about-page .about-hero.page-hero h1 {
    max-width: 390px !important;
    font-size: clamp(1.56rem, 5.6vw, 2.58rem) !important;
    line-height: 1.06 !important;
  }

  body.about-page .about-hero.page-hero p {
    max-width: 310px !important;
    font-size: clamp(.72rem, 2.08vw, .84rem) !important;
    line-height: 1.4 !important;
  }
}

@media (max-width: 640px) {
  body.capsule-page .capsule-hero.page-hero,
  body.about-page .about-hero.page-hero {
    padding-block: 1.15rem 1.35rem !important;
  }

  body.capsule-page .capsule-hero.page-hero .capsule-hero-picture img,
  body.capsule-page .capsule-hero.page-hero .page-hero__media img {
    object-position: 68% center !important;
  }

  body.about-page .about-hero.page-hero .about-hero__media img,
  body.about-page .about-hero.page-hero .page-hero__media img {
    object-position: 68% center !important;
  }

  body.capsule-page .capsule-hero.page-hero .capsule-hero-content {
    width: min(60%, 292px) !important;
    max-width: 292px !important;
    padding-inline: 1.1rem !important;
  }

  body.about-page .about-hero.page-hero .about-hero__content {
    width: min(66%, 320px) !important;
    max-width: 320px !important;
    padding-inline: 1.1rem !important;
  }

  body.capsule-page .capsule-hero.page-hero .capsule-feature-pill {
    margin-bottom: 0.55rem !important;
    padding: 0.34rem 0.68rem !important;
    font-size: 0.56rem !important;
  }

  body.capsule-page .capsule-hero.page-hero h1 {
    max-width: 250px !important;
    font-size: clamp(1.82rem, 8.6vw, 2.46rem) !important;
    line-height: 1.02 !important;
  }

  body.capsule-page .capsule-hero.page-hero p {
    max-width: 235px !important;
    margin-top: 0.62rem !important;
    font-size: clamp(.72rem, 3.08vw, .8rem) !important;
    line-height: 1.38 !important;
  }

  body.capsule-page .capsule-hero.page-hero .capsule-proof-grid {
    gap: 0.45rem !important;
    margin-top: 0.75rem !important;
  }

  body.capsule-page .capsule-hero.page-hero .capsule-primary-button {
    margin-top: 0.9rem !important;
    margin-bottom: 0.95rem !important;
    padding: 0.65rem 1rem !important;
  }

  body.about-page .about-hero.page-hero .about-eyebrow {
    margin-bottom: 0.45rem !important;
    font-size: .58rem !important;
  }

  body.about-page .about-hero.page-hero h1 {
    max-width: 315px !important;
    font-size: clamp(1.28rem, 5.75vw, 1.76rem) !important;
    line-height: 1.08 !important;
  }

  body.about-page .about-hero.page-hero .about-ornament {
    width: min(190px, 84%) !important;
    margin: 0.58rem 0 !important;
  }

  body.about-page .about-hero.page-hero p {
    max-width: 252px !important;
    font-size: clamp(.66rem, 2.74vw, .74rem) !important;
    line-height: 1.36 !important;
  }

  body.about-page .about-hero.page-hero p + p {
    margin-top: 0.4rem !important;
  }

  body.about-page .about-hero.page-hero .about-script {
    margin-top: 0.5rem !important;
    margin-bottom: 0.95rem !important;
    font-size: .9rem !important;
    line-height: 1.22 !important;
  }
}


/* Final shared hero spacing guard. Keeps public page heroes aligned with the landing hero rhythm. */
body.capsule-page .capsule-hero.page-hero,
body.about-page .about-hero.page-hero {
  margin-top: var(--page-hero-gap) !important;
  margin-bottom: var(--page-hero-gap) !important;
  border-top: 2px solid var(--page-hero-gold-line) !important;
  border-bottom: 2px solid var(--page-hero-gold-line) !important;
}

body.capsule-page .capsule-hero.page-hero .capsule-primary-button,
body.about-page .about-hero.page-hero .about-script {
  margin-bottom: var(--page-hero-bottom-breathing-room) !important;
}

@media (max-width: 640px) {
  body.capsule-page .capsule-hero.page-hero .capsule-primary-button,
  body.about-page .about-hero.page-hero .about-script {
    margin-bottom: 0.95rem !important;
  }
}


/* Final capsule hero top-space guard.
   Keeps the Capsule hero aligned with the landing hero rhythm without changing shared structure. */
body.capsule-page .capsule-hero.page-hero {
  padding-top: clamp(0.48rem, 1.12vw, 0.98rem) !important;
}

@media (max-width: 980px) {
  body.capsule-page .capsule-hero.page-hero {
    padding-top: clamp(0.42rem, 1.8vw, 0.76rem) !important;
  }
}

@media (max-width: 640px) {
  body.capsule-page .capsule-hero.page-hero {
    padding-top: 0.4rem !important;
  }
}

/* Final about hero top-space guard.
   Matches About Us hero top spacing to the Capsule shared hero rhythm. */
body.about-page .about-hero.page-hero {
  padding-top: clamp(0.48rem, 1.12vw, 0.98rem) !important;
}

@media (max-width: 980px) {
  body.about-page .about-hero.page-hero {
    padding-top: clamp(0.42rem, 1.8vw, 0.76rem) !important;
  }
}

@media (max-width: 640px) {
  body.about-page .about-hero.page-hero {
    padding-top: 0.4rem !important;
  }
}
