/* Estilos compartidos de /sistema, /consulta, /gracias y /campanas.
   Mismos colores, tipografía y componentes que el home (index.html). */
:root{
  --bg:#0a0a0c;
  --surface:#141418;
  --surface-2:#1b1b21;
  --surface-3:#212127;
  --border:#2c2c33;
  --border-soft:#232329;
  --text:#f4f2ee;
  --text-muted:#a6a3a0;
  --text-faint:#726f6d;
  --accent:#ff6a1f;
  --accent-hi:#ff8a4c;
  --accent-dim:#3a2417;
  --white:#ffffff;
  --ok:#3fae6a;
  --wa:#25D366;
  --stripe-a:#ff6a1f;
  --stripe-b:#0a0a0c;
  --radius-s:4px;
  --radius-m:10px;
  --maxw:1120px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{margin:0;text-wrap:balance;}
p{margin:0;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:24px;}
.wrap-narrow{max-width:760px;}
@media (max-width:640px){ .wrap{padding-inline:16px;} }

.stripes{
  height:10px;
  background:repeating-linear-gradient(-45deg,var(--stripe-a) 0 14px,var(--stripe-b) 14px 28px);
  background-size:40px 40px;
}

/* ---------- NAV ---------- */
.nav{
  position:sticky;
  top:env(safe-area-inset-top,0px);
  z-index:40;
  background:rgba(10,10,12,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px;gap:16px;}
.brand{display:flex;align-items:center;gap:9px;font-family:'Archivo',sans-serif;font-weight:800;font-size:16px;letter-spacing:.02em;white-space:nowrap;}
.brand-mark{width:26px;height:26px;border-radius:6px;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#0a0a0c;font-family:'Archivo Black';font-size:14px;flex:none;}
.brand small{display:block;font-family:'IBM Plex Sans';font-weight:500;font-size:10px;color:var(--text-muted);letter-spacing:.06em;}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:var(--radius-s);
  font-weight:700;font-size:13.5px;letter-spacing:.01em;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .1s ease,background .15s ease,border-color .15s ease;
}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--accent);color:#150a04;}
.btn-primary:hover{background:var(--accent-hi);}
.btn-ghost{border-color:var(--border);color:var(--text);}
.btn-ghost:hover{border-color:var(--accent);}
.btn-wa{background:var(--wa);color:#06250f;}
.btn-wa:hover{background:#3ee07c;}
.btn-block{width:100%;}
.btn-lg{padding:15px 26px;font-size:15px;min-height:52px;}
.btn svg{flex:none;}
@media (max-width:480px){
  .btn-lg{white-space:normal;text-align:center;}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding-block:48px 56px;
  background:
    linear-gradient(180deg,rgba(10,10,12,0) 0%,var(--bg) 92%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 46px),
    radial-gradient(circle at 18% 8%,rgba(255,106,31,.16),transparent 55%),
    var(--bg);
  overflow:hidden;
}
.hero-inner{max-width:760px;}
.hero-center{text-align:center;margin-inline:auto;}
.hero-center .hero-sub{margin-inline:auto;}
.hero-center .hero-ctas,.hero-center .hero-trust{justify-content:center;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Archivo',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent-hi);
  background:var(--accent-dim);
  border:1px solid #4a2c17;
  padding:6px 12px;border-radius:100px;
  margin-bottom:18px;
  text-align:left;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}
.hero h1{
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(29px,5.2vw,50px);
  line-height:1.08;
  letter-spacing:-.01em;
  margin-bottom:18px;
}
.hero h1 em{color:var(--accent);font-style:normal;}
.hero-sub{font-size:17px;color:var(--text-muted);max-width:56ch;margin-bottom:24px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;}
@media (max-width:560px){ .hero-ctas .btn{width:100%;} }
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12.5px;color:var(--text-faint);font-weight:600;}
.hero-trust span{display:flex;align-items:center;gap:7px;}
.hero-trust svg{flex:none;color:var(--ok);}

.price-tag{
  display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  margin-bottom:24px;padding:12px 18px;
  background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-m);
  box-shadow:0 20px 44px -24px rgba(255,106,31,.5);
}
.price-tag b{font-family:'Archivo Black';font-size:38px;line-height:1;color:var(--white);}
.price-tag span{font-size:13.5px;color:var(--text-muted);font-weight:600;}

/* ---------- VIDEO ---------- */
.vsl-card{
  position:relative;
  border:1px solid var(--border);
  border-radius:var(--radius-m);
  background:var(--surface);
  overflow:hidden;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.6);
  max-width:340px;margin-inline:auto;
}
.vsl-frame{position:relative;aspect-ratio:9/16;background:#000;overflow:hidden;}
.vsl-video{width:100%;height:100%;object-fit:cover;display:block;}
.vsl-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:66px;height:66px;border-radius:50%;
  background:var(--accent);color:#150a04;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 10px rgba(255,106,31,.14),0 12px 30px -8px rgba(255,106,31,.55);
  border:none;cursor:pointer;
  animation:vslPulse 2s ease-in-out infinite;
  z-index:2;
}
@keyframes vslPulse{
  0%,100%{box-shadow:0 0 0 10px rgba(255,106,31,.14),0 12px 30px -8px rgba(255,106,31,.55);}
  50%{box-shadow:0 0 0 16px rgba(255,106,31,.08),0 12px 30px -8px rgba(255,106,31,.65);}
}
.vsl-caption{
  position:absolute;left:0;right:0;top:0;
  display:flex;align-items:center;justify-content:center;
  z-index:2;padding:10px;cursor:pointer;
}
.vsl-tag{
  background:var(--accent);border:none;
  padding:9px 16px;border-radius:0 0 10px 10px;font-size:12.5px;font-weight:700;color:#150a04;
  display:flex;align-items:center;gap:7px;
  box-shadow:0 6px 16px -4px rgba(0,0,0,.5);
  animation:vslBlink 1.4s ease-in-out infinite;
  text-align:center;
}
@keyframes vslBlink{ 0%,100%{opacity:1;} 50%{opacity:.72;} }
.vsl-footer{
  padding:14px 18px;display:flex;align-items:center;gap:10px;
  border-top:1px solid var(--border-soft);
  font-size:12.5px;color:var(--text-faint);
}
.vsl-footer svg{flex:none;}
.vsl-footer b{color:var(--text);font-weight:700;}

