/* ====================================================================
   inspeccia — landing v2 (Meta Ads optimizada, ES-only)
   CSS no-crítico (las secciones below-the-fold + componentes generales).
   Hereda variables --brut-* de brutalist.css.
   ==================================================================== */

/* a11y utility */
.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* === Nav: idéntica a la home, pero burger SIEMPRE visible (también desktop).
   Forzamos el panel-style fullscreen para todos los breakpoints, replicando
   las reglas que brutalist.css solo aplica bajo (max-width: 800px). === */
.nav-toggle { display: block !important; }

@media (min-width: 801px) {
  /* Replicamos las reglas mobile del nav para todos los anchos.
     Mismas transiciones, mismos colores por nav-link-N, misma estética. */
  .nav-links {
    position: fixed;
    top: 0; left: 0; right: 0;
    background: var(--brut-black);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 110px 24px 48px;
    z-index: 100;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transform: translateY(-12px);
    pointer-events: none;
    transition:
      clip-path 0.5s cubic-bezier(0.7, 0, 0.3, 1),
      transform 0.5s cubic-bezier(0.7, 0, 0.3, 1);
    box-shadow: 0 8px 0 var(--brut-black);
    max-width: none;
  }
  .nav-links.open {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: translateY(0);
    pointer-events: auto;
  }
  .nav-links .nav-link {
    display: block;
    padding: 18px 22px;
    margin: 0 auto 14px;
    max-width: 560px;
    color: var(--brut-black);
    background: var(--brut-yellow);
    border: var(--border-w) solid var(--brut-black);
    box-shadow: 6px 6px 0 var(--brut-yellow);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.4rem;
    text-decoration: none;
    text-align: left;
    transform: translateX(-130%) skewX(-14deg) rotate(-2deg);
    opacity: 0;
    transition:
      transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1),
      opacity 0.3s ease-out;
  }
  .nav-links .nav-link-1 { background: var(--brut-yellow); box-shadow: 6px 6px 0 var(--brut-pink); }
  .nav-links .nav-link-2 { background: var(--brut-cyan);   box-shadow: 6px 6px 0 var(--brut-yellow); transform: translateX(-130%) skewX(14deg) rotate(2deg); }
  .nav-links .nav-link-3 { background: var(--brut-pink);   box-shadow: 6px 6px 0 var(--brut-cyan); color: var(--brut-white); }
  .nav-links .nav-link-4 { background: var(--brut-yellow); box-shadow: 6px 6px 0 var(--brut-black); transform: translateX(-130%) skewX(14deg) rotate(2deg); }
  .nav-links .nav-link-cta { background: var(--brut-lime); box-shadow: 6px 6px 0 var(--brut-black); transform: translateX(130%) skewX(14deg) rotate(2deg); }
  .nav-links.open .nav-link {
    transform: translateX(0) skewX(0) rotate(0);
    opacity: 1;
  }
  .nav-links.open .nav-link-1   { transition-delay: 0.18s; }
  .nav-links.open .nav-link-2   { transition-delay: 0.28s; }
  .nav-links.open .nav-link-3   { transition-delay: 0.38s; }
  .nav-links.open .nav-link-4   { transition-delay: 0.46s; }
  .nav-links.open .nav-link-cta { transition-delay: 0.56s; }
  body.nav-open { overflow: hidden; }
}

/* === Tipografía secciones === */
.lp2-h2 {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 12px 0 14px;
}
.lp2-h2-light { color: var(--brut-white); }
.lp2-section-sub {
  font-size: clamp(1rem, 1.6vw, 1.1rem);
  line-height: 1.5;
  max-width: 680px;
  margin: 0 0 32px;
  opacity: 0.85;
}
.lp2-section-tag-light {
  background: var(--brut-yellow);
  color: var(--brut-black);
}

/* Highlight inline amarillo claro (versión más light que el del hero).
   box-decoration-break: clone garantiza que cuando el span hace wrap a otra
   línea, cada fragmento mantiene su fondo completo (sin "gaps" al final
   de la línea). */
