/* Inglés con Mayank — diseño mobile-first. Sin frameworks. */
:root {
  --navy:#0A1B3D; --navy2:#16295B; --navy3:#0B2248;
  --gold:#C9A227; --gold2:#E6C65A; --goldSoft:#F4E9C8;
  --cream:#FAF6E9; --paper:#FFFFFF; --bg:#F1F4FA;
  --ink:#20263A; --muted:#5B6379;
  --cta:#159A4C; --ctaDark:#0F7A38; --ctaSoft:#E3F4E9;
  --teal:#0F766E; --tealDark:#0B5B55;
  --danger:#B3261E;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --radius:.9rem;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--sans); background:var(--bg); color:var(--ink); font-size:1rem; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1, h2, h3 { font-family:var(--serif); font-weight:600; letter-spacing:-0.01em; line-height:1.22; }
h2 { font-size:clamp(1.45rem,3.4vw,2rem); }
img { max-width:100%; height:auto; }
section[id], footer[id] { scroll-margin-top:12rem; }
p { margin:.6rem 0; }

/* Botones: UN solo color de acento (verde CTA) */
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; background:var(--cta); color:#fff; font-weight:700; padding:.72rem 1.5rem; border-radius:999px; text-decoration:none; border:0; cursor:pointer; font-size:1rem; font-family:var(--sans); line-height:1.3; }
.btn:hover { background:var(--ctaDark); }
.btn.ghost { background:transparent; color:var(--navy); border:2px solid var(--navy); }
.btn.ghost:hover { background:var(--navy); color:#fff; }
.btn.sm { font-size:.88rem; padding:.5rem 1rem; min-height:44px; }
.btn.big { font-size:1.05rem; padding:.85rem 1.7rem; }
.btn.light { background:#fff; color:var(--navy); }
.btn.light:hover { background:var(--goldSoft); }
.ctaRow { display:flex; gap:.7rem; flex-wrap:wrap; margin:1.1rem 0 .2rem; justify-content:center; }
.secure { font-size:.82rem; color:var(--muted); margin:.5rem 0 0; text-align:center; }
.trialLink { display:inline-block; margin-top:.4rem; font-size:.9rem; font-weight:600; color:var(--tealDark); }
.micro { font-size:.85rem; color:var(--muted); }
.muted { color:var(--muted); font-size:.9rem; }

/* Barra de anuncio */
.announce { background:var(--navy); color:#fff; text-align:center; font-size:.88rem; font-weight:600; padding:.5rem 2.2rem .5rem 1rem; position:relative; }
.announce a { color:var(--gold2); font-weight:800; }
.annClose { position:absolute; right:.4rem; top:50%; transform:translateY(-50%); background:none; border:0; color:#fff; font-size:1.1rem; cursor:pointer; min-width:44px; min-height:44px; }

/* Header */
.topbar { position:sticky; top:0; z-index:50; background:var(--navy); color:#fff; border-bottom:3px solid var(--gold); }
.topbar-main { display:flex; align-items:center; justify-content:center; gap:.6rem; padding:.55rem .9rem; }
.topbar-main.center { justify-content:center; }
.topbar .brand { display:flex; align-items:center; gap:.55rem; color:#fff; text-decoration:none; font-family:var(--serif); font-weight:600; font-size:1.12rem; letter-spacing:.03em; }
.topbar .brand img { width:2.2rem; height:2.2rem; border-radius:50%; object-fit:cover; border:2px solid var(--gold); }
.topbar .brand em { color:var(--gold2); font-style:italic; font-weight:500; }
.topbar-side { display:flex; align-items:center; gap:.6rem; }
.studentLink { color:var(--gold2); font-size:.78rem; font-weight:600; text-decoration:underline; white-space:nowrap; }
#mainNav { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; padding:.1rem .9rem .65rem; }
#mainNav a { text-align:center; color:#E8EDF9; text-decoration:none; font-size:.84rem; font-weight:600; background:rgba(255,255,255,.08); border:1px solid rgba(201,162,39,.45); border-radius:.6rem; padding:.55rem .2rem; min-height:44px; display:flex; align-items:center; justify-content:center; }
#mainNav a:hover { background:var(--gold); color:#1A1405; border-color:var(--gold); }

/* Hero */
.hero { background:linear-gradient(180deg,var(--cream),#FFFDF4); border-bottom:1px solid var(--goldSoft); padding:2.2rem 1.2rem; text-align:center; }
.heroGrid { display:grid; grid-template-columns:1fr; gap:1.2rem; max-width:44rem; margin:0 auto; align-items:center; }
.kicker { display:inline-block; color:#1A1405; background:var(--goldSoft); border:1px solid var(--gold); font-weight:800; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; margin:0 0 .7rem; padding:.35rem 1rem; border-radius:999px; }
.hero h1 { color:var(--navy); font-size:clamp(2rem,5.4vw,3rem); margin:.4rem 0 .8rem; }
.h1acc { color:var(--tealDark); }
.lede { max-width:38rem; margin:0 auto .8rem; font-size:1.06rem; color:#3A4360; }
.heroSub { max-width:36rem; margin:0 auto 1.1rem; font-size:1rem; font-weight:600; color:var(--navy); }
.heroTrust { list-style:none; margin:.9rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:.4rem 1.1rem; justify-content:center; font-weight:700; color:var(--tealDark); font-size:.9rem; }
.heroTrust li { padding-left:1.4rem; position:relative; }
.heroTrust li::before { content:"✓"; position:absolute; left:0; font-weight:800; }
.heroFig { margin:0 auto; width:100%; max-width:30rem; }
.heroFig img, .heroFig iframe { width:100%; border-radius:1rem; box-shadow:0 6px 24px rgba(10,27,61,.25); border:3px solid var(--goldSoft); }
.heroFig img { aspect-ratio:auto; object-fit:contain; background:var(--cream); }
.heroFig iframe { aspect-ratio:16/10; object-fit:cover; }
.heroFig iframe { min-height:280px; }

/* Journey strip */
.journey { background:var(--navy3); color:#fff; padding:1.5rem 1.2rem; border-top:4px solid var(--gold); }
.journey h2 { margin-top:0; color:var(--gold2); font-size:1.3rem; text-align:center; }
.journey ol { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:.7rem; padding-left:1.2rem; margin:0; }
.journey li::marker { color:var(--gold2); font-weight:700; }
.journey .muted { color:#C4CEE8; text-align:center; }

/* Tarjetas y secciones */
main { padding-bottom:3rem; }
.card { background:var(--paper); padding:1.8rem 1.2rem; margin-top:1rem; box-shadow:0 2px 12px rgba(10,27,61,.08); border-top:1px solid #E6EAF3; border-bottom:1px solid #E6EAF3; }
.card > h2:first-child, .card > .eyebrow:first-child { margin-top:0; }
.card h2 { color:var(--navy); }
.eyebrow { color:var(--tealDark); font-weight:800; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 .3rem; }
.card.dark { background:var(--navy); color:#EAF0FC; border-color:var(--navy); }
.card.dark h2, .card.dark h3 { color:var(--gold2); }
.wrap { max-width:62rem; margin:0 auto; }

/* Key message */
.keymsg blockquote { border-left:4px solid var(--gold); margin:1rem 0; padding:.4rem 0 .4rem 1rem; font-size:1.05rem; color:#3A4360; }
.trio { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.8rem; margin:1rem 0; }
.trio > div { background:var(--bg); border-radius:.8rem; padding:1rem; border-top:4px solid var(--cta); }
.trio .antes { color:var(--muted); font-size:.9rem; }
.trio .ahora { font-weight:700; color:var(--navy); }
.closing { text-align:center; font-size:1.1rem; }

/* Trial / pasos */
.steps3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); gap:.8rem; padding-left:1.2rem; }
.steps3 li::marker { color:var(--cta); font-weight:800; }

/* Pilares + ciclo + tabla */
.pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(13rem,1fr)); gap:.8rem; margin:1rem 0; }
.pillars > div { background:#fff; border-radius:.8rem; padding:1.1rem; border:1px solid #E6EAF3; border-top:4px solid var(--gold); color:var(--ink); }
.card.dark .pillars > div { background:#fff; color:var(--ink); }
.card.dark .pillars h3 { color:var(--navy); }
.card.dark .accent { background:var(--cream); color:var(--ink); }
.card.dark .compare td { color:var(--ink); }
.pillars svg { width:2rem; height:2rem; display:block; margin-bottom:.4rem; }
.pillars h3 { margin:.2rem 0 .4rem; color:var(--navy); font-size:1.1rem; }
.cycle { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); gap:.8rem; margin:1rem 0; }
.cycle > div { background:var(--navy2); color:#EAF0FC; border-radius:.8rem; padding:1rem; border-bottom:3px solid var(--gold); }
.cycle span { color:var(--gold2); font-weight:800; font-family:var(--serif); }
.card:not(.dark) .cycle > div { background:var(--navy); }
.compareWrap { overflow-x:auto; margin:1rem 0; border-radius:.8rem; border:1px solid #E6EAF3; }
table.compare { border-collapse:collapse; width:100%; min-width:34rem; background:#fff; font-size:.94rem; }
table.compare th, table.compare td { text-align:left; padding:.7rem .9rem; border-bottom:1px solid #E6EAF3; vertical-align:top; }
table.compare thead th { background:var(--navy); color:#fff; font-family:var(--serif); }
table.compare td:first-child { color:var(--muted); }
.accent { background:var(--cream); border-left:4px solid var(--gold); padding:.7rem 1rem; border-radius:0 .6rem .6rem 0; }
.facts { background:var(--cream); border-left:4px solid var(--gold); padding:.6rem 1rem; border-radius:0 .6rem .6rem 0; }

/* Niveles */
.levels { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.8rem; margin:1rem 0; }
.level { background:var(--bg); border-radius:.8rem; padding:1.1rem; border-top:4px solid var(--teal); position:relative; }
.level.meta { background:#FFF9E8; border-top-color:var(--gold); }
.level .lvl { font-size:.74rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--tealDark); }
.level.meta .lvl { color:#8A5A00; }
.level h3 { margin:.3rem 0 .4rem; color:var(--navy); }
.level ul { margin:.4rem 0 0; padding-left:1.1rem; font-size:.92rem; }
.wins { list-style:none; margin:1rem 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.8rem; }
.wins li { background:#fff; border-radius:.8rem; padding:.9rem 1rem; border-left:4px solid var(--cta); box-shadow:0 2px 8px rgba(10,27,61,.06); }

/* Precios */
.plans { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.9rem; margin:1rem 0; padding-top:.9rem; }
.plan { background:var(--bg); border-radius:.9rem; padding:1.2rem 1.1rem; border-top:5px solid var(--teal); position:relative; display:flex; flex-direction:column; }
.plan.star { background:#FFF9E8; border-top-color:var(--gold); box-shadow:0 6px 24px rgba(201,162,39,.28); }
.plan .tag { position:absolute; top:-.85rem; left:50%; transform:translateX(-50%); background:var(--gold); color:#1A1405; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:.25rem .8rem; border-radius:999px; white-space:nowrap; }
.plan h3 { margin:.2rem 0; color:var(--navy); font-size:1.3rem; }
.plan .price { font-size:1.6rem; font-weight:800; color:var(--navy); margin:.3rem 0 0; font-family:var(--serif); }
.plan .price span { font-size:.95rem; font-weight:600; color:var(--muted); font-family:var(--sans); }
.plan .pace { margin:.2rem 0 .6rem; font-weight:600; color:var(--tealDark); font-size:.9rem; }
.plan ul { list-style:none; margin:.4rem 0 1rem; padding:0; font-size:.92rem; }
.plan ul li { padding-left:1.4rem; position:relative; margin:.32rem 0; }
.plan ul li::before { content:"✓"; position:absolute; left:0; color:var(--cta); font-weight:800; }
.planCtas { display:flex; flex-direction:column; gap:.5rem; margin-top:auto; }
.planCtas .btn { width:100%; }
.urgency { background:var(--navy); color:#fff; border-radius:.9rem; padding:1.1rem 1.2rem; margin:1rem 0; text-align:center; border:2px solid var(--gold); }
.urgency strong { color:var(--gold2); }
.guarantee { background:var(--ctaSoft); border:1px solid var(--cta); border-radius:.9rem; padding:1rem 1.2rem; margin:1rem 0; }

/* Objeciones */
.objections { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.8rem; }
.objections details { background:var(--bg); border-radius:.8rem; padding:.9rem 1rem; border-top:none; }
.objections summary { font-family:var(--sans); font-size:1rem; }

/* Mini-clase + test */
.duo { display:grid; grid-template-columns:repeat(auto-fit,minmax(16rem,1fr)); gap:.9rem; }
.duo > div { background:var(--bg); border-radius:.9rem; padding:1.3rem 1.2rem; border-top:4px solid var(--cta); text-align:center; }
.duo h3 { color:var(--navy); margin-top:0; }

/* Testimonios (placeholders) */
.testis { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.9rem; }
.testi { background:#fff; border:1px dashed #B9C1D6; border-radius:.9rem; padding:1.2rem; text-align:center; color:var(--muted); }
.testi .photoSlot { width:4.5rem; height:4.5rem; border-radius:50%; background:#E6EAF3; margin:0 auto .6rem; display:flex; align-items:center; justify-content:center; font-size:1.6rem; }
.testi blockquote { margin:.4rem 0; font-style:italic; }
.brandquote { text-align:center; font-family:var(--serif); font-size:clamp(1.2rem,3vw,1.6rem); color:var(--navy); margin:1.4rem 0 .4rem; }
.brandquote small { display:block; font-family:var(--sans); font-size:.85rem; color:var(--muted); }

/* About */
.person { display:flex; gap:1.4rem; align-items:flex-start; flex-direction:column; }
.person img { width:min(15rem,70vw); border-radius:.9rem; box-shadow:0 4px 18px rgba(10,27,61,.25); border:3px solid var(--goldSoft); }
.values { display:flex; flex-wrap:wrap; gap:.5rem; padding:0; list-style:none; }
.values li { background:var(--ctaSoft); border:1px solid var(--cta); color:var(--ctaDark); font-size:.85rem; font-weight:600; border-radius:999px; padding:.3rem .8rem; }
.scheduleWrap { overflow-x:auto; margin:1rem 0; }
table.schedule { border-collapse:collapse; width:100%; min-width:30rem; background:#fff; font-size:.92rem; }
table.schedule th, table.schedule td { border:1px solid #D8DEEC; padding:.55rem .7rem; text-align:left; }
table.schedule thead th { background:var(--navy); color:#fff; }

/* Certificaciones */
.split { display:grid; grid-template-columns:1fr; gap:1.1rem; align-items:start; }
.split figure { margin:0; }
.split img { width:100%; border-radius:.9rem; box-shadow:0 4px 18px rgba(10,27,61,.22); border:3px solid var(--goldSoft); aspect-ratio:4/3; object-fit:cover; }
.split figcaption { font-size:.82rem; color:var(--muted); text-align:center; margin-top:.3rem; }
.routes { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.8rem; }
.routes > div { background:#FFF9E8; border-radius:.8rem; padding:1rem; border-left:4px solid var(--gold); }
.routes strong { color:var(--navy); font-family:var(--serif); font-size:1.05rem; }

/* Después / chat / faq */
.card ol.after { display:grid; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); gap:.7rem; padding-left:1.2rem; }
.card ol.after li::marker { color:var(--gold); font-weight:700; }
.chatCard .chatWrap { border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); overflow:hidden; background:#fff; }
.chatCard iframe { display:block; width:100%; height:480px; border:0; }
details { border-top:1px solid #E3E8F3; padding:.65rem 0; }
details summary { cursor:pointer; font-weight:600; color:var(--navy); font-family:var(--serif); font-size:1.05rem; min-height:44px; }
form label { display:block; margin:.6rem 0; font-weight:600; font-size:.9rem; }
form input, form select, form textarea { display:block; width:100%; margin-top:.25rem; padding:.65rem; border:1px solid #C6CEDE; border-radius:.6rem; font-size:1rem; font-family:var(--sans); background:#FBFCFE; min-height:44px; }
.checkline { display:flex; gap:.6rem; align-items:flex-start; font-weight:400; }
.checkline input { width:1.2rem; height:1.2rem; margin-top:.3rem; flex-shrink:0; }
.frow { display:grid; grid-template-columns:1fr; gap:.2rem; }
.formOk { background:var(--ctaSoft); border:1px solid var(--cta); border-radius:.6rem; padding:.7rem 1rem; font-weight:600; color:var(--ctaDark); }

/* CTA final + footer */
.finalCta { background:var(--navy); color:#EAF0FC; text-align:center; padding:2.6rem 1.2rem; border-top:4px solid var(--gold); }
.finalCta h2 { color:var(--gold2); margin-top:0; font-size:clamp(1.5rem,3.6vw,2.1rem); }
.finalCta p { max-width:36rem; margin:0 auto 1rem; }
.finalCta .micro { color:#C4CEE8; }
footer { text-align:center; padding:2rem 1rem 6rem; color:var(--muted); }
footer img { width:4.5rem; border-radius:.7rem; border:2px solid var(--goldSoft); }
footer nav { display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; justify-content:center; margin:.8rem 0; }
footer nav a { color:var(--navy); font-weight:600; font-size:.9rem; }

/* Flotantes */
.waFloat { position:fixed; right:1rem; bottom:1rem; z-index:60; display:flex; align-items:center; justify-content:center; background:var(--cta); color:#fff; text-decoration:none; width:3.5rem; height:3.5rem; border-radius:50%; box-shadow:0 6px 22px rgba(0,0,0,.32); animation:waPulse 2.4s infinite; }
.waFloat:hover { background:var(--ctaDark); }
.waFloat svg { flex-shrink:0; display:block; width:1.75rem; height:1.75rem; }
.modeToggle { display:flex; gap:.6rem; justify-content:center; margin:1rem 0 .2rem; flex-wrap:wrap; }
.modeBtn { border:2px solid var(--navy); background:#fff; color:var(--navy); font-weight:800; font-size:.95rem; padding:.6rem 1.3rem; border-radius:999px; cursor:pointer; font-family:var(--sans); }
.modeBtn.active { background:var(--navy); color:#fff; }
@keyframes waPulse { 0% { box-shadow:0 6px 22px rgba(0,0,0,.32), 0 0 0 0 rgba(21,154,76,.55); } 70% { box-shadow:0 6px 22px rgba(0,0,0,.32), 0 0 0 14px rgba(21,154,76,0); } 100% { box-shadow:0 6px 22px rgba(0,0,0,.32), 0 0 0 0 rgba(21,154,76,0); } }
.stickyBar { position:fixed; left:0; right:0; bottom:0; z-index:59; background:var(--navy); border-top:3px solid var(--gold); padding:.55rem .8rem calc(.55rem + env(safe-area-inset-bottom)); display:none; }
body.decided .stickyBar { display:block; }
.stickyBar .btn { width:100%; }
body.decided { padding-bottom:0; }
body.decided main, body.decided footer { margin-bottom:0; }
footer { margin-bottom:0; }
.cookieBanner { position:fixed; left:.8rem; right:.8rem; bottom:4.6rem; z-index:70; background:#fff; border:2px solid var(--navy); border-radius:.9rem; box-shadow:0 8px 30px rgba(0,0,0,.25); padding:1rem 1.1rem; max-width:26rem; }
.cookieBanner p { font-size:.88rem; margin-top:0; }
.cookieBanner .ctaRow { justify-content:flex-start; margin-bottom:0; }
body.decided .waFloat { bottom:4.6rem; }
.toTop { position:fixed; left:1rem; bottom:1rem; z-index:60; width:3rem; height:3rem; border-radius:50%; border:2px solid var(--navy); background:#fff; color:var(--navy); font-size:1.3rem; font-weight:800; line-height:1; cursor:pointer; box-shadow:0 6px 22px rgba(0,0,0,.25); opacity:0; pointer-events:none; transition:opacity .25s; }
.toTop.show { opacity:1; pointer-events:auto; }
body.decided .toTop { bottom:4.6rem; }
.sectionDiv { border:0; border-top:2px solid var(--goldSoft); margin:1.6rem 0; }
.plansTitle { text-align:center; color:var(--navy); font-size:1.5rem; margin:0 0 .3rem; scroll-margin-top:12rem; }
.plansTitle::after { content:""; display:block; width:4rem; height:4px; background:var(--gold); border-radius:2px; margin:.5rem auto 0; }

a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--gold2); outline-offset:2px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .waFloat { animation:none; }
}

/* Páginas simples */
.pageHero { background:var(--navy); color:#fff; padding:2rem 1.2rem; text-align:center; border-bottom:4px solid var(--gold); }
.pageHero h1 { color:var(--gold2); margin:0; font-size:clamp(1.5rem,3.6vw,2.2rem); }
.legal { max-width:44rem; margin:0 auto; }
.legal h2 { color:var(--navy); font-size:1.25rem; margin-top:1.6rem; }
.center { text-align:center; }

@media (min-width:641px) {
  .hero { text-align:center; }
  .heroGrid { grid-template-columns:1fr; gap:1.4rem; max-width:44rem; margin:0 auto; }
  .hero .ctaRow, .heroTrust { justify-content:center; }
  .heroFig img { aspect-ratio:auto; max-height:34rem; object-fit:contain; }
  .split { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
  .person { flex-direction:row; }
  .frow { grid-template-columns:1fr 1fr; gap:.8rem; }
  .topbar-main { max-width:62rem; margin:0 auto; }
  #mainNav { max-width:62rem; margin:0 auto; }
  section[id] { scroll-margin-top:9rem; }
  .stickyBar { display:none !important; }
  body.decided .waFloat { bottom:1rem; }
  body.decided .toTop { bottom:1rem; }
  .cookieBanner { bottom:1rem; }
  footer { padding-bottom:2rem; }
}
@media (max-width:640px) {
  .hero .ctaRow .btn.big { width:100%; }
  .chatCard iframe { height:420px; }
  footer { padding-bottom:9rem; }
}