/* ---------- VIDEO TESTIMONIOS ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media (max-width:860px){ .testi-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .testi-grid{grid-template-columns:1fr;max-width:280px;margin-inline:auto;} }
.testi-card{position:relative;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);overflow:hidden;box-shadow:0 16px 40px -18px rgba(0,0,0,.55);}
.testi-frame{position:relative;aspect-ratio:9/16;background:#000;overflow:hidden;}
.testi-video{width:100%;height:100%;object-fit:cover;display:block;}
.testi-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:var(--accent);color:#150a04;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(255,106,31,.14),0 10px 26px -8px rgba(255,106,31,.55);border:none;cursor:pointer;z-index:2;}
.testi-play svg{margin-left:2px;}

/* ---------- SECTIONS ---------- */
.section{padding-block:56px;}
.section-alt{background:var(--surface);}
.sec-head{max-width:640px;margin-bottom:30px;}
.sec-head.center{text-align:center;margin-inline:auto;}
.sec-eyebrow{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:10px;display:block;
}
.sec-head h2{font-family:'Archivo Black',sans-serif;font-size:clamp(23px,3.4vw,34px);line-height:1.15;margin-bottom:12px;}
.sec-head p{color:var(--text-muted);font-size:15.5px;}
.sec-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.sec-cta.center{justify-content:center;}
@media (max-width:560px){ .sec-cta .btn{width:100%;} }

/* ---------- FEATURE CARDS ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:900px){ .cards{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .cards{grid-template-columns:1fr;} }
.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);
  padding:20px;display:flex;gap:14px;align-items:flex-start;
}
.section-alt .card{background:var(--surface-2);}
.card-ico{
  flex:none;width:42px;height:42px;border-radius:9px;
  background:var(--accent-dim);border:1px solid #4a2c17;color:var(--accent-hi);
  display:flex;align-items:center;justify-content:center;
}
.card h3{font-family:'Archivo';font-weight:800;font-size:15px;line-height:1.3;margin-bottom:5px;}
.card p{font-size:13.5px;color:var(--text-muted);}

.cards-2{grid-template-columns:1fr 1fr;}
@media (max-width:700px){ .cards-2{grid-template-columns:1fr;} }
.card-big{flex-direction:column;padding:24px;}
.card-big h3{font-family:'Archivo Black';font-weight:400;font-size:19px;margin-bottom:8px;}
.card-big p{font-size:14.5px;}
.card-big .offer-list{margin-top:14px;}

/* ---------- CHECK LIST ---------- */
.offer-list{display:flex;flex-direction:column;gap:11px;}
.offer-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text);}
.offer-list svg{flex:none;margin-top:3px;color:var(--ok);}
.note{
  font-size:13.5px;color:var(--accent-hi);background:var(--accent-dim);
  border:1px solid #4a2c17;border-radius:var(--radius-s);padding:12px 14px;font-weight:600;
}