.hl-yellow-light {
  background-color: var(--brut-yellow);
  padding: 2px 6px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: var(--brut-black);
}

/* Sub-línea pequeña dentro de un h2 (ej. "(deslizá →)" en segunda línea) */
.lp2-h2-sub {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.55em;
  font-weight: 700;
  opacity: 0.85;
  letter-spacing: 0;
}

/* === Sección "Lo que vas a recibir" — cards === */
.lp2-cards {
  padding: 64px 0;
  background: var(--brut-cream);
  border-top: 3px solid var(--brut-black);
  border-bottom: 3px solid var(--brut-black);
}
.lp2-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 700px) {
  .lp2-cards-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (min-width: 1024px) {
  .lp2-cards-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}
.lp2-card {
  background: var(--brut-white);
  border: 3px solid var(--brut-black);
  box-shadow: 6px 6px 0 var(--brut-black);
  padding: 22px;
  position: relative;
}
.lp2-card-num {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  opacity: 0.5;
  margin-bottom: 8px;
}
.lp2-card h3 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 800;
  margin: 0 0 8px;
  line-height: 1.15;
}
.lp2-card p { margin: 0; font-size: 0.96rem; line-height: 1.5; }
.lp2-card-yellow { background: var(--brut-yellow); }
.lp2-card-pink   { background: var(--brut-pink); color: var(--brut-white); }
.lp2-card-cyan   { background: var(--brut-cyan); }
.lp2-card-violet { background: var(--brut-violet); color: var(--brut-white); }
.lp2-card-lime   { background: var(--brut-lime); }
.lp2-card-orange { background: var(--brut-orange); }

/* === Preview interactivo — scroll-snap horizontal === */
.lp2-preview {
  padding: 64px 0;
  background: var(--brut-black);
  color: var(--brut-white);
  overflow: hidden;
}
.lp2-preview .section-tag {
  background: var(--brut-yellow);
  color: var(--brut-black);
}
.lp2-preview .lp2-section-sub { color: rgba(255,255,255,0.75); }
.lp2-preview-scroller {
  display: flex;
  gap: 18px;
  padding: 8px 24px 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 24px;
  -webkit-overflow-scrolling: touch;
}
.lp2-preview-scroller::-webkit-scrollbar { height: 8px; }
.lp2-preview-scroller::-webkit-scrollbar-track { background: rgba(255,255,255,0.08); }
.lp2-preview-scroller::-webkit-scrollbar-thumb { background: var(--brut-yellow); }
.lp2-preview-card {
  flex: 0 0 280px;
  scroll-snap-align: center;
  background: var(--brut-white);
  border: 3px solid var(--brut-yellow);
  box-shadow: 8px 8px 0 var(--brut-yellow);
  position: relative;
  overflow: hidden;
}
.lp2-preview-card img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.lp2-preview-card-locked img {
  filter: blur(8px) saturate(0.7);
  transform: scale(1.05);
}
.lp2-preview-locked-caption {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,10,10,0.4), rgba(10,10,10,0.85));
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  color: var(--brut-white);
  font-family: var(--font-display);
  font-size: 1.05rem;
  line-height: 1.3;
}
@media (min-width: 700px) {
  .lp2-preview-card { flex: 0 0 380px; }
}

