:root{
  --celeste:#75AADB;--celeste-mid:#4d8ec8;--celeste-dark:#2c6faa;--celeste-deep:#1a4f80;
  --white:#ffffff;--offwhite:#f5f8fd;--cream:#fefcf8;
  --gold:#C8982A;--gold-light:#e0b040;
  --ink:#0f1e30;--ink-mid:#1e3a58;
  --gray:#4d6f90;--gray-light:#8faabf;
  --border:rgba(117,170,219,0.18);--border-dark:rgba(26,79,128,0.12);
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Nunito Sans',system-ui,sans-serif;font-weight:300;line-height:1.7}
h1,h2,h3{font-family:'Libre Baskerville',serif;font-weight:700;color:var(--ink);line-height:1.1;letter-spacing:-0.01em}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
a{color:inherit}
p{margin:0 0 14px}
em{font-style:italic;color:var(--gold)}

header{background:var(--white);border-bottom:1px solid var(--border);padding:14px 0;position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;position:relative}
.brand{font-family:'Libre Baskerville',serif;font-weight:700;font-size:20px;color:var(--celeste-deep);text-decoration:none;flex-shrink:0}
.brand span{color:var(--gold)}
.nav-links{display:flex;gap:12px;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.nav-links a{text-decoration:none;color:var(--gray)}
.nav-links a:hover{color:var(--celeste-dark)}
.nav-cta{background:var(--gold);color:var(--ink)!important;padding:9px 18px;border-radius:2px;transition:background .2s}
.nav-cta:hover{background:var(--gold-light)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--celeste-dark);transition:all .25s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1220px){
  .nav-hamburger{display:flex}
  .nav-links{display:none;position:fixed;top:60px;left:0;right:0;background:var(--white);flex-direction:column;align-items:flex-start;gap:0;border-bottom:2px solid var(--celeste);z-index:99;padding:8px 0}
  .nav-links.open{display:flex}
  .nav-links a{display:block;width:100%;padding:14px 24px;border-bottom:1px solid var(--border)}
  .nav-links .nav-cta{margin:10px 24px;display:block;text-align:center;width:calc(100% - 48px)}
}

.hero{min-height:80vh;background:linear-gradient(170deg,var(--celeste-deep) 0%,var(--celeste-mid) 50%,var(--celeste) 100%);display:flex;align-items:center;padding:90px 0 70px;position:relative;overflow:hidden}
.hero-sunburst{position:absolute;right:-140px;top:50%;transform:translateY(-50%);width:640px;height:640px;border-radius:50%;opacity:.08;background:conic-gradient(from 0deg,transparent 0deg,var(--gold) 3deg,transparent 8deg,transparent 30deg,var(--gold) 33deg,transparent 38deg,transparent 60deg,var(--gold) 63deg,transparent 68deg,transparent 90deg,var(--gold) 93deg,transparent 98deg,transparent 120deg,var(--gold) 123deg,transparent 128deg,transparent 150deg,var(--gold) 153deg,transparent 158deg,transparent 180deg,var(--gold) 183deg,transparent 188deg,transparent 210deg,var(--gold) 213deg,transparent 218deg,transparent 240deg,var(--gold) 243deg,transparent 248deg,transparent 270deg,var(--gold) 273deg,transparent 278deg,transparent 300deg,var(--gold) 303deg,transparent 308deg,transparent 330deg,var(--gold) 333deg,transparent 338deg);animation:spin 50s linear infinite;pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:60px;background:var(--cream);clip-path:ellipse(58% 100% at 50% 100%)}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#ffffff1f;border:1px solid #ffffff33;border-radius:100px;padding:6px 16px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:24px}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.hero h1{color:#fff;font-size:clamp(32px,4.8vw,54px);margin-bottom:16px}
.hero h1 em{font-style:italic;color:var(--gold-light)}
#hero-sub{color:#ffffffb3;font-size:16px;max-width:480px;margin-bottom:32px}
#hero-sub b{color:#fff}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:2px;font-family:'Nunito Sans',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;transition:.2s}
.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-2px)}
.btn-ghost{border-color:#ffffff60;color:#fff}
.btn-ghost:hover{background:#ffffff1a;border-color:#fff}
.hero-stats{display:flex;gap:28px;border-top:1px solid #ffffff26;padding-top:22px;margin-top:32px;flex-wrap:wrap}
.hero-stats div{text-align:left}
.hstat-n{font-family:'Libre Baskerville',serif;font-size:24px;font-weight:700;color:var(--gold-light);display:block}
.hstat-l{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff66}

.hero-card{background:#fffffff5;border-radius:8px;overflow:hidden;box-shadow:0 30px 60px rgba(10,30,60,0.35);transition:transform .3s}
.hero-card:hover{transform:translateY(-6px)}
.hc-top{background:var(--celeste-deep);padding:22px;text-align:center;position:relative}
.hc-top::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold)}
.hc-sun{font-size:26px;display:inline-block;margin-bottom:6px;animation:spin 18s linear infinite}
.hc-top-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffffffb3}
.hc-top-title{font-family:'Libre Baskerville',serif;font-size:20px;color:#fff;margin-top:4px}
.hc-body{padding:26px}
.hc-stripe{height:4px;border-radius:2px;margin-bottom:18px;background:linear-gradient(90deg,var(--celeste) 33%,#fff 33%,#fff 66%,var(--celeste) 66%)}
.hc-degree{font-family:'Libre Baskerville',serif;font-size:15px;font-style:italic;color:var(--ink-mid);text-align:center;margin-bottom:16px}
.hc-seal{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:var(--offwhite);border:1px solid var(--border);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--celeste-dark);border-radius:2px}

.band{background:var(--celeste-dark);padding:14px 5%;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}
.band span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffffcc;display:flex;align-items:center;gap:8px}
.band span::before{content:'☀';color:var(--gold-light);font-size:.9em}

section{padding:90px 0}
.eyebrow-sm{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--celeste-dark);margin-bottom:12px;display:block}
.s-title{font-size:clamp(28px,4vw,42px);margin-bottom:16px}
.s-title em{font-style:italic;color:var(--celeste-dark)}
.problem .s-title em,.testimonials .s-title em,.curriculum .s-title em{color:var(--gold-light)}
.s-sub{color:var(--gray);max-width:600px;font-size:15.5px;margin-bottom:56px}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

.prob-banner{grid-column:1/-1;background:var(--gold);border-radius:4px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.prob-banner p{font-family:'Libre Baskerville',serif;font-style:italic;font-size:17px;color:var(--ink);margin:0;flex:1;min-width:220px}
.prob-banner a{white-space:nowrap}

.problem{background:var(--celeste-deep)}
.problem .eyebrow-sm{color:#ffffff99}
.problem .s-title{color:#fff}
.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.problem-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:26px;transition:all .25s}
.problem-card:hover{background:#ffffff17;border-color:#ffffff33;transform:translateY(-3px)}
.problem-card h3{font-family:'Nunito Sans',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:8px}
.problem-card p{font-size:13.5px;color:#ffffff99;margin:0}

.how{background:var(--offwhite)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border:1px solid var(--border);background:var(--border)}
.step{background:var(--white);padding:32px 22px;text-align:center;transition:background .2s}
.step:hover{background:var(--offwhite)}
.step-badge{width:52px;height:52px;border-radius:50%;background:var(--celeste-dark);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:20px;border:3px solid var(--celeste)}
.step h3{font-family:'Nunito Sans',sans-serif;font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:6px}
.step p{font-size:13px;color:var(--gray);margin:0}

.benefits{background:var(--white)}
.ben-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:start}
.ben{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--border-dark);transition:padding-left .2s}
.ben:first-child{border-top:1px solid var(--border-dark)}
.ben:hover{padding-left:6px}
.ben-icon{width:38px;height:38px;background:var(--celeste);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.ben h3{font-size:14.5px;font-weight:700;margin:0 0 4px}
.ben p{font-size:13px;color:var(--gray);margin:0}
.ben-panel{position:sticky;top:88px}
.ac-card{border:1px solid var(--border);border-radius:4px;overflow:hidden}
.ac-stripes{display:flex;flex-direction:column}
.ac-stripe{height:40px}
.ac-stripe.c1,.ac-stripe.c2{background:var(--celeste)}
.ac-stripe.w{background:#fff;display:flex;align-items:center;justify-content:center}
.ac-sun{font-size:22px;animation:spin 16s linear infinite;display:inline-block}
/* País pages use a real flag instead of the celeste/white/celeste + sun band
   above — that band is literally Argentina's flag shape, and recoloring it
   per country still reads as "a flag with a sun in it" no matter what hex
   goes in. Show the actual flag instead of an abstracted lookalike. */
.ac-flagband{background:var(--celeste-deep);display:flex;align-items:center;justify-content:center;padding:26px}
.ac-flagband img{border-radius:4px;box-shadow:0 8px 20px rgba(0,0,0,.32)}
.ac-body{padding:24px;background:#fff}
.ac-tag{font-family:'Libre Baskerville',serif;font-size:16px;font-weight:700;color:var(--celeste-deep);margin-bottom:6px}
.ac-sub{font-size:13px;color:var(--gray);margin-bottom:20px}
.ac-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}
.acstat{background:#fff;padding:16px;text-align:center}
.acstat-n{font-family:'Libre Baskerville',serif;font-size:22px;font-weight:700;color:var(--celeste-dark);display:block}
.acstat-l{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray)}

.forwho{background:var(--offwhite)}
.persona-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.persona{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--celeste-dark);border-radius:4px;padding:28px;transition:all .25s}
.persona:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(117,170,219,0.2)}
.persona .flag{font-size:28px;margin-bottom:14px;display:block}
.persona h3{font-size:18px;margin:0 0 8px}
.persona p{font-size:13.5px;color:var(--gray);margin-bottom:12px}
.ptags{display:flex;flex-wrap:wrap;gap:6px}
.ptag{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--celeste-dark);background:rgba(117,170,219,0.1);border:1px solid rgba(117,170,219,0.25);padding:4px 10px;border-radius:2px}

.testimonials{background:radial-gradient(120% 130% at 50% -10%,var(--celeste-dark) 0%,var(--celeste-deep) 55%,color-mix(in srgb,var(--celeste-deep) 60%,black) 100%)}
.testimonials::before,.curriculum::before{content:"";position:absolute;top:44%;left:50%;width:1000px;height:1000px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(200,152,42,.11),transparent 60%);pointer-events:none;z-index:0}
.testimonials .eyebrow-sm{color:#ffffff99}
.testimonials .s-title{color:#fff}
.test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.test-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:24px;transition:all .25s}
.test-card:hover{background:#ffffff17;transform:translateY(-3px)}
.test-stars{color:var(--gold-light);font-size:13px;letter-spacing:2px;margin-bottom:10px}
.test-card p{font-family:'Libre Baskerville',serif;font-style:italic;font-size:14px;color:#ffffffd9;margin-bottom:14px}
.test-author{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #ffffff1a}
.test-av{width:34px;height:34px;border-radius:50%;background:var(--celeste);color:var(--celeste-deep);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.test-name{font-size:13px;font-weight:600;color:#fff;display:block}
.test-loc{font-size:11px;color:#ffffff80}

.curriculum{background:radial-gradient(120% 130% at 50% -10%,var(--celeste-deep) 0%,color-mix(in srgb,var(--celeste-deep) 65%,black) 55%,color-mix(in srgb,var(--celeste-deep) 45%,black) 100%)}
.curriculum .eyebrow-sm{color:#ffffff99}
.curriculum .s-title{color:#fff}
.curriculum .s-sub{color:#ffffff99}
.level-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:24px;margin-bottom:16px}
.level-card h3{font-family:'Libre Baskerville',serif;font-size:18px;margin:0 0 4px;color:var(--gold-light)}
.level-card .range{font-size:12px;color:#ffffff80;margin-bottom:14px}
.subj-tags{display:flex;flex-wrap:wrap;gap:8px}
.subj-tag{background:#ffffff14;border:1px solid #ffffff26;border-radius:100px;padding:5px 13px;font-size:12.5px;color:#ffffffd9}

.pricing{background:var(--white)}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.plan{border:1px solid var(--border);border-radius:4px;padding:28px 24px;position:relative;transition:all .25s}
.plan:hover:not(.featured){border-color:var(--celeste);box-shadow:0 10px 26px rgba(117,170,219,0.18)}
.plan.featured{background:var(--celeste-deep);border-color:var(--celeste)}
.plan-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 14px;border-radius:100px;white-space:nowrap}
.plan h3{font-size:19px;margin:0 0 6px}
.plan.featured h3{color:#fff}
.plan .desc{font-size:12.5px;color:var(--gray);padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border)}
.plan.featured .desc{color:#ffffff80;border-color:#ffffff1a}
.plan .price{font-family:'Libre Baskerville',serif;font-size:17px;color:var(--celeste-dark);margin-bottom:4px}
.plan-note{font-size:10.5px;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px}
.plan.featured .price{color:var(--gold-light)}
.plan ul{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:8px}
.plan li{font-size:13px;color:var(--ink-mid);display:flex;gap:8px}
.plan.featured li{color:#ffffffcc}
.plan li::before{content:'✓';color:var(--celeste-dark);font-weight:700}
.plan.featured li::before{color:var(--gold-light)}
.plan .btn-block{display:block;width:100%;text-align:center}

.faq{background:var(--offwhite)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.faq-item{border-bottom:1px solid var(--border-dark)}
.faq-btn{width:100%;background:none;border:none;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;font-family:'Nunito Sans',sans-serif}
.faq-btn h3{font-size:14.5px;font-weight:700;margin:0;color:var(--ink)}
.faq-icon{color:var(--celeste-dark);font-size:20px;flex-shrink:0;transition:transform .25s;line-height:1}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .25s ease}
.faq-answer p{overflow:hidden;min-height:0}
.faq-item.open .faq-answer{grid-template-rows:1fr;opacity:1;padding-bottom:16px}
.faq-item p{font-size:13px;color:var(--gray);margin:0}

.cta-final{position:relative;overflow:hidden;background:radial-gradient(125% 130% at 50% -10%,var(--celeste-dark) 0%,var(--celeste-deep) 50%,color-mix(in srgb,var(--celeste-deep) 55%,black) 100%);text-align:left;padding:clamp(72px,9vw,120px) 0}
.cta-final::before{content:"";position:absolute;top:46%;left:50%;width:1100px;height:1100px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(200,152,42,.15),transparent 62%);pointer-events:none;z-index:0}
.cta-final .wrap{position:relative;z-index:3}
.cta-grid{display:grid;grid-template-columns:.82fr 1.05fr;gap:clamp(28px,4vw,52px);align-items:center;max-width:1000px;margin:0 auto}
.cta-copy .veyebrow{display:block;color:var(--gold-light);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin-bottom:14px}
.cta-final h2{color:#fff;font-size:clamp(28px,3.4vw,42px);line-height:1.08;margin:0 0 14px}
.cta-final .cta-copy p{color:#dce9f5;max-width:none;margin:0 0 22px;font-size:17px}
.cta-assure{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.cta-assure li{color:#eaf3fb;font-size:15.5px;display:flex;gap:11px;align-items:center;line-height:1.4}
.cta-assure li span{flex:none;color:var(--celeste-deep);background:var(--gold-light);width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}
/* keep loose copy crisp over the botanicals; keep the left spray in its gutter */
.cta-copy{position:relative}
.cta-copy .veyebrow,.cta-copy h2,.cta-copy p,.cta-assure li{text-shadow:0 2px 16px rgba(4,16,34,.6),0 1px 3px rgba(4,16,34,.45)}
.cta-final .vart-l{width:min(17vw,280px);opacity:.78}
/* left spray only where the gutter is wide enough to fully clear the copy */
@media(max-width:1460px){.cta-final .vart-l{display:none}}

.lead-form{max-width:none;margin:0;background:#fff;border:1px solid rgba(255,255,255,.55);border-radius:18px;padding:clamp(22px,2.6vw,32px);text-align:left;box-shadow:0 44px 100px rgba(2,12,26,.55)}
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lf-field{margin-bottom:14px}
.lf-field label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:6px}
.lf-field .opt{text-transform:none;letter-spacing:0;font-weight:400;opacity:.7}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;background:#f2f7fc;border:1px solid var(--border);color:var(--ink);padding:12px 13px;font-family:'Nunito Sans',sans-serif;font-size:14px;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:#9fb3c6}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,152,42,.16);background:#fff}
.lead-form select option{background:#fff;color:var(--ink)}
.lead-form textarea{resize:vertical;min-height:80px}
.lead-form .btn-gold{border-radius:10px;padding:14px}
.lf-tiny{font-size:11px;color:var(--gray);text-align:center;margin:12px 0 0}
.lf-success{display:none;background:#fff;border-radius:18px;padding:36px;text-align:center;box-shadow:0 44px 100px rgba(2,12,26,.55)}
.lf-success.show{display:block}
.lf-success h3{color:var(--celeste-deep);margin:0 0 8px}
.lf-success p{color:var(--ink-mid);margin:0}
.lead-form.hidden{display:none}
@media(max-width:860px){
  .cta-grid{grid-template-columns:1fr;gap:26px}
  .cta-final{text-align:center}
  .cta-copy{text-align:center}
  .cta-assure{max-width:330px;margin:0 auto;text-align:left}
}

footer{background:var(--ink);border-top:4px solid var(--celeste-dark);padding:50px 0 30px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid #ffffff12}
.footer-brand{font-family:'Libre Baskerville',serif;font-size:19px;color:#fff;margin-bottom:8px}
.footer-brand span{color:var(--gold-light)}
.footer-desc{font-size:13px;color:#ffffff99;max-width:260px}
.footer-grid h3{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--celeste);opacity:.8;margin:0 0 14px}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.footer-grid a{font-size:13px;color:#ffffff99;text-decoration:none}
.footer-grid a:hover{color:#fff}
.footer-bottom{font-size:12px;color:#ffffff99;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

.placeholder-note{background:#fff8e1;border:1px dashed var(--gold);border-radius:4px;padding:14px 18px;font-size:13px;color:#7a5a10;margin:24px auto 0;max-width:800px;text-align:left}


@media(max-width:860px){
  .lf-row{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr}
  .hero{padding:80px 0 60px}
  .faq-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  /* ben-layout was the one hand-coded 2-col grid missing a mobile breakpoint,
     so its accreditation card overflowed the page ~142px on phones. Stack it. */
  .ben-layout{grid-template-columns:1fr}
  .ben-panel{position:static;top:auto}
}
/* Safety net: grid/flex children may refuse to shrink below their content's
   min-content width, which silently blows a column past the viewport. This
   lets them shrink so a long word/table can't force horizontal page scroll. */
.hero-grid>*,.ben-layout>*,.footer-grid>*,.problem-grid>*,.persona-grid>*,.test-grid>*,.plans>*{min-width:0}
@media(max-width:600px){
  .cta-row{flex-direction:column}
  .footer-grid{grid-template-columns:1fr}
}

/* ============ PREMIUM LAYER (2026-07) — imagery + scroll motion ============ */
h1{font-size:clamp(34px,5.4vw,60px);line-height:1.04;letter-spacing:-0.02em}
.s-title{font-size:clamp(26px,3.6vw,40px);line-height:1.08}
section{scroll-margin-top:80px}

/* scroll reveal — applied to elements via JS (data-reveal) */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}
.parallax{will-change:transform}

/* ---- immersive hero ---- */
.hero.hero-premium{min-height:88vh;padding:96px 0 90px;background:linear-gradient(165deg,var(--celeste-deep) 0%,var(--celeste-mid) 55%,var(--celeste) 100%);position:relative;overflow:hidden}
.hero-premium .hero-grid{grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero-premium h1{color:#fff}
.hero-premium h1 em{color:var(--gold-light);font-style:italic}
.hero-premium #hero-sub{color:#e8f1fa;font-size:18px;max-width:520px}
.hero-premium .eyebrow{color:#dce9f6}
.hero-photo{position:relative}
.hero-photo .frame{border-radius:16px;overflow:hidden;box-shadow:0 40px 80px rgba(6,20,40,.45);transform:translateZ(0)}
.hero-photo .frame img{display:block;width:100%;height:auto}
.hero-badge{position:absolute;left:-18px;bottom:-22px;background:#fff;border-radius:14px;padding:14px 18px;box-shadow:0 20px 50px rgba(6,20,40,.35);display:flex;align-items:center;gap:12px;max-width:78%}
.hero-badge .seal{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#9a7d28);display:grid;place-items:center;color:#fff;font-size:20px;flex-shrink:0}
.hero-badge b{display:block;font-family:'Libre Baskerville',serif;color:var(--ink);font-size:14px;line-height:1.2}
.hero-badge span{font-size:12px;color:var(--gray)}
.hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid #ffffff30}
.hero-trust div{color:#fff}
.hero-trust .hstat-n{font-family:'Libre Baskerville',serif;font-size:22px;display:block;color:#fff}
.hero-trust .hstat-l{font-size:12px;color:#cfe0f0;text-transform:uppercase;letter-spacing:.08em}
.hero-premium .btn-ghost{border-color:#ffffff66;color:#fff}
.hero-premium .btn-ghost:hover{background:#ffffff1a}

/* AI-extractable direct-answer box — was in the original guide-template
   país pages, dropped when they were rebuilt on the homepage template.
   Needed for AEO/GEO (the #hero-answer id is what a speakable/answer
   selector should target). */
.answer{background:var(--offwhite);border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:4px;padding:18px 20px;font-size:15px;color:var(--ink-mid);line-height:1.6}
.answer p{margin:0}

/* ---- full-bleed image band ---- */
.imgband{position:relative;min-height:420px;display:flex;align-items:center;overflow:hidden;background:var(--ink)}
.imgband .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08)}
.imgband .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,25,45,.86) 0%,rgba(10,25,45,.55) 55%,rgba(10,25,45,.25) 100%)}
.imgband .wrap{position:relative;z-index:2}
.imgband h2{color:#fff;font-size:clamp(26px,3.6vw,40px);max-width:640px;margin:0 0 12px}
.imgband p{color:#e8f1fa;max-width:560px;font-size:17px}
.imgband em{color:var(--gold-light)}

/* ---- rounded section photo helper ---- */
.photo-round{border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(10,30,60,.18)}
.photo-round img{display:block;width:100%;height:auto}

@media(max-width:820px){
  .hero-premium .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-photo .frame{height:40vh}
  .hero-photo .frame img{height:100%;object-fit:cover}
  .hero-badge{position:static;max-width:none;margin-top:14px}
  .imgband .veil{background:linear-gradient(180deg,rgba(10,25,45,.82),rgba(10,25,45,.6))}
}
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .parallax{transform:none!important}
  .float-art .art{animation:none!important}
}

/* ---- floating decorative art (Argentine botanicals) ---- */
.float-art{position:absolute;pointer-events:none;z-index:1;will-change:transform}
.float-art .art{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 26px rgba(4,16,34,.28));opacity:0;transition:opacity 1.2s ease}
.float-art.in .art{opacity:.96}
.float-art .art.swayA{animation:swayA 11s ease-in-out infinite}
.float-art .art.swayB{animation:swayB 13s ease-in-out infinite}
@keyframes swayA{0%,100%{transform:rotate(-2.2deg) translateY(0)}50%{transform:rotate(1.6deg) translateY(-9px)}}
@keyframes swayB{0%,100%{transform:rotate(2deg) translateY(0)}50%{transform:rotate(-1.8deg) translateY(7px)}}
/* hero placements — branch hangs in from the top, magnolia grows from the bottom, bird in the sky */
.hero-premium{position:relative}
/* branch hangs from the top-right sky, clear of the header and the left-side headline */
.fa-hero-tr{top:8px;right:-70px;width:min(42vw,520px);opacity:.9}
/* magnolia lives in the left gutter, never over the buttons/stats */
.fa-hero-bl{bottom:-14px;left:0;width:calc((100vw - 1100px)/2 - 16px);max-width:220px}
/* bird flies high in the open sky between the columns, above the headline */
.fa-bird-hero{top:5%;left:47%;width:104px;z-index:2;opacity:.96}
/* lush pampas rising in the right gutter, behind the photo card */
.fa-hero-br{right:-24px;bottom:-30px;width:min(26vw,360px);z-index:1;opacity:.85}
/* hero art images ease in as a staggered sequence (pointer depth is JS-driven) */
.fa-hero-tr .art{transition:opacity 1.1s ease .15s}
.fa-hero-br .art{transition:opacity 1.1s ease .35s}
.fa-hero-bl .art{transition:opacity 1.1s ease .5s}
@media(max-width:1220px){.fa-hero-bl{display:none}}
@media(max-width:980px){.fa-hero-br{display:none}}
@media(max-width:820px){
  .fa-hero-tr{width:60vw;right:-80px;top:6px;opacity:.7}
  .fa-bird-hero{display:none}
}
@keyframes fly{0%{transform:translate(0,0)}50%{transform:translate(14px,-10px)}100%{transform:translate(0,0)}}
.fa-bird-hero .art{animation:fly 7s ease-in-out infinite}
@keyframes sunspin{to{transform:rotate(360deg)}}
.fa-cta-bird .art{animation:sunspin 140s linear infinite}
/* ===== IMMERSIVE GUTTER ART =====
   Art lives ONLY in the empty margins beside the 1100px text column.
   Width is tied to the real gutter size — (100vw - 1100px)/2 minus a buffer —
   so it is mathematically impossible for art to reach the words. Below 1220px
   the gutters are too thin, so gutter art hides and the layout stays clean. */
.problem,.how,.benefits,.forwho,.imgband,.testimonials,.curriculum,.pricing,.faq,.cta-final{position:relative;overflow:hidden}
.problem>.wrap,.how>.wrap,.benefits>.wrap,.forwho>.wrap,.imgband>.wrap,.testimonials>.wrap,.curriculum>.wrap,.pricing>.wrap,.faq>.wrap,.cta-final>.wrap{position:relative;z-index:2}
.gart{position:absolute;pointer-events:none;z-index:1;will-change:transform;max-width:300px}
.gart img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;object-position:bottom;opacity:0;transition:opacity 1.1s ease;filter:drop-shadow(0 12px 22px rgba(6,20,40,.20))}
.gart.in img{opacity:.9}
.gart .art.swayA{animation:swayA 11s ease-in-out infinite}
.gart .art.swayB{animation:swayB 13s ease-in-out infinite}
.gart .art.fly{animation:fly 8s ease-in-out infinite}
/* bottom-corner botanicals (grow up) + top-corner vines/branches (hang down) */
.gart-l,.gart-r,.gart-lt,.gart-rt{width:calc((100vw - 1100px)/2 - 16px)}
.gart-l{left:0;bottom:-14px}
.gart-r{right:0;bottom:-14px}
.gart-lt{left:0;top:10px}
.gart-rt{right:0;top:10px}
/* small creatures up in the sky, safely inset within the gutter */
.gart-sky{top:7%;width:min(calc((100vw - 1100px)/2 - 22px),150px)}
.gart-sky.s-l{left:8px}
.gart-sky.s-r{right:8px}
@media(max-width:1220px){.gart{display:none}}
.brand-logo{width:36px;height:36px;vertical-align:-10px;margin-right:3px}

/* ================= IMMERSIVE VALUE SECTIONS (dark stage · lush gold botanicals · photo card) ================= */
.vshow{position:relative;overflow:hidden;background:radial-gradient(130% 120% at 50% -10%,var(--celeste-dark) 0%,var(--celeste-deep) 48%,color-mix(in srgb,var(--celeste-deep) 55%,black) 100%);padding:clamp(72px,9vw,124px) 0}
.vshow .wrap{position:relative;z-index:3;max-width:1120px}
/* a faint Sol-de-Mayo glow behind the card for depth */
.vshow::before{content:"";position:absolute;top:50%;left:50%;width:1100px;height:1100px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(200,152,42,.16),transparent 62%);pointer-events:none;z-index:0}
/* lush gold botanicals framing the sides — sit BEHIND the opaque card, so text is always safe */
.vart{position:absolute;z-index:1;pointer-events:none;opacity:.9;will-change:transform;filter:drop-shadow(0 20px 44px rgba(0,0,0,.55))}
.vart img{display:block;width:100%;height:auto}
.vart-l{left:-34px;bottom:-46px;width:min(33vw,460px)}
.vart-r{right:-34px;bottom:-46px;width:min(33vw,460px)}
.vart-r img{transform:scaleX(-1)}
.vart-top{top:-40px;right:8%;width:min(22vw,300px);opacity:.8}
/* drifting pollinators / birds */
.vbug{position:absolute;z-index:2;pointer-events:none;width:clamp(46px,5vw,86px);opacity:.92;will-change:transform;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45))}
.vbug img{display:block;width:100%;height:auto}
.vbug-a{top:13%;left:5%}.vbug-b{bottom:18%;right:6%}.vbug-c{top:24%;right:11%}
/* the photo + copy card */
.vcard{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.02fr .98fr;border-radius:26px;overflow:hidden;box-shadow:0 54px 120px rgba(2,12,26,.6);background:#fff;opacity:0;transform:translateY(34px) scale(.985);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.vcard.visible{opacity:1;transform:none}
.vcard-copy{padding:clamp(30px,4vw,58px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(158deg,#ffffff 0%,#eaf3fc 100%)}
.vcard-copy .veyebrow{color:var(--gold);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin-bottom:14px}
.vcard-copy h2{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(25px,3vw,39px);line-height:1.1;margin:0 0 16px;color:var(--celeste-deep);letter-spacing:-.01em}
.vcard-copy h2 em{color:var(--gold);font-style:italic}
.vcard-copy p{font-size:17px;line-height:1.7;color:var(--ink-mid);margin:0 0 24px}
.vcard-copy .btn{align-self:flex-start}
.vcard-photo{position:relative;min-height:360px}
.vcard-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vcard-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(234,243,252,.5),transparent 22%);pointer-events:none}
.vcard.flip .vcard-copy{order:2}
.vcard.flip .vcard-photo::after{background:linear-gradient(270deg,rgba(234,243,252,.5),transparent 22%)}
@media(max-width:860px){
  .vcard{grid-template-columns:1fr;max-width:470px}
  .vcard.flip .vcard-copy{order:0}
  .vcard-photo{min-height:250px}
  .vcard-photo::after{display:none}
  .vart{opacity:.55}.vart-l,.vart-r{width:44vw;bottom:-30px}.vart-top{display:none}
  .vbug{display:none}
}
@media(prefers-reduced-motion:reduce){.vcard{opacity:1;transform:none;transition:none}.vart,.vbug{animation:none!important}}

/* ================= DESIGN + CTA AUDIT FIXES (2026-07-22) ================= */

/* mobile nav drawer: give it a defined bottom + its own scroll so page
   content scrolled underneath can never bleed through below the panel,
   and animate the open/close instead of a hard display:none/flex cut */
@media(max-width:1220px){
  .nav-links{
    display:flex;bottom:0;overflow-y:auto;
    box-shadow:0 20px 45px rgba(10,30,60,.25);
    opacity:0;pointer-events:none;transform:translateY(-8px);
    transition:opacity .25s ease,transform .25s ease;
  }
  .nav-links.open{opacity:1;pointer-events:auto;transform:none}
}

/* mobile eyebrow pill: at full stadium radius the badge only reads cleanly
   on one line. Below ~600px let it wrap as a centered 1-2 line chip instead
   of a lopsided stretched pill. */
@media(max-width:600px){
  .eyebrow{flex-wrap:wrap;justify-content:center;row-gap:4px;border-radius:12px;font-size:10px;letter-spacing:.08em;padding:8px 14px;max-width:92%;text-align:center}
}

/* 4-step process cards were the only card in the system with no hover lift */
.step{transition:background .2s,transform .2s,box-shadow .2s}
.step:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(10,30,60,.08)}

/* on the two warm-accent país pages (México terracotta, Perú's rust clay)
   gold sits closer in hue to the page accent than on the cool-accent pages,
   so the primary CTA needs a touch more separation to keep popping */
.warm-accent .btn-gold{box-shadow:0 10px 22px rgba(15,30,48,.28)}

/* mobile comparison-table scroll affordance: the table is genuinely
   scrollable (overflow-x:auto) but nothing signaled that on a narrow
   screen, so the last column just looked cut off and missing */
table.data .ba-col{background:var(--offwhite);border-left:2px solid var(--celeste-dark)!important;border-right:2px solid var(--celeste-dark)!important;font-weight:700}
table.data th.ba-col{color:var(--celeste-deep)}
.table-hint{display:none}
@media(max-width:600px){
  .table-hint{display:block;font-size:12.5px;color:var(--celeste-dark);font-weight:700;margin:-6px 0 12px}
  .table-scroll{position:relative}
  .table-scroll::after{content:'';position:absolute;top:0;right:0;bottom:0;width:28px;background:linear-gradient(to right,transparent,#fff);pointer-events:none}
}
