:root{
  --navy:#0b3158;--navy-dark:#061f39;--gold:#c8a55d;--cream:#f7f3ea;--white:#fff;
  --text:#253446;--muted:#687486;--line:#e7e3da;--shadow:0 18px 45px rgba(11,49,88,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--text);line-height:1.65;background:#fff}body.modal-open{overflow:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:auto}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,49,88,.08)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center}.header-logo{width:330px;max-height:68px;object-fit:contain;object-position:left center;border-radius:12px;filter:contrast(.96) saturate(.92);transition:.2s}.header-logo:hover{transform:scale(1.01)}.links{display:flex;align-items:center;gap:24px;font-weight:700;font-size:14px}.links a:hover{color:var(--gold)}.nav-btn{background:var(--navy);color:#fff!important;padding:10px 16px;border-radius:10px}.menu-btn{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:20px}.hero{padding:78px 0;background:linear-gradient(135deg,#fff 0%,var(--cream) 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:70px}.eyebrow{margin:0 0 12px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}h1,h2{font-family:"Playfair Display",serif;line-height:1.12;color:var(--navy);margin-top:0}h1{font-size:clamp(46px,6.5vw,76px);letter-spacing:-2px;margin-bottom:22px}h2{font-size:clamp(34px,4.6vw,50px);margin-bottom:16px}h3{color:var(--navy);line-height:1.25}.lead{font-size:18px;color:var(--muted);max-width:650px}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.centered{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;border-radius:11px;border:2px solid transparent;font-weight:800;transition:.2s;cursor:pointer;font-family:inherit;font-size:15px}.btn:hover{transform:translateY(-2px)}.primary{background:var(--navy);color:#fff;box-shadow:0 12px 26px rgba(11,49,88,.22)}.secondary{background:#fff;color:var(--navy);border-color:rgba(11,49,88,.18)}.gold{background:var(--gold);color:var(--navy-dark)}.light{border-color:rgba(255,255,255,.35);color:#fff}.full{width:100%}.mini-points{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:25px;font-size:14px;font-weight:700}.mini-points span:before{content:"✓";margin-right:7px;color:#198754}.hero-image{position:relative;padding:24px;border-radius:30px;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(200,165,93,.3)}.hero-image img{border-radius:18px;filter:contrast(.96) saturate(.92)}.badge{position:absolute;background:#fff;padding:12px 16px;border-radius:14px;box-shadow:var(--shadow)}.badge strong{display:block;color:var(--navy)}.badge small{color:var(--muted)}.badge-one{left:-30px;bottom:28px}.badge-two{right:-24px;top:22px}.section{padding:82px 0}.soft{background:var(--cream)}.heading{max-width:740px;text-align:center;margin:0 auto 45px}.heading>p:last-child{color:var(--muted);margin:0}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:27px 24px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 7px 20px rgba(11,49,88,.05)}.program-icon{display:grid;place-items:center;width:54px;height:54px;background:linear-gradient(145deg,#fbf7ee,#f1eadb);border:1px solid rgba(200,165,93,.28);border-radius:16px;margin-bottom:16px;color:var(--navy);box-shadow:0 8px 18px rgba(11,49,88,.06)}.program-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.program-icon-letter{font-family:"Playfair Display",serif;font-size:30px;font-weight:700;color:var(--navy)}.card h3{margin:0 0 8px}.card p{margin:0;color:var(--muted);font-size:14px}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}.split-copy>p:not(.eyebrow){color:var(--muted)}.why-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.why-list div{padding:18px;background:#fff;border-radius:15px}.why-list b{display:block;color:var(--navy)}.why-list span{color:var(--muted);font-size:13px}.adult-box{padding:38px;border-radius:25px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--navy-dark));box-shadow:var(--shadow)}.adult-box h3{font-family:"Playfair Display",serif;color:#fff;font-size:34px;margin:0 0 15px}.adult-box p:not(.eyebrow){color:rgba(255,255,255,.76)}.text-link{color:var(--gold);font-weight:800}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.plan{position:relative;padding:31px 26px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(11,49,88,.06)}.featured{border-color:rgba(200,165,93,.75);transform:translateY(-8px);box-shadow:var(--shadow)}.popular,.value-badge{position:absolute;right:14px;top:14px;padding:6px 10px;background:var(--gold);border-radius:999px;color:var(--navy-dark);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.value-badge{background:var(--cream);color:var(--navy);border:1px solid var(--line)}.plan-name{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin:0}.plan h3{font-family:"Playfair Display",serif;font-size:30px;margin:6px 0}.plan>p:not(.plan-name){color:var(--muted)}.plan ul{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}.plan li:before{content:"✓";color:#198754;font-weight:900;margin-right:8px}.note{text-align:center;color:var(--muted);margin-top:25px}.cta{text-align:center;padding:88px 0;color:#fff;background:linear-gradient(135deg,var(--navy-dark),var(--navy))}.cta h2{color:#fff}.cta .container{max-width:800px}.cta p:not(.eyebrow){color:rgba(255,255,255,.78);font-size:17px}.footer{padding:45px 0 22px;background:#051725;color:rgba(255,255,255,.72)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}.footer-logo{width:320px;max-height:100px;object-fit:contain;object-position:left center;margin-bottom:13px;border-radius:14px;filter:brightness(1.06) contrast(.95)}.footer p{font-size:14px;max-width:500px}.footer h3{color:var(--gold)}.footer a{display:block;margin:8px 0;font-size:14px}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:20px;font-size:13px}.whatsapp{position:fixed;z-index:45;right:18px;bottom:18px;width:56px;height:56px;display:grid;place-items:center;background:#25d366;border-radius:50%;box-shadow:0 12px 28px rgba(0,0,0,.25);font-size:24px}.reveal{opacity:0;transform:translateY(18px);transition:.6s}.reveal.visible{opacity:1;transform:none}

/* Modal */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(2,14,26,.72);backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:1;width:min(980px,96vw);max-height:92vh;overflow:auto;padding:36px;border-radius:26px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.35)}.modal-close{position:sticky;float:right;top:0;width:42px;height:42px;border:0;border-radius:50%;background:var(--cream);color:var(--navy);font-size:26px;cursor:pointer;z-index:2}.modal-header{padding-right:50px}.modal-header>p:last-child{color:var(--muted)}.modal-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;margin-top:24px}.price-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.price-table{width:100%;border-collapse:collapse;min-width:520px}.price-table th,.price-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}.price-table th{background:var(--cream);color:var(--navy);font-size:13px}.price-table td:last-child{font-weight:800;color:var(--navy)}.price-table tr:last-child td{border-bottom:0}.modal-list,.benefit-groups ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.modal-list li,.benefit-groups li{padding-left:24px;position:relative}.modal-list li:before,.benefit-groups li:before{content:"✓";position:absolute;left:0;color:#198754;font-weight:900}.benefit-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.benefit-groups section{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fcfbf8}.benefit-groups h3{margin-top:0}.comparison-box{margin-top:28px;padding:24px;border-radius:18px;background:var(--navy);color:#fff}.comparison-box h3{margin-top:0;color:#fff}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison-grid>div{display:grid;gap:9px}.comparison-grid strong{color:var(--gold-light,#ead9ad);font-size:16px}.comparison-grid span{padding-left:22px;position:relative;color:rgba(255,255,255,.82)}.comparison-grid>div:first-child span:before{content:"✓";position:absolute;left:0;color:#8ee6ad}.comparison-grid>div:last-child span:before{content:"•";position:absolute;left:4px;color:var(--gold)}.modal-actions{display:flex;justify-content:center;gap:14px;margin-top:28px}

@media(max-width:900px){.menu-btn{display:block}.links{position:absolute;top:82px;left:4%;right:4%;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:14px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.links.open{display:flex}.links a{padding:10px}.hero-grid,.split{grid-template-columns:1fr}.hero-image{max-width:620px;margin:auto}.program-grid{grid-template-columns:repeat(2,1fr)}.plans{grid-template-columns:1fr}.featured{transform:none}.why-list{grid-template-columns:1fr 1fr}.modal-grid,.benefit-groups,.comparison-grid{grid-template-columns:1fr}.modal-card{padding:28px}.header-logo{width:280px}}
@media(max-width:620px){.header-logo{width:225px}.hero{padding:58px 0}.section{padding:65px 0}h1{font-size:44px;letter-spacing:-1px}.actions,.modal-actions{display:grid}.btn{width:100%}.mini-points{display:grid}.badge{position:static;margin-top:10px}.program-grid,.why-list,.footer-grid{grid-template-columns:1fr}.footer-grid{gap:25px}.modal{padding:10px}.modal-card{padding:22px;border-radius:18px}.footer-logo{width:260px}}
