/* A clear offer leads; the moving ember field supplies the visual weight. */
.homepage .hero { min-height: clamp(540px, 72svh, 800px); }
.homepage .hero-grid {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 0;
  padding-block: clamp(56px, 7vh, 96px);
}
.homepage .hero-copy { max-width: 900px; }
.homepage .hero h1 {
  max-width: 900px;
  font-size: clamp(3.75rem, 6.6vw, 6.5rem);
  line-height: 1;
  letter-spacing: -.035em;
  margin-block: 20px 24px;
}
.homepage .hero-intro { max-width: 550px; }
.homepage .hero-offer { color: #d7dbd8; }
.homepage .hero-copy::before { display: none; }
.homepage .hero-intro { border-left: 0; padding-left: 0; font-size: 1.125rem; line-height: 1.7; max-width: 44ch; }
.homepage .hero-price-inline { gap: 12px; font-family: var(--body); line-height: 1.6; }
.homepage .hero-price-inline em { color: #b7bfc1; font-style: normal; font-weight: 400; }
.homepage .main-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
/* A broad, low-contrast light passes behind the copy without catching clicks. */
.homepage .hero::after {
  content: '';
  display: block;
  position: absolute;
  inset: -25% -35%;
  width: auto;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 38%, rgba(255,106,0,.025) 44%, rgba(255,147,64,.12) 50%, rgba(255,106,0,.025) 56%, transparent 62%);
  animation: hero-light-sweep 22s ease-in-out -7s infinite alternate;
}
@keyframes hero-light-sweep {
  from { transform: translate3d(-22%, 0, 0); opacity: .4; }
  to { transform: translate3d(22%, 0, 0); opacity: .85; }
}
.homepage .button {
  transition: background .25s, transform .28s cubic-bezier(.22,.7,.25,1), box-shadow .28s;
}
@media (hover: hover) and (pointer: fine) {
  .homepage .button:hover:not(:disabled) {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(255,106,0,.14);
  }
}
.homepage .button:active:not(:disabled) { transform: translateY(0); box-shadow: none; }
html[data-motion-paused="true"] .homepage .hero::after { animation-play-state: paused; }
html[data-motion-paused="true"] .homepage .button { transition: none; }
html[data-motion-paused="true"] .homepage .button:hover { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .homepage .hero::after { animation: none; transform: none; opacity: .4; }
  .homepage .button { transition: none; }
  .homepage .button:hover { transform: none; }
}
@media (max-width: 900px) {
  .homepage .hero { min-height: 0; }
  .homepage .hero-grid { padding-block: 48px 68px; }
  .homepage .hero h1 { font-size: clamp(3rem, 7.5vw, 5.2rem); }
}
@media (max-width: 650px) {
  .homepage .hero-grid { padding-block: 40px 56px; }
  .homepage .hero h1 { font-size: clamp(2.6rem, 11.2vw, 4rem); white-space: normal; }
  .homepage .hero-intro { font-size: 1rem; }
  .homepage .hero-actions { margin-top: 26px; gap: 12px 22px; }
  .homepage .hero-price-inline { max-width: 31ch; gap: 5px 12px; margin-top: 20px; }
  .homepage .hero-price-inline > span { display: none; }
  .homepage .hero-price-inline em { flex-basis: 100%; }
}