/* === Social proof — testimonios === */
.lp2-social {
  padding: 64px 0;
  background: var(--brut-cream);
  border-top: 3px solid var(--brut-black);
}
.lp2-testimonials {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 900px) {
  .lp2-testimonials { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}
.lp2-testimonial {
  margin: 0;
  background: var(--brut-white);
  border: 3px solid var(--brut-black);
  box-shadow: 6px 6px 0 var(--brut-black);
  padding: 22px;
  position: relative;
}
.lp2-testimonial::before {
  content: '"';
  position: absolute;
  top: -22px; left: 14px;
  font-family: var(--font-display);
  font-size: 5rem;
  font-weight: 800;
  color: var(--brut-pink);
  line-height: 1;
}
.lp2-testimonial p {
  margin: 0 0 14px;
  font-size: 1rem;
  line-height: 1.55;
  font-style: italic;
}
.lp2-testimonial footer {
  font-size: 0.86rem;
  opacity: 0.75;
}
.lp2-testimonial footer strong { font-style: normal; opacity: 1; }

/* === Prueba social de terceros (Trustpilot) dentro de lp2-social ===
   Va DEBAJO de los hallazgos anonimizados: primero "esto encontramos"
   (prueba de producto), después "esto dicen los que ya lo hicieron"
   (prueba verificable por un tercero). Mismo lenguaje brutalista de la
   sección para no leerse como un widget pegado. */
.lp2-tp {
  margin-top: 52px;
  padding-top: 44px;
  border-top: 3px solid var(--brut-black);
}
.lp2-tp-head {
  text-align: center;
  margin-bottom: 26px;
}
.lp2-tp-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
@media (min-width: 800px) {
  .lp2-tp-grid { grid-template-columns: repeat(2, 1fr); gap: 26px; }
}
/* Tarjeta = link entero. Flex column + min-height + meta con margin-top:auto
   → las dos quedan de la misma altura y el pie alineado, aunque una reseña
   sea mucho más corta que la otra (patrón tomado de la landing CX). */
.lp2-tp-card {
  display: flex;
  flex-direction: column;
  min-height: 210px;
  background: var(--brut-white);
  border: 3px solid var(--brut-black);
  box-shadow: 6px 6px 0 var(--brut-black);
  padding: 24px;
  text-decoration: none !important;
  color: inherit;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.lp2-tp-card:hover,
.lp2-tp-card:focus-visible {
  transform: translate(-3px, -3px);
  box-shadow: 9px 9px 0 var(--brut-yellow);
}
.lp2-tp-card * { text-decoration: none !important; }
.lp2-tp-stars {
  display: block;
  color: #00b67a; /* verde Trustpilot */
  font-size: 1.1rem;
  letter-spacing: 0.12em;
  line-height: 1;
}
.lp2-tp-card blockquote {
  margin: 20px 0;
  font-family: var(--font-display, inherit);
  font-size: 1.16rem;
  line-height: 1.38;
  letter-spacing: -0.012em;
  font-style: normal;
}
.lp2-tp-meta {
  display: block;
  margin-top: auto;   /* pega el pie al fondo → cards parejas */
  font-size: 0.78rem;
  font-weight: 700;
  opacity: 0.6;
}
.lp2-tp-founder {
  margin: 30px auto 0;
  max-width: 660px;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.55;
  opacity: 0.8;
}
@media (max-width: 560px) {
  .lp2-tp { margin-top: 40px; padding-top: 34px; }
  .lp2-tp-card { min-height: 0; padding: 20px; }
  .lp2-tp-card blockquote { font-size: 1.05rem; margin: 16px 0; }
}

/* === Loss aversion === */
.lp2-loss {
  padding: 64px 0;
  background: var(--brut-black);
  color: var(--brut-white);
  border-top: 3px solid var(--brut-yellow);
  border-bottom: 3px solid var(--brut-yellow);
}
.lp2-loss-inner { max-width: 780px; }
.lp2-loss-text {
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0 0 16px;
  color: rgba(255,255,255,0.92);
}
.lp2-loss-text strong { color: var(--brut-yellow); }
.lp2-loss .btn { margin-top: 14px; }

/* === Cómo funciona === */
.lp2-steps {
  padding: 64px 0;
  background: var(--brut-cream);
}
.lp2-steps-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 800px) {
  .lp2-steps-list { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}
.lp2-step {
  background: var(--brut-white);
  border: 3px solid var(--brut-black);
  box-shadow: 6px 6px 0 var(--brut-black);
  padding: 24px;
  position: relative;
}
.lp2-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--brut-pink);
  color: var(--brut-white);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.4rem;
  border: 3px solid var(--brut-black);
  box-shadow: 3px 3px 0 var(--brut-black);
  margin-bottom: 14px;
}
.lp2-step h3 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  margin: 0 0 8px;
}
.lp2-step p { margin: 0; font-size: 0.95rem; line-height: 1.5; }

