/* Supporting typography and shared details for the homepage hero. */
.hero-section {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(620px, calc(100svh - 110px), 840px);
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 70px 0 54px;
  background: #17241f;
  color: #fff;
}

.hero-backdrop {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
}

.hero-backdrop {
  background: linear-gradient(90deg, #101b18ed 0%, #15231edb 37%, #17231e8c 68%, #17231e30 100%), linear-gradient(0deg, #14211ec2, transparent 25%, #14211e1a 65%, #14211e35);
}

.hero-main {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 0;
  padding-block: 22px 30px;
}

.hero-copy { max-width: 800px; }

.hero-copy > .eyebrow {
  margin-bottom: 25px;
  color: #f2eee4;
  font-size: 9px;
  letter-spacing: .18em;
}

.hero-copy .eyebrow-star { color: #ff9673; }

.hero-copy h1 {
  font-size: clamp(72px, 9.2vw, 119px);
  font-weight: 650;
  letter-spacing: -.087em;
  line-height: .89;
}

.hero-copy .headline-em { color: #ff916e; }
.hero-copy .headline-period { color: #fff; }

.hero-intro {
  max-width: 470px;
  margin-top: 21px;
  color: #eeeae1;
  font-size: 13px;
  line-height: 1.85;
}

.hero-actions { gap: 24px; margin-top: 25px; }

.hero-copy .button-primary {
  min-height: 49px;
  padding-inline: 20px;
  background: #ef6040;
  font-size: 11px;
}

.hero-copy .button-primary:hover { background: #d84c30; }
.hero-copy .text-link { color: #fff; }
.hero-copy .text-link span { color: #ff9879; }
.hero-proof { gap: 12px; margin-top: 27px; }

.proof-years {
  color: #ffa07f;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 650;
  letter-spacing: -.07em;
}

.proof-copy { color: #eeeae2; font-size: 8px; line-height: 1.8; letter-spacing: .1em; }
.proof-copy strong { color: #fff; font-size: 9px; letter-spacing: .13em; }

.hero-bottom {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 23px;
  left: 0;
  width: min(1240px, calc(100% - 112px));
  color: #f2eee4;
}

.hero-bottom .scroll-line { background: #ff9472; }
.hero-location .location-dot { background: #9bc487; }

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

@media (max-width: 760px) {
  .hero-section { min-height: max(630px, calc(100svh - 97px)); justify-content: center; padding: 39px 0 66px; }
  .hero-backdrop { background: linear-gradient(90deg, #101b18e8, #15231eb5 72%, #17231e70), linear-gradient(0deg, #14211edf 0%, transparent 45%, #14211e24 100%); }
  .hero-main { padding-block: 19px 23px; }
  .hero-copy > .eyebrow { max-width: 280px; margin-bottom: 25px; font-size: 8px; }
  .hero-copy h1 { font-size: clamp(62px, 12.5vw, 87px); line-height: .94; }
  .hero-intro { max-width: 380px; margin-top: 19px; font-size: 12px; }
  .hero-actions { gap: 15px; margin-top: 21px; }
  .hero-copy .button-primary { min-height: 44px; padding-inline: 13px; font-size: 10px; }
  .hero-proof { margin-top: 22px; }
  .hero-bottom { bottom: 56px; width: calc(100% - 44px); font-size: 7px; }
}

@media (max-width: 390px) {
  .hero-section { min-height: 630px; }
  .hero-copy h1 { font-size: clamp(57px, 13.8vw, 68px); }
  .hero-actions { gap: 12px; }
  .hero-copy .button-primary { padding-inline: 10px; }
}