/* ---------- COMPARE (valor por separado) ---------- */
.compare{
  max-width:640px;
  background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;
}
.compare-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:16px 22px;border-bottom:1px dashed var(--border);font-size:14.5px;
}
.compare-row span{color:var(--text);font-weight:500;}
.compare-row b{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:13.5px;color:var(--text-muted);text-align:right;white-space:nowrap;}
.compare-total{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:20px 22px;background:var(--accent-dim);
}
.compare-total span{font-family:'Archivo';font-weight:800;font-size:15px;color:var(--accent-hi);}
.compare-total b{font-family:'Archivo Black';font-size:30px;color:var(--white);line-height:1;}
.compare-total b small{font-family:'IBM Plex Sans';font-weight:600;font-size:13px;color:var(--text-muted);margin-left:6px;}
@media (max-width:480px){
  .compare-row{padding:14px 16px;flex-direction:column;gap:2px;}
  .compare-row b{text-align:left;}
  .compare-total{padding:18px 16px;}
}

/* ---------- STEPS ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;}
.steps-3{grid-template-columns:repeat(3,1fr);}
.step{padding:26px 22px;border-right:1px solid var(--border);position:relative;background:var(--surface);}
.section-alt .step{background:var(--surface-2);}
.steps .step:last-child{border-right:none;}
@media (max-width:900px){
  .steps{grid-template-columns:1fr 1fr;}
  .step{border-bottom:1px solid var(--border);}
  .step:nth-child(2n){border-right:none;}
  .steps .step:nth-last-child(-n+2){border-bottom:none;}
  .steps-3{grid-template-columns:1fr;}
  .steps-3 .step{border-right:none;border-bottom:1px solid var(--border);}
  .steps-3 .step:last-child{border-bottom:none;}
}
@media (max-width:560px){
  .steps{grid-template-columns:1fr;}
  .steps .step{border-right:none;border-bottom:1px solid var(--border);}
  .steps .step:nth-last-child(2){border-bottom:1px solid var(--border);}
  .steps .step:last-child{border-bottom:none;}
}
.step-num{font-family:'Archivo Black';font-size:26px;color:var(--accent);margin-bottom:14px;}
.step-num small{font-family:'Archivo';font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;display:block;color:var(--text-faint);margin-bottom:2px;}
.step h3{font-family:'Archivo';font-weight:800;font-size:15px;margin-bottom:8px;}
.step p{font-size:13.5px;color:var(--text-muted);}

/* ---------- CHIPS ---------- */
.chips{display:flex;flex-wrap:wrap;gap:9px;}
.chip{
  font-size:13px;font-weight:700;color:var(--text);
  background:var(--surface);border:1px solid var(--border);padding:8px 14px;border-radius:100px;
}
.section-alt .chip{background:var(--surface-2);}
.chips-line{margin-top:22px;font-size:15.5px;color:var(--text-muted);max-width:60ch;}

/* ---------- REVIEWS ---------- */
.reviews-summary{display:flex;align-items:center;gap:10px 14px;margin-bottom:24px;flex-wrap:wrap;}
.reviews-summary .g-logo{width:28px;height:28px;}
.reviews-score{font-family:'Archivo Black';font-size:32px;line-height:1;color:var(--text);}
.reviews-stars{color:var(--accent);font-size:18px;letter-spacing:2px;}
.reviews-count{font-size:13px;color:var(--text-muted);}
.reviews-count a{color:var(--accent-hi);text-decoration:underline;}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:860px){ .reviews{grid-template-columns:1fr;} }
.review-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;}
.section-alt .review-card{background:var(--surface-2);}
.review-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.review-avatar{
  flex:none;width:40px;height:40px;border-radius:50%;
  background:var(--accent-dim);border:1px solid #4a2c17;color:var(--accent-hi);
  display:flex;align-items:center;justify-content:center;
  font-family:'Archivo Black';font-size:16px;
}
.review-top > div{flex:1;min-width:0;}
.review-top .g-logo{flex:none;width:20px;height:20px;}
.review-who{font-size:13.5px;font-weight:700;color:var(--text);}
.review-meta{font-size:11.5px;color:var(--text-faint);}
.review-card .review-stars{display:block;margin-bottom:8px;font-size:15px;}
.review-card p{font-size:13.5px;color:var(--text-muted);}

/* ---------- ABOUT (corto) ---------- */
.about-mini{display:flex;gap:22px;align-items:center;}
.about-mini img{flex:none;width:112px;height:112px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);}
.about-mini h2{font-family:'Archivo Black';font-size:clamp(20px,3vw,26px);margin-bottom:8px;}
.about-mini p{color:var(--text-muted);font-size:15px;max-width:58ch;}
.about-social{
  display:inline-flex;align-items:center;gap:9px;margin-top:16px;
  border:1px solid var(--border);padding:10px 16px;border-radius:100px;font-size:13px;font-weight:600;color:var(--text-muted);
}
.about-social:hover{border-color:var(--accent);color:var(--text);}
@media (max-width:560px){
  .about-mini{flex-direction:column;align-items:flex-start;gap:16px;}
  .about-mini img{width:96px;height:96px;}
}

