



/* --- quick fixes --- */
.top-nav{display:flex;gap:12px;margin-top:10px}
.top-nav .chip{
  display:inline-block;padding:8px 14px;border-radius:9999px;
  background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 8px rgba(0,0,0,.06);
  font-weight:600;color:#111827;text-decoration:none
}
.top-nav .chip:active,.top-nav .chip:focus{outline:none;border-color:#111827}
.popup{z-index:9999}           /* popup stays above header */
.hero-title .nowrap{white-space:nowrap}  /* keep Age 4 together if span exists */
:root{--bg:#fffaf3;--ink:#111827;--ink-2:#1f2937;--brand:#f59e0b;--accent:#10b981;--muted:#6b7280;--card:#fff;--shadow:0 12px 30px rgba(0,0,0,.10)}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial}
img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;font-weight:700}main{display:block}.container{max-width:1080px;margin:0 auto;padding:0 16px}
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:var(--shadow)}.site-header .container{display:flex;flex-direction:column;gap:6px;padding:12px 16px}
.brand h1{font-size:1.6rem;margin:0}.brand .tag,.brand .dcf{color:#4b5563;font-size:1rem}
.nav{display:flex;gap:10px;flex-wrap:wrap;overflow:auto}.nav a{padding:10px 14px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.05);font-weight:600;font-size:.98rem;color:#111827}
.hero{padding:16px 0;background:#fff}.hero .wrap{display:grid;grid-template-columns:1fr;gap:18px;align-items:center}@media(min-width:900px){.hero .wrap{grid-template-columns:1.1fr .9fr}}
.hero h2{font-size:2.25rem;margin:.2rem 0 .4rem}.sub{color:var(--ink-2);margin:0 0 10px;max-width:42ch}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.btn{display:inline-block;padding:14px 18px;border-radius:999px;box-shadow:var(--shadow);font-weight:800;font-size:1.02rem}
.btn-call{background:#111827;color:#fff}.btn-text{background:#0ea5e9;color:#fff}
.section{padding:18px 0}.grid-2{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:900px){.grid-2{grid-template-columns:1fr 1fr}}
.card{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:14px}
.site-footer{padding:18px 16px;text-align:center;color:#6b7280}.site-footer .legal{font-size:.9rem;color:#4b5563}
/* Anchors visible below sticky header */#about,#curriculum,#contact{scroll-margin-top:96px}
/* Popup above header */.popup{z-index:9999}
/* No orphan '4' */.nobr{white-space:nowrap}
/* Hero ribbon (red) */.visual{position:relative}.ribbon{position:absolute;top:12px;left:-8px;background:#ef4444;color:#fff;padding:10px 18px;font-weight:900;letter-spacing:.2px;box-shadow:0 8px 20px rgba(0,0,0,.22);border-radius:0 10px 10px 0;transform:skewX(-8deg)}
.ribbon span{display:inline-block;transform:skewX(8deg);font-size:1.2rem}@media(min-width:1000px){.ribbon span{font-size:1.3rem}}
.price-banner{display:none!important}
.contact-card .btn{width:100%;text-align:center}


/* --- POPUP HOTFIX (all‑in‑one) --- */
.popup{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:100000}
.popup.hidden{display:none !important}
.popup .card{max-width:520px;width:min(92%,520px)}

/* nav chips + popup fix + nowrap */
.top-nav{display:flex;gap:12px;margin-top:10px}
.chip{display:inline-block;padding:8px 14px;border-radius:9999px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 8px rgba(0,0,0,.06);font-weight:600;color:#111827}
.popup{z-index:9999}
.nowrap{white-space:nowrap}

/* popup should cover header; body lock when open */
.popup{ z-index: 99999; }

/* --- Popup form layout fix (mobile-first) --- */
.popup{ z-index:99999; } /* keep above header */
.popup-card, .popup .card{
  max-width:560px;
  width:calc(100% - 32px);
  margin:0 auto;
}

.popup-form{
  display:grid;
  grid-template-columns: 1fr;   /* stack on phones */
  gap:10px;
}

.popup-form label{
  display:grid;                 /* puts label text above input */
  gap:6px;
  font-weight:600;
}

.popup-form input{
  width:100%;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  font-size:16px;               /* prevents iOS zoom jump */
  background:#fff;
}

.popup .btn.btn-call{
  width:100%;
  justify-self:stretch;
}

.link-gray{
  display:block;
  text-align:left;
}

/* make two columns on wider screens, but keep first field full-width */
@media (min-width:480px){
  .popup-form{ grid-template-columns: 1fr 1fr; }
  .popup-form label:nth-of-type(1){ grid-column:1 / -1; } /* Parent Name spans both */
  .popup .btn.btn-call,
  .link-gray{ grid-column:1 / -1; }  /* buttons span both columns */
}