/* === FAQ === */
.lp2-faq {
  padding: 64px 0;
  background: var(--brut-white);
  border-top: 3px solid var(--brut-black);
  border-bottom: 3px solid var(--brut-black);
}
.lp2-faq-list {
  max-width: 780px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lp2-faq-item {
  background: var(--brut-cream);
  border: 3px solid var(--brut-black);
  box-shadow: 4px 4px 0 var(--brut-black);
  padding: 0;
}
.lp2-faq-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.02rem;
  cursor: pointer;
  user-select: none;
}
.lp2-faq-item summary::-webkit-details-marker { display: none; }
.lp2-faq-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--brut-yellow);
  border: 2px solid var(--brut-black);
  font-weight: 800;
  font-size: 1.2rem;
  transition: transform 200ms ease;
  flex: 0 0 28px;
  margin-left: 12px;
}
.lp2-faq-item[open] .lp2-faq-icon { transform: rotate(45deg); }
.lp2-faq-answer {
  padding: 0 18px 18px;
  font-size: 0.96rem;
  line-height: 1.55;
}
.lp2-faq-answer strong {
  background: var(--brut-yellow);
  padding: 0 4px;
}

/* === CTA final === */
.lp2-cta-final {
  padding: 64px 0;
  background: var(--brut-black);
  color: var(--brut-white);
  text-align: left;
}
.lp2-cta-final .lp2-h2 { color: var(--brut-white); max-width: 720px; }
.lp2-cta-final-sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,0.85);
  margin: 0 0 26px;
  max-width: 600px;
}
.lp2-form-wrap-dark {
  background: var(--brut-white);
  border: 3px solid var(--brut-yellow);
  box-shadow: 8px 8px 0 var(--brut-yellow);
  padding: 18px;
  max-width: 640px;
}
.lp2-cta-final .lp2-input {
  width: 100%;
  font-family: var(--font-body);
  font-size: 1rem;
  padding: 14px 16px;
  background: var(--brut-white);
  border: 3px solid var(--brut-black);
  color: var(--brut-black);
  outline: none;
}
.lp2-cta-final .lp2-input:focus { background: var(--brut-yellow); }
.lp2-cta-final .lp2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.05rem;
  padding: 16px 22px;
  background: var(--brut-pink);
  color: var(--brut-white);
  border: 3px solid var(--brut-black);
  box-shadow: 6px 6px 0 var(--brut-black);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: transform 60ms ease, box-shadow 60ms ease;
}
.lp2-cta-final .lp2-btn:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--brut-black); }
.lp2-cta-final .lp2-btn:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--brut-black); }
.lp2-cta-final .lp2-step2 { display: none; flex-direction: column; gap: 10px; }
.lp2-cta-final .lp2-form.lp2-step2-active .lp2-step2 { display: flex; animation: lp2SlideDown 280ms cubic-bezier(0.22, 0.61, 0.36, 1); }
.lp2-cta-final .lp2-form.lp2-step2-active .lp2-step1-btn { display: none; }
.lp2-cta-final .lp2-form-error {
  color: var(--brut-red);
  font-size: 0.86rem;
  margin: 0;
  font-weight: 600;
  display: none;
}
.lp2-cta-final .lp2-form-error.is-visible { display: block; }
html.no-js .lp2-cta-final .lp2-step2 { display: block !important; }
html.no-js .lp2-cta-final .lp2-step1-btn { display: none !important; }

