.hero { position: relative; display: grid; place-items: center; min-height: min(720px, 100vh); min-height: min(720px, 100dvh); padding: clamp(72px, 14vw, 150px) max(16px, var(--safe-l)) calc(clamp(120px, 20vw, 170px) + env(safe-area-inset-bottom)) max(16px, var(--safe-r)); overflow: hidden; text-align: center; }
.hero-center { position: relative; z-index: 1; max-width: 720px; margin-bottom: 36px; }
.hero-status { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 22px; padding: 6px 14px; border: 1px solid var(--faint); border-radius: 999px; background: var(--paper); color: var(--mid); font-size: .95rem; font-weight: 600; }
.hero-dot { width: 9px; height: 9px; border-radius: 50%; background: #3f7d4a; box-shadow: 0 0 0 0 rgb(63 125 74 / .5); animation: hero-pulse 2.4s ease-out infinite; }
@keyframes hero-pulse { 70% { box-shadow: 0 0 0 9px rgb(63 125 74 / 0); } 100% { box-shadow: 0 0 0 0 rgb(63 125 74 / 0); } }
@media (prefers-reduced-motion: reduce) { .hero-dot { animation: none; } }
.hero-title { font-size: clamp(2.6rem, 9vw, 6.5rem); line-height: .88; }
.hero-kicker { display: block; margin-bottom: 12px; color: var(--accent); font-family: var(--script); font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 700; line-height: 1; }
.hero-rule { width: 72px; height: 1px; margin: 28px auto 24px; background: var(--ink); }
.hero-lede { max-width: 58ch; margin: 0 auto; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.hero-tagline { margin-top: 24px; color: var(--mid); font-style: italic; }
.hero-plant { position: absolute; bottom: -45px; width: clamp(160px, 24vw, 300px); color: var(--faint); opacity: .75; }
.hero-plant--left { left: max(-58px, -4vw); }
.hero-plant--right { right: max(-45px, -3vw); }
.petals { display: none; }
@media (max-width: 620px) { .hero-plant { opacity: .35; } }

@media (max-height: 480px) and (orientation: landscape) {
  .hero { min-height: 0; padding-block: 48px 110px; }
  .hero-plant { width: 120px; }
}
/* tablets: más aire y texto más ancho */
@media (min-width: 768px) and (max-width: 1100px) { .hero-center { max-width: 640px; } }
/* teléfonos: el hero ocupa lo que su contenido, sin hueco vacío bajo la frase final */
@media (max-width: 620px) {
  .hero { min-height: 0; padding-block: clamp(64px, 18vw, 96px) calc(112px + env(safe-area-inset-bottom)); }
  .hero-center { margin-bottom: 0; }
  .hero-plant { width: clamp(110px, 32vw, 150px); bottom: -28px; }
}

/* teléfonos: título grande en dos líneas y texto más compacto */
@media (max-width: 640px) {
  .hero-title { font-size: clamp(3.1rem, 17vw, 5rem); line-height: .9; }
  .hero-kicker { font-size: clamp(1.5rem, 6.5vw, 2rem); margin-bottom: 14px; }
  .hero-rule { margin: 22px auto 18px; }
  .hero-lede { font-size: 1.08rem; line-height: 1.5; }
  .hero-tagline { margin-top: 18px; font-size: .98rem; }
  .btn-row { margin-top: 22px; }
  .btn-row .btn { flex: 1 1 140px; max-width: 200px; }
}

.hero-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 18px 0 24px; padding: 0; list-style: none; color: var(--mid); font-size: .95rem; }
.hero-facts li + li::before { content: '·'; margin-right: 18px; color: var(--mid); }
@media (max-width: 520px) { .hero-facts { gap: 4px 16px; } .hero-facts li + li::before { display: none; } }
