@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --forest: #0C1B5B;
  --forest-deep: #081340;
  --coral: #C8D400;
  --coral-deep: #A0AA00;
  --cream: #FFFFFF;
  --sand: #F6F8FF;
  --ink: #0C1B5B;
  --slate: #5A6A9A;
  --line: #D0D8F0;
  --mint: #F0F3FF;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; background:var(--cream); color:var(--ink); line-height:1.5; -webkit-font-smoothing:antialiased;}
h1,h2,h3,.logo{font-family:'Sora',sans-serif; font-weight:700; letter-spacing:-0.02em;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1160px; margin:0 auto; padding:0 24px;}
section{padding:88px 0;}
@media (max-width:768px){ section{padding:56px 0;} }

.urgency-bar{background:var(--forest); color:var(--coral); text-align:center; font-size:13px; font-weight:600; padding:10px 16px;}

nav{position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
nav .wrap{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; gap:20px; flex-wrap:wrap;}
.logo{font-size:22px; color:var(--forest);}
.logo span{color:var(--coral-deep);}
.nav-links{display:flex; gap:28px; align-items:center;}
.nav-links a{font-size:14.5px; font-weight:600; color:var(--slate); transition:color .15s ease;}
.nav-links a:hover, .nav-links a.active{color:var(--forest);}
.nav-cta{background:var(--forest); color:#fff; padding:12px 22px; border-radius:100px; font-weight:600; font-size:13.5px; white-space:nowrap;}
@media (max-width:760px){ .nav-links{display:none;} }

.page-header{padding:56px 0 40px; text-align:center;}
.page-header .eyebrow{margin-inline:auto;}
.page-header h1{font-size:clamp(30px,4.4vw,46px); color:var(--forest); max-width:720px; margin:18px auto 0;}
.page-header p{color:var(--slate); font-size:17px; max-width:560px; margin:16px auto 0;}

.eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--forest); background:#EEF2CC; padding:8px 16px; border-radius:100px;}
.eyebrow::before{content:'●'; font-size:8px;}

.btn-coral{background:var(--coral); color:var(--forest-deep); padding:17px 30px; border-radius:100px; font-weight:700; font-size:15.5px; display:inline-block; box-shadow:0 12px 28px rgba(200,212,0,0.35); transition:transform .15s ease;}
.btn-coral:hover{transform:translateY(-2px);}
.btn-pulse{animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{box-shadow:0 12px 28px rgba(200,212,0,0.35);}50%{box-shadow:0 12px 40px rgba(200,212,0,0.6);}}
.btn-line{border:1.5px solid var(--forest); color:var(--forest); padding:17px 30px; border-radius:100px; font-weight:600; font-size:15.5px; display:inline-block;}

/* HERO (index only) */
.hero{padding-top:64px;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
.hero h1{font-size:clamp(36px,5.2vw,58px); line-height:1.05; color:var(--forest);}
.hero h1 .accent{color:var(--coral-deep);}
.hero p.sub{font-size:18px; color:var(--slate); max-width:480px; margin-top:22px;}
.hero-actions{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.hero-trust{display:flex; gap:22px; margin-top:34px; flex-wrap:wrap;}
.hero-trust div{font-size:13px; color:var(--slate); display:flex; align-items:center; gap:6px;}
.hero-trust div::before{content:'✓'; color:var(--forest); font-weight:800;}
.hero-visual{position:relative; background:var(--mint); border-radius:28px; padding:36px; aspect-ratio:1/1.05; display:flex; flex-direction:column; justify-content:flex-end;}
.hero-visual .badge-price{position:absolute; top:28px; left:28px; background:#fff; border-radius:16px; padding:16px 20px; box-shadow:0 14px 30px rgba(11,79,71,0.14);}
.hero-visual .badge-price .label{font-size:11px; color:var(--slate); font-weight:600; text-transform:uppercase; letter-spacing:0.04em;}
.hero-visual .badge-price .amount{font-size:26px; font-weight:800; color:var(--forest); font-family:'Sora',sans-serif;}
.hero-visual .stack{background:#fff; border-radius:20px; padding:22px; box-shadow:0 14px 30px rgba(11,79,71,0.14);}
.hero-visual .stack .row{display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px;}
.hero-visual .stack .row:last-child{border-bottom:none;}
.hero-visual .stack .row .tag{font-size:11px; font-weight:700; padding:4px 10px; border-radius:100px;}
.tag.on{background:var(--mint); color:var(--forest);}
.tag.off{background:#F3E9E9; color:#B5504A;}

/* MODULE TEASER CARDS (index) */
.module-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:820px){ .module-grid{grid-template-columns:1fr;} }
.module-card{background:var(--sand); border-radius:22px; padding:34px 30px; transition:transform .15s ease, box-shadow .15s ease;}
.module-card:hover{transform:translateY(-4px); box-shadow:0 18px 34px rgba(12,27,91,0.1);}
.module-card .n{font-family:'Sora',sans-serif; font-size:13px; font-weight:800; color:var(--coral-deep); margin-bottom:14px;}
.module-card h3{font-size:19px; color:var(--forest); margin-bottom:10px;}
.module-card p{font-size:14.5px; color:var(--slate); margin-bottom:18px;}
.module-card .go{font-size:13.5px; font-weight:700; color:var(--forest);}

/* COMPARACION */
.compare-head{text-align:center; max-width:600px; margin:0 auto 48px;}
.compare-head h2{font-size:clamp(26px,3.4vw,36px); color:var(--forest);}
.compare-head p{color:var(--slate); margin-top:12px; font-size:16px;}
.compare-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media (max-width:760px){ .compare-grid{grid-template-columns:1fr;} }
.compare-card{border-radius:24px; padding:36px 32px; position:relative;}
.compare-card.km{background:var(--forest); color:#fff;}
.compare-card.trad{background:var(--sand); color:var(--ink);}
.compare-card .ribbon{position:absolute; top:-14px; right:28px; background:var(--coral); color:var(--forest-deep); font-size:12px; font-weight:700; padding:7px 16px; border-radius:100px;}
.compare-card h3{font-size:20px; margin-bottom:6px;}
.compare-card .price{font-family:'Sora',sans-serif; font-size:34px; font-weight:800; margin:14px 0 20px;}
.compare-card.trad .price{color:var(--slate); text-decoration:line-through; text-decoration-color:#C7B8B8;}
.compare-card ul{list-style:none;}
.compare-card li{padding:9px 0; font-size:14.5px; display:flex; gap:10px;}
.compare-card.km li::before{content:'✓'; font-weight:800; color:var(--mint);}
.compare-card.trad li::before{content:'—'; color:var(--slate);}

/* PASOS */
.steps-wrap{background:var(--sand); border-radius:28px; padding:56px;}
@media (max-width:768px){ .steps-wrap{padding:32px 24px;} }
.steps-head{max-width:560px; margin-bottom:44px;}
.steps-head .eyebrow{background:#fff;}
.steps-head h2{font-size:clamp(24px,3.2vw,32px); color:var(--forest);}
.steps-row{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:820px){ .steps-row{grid-template-columns:1fr;} }
.step{background:#fff; border-radius:20px; padding:28px 26px;}
.step .n{font-family:'Sora',sans-serif; font-size:32px; font-weight:800; color:var(--mint); -webkit-text-stroke:1.5px var(--forest); margin-bottom:16px;}
.step h3{font-size:17px; color:var(--forest); margin-bottom:10px;}
.step p{font-size:14px; color:var(--slate);}

/* SPEED BAND */
.speed-band{background:var(--forest); border-radius:28px; padding:48px 56px; color:#fff; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap;}
.speed-band h3{font-size:22px; margin-bottom:8px;}
.speed-band p{color:#9AA8D6; font-size:15px; max-width:420px;}
.speed-cta{background:var(--coral); color:var(--forest-deep); padding:16px 28px; border-radius:100px; font-weight:700; font-size:15px; white-space:nowrap;}

/* TESTIMONIO */
.testimonial-card{background:var(--forest); border-radius:28px; padding:48px 56px; text-align:center; margin-bottom:24px;}
@media (max-width:768px){ .testimonial-card{padding:32px 26px;} }
.stars{color:var(--coral); font-size:20px; letter-spacing:4px; margin-bottom:18px;}
.testimonial-card .quote{color:#fff; font-size:19px; line-height:1.55; max-width:680px; margin:0 auto 18px; font-weight:500;}
.testimonial-card .author{color:#9AA8D6; font-size:13px; font-weight:600;}
.commitment-band{display:flex; gap:20px; align-items:flex-start; background:var(--sand); border-radius:20px; padding:28px 32px;}
.commitment-icon{background:var(--coral); color:var(--forest-deep); width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; flex-shrink:0;}
.commitment-band strong{color:var(--forest); font-size:15.5px; display:block; margin-bottom:6px;}
.commitment-band p{color:var(--slate); font-size:14.5px;}

/* RESULTADOS */
.ba-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:820px){ .ba-grid{grid-template-columns:1fr;} }
.ba-card{border-radius:20px; overflow:hidden; border:1px solid var(--line);}
.ba-compare{display:flex; height:220px;}
.ba-side{flex:1; display:flex; align-items:flex-end; padding:14px;}
.ba-side.before{background:linear-gradient(160deg, #E2E7F5, #CBD3EC);}
.ba-side.after{background:linear-gradient(160deg, var(--mint), #D7DEF7);}
.ba-tag{background:rgba(12,27,91,0.85); color:#fff; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; padding:5px 10px; border-radius:100px;}
.ba-cap{padding:14px 16px; font-size:12.5px; color:var(--slate); background:#fff;}

/* PROOF */
.proof-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
@media (max-width:720px){ .proof-grid{grid-template-columns:1fr 1fr;} }
.proof-grid .big{font-family:'Sora',sans-serif; font-size:32px; font-weight:800; color:var(--forest);}
.proof-grid .cap{font-size:13px; color:var(--slate); margin-top:6px;}

/* FAQ */
.faq-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media (max-width:760px){ .faq-grid{grid-template-columns:1fr;} }
.faq-item{background:var(--sand); border-radius:18px; padding:26px 28px;}
.faq-item h3{font-size:16px; color:var(--forest); margin-bottom:10px; font-weight:600;}
.faq-item p{font-size:14px; color:var(--slate);}

/* FORM / AGENDAR */
.final-cta{background:var(--mint); border-radius:28px; padding:56px; display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;}
@media (max-width:820px){ .final-cta{grid-template-columns:1fr; padding:36px 26px;} }
.final-cta h2{font-size:clamp(24px,3.2vw,32px); color:var(--forest); margin-bottom:14px;}
.final-cta p{color:var(--forest); opacity:0.75; font-size:15.5px;}
form{background:#fff; border-radius:20px; padding:28px; display:flex; flex-direction:column; gap:14px;}
label{font-size:12px; color:var(--slate); font-weight:600;}
input, select{padding:13px 14px; border:1px solid var(--line); border-radius:12px; font-size:14.5px; font-family:'Inter',sans-serif; background:var(--sand);}
.submit-btn{background:var(--coral); color:var(--forest-deep); padding:15px; border:none; border-radius:100px; font-weight:700; font-size:15px; cursor:pointer; margin-top:4px;}

footer{padding:40px 0; border-top:1px solid var(--line); text-align:center;}
footer .cap{font-size:13px; color:var(--slate);}
footer .foot-links{display:flex; gap:22px; justify-content:center; margin-bottom:14px; font-size:13.5px; font-weight:600; color:var(--slate);}

.wa-float{position:fixed; bottom:24px; right:24px; background:var(--coral); color:var(--forest-deep); width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 14px 28px rgba(200,212,0,0.4); z-index:60;}