/* === Footer — mismos elementos que la homepage === */
.lp2-footer {
  background: var(--brut-black);
  color: var(--brut-white);
  padding: 48px 0 40px;
  border-top: 3px solid var(--brut-yellow);
  text-align: center;
}
.lp2-footer .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.lp2-footer-brand {
  display: inline-block;
  margin: 0 0 16px;
  line-height: 0;
  text-decoration: none;
}
.lp2-footer-tagline {
  margin: 0 0 12px;
  font-size: 0.94rem;
  opacity: 0.92;
  max-width: 560px;
}
.lp2-footer-links {
  display: flex;
  gap: 8px 12px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 0.88rem;
  opacity: 0.85;
  margin: 0 0 4px;
}
.lp2-footer-links a {
  color: var(--brut-white);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 120ms ease;
}
.lp2-footer-links a:hover { color: var(--brut-yellow); }
.lp2-footer-links span { opacity: 0.45; }
.lp2-footer-pay {
  width: 100%;
  margin: 22px 0 0;
}
.lp2-footer-divider {
  border: 0;
  border-top: 1px solid rgba(255,255,255,0.4);
  width: min(220px, 50%);
  margin: 0 auto 14px;
}
.lp2-footer-pay-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.lp2-footer-pay-row img {
  height: auto;
  display: block;
  filter: brightness(0) invert(1) opacity(0.85);
}
.lp2-footer-madein {
  margin: 18px 0 0;
  font-size: 0.85rem;
  opacity: 0.65;
}

/* ====================================================================
   Trust logos marquee — authority bias
   ==================================================================== */
.lp2-trust-marquee {
  padding: 36px 0 28px;
  background: var(--brut-white);
  border-top: 3px solid var(--brut-black);
  border-bottom: 3px solid var(--brut-black);
  overflow: hidden;
}
.lp2-trust-marquee-label {
  margin: 0 0 18px;
  text-align: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.6;
}
.lp2-trust-marquee-track {
  display: flex;
  align-items: center;
  gap: 48px;
  width: max-content;
  animation: lp2-marquee 36s linear infinite;
}
.lp2-trust-marquee-track img {
  height: 38px;
  width: auto;
  filter: grayscale(1) opacity(0.65);
  transition: filter 200ms ease;
}
.lp2-trust-marquee-track img:hover { filter: grayscale(0) opacity(1); }
@keyframes lp2-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .lp2-trust-marquee-track { animation: none; }
}

/* ====================================================================
   Pricing model section
   ==================================================================== */
.lp2-pricing {
  padding: 64px 0;
  background: var(--brut-cream);
  border-top: 3px solid var(--brut-black);
}
.lp2-pricing-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 40px;
}
@media (min-width: 800px) {
  .lp2-pricing-grid { grid-template-columns: 1fr 1.15fr; gap: 24px; align-items: stretch; }
}
@media (min-width: 1000px) {
  .lp2-pricing-grid.has-lifetime { grid-template-columns: 1fr 1.05fr 1.15fr; gap: 22px; }
}
/* Cuando hay lifetime, sacamos el badge RECOMENDADO del paid para que no
   compita con MÁS POPULAR del lifetime. */
