* { box-sizing: border-box; }
html { background: #f9f9f2; }
body {
  margin: 0;
  padding-top: 40px;
  background: #f9f9f2;
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
.banner { background: #9e0000; padding: 10px; }
#banner-aula {
  max-width: 1140px;
  margin: 0 auto;
  padding: 6px;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
}
.lesson {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
  max-width: 1140px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 50px 0 49px;
}
.lesson::before { content: ''; flex-shrink: 0; height: 1px; }
.player-container { width: 100%; max-width: 400px; }
.headline {
  margin: 0 0 24px;
  color: #000;
  text-align: center;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
}
.headline strong { font-weight: 700; }
.reveal { font-size: 23px; color: #fff; background: #f00; }
.accent { color: #f00; }
vturb-smartplayer { display: block; width: 100%; max-width: 400px; margin: 0 auto; }
.oferta-vturb { margin-top: 24px; width: 100%; }
.offer-pricing { margin-bottom: 16px; text-align: center; font-family: 'Manrope', Arial, sans-serif; }
.offer-original { margin: 0 0 4px; color: #777; font-size: 18px; line-height: 1.5; }
.offer-original del { color: #dc2626; font-size: 32px; font-weight: 800; text-decoration-thickness: 3px; }
.offer-price { margin: 0; color: #15803d; line-height: 1.2; }
.offer-price span { color: #444; font-size: 18px; }
.offer-price strong { font-size: 48px; font-weight: 800; letter-spacing: -1.5px; }
.offer-button {
  display: block;
  width: 100%;
  padding: 20px 16px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, #22c55e, #15803d);
  color: #fff;
  font-family: 'Manrope', Arial, sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-wrap: balance;
  text-decoration: none;
  box-shadow: 0 8px 20px -8px rgba(21, 128, 61, .55);
  cursor: pointer;
  animation: offerPulse 2s ease-in-out infinite;
}
.offer-button:hover { filter: brightness(1.06); animation-play-state: paused; }
.offer-button:focus-visible { outline: 3px solid #15803d; outline-offset: 4px; animation-play-state: paused; }
@keyframes offerPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 8px 20px -8px rgba(21, 128, 61, .55), 0 0 0 0 rgba(34, 197, 94, 0);
  }
  50% {
    transform: scale(1.035);
    box-shadow: 0 10px 28px -8px rgba(21, 128, 61, .65), 0 0 0 8px rgba(34, 197, 94, .12);
  }
}
@media (prefers-reduced-motion: reduce) {
  .offer-button { animation: none; }
}
@media (max-width: 1024px) { .lesson { max-width: 1024px; } }
@media (max-width: 767px) {
  .lesson { min-height: 876px; justify-content: center; gap: 12px; padding: 0 0 50px; }
  .player-container { width: 89%; max-width: 400px; }
}
