:root{
  --bg:#0e1714;
  --bg-soft:#f4f2ec;
  --card:#13201b;
  --text:#f4f6f5;
  --dark:#111;
  --muted:#bdc6c2;
  --accent:#f2c94c;
  --accent-2:#dab23e;
  --green:#2f7d60;
  --progress-blue:#3db8ff;
  --progress-track:rgba(255,255,255,.14);
  --hero-gap:clamp(.35rem,.9vh,.65rem);
  --hero-tight:clamp(.2rem,.55vh,.4rem);
  --video-native-w:1920;
  --video-native-h:1080;
  --video-viewport-cap-h:78vh;
  --video-max-w-cap:min(1200px,92vw);
  --video-overscan-x:0%;
  --video-overscan-y:0%;
  --cta-pulse-speed:1.9s;
  --phase-1:#0e7490;
  --phase-2:#1d4ed8;
  --phase-3:#5b21b6;
  --phase-4:#a21caf;
  --phase-5:#be185d;
  --phase-6:#c2410c;
  --phase-7:#b45309;
  --phase-8:#15803d;
}
*{box-sizing:border-box;margin:0;padding:0}
html{height:100%}
body{font-family:Inter,sans-serif;background:var(--bg-soft);color:#1d1d1d;line-height:1.6;min-height:100%}
.container{width:min(1120px,92%);margin:0 auto}
.hero .container{max-width:min(1480px,98vw);width:100%}
.eyebrow{display:inline-block;font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:.78rem;color:var(--accent);margin-bottom:1rem}
.eyebrow.dark{color:var(--green)}
h1,h2,h3{line-height:1.05}
h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(2.4rem,7vw,5.4rem);letter-spacing:.6px}
h2{font-family:"Bebas Neue",sans-serif;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:.5px}
h3{font-size:1.2rem}

.btn{display:inline-block;border-radius:999px;padding:.95rem 1.7rem;font-weight:700;text-decoration:none;transition:.25s}
.btn-primary{background:var(--accent);color:#1a1a1a}
.btn-primary:hover{background:var(--accent-2);transform:translateY(-2px)}
.btn-primary.btn-cta-hero:not(.is-pulsing):hover{background:var(--accent-2);transform:translateY(-2px)}
.btn-primary.btn-cta-hero.is-pulsing:hover{background:var(--accent-2)}
.btn-outline{border:2px solid rgba(255,255,255,.5);color:#fff;margin-left:.8rem}
.btn-outline:hover{background:#fff;color:#111}
.btn-large{padding:1.1rem 2.2rem}

.hero{
  position:relative;
  min-height:100svh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  padding:clamp(.5rem,1.8vh,1rem) 0 clamp(.45rem,1.5vh,.85rem);
  background:radial-gradient(circle at top right,#214536 0%,var(--bg) 58%);
  overflow:hidden;
}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.35),rgba(0,0,0,.68))}
.hero__content{
  position:relative;z-index:2;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:var(--hero-gap);
  min-height:0;
  color:var(--text);
  text-align:center;
  justify-content:flex-start;
}
.hero__intro{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:var(--hero-tight);
  align-items:center;
}
.hero h1{font-size:clamp(1.75rem,4.5vw,4.35rem);margin:0;line-height:1.02}
.hero h1 span{color:var(--accent)}
.hero .eyebrow{margin:0;font-size:.7rem;letter-spacing:.18em}
.hero p{max-width:36rem;margin:0;color:var(--muted);font-size:clamp(.82rem,1.55vw,.98rem);line-height:1.45}

.video-card{
  flex:1 1 0;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  max-width:min(1420px,100%);
  margin:0 auto;
  gap:clamp(.45rem,1.1vh,.7rem);
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  box-shadow:none;
  backdrop-filter:none;
}
.video-wrap{
  flex:0 1 auto;
  align-self:center;
  width:min(100%,calc(var(--video-viewport-cap-h) * 16 / 9),var(--video-max-w-cap));
  aspect-ratio:16 / 9;
  position:relative;
  border-radius:10px;
  overflow:hidden;
  background:#000;
}
.video-secure{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.video-wrap iframe{
  position:absolute;
  top:calc(-1 * var(--video-overscan-y));
  left:calc(-1 * var(--video-overscan-x));
  width:calc(100% + 2 * var(--video-overscan-x));
  height:calc(100% + 2 * var(--video-overscan-y));
  max-width:none;
  max-height:none;
  border:0;
  z-index:1;
}

.video-play-gate{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:clamp(.75rem,2vw,1.25rem);
  border:0;
  cursor:pointer;
  background:rgba(8,18,14,.58);
  backdrop-filter:blur(6px);
  color:#fff;
  font-family:inherit;
  transition:opacity .4s ease,visibility .4s ease;
}
.video-play-gate:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.video-play-gate.is-dismissed{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.video-play-gate__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1rem;
  width:100%;
  max-width:min(320px,88vw);
  text-align:center;
}
.video-play-gate__play{
  position:relative;
  width:clamp(76px,20vw,96px);
  height:clamp(76px,20vw,96px);
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.video-play-gate__ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.34);
  animation:gate-ring 2.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes gate-ring{
  0%,100%{transform:scale(1);opacity:.45}
  50%{transform:scale(1.06);opacity:.88}
}
.video-play-gate__icon{
  position:relative;
  width:0;
  height:0;
  margin:0;
  border-style:solid;
  border-width:14px 0 14px 22px;
  border-color:transparent transparent transparent #fff;
  transform:translateX(3px);
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));
}
.video-play-gate__text{
  display:block;
  width:100%;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.4;
  text-transform:uppercase;
  opacity:.96;
}