.lp2-pricing-grid.has-lifetime .lp2-pricing-paid::before { display: none; }
.lp2-pricing-card {
  background: var(--brut-white);
  border: 3px solid var(--brut-black);
  box-shadow: 6px 6px 0 var(--brut-black);
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
}
.lp2-pricing-paid {
  background: var(--brut-yellow);
  box-shadow: 8px 8px 0 var(--brut-pink);
  position: relative;
}
.lp2-pricing-paid::before {
  content: 'RECOMENDADO';
  position: absolute;
  top: -14px;
  right: 16px;
  background: var(--brut-pink);
  color: var(--brut-white);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  padding: 6px 12px;
  border: 3px solid var(--brut-black);
  box-shadow: 3px 3px 0 var(--brut-black);
}
html[lang="en"] .lp2-pricing-paid::before {
  content: 'RECOMMENDED';
}
.lp2-pricing-eyebrow {
  display: inline-block;
  background: var(--brut-black);
  color: var(--brut-yellow);
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  margin-bottom: 14px;
}
.lp2-pricing-eyebrow-paid {
  background: var(--brut-black);
  color: var(--brut-pink);
}
.lp2-pricing-lifetime {
  background: var(--brut-black);
  color: var(--brut-white);
  box-shadow: 8px 8px 0 var(--brut-yellow);
  position: relative;
}
.lp2-pricing-lifetime::before {
  content: 'MÁS POPULAR';
  position: absolute;
  top: -14px;
  right: 16px;
  background: var(--brut-yellow);
  color: var(--brut-black);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  padding: 6px 12px;
  border: 3px solid var(--brut-black);
  box-shadow: 3px 3px 0 var(--brut-white);
}
html[lang="en"] .lp2-pricing-lifetime::before { content: 'MOST POPULAR'; }
.lp2-pricing-lifetime .lp2-pricing-eyebrow-lifetime {
  background: var(--brut-yellow);
  color: var(--brut-black);
}
.lp2-pricing-lifetime .lp2-pricing-price { border-bottom-color: rgba(255,255,255,0.25); }
.lp2-pricing-lifetime .lp2-pricing-meta { opacity: 0.78; }
.lp2-pricing-lifetime .lp2-pricing-foot { color: rgba(255,255,255,0.82); }
.lp2-pricing-title {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 800;
  margin: 0 0 10px;
  line-height: 1.1;
}
.lp2-pricing-price {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 2px dashed rgba(10,10,10,0.2);
}
.lp2-pricing-amount {
  font-family: var(--font-display);
  font-size: 2.6rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}
.lp2-pricing-meta {
  font-size: 0.84rem;
  opacity: 0.7;
}
.lp2-pricing-list {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.lp2-pricing-list li {
  font-size: 0.94rem;
  line-height: 1.45;
}
.lp2-pricing-list strong { font-weight: 700; }
.lp2-pricing-cta {
  align-self: flex-start;
  margin-top: auto;
}
.lp2-pricing-foot {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.4;
  opacity: 0.75;
  font-style: italic;
}

/* ====================================================================
   Garantía stamp + banner
   ==================================================================== */
.lp2-guarantee-banner {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px;
  background: var(--brut-black);
  color: var(--brut-white);
  border: 3px solid var(--brut-black);
  box-shadow: 6px 6px 0 var(--brut-yellow);
  flex-wrap: wrap;
}
.lp2-guarantee-stamp {
  position: relative;
  flex: 0 0 120px;
  width: 120px;
  height: 120px;
  display: block;
  text-decoration: none;
}
.lp2-guarantee-stamp svg.lp2-stamp-spin {
  width: 100%;
  height: 100%;
  animation: lp2-stamp-rotate 18s linear infinite;
}
.lp2-stamp-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--brut-white);
  pointer-events: none;
}
.lp2-stamp-pct {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1rem;
  letter-spacing: 0.04em;
  margin-top: 2px;
}
.lp2-guarantee-text {
  flex: 1 1 240px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lp2-guarantee-text strong {
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--brut-yellow);
}
.lp2-guarantee-text span {
  font-size: 0.94rem;
  line-height: 1.5;
  opacity: 0.9;
}
@keyframes lp2-stamp-rotate {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .lp2-guarantee-stamp svg.lp2-stamp-spin { animation: none; }
}
@media (max-width: 600px) {
  .lp2-guarantee-banner { flex-direction: column; align-items: flex-start; text-align: left; }
  .lp2-guarantee-stamp { flex: 0 0 96px; width: 96px; height: 96px; }
}

/* === Padding global mobile para que sticky CTA no tape el final === */
@media (max-width: 899px) {
  .lp2-cta-final { padding-bottom: 84px; }
}

/* === Reveal animations === */
.lp2-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 480ms ease-out, transform 480ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.lp2-reveal.lp2-revealed {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .lp2-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
