:root{
  --blue:#1f4ed8;
  --navy:#1f2161;
  --yellow:#ffd338;
  --orange:#ff8a32;
  --green:#38a64a;
  --red:#ef3335;
  --cream:#fff7df;
  --white:#ffffff;
  --text:#263044;
  --muted:#667085;
  --shadow:0 22px 55px rgba(31,33,97,.16);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:linear-gradient(180deg,#f3fbff 0%,#fff 42%,#fff8e4 100%);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1160px,92vw);margin-inline:auto}.top-strip{height:10px;background:linear-gradient(90deg,var(--blue),var(--yellow),var(--red),var(--green),var(--orange))}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(31,33,97,.08)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-family:Fredoka,sans-serif;font-size:1.2rem;color:var(--navy);font-weight:700}.brand img{width:52px;height:52px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 4px rgba(255,211,56,.35)}.nav-links{display:flex;align-items:center;gap:8px}.nav-links a,.lang-btn{border:0;background:transparent;padding:10px 14px;border-radius:999px;color:var(--navy);font-weight:800;font-family:Nunito,sans-serif;cursor:pointer}.nav-links a:hover,.lang-btn:hover{background:#eef3ff}.lang-btn{background:var(--yellow);box-shadow:0 8px 18px rgba(255,211,56,.35)}.menu-toggle{display:none;border:0;background:var(--navy);color:#fff;border-radius:14px;padding:9px 13px;font-size:1.35rem}
.section{padding:88px 0}.hero{position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.26}.hero:before{width:340px;height:340px;background:var(--yellow);top:30px;left:-130px}.hero:after{width:300px;height:300px;background:var(--blue);bottom:20px;right:-120px}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:44px}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px dashed rgba(31,78,216,.22);color:var(--blue);border-radius:999px;padding:8px 14px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.hero h1,.section-title h2,.location-copy h2,.contact-copy h2{font-family:Fredoka,sans-serif;color:var(--navy);line-height:1.02;margin:18px 0 16px}.hero h1{font-size:clamp(2.55rem,6vw,5.4rem)}p{font-size:1.08rem;line-height:1.72;color:var(--muted)}.hero-copy p{max-width:690px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.chips span{background:#fff;border:1px solid rgba(31,78,216,.12);border-radius:18px;padding:10px 14px;font-weight:900;color:var(--navy);box-shadow:0 8px 20px rgba(31,33,97,.06)}.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 22px;font-weight:900;box-shadow:0 14px 28px rgba(31,33,97,.12);transition:.25s transform,.25s box-shadow;cursor:pointer;font-family:Nunito,sans-serif}.btn:hover{transform:translateY(-2px);box-shadow:0 20px 36px rgba(31,33,97,.18)}.btn.primary{background:linear-gradient(135deg,var(--blue),#5b7cff);color:white}.btn.secondary{background:white;color:var(--navy)}.contact-line{font-weight:800;color:var(--navy)}.contact-line a{color:var(--blue)}.hero-card{position:relative;border-radius:var(--radius);padding:12px;background:#fff;box-shadow:var(--shadow);transform:rotate(1.2deg)}.hero-card img{border-radius:22px;width:100%;aspect-ratio:1.55/1;object-fit:cover}.hero-badge{position:absolute;left:28px;bottom:28px;background:rgba(255,255,255,.94);color:var(--navy);border-radius:18px;padding:12px 16px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.12)}.section-title{text-align:center;max-width:760px;margin:0 auto 42px}.section-title h2,.location-copy h2,.contact-copy h2{font-size:clamp(2rem,4vw,3.5rem)}.cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.info-card,.program,.contact-form,.map-card,.location-copy,.contact-copy{background:rgba(255,255,255,.88);border:1px solid rgba(31,78,216,.12);box-shadow:var(--shadow);border-radius:var(--radius)}.info-card{padding:28px}.icon{width:62px;height:62px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,var(--yellow),#fff4ad);font-weight:900;color:var(--navy);font-family:Fredoka,sans-serif;margin-bottom:16px}.info-card h3,.program h3{font-family:Fredoka,sans-serif;color:var(--navy);font-size:1.5rem;margin:0 0 8px}.program-grid{margin-top:36px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.program{overflow:hidden;display:grid;grid-template-columns:190px 1fr;align-items:center}.program img{width:100%;height:100%;min-height:220px;object-fit:cover}.program div{padding:26px}.gallery{background:linear-gradient(180deg,rgba(31,78,216,.06),rgba(255,211,56,.12))}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:18px}.gallery-item{border:0;position:relative;overflow:hidden;border-radius:26px;box-shadow:var(--shadow);padding:0;background:#fff;cursor:pointer}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item span{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.92);border-radius:18px;padding:10px 12px;font-weight:900;color:var(--navy)}.split-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.map-card{overflow:hidden;padding:10px}.map-card iframe{width:100%;min-height:420px;border:0;border-radius:22px}.location-copy,.contact-copy{padding:34px}.contact{background:radial-gradient(circle at 15% 15%,rgba(255,211,56,.38),transparent 30%),radial-gradient(circle at 85% 20%,rgba(31,78,216,.18),transparent 28%)}.quick-contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.quick-contact a{background:#fff;border-radius:999px;padding:12px 15px;font-weight:900;color:var(--navy);box-shadow:0 10px 22px rgba(31,33,97,.08)}.contact-form{padding:28px;display:grid;gap:16px}.contact-form label{font-weight:900;color:var(--navy);display:grid;gap:8px}.contact-form input,.contact-form textarea{width:100%;border:2px solid rgba(31,78,216,.13);border-radius:18px;padding:14px 16px;font:inherit;outline:none;background:#fff}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,78,216,.1)}.contact-form small{color:var(--muted)}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:60;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:white;font-size:1.55rem;box-shadow:0 18px 34px rgba(37,211,102,.34)}.lightbox{position:fixed;inset:0;background:rgba(10,14,30,.86);display:none;place-items:center;z-index:100;padding:24px}.lightbox.is-open{display:grid}.lightbox img{max-height:84vh;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.5)}.lightbox-close{position:absolute;right:24px;top:20px;border:0;background:#fff;color:var(--navy);width:44px;height:44px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer}.footer{background:var(--navy);color:white;padding:30px 0;text-align:center}.footer p{color:rgba(255,255,255,.84);margin:6px 0}.footer a{color:var(--yellow);font-weight:900}.reveal{opacity:0;transform:translateY(24px);animation:fadeUp .8s ease forwards}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.3s}@keyframes fadeUp{to{opacity:1;transform:none}}
@media (max-width:900px){.menu-toggle{display:block}.nav-links{position:absolute;left:4vw;right:4vw;top:82px;background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:12px;display:none;flex-direction:column;align-items:stretch}.nav-links.is-open{display:flex}.hero-grid,.split-grid,.contact-grid,.program-grid{grid-template-columns:1fr}.cards.three{grid-template-columns:1fr}.program{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item.wide{grid-column:span 2}.section{padding:64px 0}.hero-card{transform:none}}
@media (max-width:560px){.hero h1{font-size:2.5rem}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-item.wide{grid-column:span 1}.nav{height:70px}.brand span{font-size:1rem}.brand img{width:46px;height:46px}}
