/* Haiti anchors the hero and community story; the middle stays calm. */
body.home-page { background: #f5f7fc; }
.home-page #inicio { background: linear-gradient(90deg, rgba(8,30,73,.78), rgba(8,30,73,.40) 56%, rgba(103,7,28,.58)), url('../assets/images/haiti-background.png') center / cover no-repeat; }
.home-page .hero-copy { text-shadow: 0 2px 10px #0005; }
.home-page .hero-discover { background: #75092240; }
.home-page #nosotros, .home-page #servicios { background: white; }
.home-page #servicios { padding-inline: 32px; border-radius: 24px; margin-bottom: 32px; }
.home-page #app-action { text-align: center; padding: 64px 32px; }
.home-page #app-action h2 { color: var(--dark); margin: 10px 0 24px; }
.action-description { max-width: 720px; margin: 28px auto 0; font-size: 1.15rem; }
.app-screens { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; max-width: 1120px; margin: 42px auto; align-items: start; }
[hidden] { display: none !important; }
.app-screens figure { min-width: 0; }
.phone-frame { padding: 8px; border: 2px solid #35425b; border-radius: 38px; background: #10244b; box-shadow: 0 20px 40px #10244b20; overflow: hidden; }
.phone-frame img { display: block; width: 100%; height: auto; border-radius: 28px; }
.app-screens figcaption { color: var(--dark); font-size: 1.1rem; font-weight: 700; margin-top: 20px; }
.home-page #trust { padding: 64px 44px; border-radius: 24px; color: white; background: linear-gradient(90deg,#091e48ed,#091e48ad),url('../assets/images/haiti-background.png') center 40% / cover; }
#trust .eyebrow { color: #d9e5ff; }
#trust h2 { color: white; margin: 12px 0 24px; }
#trust p:not(.eyebrow) { max-width: 640px; font-size: 1.06rem; }
#trust .button-secondary { margin-top: 24px; }
.home-page #launch { display: grid; grid-template-columns: 1fr 1.1fr; gap: 44px; padding: 64px 40px; margin: 32px 0; background: white; border: 1px solid var(--border); border-radius: 24px; }
#launch h2 { color: var(--dark); margin: 12px 0 20px; }
#waitlist-form { display: grid; gap: 12px; align-content: center; min-width: 0; }
#waitlist-form label { color: var(--dark); font-weight: 700; }
#waitlist-email { width: 100%; min-height: 52px; border: 1px solid #9aaac2; border-radius: 12px; padding: 12px 16px; font: inherit; background: #f7f9ff; }
#waitlist-email:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
#waitlist-form button { font: inherit; font-weight: 700; border: 0; cursor: pointer; white-space: normal; }
#waitlist-form button:disabled { opacity: .65; cursor: wait; }
#launch .small-copy { font-size: .875rem; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#waitlist-status { min-height: 1.6em; color: #1646bb; overflow-wrap: anywhere; }
#store-links { align-self: center; display: flex; gap: 16px; flex-wrap: wrap; }
.home-page footer { background: #091e48; }
@media(max-width:760px) {
  .home-page #servicios { padding-inline: 20px; }
  .home-page #app-action { padding: 44px 0; }
  .app-screens { grid-template-columns: 1fr; max-width: 270px; gap: 32px; }
  .home-page #launch { grid-template-columns: 1fr; padding: 32px 24px; gap: 24px; }
  .home-page #trust { padding: 40px 24px; }
  .app-screens .phone-frame { padding: 4px; border-radius: 22px; }
  .app-screens .phone-frame img { border-radius: 16px; }
  .app-screens figcaption { font-size: .875rem; margin-top: 12px; overflow-wrap: anywhere; }
  .home-page #launch { grid-template-columns: 1fr; padding: 32px 24px; gap: 24px; }
  .home-page #trust { padding: 40px 24px; }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .app-screens { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 660px; gap: 32px; }
}