/* ---------- CONDITIONS ---------- */
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:860px){ .terms{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .terms{grid-template-columns:1fr;} }
.term-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;}
.section-alt .term-card{background:var(--surface-2);}
.term-card h4{font-family:'Archivo';font-weight:800;font-size:14px;margin-bottom:8px;color:var(--accent-hi);}
.term-card p{font-size:13.5px;color:var(--text-muted);}
.term-card b{color:var(--text);}

/* ---------- FAQ ---------- */
.faq{border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;background:var(--surface);}
.section-alt .faq{background:var(--surface-2);}
.faq-item{border-bottom:1px solid var(--border-soft);}
.faq-item:last-child{border-bottom:none;}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 22px;cursor:pointer;font-weight:700;font-size:14.5px;list-style:none;
}
.faq-q .plus{flex:none;width:22px;height:22px;border-radius:5px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:16px;transition:transform .15s;}
.faq-item[open] .plus{transform:rotate(45deg);background:var(--accent-dim);}
.faq-a{padding:0 22px 18px;font-size:13.5px;color:var(--text-muted);max-width:70ch;}
.faq-q::-webkit-details-marker{display:none;}
@media (max-width:480px){ .faq-q{padding:16px;} .faq-a{padding:0 16px 16px;} }

/* ---------- FINAL CTA ---------- */
.final{
  text-align:center;padding-block:64px;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,106,31,.18),transparent 60%),
    var(--bg);
  border-top:1px solid var(--border-soft);
}
.final h2{font-family:'Archivo Black';font-size:clamp(24px,4vw,36px);max-width:620px;margin:0 auto 14px;}
.final .tagline{color:var(--text-muted);font-size:15.5px;max-width:520px;margin:0 auto 26px;}
.final .sec-cta{margin-top:0;}
.text-link{color:var(--accent-hi);font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:3px;}
.text-link:hover{color:var(--accent);}
.final-alt{margin-top:18px;}
.final-small{margin-top:30px;font-size:13px;color:var(--text-faint);}
.final-small a{color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;}
.final-small a:hover{color:var(--accent-hi);}

/* ---------- FOOTER ---------- */
footer{padding-block:28px;border-top:1px solid var(--border-soft);}
.foot-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--text-faint);}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 18px;}
.foot-links a:hover{color:var(--text);}

/* ---------- STICKY MOBILE CTA ---------- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:rgba(10,10,12,.92);backdrop-filter:blur(10px);
  border-top:1px solid var(--border-soft);
  display:none;
}
.sticky-cta .btn{min-height:50px;font-size:14.5px;}
@media (max-width:760px){
  .sticky-cta{display:block;}
  body.has-sticky{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));}
}

/* ---------- CONSULTA ---------- */
.schedule-hours{
  display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;
  color:var(--accent-hi);background:var(--accent-dim);border:1px solid #4a2c17;
  border-radius:100px;padding:7px 14px;text-align:left;
}
.schedule-hours svg{flex:none;}
.bullets{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:0 auto 24px;text-align:left;}
.bullets li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--text);}
.bullets svg{flex:none;margin-top:4px;color:var(--ok);}
.cal-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);
  padding:12px;max-width:820px;margin:0 auto;
}
.cal-embed{min-height:120px;}
.cal-embed iframe{width:100%;border:none;display:block;}
.cal-fallback{padding:34px 18px;text-align:center;}
.cal-fallback p{color:var(--text-muted);font-size:14.5px;max-width:44ch;margin:0 auto 18px;}
.cal-embed:has(iframe) .cal-fallback{display:none;}
.direct{text-align:center;margin-top:30px;}
.direct p{color:var(--text-muted);font-size:15px;margin-bottom:14px;}

/* ---------- GRACIAS ---------- */
.thanks{min-height:calc(100vh - 200px);display:flex;align-items:center;padding-block:48px;text-align:center;}
.thanks-inner{max-width:520px;margin-inline:auto;}
.check-big{
  width:92px;height:92px;border-radius:50%;margin:0 auto 24px;
  background:rgba(63,174,106,.14);border:2px solid var(--ok);color:var(--ok);
  display:flex;align-items:center;justify-content:center;
  animation:pop .45s cubic-bezier(.2,1.4,.4,1) both;
}
@keyframes pop{ from{transform:scale(.6);opacity:0;} to{transform:scale(1);opacity:1;} }
.thanks h1{font-family:'Archivo Black';font-size:clamp(26px,6vw,38px);line-height:1.12;margin-bottom:14px;}
.thanks p{color:var(--text-muted);font-size:16.5px;margin-bottom:22px;}
.thanks .btn{min-height:58px;font-size:16px;}
.thanks-note{font-size:13px !important;color:var(--text-faint) !important;margin:18px 0 0 !important;}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
}
