:root {
  --navy:#0A1B3D; --navy2:#16295B; --navy3:#0B2248;
  --gold:#C9A227; --gold2:#E6C65A; --goldSoft:#F4E9C8;
  --cream:#FAF6E9; --paper:#FFFFFF; --bg:#F1F4FA;
  --ink:#20263A; --muted:#67708C;
  --teal:#0F766E; --tealDark:#0B5B55; --tealSoft:#E0F2F0;
  --clay:#B5542C; --claySoft:#FBEADD;
  --wa:#25D366;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--sans); background:var(--bg); color:var(--ink); 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; }

/* Header: brand row + 3x2 grid nav, no hamburger, edge to edge */
.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:.8rem; padding:.6rem 1rem .45rem; }
.topbar .brand { display:flex; align-items:center; gap:.6rem; color:#fff; text-decoration:none; font-family:var(--serif); font-weight:600; font-size:1.3rem; letter-spacing:.04em; white-space:nowrap; }
.topbar .brand img { width:2.3rem; height:2.3rem; border-radius:50%; object-fit:cover; border:2px solid var(--gold); flex-shrink:0; }
.topbar .brand em { color:var(--gold2); font-style:italic; font-weight:500; }
#mainNav { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; padding:.1rem 1rem .7rem; }
#mainNav a { text-align:center; color:#E8EDF9; text-decoration:none; font-size:.86rem; font-weight:600; letter-spacing:.02em; background:rgba(255,255,255,.08); border:1px solid rgba(201,162,39,.45); border-radius:.6rem; padding:.5rem .3rem; }
#mainNav a:hover { background:var(--gold); color:#1A1405; border-color:var(--gold); }

.btn { display:inline-block; background:var(--gold); color:#1A1405; font-weight:700; padding:.55rem 1.15rem; border-radius:999px; text-decoration:none; border:0; cursor:pointer; font-size:1rem; font-family:var(--sans); }
.btn.wa { background:var(--wa); color:#fff; }
.btn.big { font-size:1rem; padding:.72rem 1.4rem; }
.btn.sm { font-size:.85rem; padding:.42rem .95rem; }
.btn.ghost { background:transparent; color:var(--navy); border:2px solid var(--navy); }
.topbar .btn.sm { white-space:nowrap; }

main { margin:0; padding:0 0 3rem; }

/* Hero: centered, no image, cream panel, full bleed */
.hero { background:linear-gradient(180deg,var(--cream),#FFFDF4); border-top:1px solid var(--goldSoft); border-bottom:1px solid var(--goldSoft); padding:2.4rem 1.2rem; text-align:center; }
.heroCopy { max-width:44rem; margin:0 auto; }
.kicker { display:inline-block; color:var(--navy); font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 .6rem; border-bottom:2px solid var(--gold); padding-bottom:.3rem; }
.hero h1 { color:var(--navy); font-size:clamp(1.7rem,4.4vw,2.6rem); margin:.4rem 0 .8rem; }
.lede { max-width:38rem; margin:0 auto 1.1rem; font-size:1.06rem; color:#3A4360; }
.ctaRow { display:flex; gap:.7rem; flex-wrap:wrap; margin:1.1rem 0 .2rem; justify-content:center; }
.trust { margin:.5rem 0 0; font-weight:700; color:var(--tealDark); font-size:.92rem; letter-spacing:.02em; }
.banner { width:100%; border-radius:.9rem; box-shadow:0 4px 18px rgba(10,27,61,.22); border:3px solid var(--goldSoft); aspect-ratio:21/9; object-fit:cover; margin:.4rem 0 1rem; }
/* Price cards */
.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:.2rem .8rem; border-radius:999px; white-space:nowrap; }
.plan h3 { margin:.2rem 0; color:var(--navy); font-size:1.3rem; }
.plan .pace { margin:0; font-weight:600; color:var(--tealDark); font-size:.92rem; }
.plan .dur { margin:.3rem 0 .6rem; font-size:.95rem; }
.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(--teal); font-weight:800; }
.plan.star ul li::before { color:var(--clay); }
.plan .btn { margin-top:auto; text-align:center; }
/* Outcomes */
.card.win { background:linear-gradient(180deg,#FFFDF4,var(--cream)); }
.wins { list-style:none; margin: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 .9rem 2.6rem; position:relative; border-left:4px solid var(--gold); box-shadow:0 2px 8px rgba(10,27,61,.06); }
.wins li::before { content:"★"; position:absolute; left:.9rem; top:.85rem; color:var(--gold); font-weight:800; }

/* Steps: navy with warm tint */
.steps { background:var(--navy3); color:#fff; padding:1.6rem 1.2rem; margin-top:0; border-top:4px solid var(--gold); }
.steps h2 { margin-top:0; color:var(--gold2); }
.steps ol { display:grid; grid-template-columns:repeat(auto-fit,minmax(9rem,1fr)); gap:.7rem; padding-left:1.2rem; }
.steps li::marker { color:var(--gold2); font-weight:700; }
.steps .muted { color:#C4CEE8; }

.card { background:var(--paper); padding:1.7rem 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 { color:var(--navy); margin-top:0; font-size:1.65rem; }
.card.dark { background:var(--navy); color:#EAF0FC; border-color:var(--navy); }
.card.dark h2, .card.dark h3 { color:var(--gold2); }
.progGrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.8rem; margin:1rem 0; }
.prog { background:var(--bg); border-radius:.8rem; padding:1.05rem; border-top:4px solid var(--teal); }
.prog:nth-child(2) { border-top-color:var(--navy2); }
.prog.star { border-top-color:var(--gold); background:#FFF9E8; }
.prog .lvl { font-size:.74rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--tealDark); }
.prog.star .lvl { color:var(--clay); }
.prog h3 { margin:.3rem 0 .4rem; color:var(--navy); }
.prog ul { margin:.4rem 0 0; padding-left:1.1rem; font-size:.92rem; }
.subH { color:var(--navy); margin:1.2rem 0 .5rem; }
.routes { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.8rem; }
.routes > div { background:var(--tealSoft); border-radius:.8rem; padding:1rem; border-left:4px solid var(--teal); }
#programas .routes > div { background:var(--bg); border-left-color:var(--gold); }
.card.dark .routes > div { background:var(--navy2); border-left-color:var(--gold); }
.routes strong { color:var(--navy); font-family:var(--serif); font-size:1.05rem; }
.card.dark .routes strong { color:var(--gold2); }
.pillars4 { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); gap:.8rem; margin:1rem 0; }
.pillars4 div { background:var(--navy2); border-radius:.8rem; padding:1rem; border-bottom:3px solid var(--gold); }
.pillars4 div:nth-child(even) { background:#1B3A75; }
.pillars4 span { color:var(--gold2); font-weight:700; font-size:1.15rem; font-family:var(--serif); }
.diff { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.8rem; }
.diff ul { padding-left:1.1rem; }
.person { display:flex; gap:1.4rem; align-items:flex-start; }
.person img { width:min(13rem,40vw); border-radius:.9rem; flex-shrink:0; box-shadow:0 4px 18px rgba(10,27,61,.25); border:3px solid var(--goldSoft); }
.mission { 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; }
.values { font-weight:700; color:var(--tealDark); }
.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; }

/* Split layout: photo + content */
.split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:1.1rem; align-items:start; }
.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 .routes > div { background:#FFF9E8; border-left-color:var(--gold); }

.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; }
.contactLines { font-size:1.05rem; }
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:.6rem; border:1px solid #C6CEDE; border-radius:.6rem; font-size:1rem; font-family:var(--sans); background:#FBFCFE; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.muted { color:var(--muted); font-size:.9rem; }
details { border-top:1px solid #E3E8F3; padding:.6rem 0; }
details summary { cursor:pointer; font-weight:600; color:var(--navy); font-family:var(--serif); font-size:1.05rem; }
footer { text-align:center; padding:2rem 1rem; color:var(--muted); }
footer img { width:4.5rem; border-radius:.7rem; border:2px solid var(--goldSoft); }

@media (max-width:640px) {
  #mainNav { gap:.4rem; padding:.1rem .8rem .65rem; }
  #mainNav a { font-size:.8rem; padding:.48rem .2rem; }
  .topbar-main { padding:.55rem .8rem .35rem; }
  .topbar .brand { font-size:1.08rem; }
  .hero { padding:1.8rem 1.1rem; }
  .person, .split { grid-template-columns:1fr; }
  .person { flex-direction:column; }
  .frow { grid-template-columns:1fr; }
  .split img { aspect-ratio:16/10; }
  .chatCard iframe { height:420px; }
}