.drive-popout-mask{
  position:absolute;
  top:0;
  right:0;
  width:clamp(52px,14vw,76px);
  height:clamp(48px,11vw,60px);
  z-index:6;
  pointer-events:auto;
  background:linear-gradient(225deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.55) 58%,transparent 100%);
  border-bottom-left-radius:10px;
}

.video-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:8px;
  z-index:7;
  background:var(--progress-track);
  pointer-events:none;
}
.video-progress__fill{
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#2a9fd8,var(--progress-blue));
  box-shadow:0 0 14px rgba(61,184,255,.45);
  border-radius:0 2px 2px 0;
  transition:width .15s linear;
}

.video-audio-hint{
  flex:0 0 auto;
  margin:0;
  padding:0 .75rem;
  text-align:center;
  font-size:.8rem;
  font-weight:600;
  color:rgba(244,246,245,.82);
  letter-spacing:.02em;
  max-width:min(480px,92vw);
  line-height:1.35;
}
.btn-cta-hero{
  flex:0 0 auto;
  width:auto;
  max-width:min(380px,52%);
  padding:.82rem 1.65rem;
  font-size:.88rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

@keyframes cta-pulse-soft{
  0%,100%{transform:scale(1);box-shadow:0 4px 20px rgba(242,201,76,.22)}
  50%{transform:scale(1.04);box-shadow:0 8px 32px rgba(242,201,76,.4)}
}
.btn.btn-primary.btn-cta-hero.is-pulsing{
  transition:none;
  animation:cta-pulse-soft var(--cta-pulse-speed) cubic-bezier(0.45,0,0.55,1) infinite;
  will-change:transform,box-shadow;
}
@media (prefers-reduced-motion:reduce){
  .btn.btn-primary.btn-cta-hero.is-pulsing{animation:none;box-shadow:none}
  .video-play-gate__ring{animation:none}
}

section{padding:4.5rem 0}
.problem__grid,.result-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.problem article{background:#fff;border:1px solid #e7e7e7;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 12px 30px -22px rgba(0,0,0,.4);display:flex;flex-direction:column}
.result-cards article{
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:14px;
  padding:0;
  overflow:hidden;
  box-shadow:0 12px 30px -22px rgba(0,0,0,.4);
  display:flex;
  flex-direction:column;
}
.result-card__thumb{line-height:0;background:#eceae4;border-bottom:1px solid #e7e7e7}
.result-card__thumb img{display:block;width:100%;height:auto}
.result-card__body{padding:1.4rem}
.result-card__body h3{margin:0 0 .45rem}
.result-card__body p{margin:0;color:#3d3d3d;font-size:.95rem}
.problem__thumb{line-height:0;background:#eceae4;border-bottom:1px solid #e7e7e7}
.problem__thumb img{display:block;width:100%;height:auto}
.problem__body{padding:1.4rem}
.problem__body h3{margin:0 0 .45rem}
.problem__body p{margin:0;color:#3d3d3d;font-size:.95rem}
.problem h2,.results h2{text-align:center}

.method{background:#fff}
.method h2{margin:.3rem 0 1.2rem}
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1.2rem;list-style:none;counter-reset:step}
.steps li{background:#f8f8f8;border-left:4px solid var(--green);padding:.9rem 1rem;border-radius:10px}
.steps li:nth-child(1){border-left-color:var(--phase-1)}
.steps li:nth-child(2){border-left-color:var(--phase-2)}
.steps li:nth-child(3){border-left-color:var(--phase-3)}
.steps li:nth-child(4){border-left-color:var(--phase-4)}
.steps li:nth-child(5){border-left-color:var(--phase-5)}
.steps li:nth-child(6){border-left-color:var(--phase-6)}
.steps li:nth-child(7){border-left-color:var(--phase-7)}
.steps li:nth-child(8){border-left-color:var(--phase-8)}

.access-included{background:#fff;padding:4.5rem 0}
.access-included h2{
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:clamp(1.5rem,3.6vw,2.15rem);
  color:#153e6e;
  margin:0 auto 2.25rem;
  max-width:48rem;
  line-height:1.15;
}
.access-included__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.35rem;
  align-items:start;
}
.access-card__visual{
  aspect-ratio:1;
  border-radius:14px;
  overflow:hidden;
  background:#16a34a;
  margin-bottom:1.05rem;
  box-shadow:0 14px 34px -22px rgba(0,0,0,.25);
}
.access-card__visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.access-included__grid p{
  text-align:center;
  color:#1e4976;
  font-size:.93rem;
  line-height:1.55;
  margin:0;
}
.access-included__grid strong{font-weight:800}

.testimonials{
  background:linear-gradient(165deg,#1a3328 0%,var(--green) 42%,#265d49 100%);
  padding:3.5rem 0;
  border-top:1px solid rgba(242,201,76,.25);
}
.testimonials__title{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(1.85rem,4.5vw,2.65rem);
  text-align:center;
  color:var(--text);
  margin:0 0 1.75rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1.1;
}
.testimonials-carousel{
  display:flex;
  align-items:center;
  gap:.35rem .65rem;
  max-width:100%;
}
.testimonials-carousel__btn{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  color:var(--accent);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  transition:background .2s;
}
.testimonials-carousel__btn:hover{background:rgba(242,201,76,.16)}
.testimonials-carousel__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.testimonials-carousel__glyph{font-size:2.75rem;line-height:1;font-weight:300}
.testimonials-carousel__viewport{
  flex:1;
  min-width:0;
  overflow-x:hidden;
  overflow-y:visible;
  padding-bottom:14px;
}
.testimonials-carousel__track{
  display:flex;
  gap:1.15rem;
  align-items:flex-start;
  margin:0;
  padding:0;
  list-style:none;
  will-change:transform;
}
@media (prefers-reduced-motion:reduce){
  .testimonials-carousel__track{will-change:auto}
}
.testimonial-card{
  position:relative;
  flex:0 0 auto;
  width:auto;
  min-width:0;
  box-sizing:border-box;
  background:#fff;
  border-radius:22px 22px 22px 10px;
  padding:1.05rem 1.45rem 1.15rem 1.35rem;
  border:1px solid rgba(47,125,96,.15);
  box-shadow:
    0 2px 0 rgba(255,255,255,.65) inset,
    0 12px 28px rgba(14,23,20,.14),
    0 4px 10px rgba(14,23,20,.08);
  flex-shrink:0;
}
.testimonial-card::before{
  content:"";
  position:absolute;
  left:20px;
  bottom:-9px;
  width:16px;
  height:16px;
  background:#fff;
  border-right:1px solid rgba(47,125,96,.12);
  border-bottom:1px solid rgba(47,125,96,.12);
  transform:rotate(45deg);
  border-radius:0 0 3px 0;
  box-shadow:3px 3px 8px rgba(14,23,20,.1);
}
.testimonial-card__head{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.5rem;
  margin-bottom:.35rem;
}
.testimonial-card__name{font-weight:800;color:#111;font-size:.98rem}
.testimonial-card__badge{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#dd4b39;
  color:#fff;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.testimonial-card__stars{
  position:relative;
  z-index:1;
  color:var(--accent);
  font-size:.95rem;
  letter-spacing:.06em;
  line-height:1.2;
  margin-bottom:.5rem;
}
.testimonial-card__text{
  position:relative;
  z-index:1;
  margin:0;
  color:#3d3d3d;
  font-size:.9rem;
  line-height:1.5;
  text-align:left;
}

/* ── Membresías / pricing ── */
.pricing{
  background:radial-gradient(ellipse at top,#1a3328 0%,#0e1714 55%,#0a120f 100%);
  color:var(--text);
  padding:clamp(3rem,8vw,5rem) 0;
  text-align:center;
}
.eyebrow--light{color:var(--accent)}
.pricing h2{color:#fff;margin:.5rem 0 .75rem}
.pricing__lead{color:var(--muted);max-width:34rem;margin:0 auto 2.5rem;font-size:1rem}
.pricing__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  text-align:left;
  align-items:stretch;
}
.pricing-card{
  position:relative;
  background:linear-gradient(165deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  padding:1.5rem 1.35rem 1.6rem;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  backdrop-filter:blur(8px);
}
.pricing-card--featured{
  border-color:rgba(242,201,76,.55);
  box-shadow:0 0 0 1px rgba(242,201,76,.25),0 20px 50px rgba(0,0,0,.35);
  transform:translateY(-6px);
}
.pricing-card__ribbon{
  position:absolute;top:14px;right:-8px;
  background:var(--accent);color:#1a1a1a;
  font-size:.68rem;font-weight:800;text-transform:uppercase;
  padding:.35rem .85rem;border-radius:6px 0 0 6px;
  letter-spacing:.04em;
}
.pricing-card__label{
  display:inline-block;
  align-self:flex-start;
  font-family:"Bebas Neue",sans-serif;
  font-size:1.15rem;
  letter-spacing:.06em;
  padding:.35rem .75rem;
  border-radius:8px;
  margin-bottom:.25rem;
}
.pricing-card__label--light{background:#fff;color:#111}
.pricing-card__label--accent{background:var(--accent);color:#111}
.pricing-card__label--premium{background:#a855f7;color:#fff}
.pricing-card__tag{font-size:.82rem;color:var(--muted);margin:0}
.pricing-card__amount{
  font-family:"Bebas Neue",sans-serif;
  font-size:3.2rem;line-height:1;color:#fff;margin:.35rem 0 0;
}
.pricing-card__amount--accent{color:var(--accent)}
.pricing-card__currency{font-size:1.4rem;vertical-align:super;margin-right:2px}
.pricing-card__period{font-size:.8rem;color:rgba(255,255,255,.45);margin:0 0 .75rem}
.pricing-card__highlights{
  list-style:none;margin:0 0 1.25rem;padding:0;flex:1;
}
.pricing-card__highlights li{
  font-size:.84rem;color:rgba(255,255,255,.82);
  padding:.35rem 0 .35rem 1.35rem;
  position:relative;
}
.pricing-card__highlights li::before{
  content:"✓";position:absolute;left:0;color:#22c55e;font-weight:700;
}
.pricing-card__highlights li.is-muted{color:rgba(255,255,255,.4)}
.pricing-card__highlights li.is-muted::before{content:"✕";color:#f87171}
a.btn-pricing{
  display:block;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
}
.btn-pricing{
  width:100%;border:none;cursor:pointer;
  background:rgba(255,255,255,.12);color:#fff;
  border-radius:999px;padding:.9rem 1rem;
  font-weight:700;font-size:.92rem;
  transition:.25s;
}
.btn-pricing:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.btn-pricing--accent{background:var(--accent);color:#111}
.btn-pricing--accent:hover{background:var(--accent-2)}
.btn-pricing--premium{background:#a855f7;color:#fff}
.btn-pricing--premium:hover{background:#9333ea}

/* Modal detalle plan */
body.plan-modal-open{overflow:hidden}
.plan-modal{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.72);
  display:flex;align-items:center;justify-content:center;
  padding:1.25rem;
  overflow-y:auto;
}
.plan-modal[hidden]{display:none}
.plan-modal__dialog{
  position:relative;width:min(520px,100%);
  max-height:min(90vh,780px);
  overflow-y:auto;
  background:linear-gradient(165deg,#1a2e26 0%,#0e1714 100%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:1.75rem 1.5rem 1.5rem;
  color:var(--text);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.plan-modal__close{
  position:absolute;top:12px;right:14px;
  width:36px;height:36px;border:none;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;
  font-size:1.5rem;line-height:1;cursor:pointer;
}
.plan-modal__head{text-align:center;margin-bottom:1.25rem}
.plan-modal__emoji{font-size:2.5rem;display:block;margin-bottom:.5rem}
.plan-modal__tagline{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;
  color:var(--plan-accent,var(--accent));font-weight:700;margin:0;
}
.plan-modal__title{
  font-family:"Bebas Neue",sans-serif;
  font-size:2rem;color:#fff;margin:.25rem 0;
}
.plan-modal__price{
  font-family:"Bebas Neue",sans-serif;font-size:2.6rem;color:#fff;margin:.25rem 0;
}
.plan-modal__price span{font-size:1.2rem;vertical-align:super}
.plan-modal__price small{font-size:.85rem;color:rgba(255,255,255,.45);font-family:Inter,sans-serif;margin-left:.35rem}
.plan-modal__goal{font-size:.88rem;color:var(--muted);margin:0}
.plan-modal__section{margin-bottom:1rem}
.plan-modal__section h3{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--accent);margin:0 0 .5rem;
}
.plan-modal__section ul{list-style:none;margin:0;padding:0}
.plan-modal__section li{
  display:flex;gap:.5rem;align-items:flex-start;
  font-size:.86rem;color:rgba(255,255,255,.88);
  padding:.3rem 0;
}
.plan-modal__icon{
  flex-shrink:0;width:18px;height:18px;border-radius:50%;
  background:rgba(34,197,94,.2);color:#22c55e;
  display:flex;align-items:center;justify-content:center;
  font-size:.65rem;font-weight:800;
}
.plan-modal__section.is-negative h3{color:#f87171}
.plan-modal__section.is-negative .plan-modal__icon{background:rgba(248,113,113,.15);color:#f87171}
.plan-modal__result{
  margin:1rem 0 0;padding:1rem 1.1rem;
  border-left:3px solid var(--accent);
  background:rgba(242,201,76,.08);
  border-radius:0 12px 12px 0;
  font-size:.9rem;color:#e8ebe9;font-style:italic;line-height:1.5;
}
.plan-modal__cta{display:block;text-align:center;margin-top:1.25rem;width:100%}

.final-cta{background:#0f1a14;color:#fff;text-align:center}
.final-cta p{color:#d7dddb;margin:.8rem 0 1.7rem}

@media (max-width:900px){
  .pricing__grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .pricing-card--featured{transform:none}
}
@media (max-width:850px){
  .problem__grid,.result-cards,.steps{grid-template-columns:1fr}
  .btn-outline{margin:.8rem 0 0 0;display:inline-block}
  .access-included__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  .access-included__grid{grid-template-columns:1fr}
  .testimonials-carousel__btn{width:38px;height:38px}
  .testimonials-carousel__glyph{font-size:2.35rem}
}
@media (max-height:700px){
  .hero h1{font-size:clamp(1.55rem,5vw,3.2rem)}
  .video-wrap{width:min(100%,calc(62vh * 16 / 9),var(--video-max-w-cap))}
  .btn-cta-hero{max-width:min(340px,72%)}
}
@media (max-width:480px){
  .hero p{font-size:.84rem}
  .video-wrap{width:min(100%,calc(56vh * 16 / 9),100vw)}
  .btn-cta-hero{max-width:min(300px,78%);font-size:.8rem;padding:.75rem 1.2rem}
}
