:root {
  --muted: #59586d;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 76px;
}

picture {
  display: block;
}

main.wrapper > section,
.hero-grid > *,
.grid-2 > *,
.grid-3 > *,
.stats > *,
.agenda-page-row > *,
.agenda-story-card > * {
  min-width: 0;
}

.announcement,
.announcement strong {
  color: #344d62;
}

.announcement__inner {
  line-height: 1.5;
}

.section-label {
  color: #87536e;
}

.button {
  max-width: 100%;
  padding: 14px 24px;
  line-height: 1.45;
  text-align: center;
  overflow-wrap: break-word;
  touch-action: manipulation;
}

.button--primary,
.final-cta .button--primary {
  background: linear-gradient(135deg, #c92238, #c42568);
}

.button:focus-visible {
  outline: 3px solid #526780;
  outline-offset: 4px;
}

.agenda-cards .hero-lead,
.agenda-cards .hero-promise li,
.agenda-cards .hero-card p,
.agenda-intro .agenda-intro__description,
.bonus-card p,
.bonus-card li,
.final-cta .section-copy {
  font-size: 18px;
  line-height: 1.7;
}

.section-title {
  line-height: 1.12;
}

.price-note,
.mini-proof,
.bonus-note {
  font-size: 16px;
  line-height: 1.6;
}

.bonus-pill {
  color: #82425f;
  background: #fce4ee;
  line-height: 1.5;
}

.bonus-card h3 {
  line-height: 1.4;
}

.bonus-tools {
  margin: 18px 0 0;
  padding-left: 22px;
  color: var(--muted);
}

.bonus-tools li + li {
  margin-top: 8px;
}

.bonus-image--compact img {
  width: auto;
  max-width: 100%;
  max-height: 340px;
  margin: auto;
  object-fit: contain;
}

.mobile-cta[hidden] {
  display: none;
}

.agenda-preview-open .mobile-cta {
  visibility: hidden;
}

@media (max-width: 1080px) and (min-width: 781px) {
  .agenda-testimonials-grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 780px) {
  html {
    scroll-padding-top: 20px;
  }

  body {
    padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px));
  }

  .announcement {
    position: static;
  }

  .announcement__inner {
    padding: 12px 0;
    font-size: 14px;
  }

  .wrapper {
    width: calc(100% - 24px);
  }

  main.wrapper > section {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .agenda-intro {
    padding-top: 10px;
  }

  .agenda-intro .agenda-intro__title {
    font-size: clamp(2.1rem, 8vw, 2.7rem);
    line-height: 1.1;
  }

  .agenda-intro__subtitle {
    font-size: 20px;
  }

  .agenda-intro .eyebrow {
    font-size: 14px;
    box-shadow: none;
  }

  .hero {
    padding: 10px 0;
  }

  .hero-copy,
  .hero-card,
  .section-card {
    padding: 22px 18px;
  }

  .hero-copy,
  .hero-card,
  .section-card,
  .feature-card,
  .bonus-card,
  .faq-item {
    background: #fff;
    backdrop-filter: none;
  }

  .agenda-cards .purchase-title,
  .agenda-cards .hero-card h2,
  .agenda-priorities .section-title,
  .agenda-overview .section-title,
  .agenda-pages .section-title,
  .agenda-story .section-title,
  .agenda-testimonials .section-title,
  .bonuses-intro .section-title,
  .agenda-faq .section-title,
  .final-cta .section-title {
    font-size: clamp(1.9rem, 7.3vw, 2.4rem);
    line-height: 1.15;
    letter-spacing: -0.015em;
  }

  .agenda-cards .stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .agenda-cards .stat {
    padding: 16px;
  }

  .agenda-cards .stat strong {
    font-size: 18px;
  }

  .agenda-cards .stat span {
    font-size: 16px;
    line-height: 1.5;
  }

  .price-new {
    font-size: clamp(2.4rem, 10vw, 3.2rem);
    line-height: 1.15;
  }

  .button,
  .agenda-cards .cta-row .button,
  .final-cta .button {
    font-size: 17px;
    min-height: 58px;
    padding: 14px 18px;
  }

  .agenda-pages,
  .agenda-story,
  .agenda-testimonials {
    padding: 26px 10px;
  }

  .agenda-page-row,
  .agenda-story-card {
    padding: 18px 14px;
  }

  .agenda-page-rows {
    gap: 26px;
  }

  .agenda-page-copy h3 {
    font-size: clamp(1.8rem, 7vw, 2.2rem);
    line-height: 1.2;
  }

  .feature-card,
  .bonus-card,
  .faq-item,
  .agenda-testimonial {
    padding: 22px 18px;
    box-shadow: 0 10px 28px rgba(89, 120, 156, 0.09);
  }

  .bonus-image--compact img {
    max-height: 280px;
  }

  .final-cta,
  .mid-cta-box {
    padding: 26px 18px;
  }

  .final-cta .price-old {
    margin-bottom: 8px;
  }

  .final-cta .price-new {
    margin-bottom: 22px;
  }

  #precio-compra {
    scroll-margin-top: 24px;
  }

  .mobile-cta {
    left: 8px;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    padding: 8px;
    border-radius: 20px;
  }

  .mobile-cta .button {
    min-height: 52px;
    font-size: 16px;
    padding: 12px 16px;
  }

  footer.wrapper {
    font-size: 16px;
    line-height: 1.6;
  }
}

@media (hover: none) {
  .button:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .button {
    transition: none;
  }
}
