.hero h1,
.hero .hero-description,
.hero .eyebrow { color: #422531; }

.hero h1 { font-size: clamp(84px, 8.4vw, 140px); }

.hero h1 em { color: #8d2956; }

.hero .pill {
  color: #fff7ee;
  background: #733451;
  border-color: #733451;
}

.hero-foot {
  z-index: 1;
  color: #422531;
}

.hero-foot > * {
  background: #fff4e4c9;
  padding: 4px 7px;
}

.bougainvillea-petals {
  position: fixed;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  overflow: hidden;
}

.bougainvillea-petals i {
  position: absolute;
  left: var(--start);
  top: -30px;
  width: var(--size);
  aspect-ratio: 1.15;
  color: var(--tint);
  border-radius: 76% 14% 70% 28%;
  background: linear-gradient(125deg, #fff2, currentColor 64%, #6a123d75);
  box-shadow: inset 0 1px #fff5;
  animation: petal-drift var(--duration) linear var(--delay) infinite;
}

.bougainvillea-petals i::before {
  content: '';
  position: absolute;
  inset: 49% 14% auto;
  border-top: 1px solid #fff5;
  transform: rotate(-31deg);
}

.bougainvillea-petals[data-paused] i { animation-play-state: paused; }

@keyframes petal-drift {
  0% { opacity: 0; transform: translate3d(0, 0, 0) rotate(-45deg) rotateY(8deg); }
  10%, 83% { opacity: var(--opacity); }
  30% { transform: translate3d(var(--sway), 34vh, 0) rotate(70deg) rotateY(55deg); }
  63% { transform: translate3d(var(--drift), 72vh, 0) rotate(185deg) rotateY(120deg); }
  100% { opacity: 0; transform: translate3d(var(--sway), 116vh, 0) rotate(310deg) rotateY(360deg); }
}

.petal-toggle {
  position: fixed;
  z-index: 6;
  right: 18px;
  bottom: max(14px, env(safe-area-inset-bottom));
  min-height: 32px;
  padding: 4px 10px;
  border: 1px solid #8c506499;
  border-radius: 4px;
  color: #422531;
  background: #fff4e4f5;
  cursor: pointer;
  font: 500 11px 'DM Sans', sans-serif;
}

.petal-toggle:focus-visible { outline: 2px solid #422531; outline-offset: 3px; }

@media (max-width: 680px) {
  .hero h1 { font-size: clamp(57px, 15vw, 98px); }
}

@media (prefers-reduced-motion: reduce) {
  .bougainvillea-petals,
  .petal-toggle { display: none; }
}
