/* Education kit: programs/courses (cards, fee table, featured), admissions steps + key dates, illustrated campus/facilities, events calendar, campus/course/apply/kids heroes. After corp.css. */
.ed .art.scn{background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 10%,var(--bg)),color-mix(in srgb,var(--ac2,var(--ac)) 14%,var(--bg)))}
.ed .art.scn>svg{width:100%;height:100%;display:block;object-fit:cover}
/* programs: cards */
.pgc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pg{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 12px);overflow:hidden;min-width:0;transition:transform .25s,box-shadow .25s}
.pg:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(0,0,0,.09)}
.pgh{position:relative;height:118px;display:flex;align-items:flex-end;justify-content:space-between;padding:18px 20px;overflow:hidden}
.pgh::before{content:"";position:absolute;right:-30px;top:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.16)}
.pgh::after{content:"";position:absolute;left:38%;bottom:-60px;width:120px;height:120px;border-radius:50%;border:16px solid rgba(255,255,255,.12)}
.pgh i{position:relative;z-index:1;width:60px;height:60px;border-radius:18px;background:rgba(255,255,255,.2);display:grid;place-items:center}
.pgh i svg{width:34px;height:34px}
.pgtag{position:relative;z-index:1;display:inline-block;font-size:12px;font-weight:800;letter-spacing:.04em;padding:6px 12px;border-radius:99px;background:var(--bg);color:var(--fg)}
.pgb{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.pgb h3{font-size:19px;line-height:1.25}.pgb p{margin:0;color:var(--mu);font-size:14.5px}
.pgm{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--mu);font-size:13.5px;font-weight:600}
.pgm li{display:inline-flex;align-items:center;gap:6px}.pgm .ico{width:16px;height:16px}
.pgp{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);flex-wrap:wrap}
.pgp b{font-family:var(--head);font-size:20px;color:var(--fg)}.pgp .lnk3{margin-top:0}
/* programs: table */
.pgt{background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 12px);overflow:auto}
.pgt table{width:100%;border-collapse:collapse;min-width:640px}
.pgt th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);padding:16px 18px;border-bottom:1px solid var(--line)}
.pgt td{padding:16px 18px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:middle}
.pgt tr:last-child td{border-bottom:0}.pgt tbody tr:hover{background:color-mix(in srgb,var(--ac) 5%,transparent)}
.pgt td:first-child{display:flex;gap:14px;align-items:center}.pgt td:first-child>span:last-child{display:flex;flex-direction:column}
.pgt td small{color:var(--mu);font-size:13px}.pgt td.pgf{font-family:var(--head);font-weight:800;color:var(--ac);white-space:nowrap}
.pgi{width:44px;height:44px;flex:none;border-radius:12px;background:var(--t);display:grid;place-items:center}.pgi svg{width:24px;height:24px}
/* programs: featured */
.pgfw{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:stretch}
.pgl{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 14px);overflow:hidden;min-width:0}
.pgli{aspect-ratio:16/9;overflow:hidden}.pgli .art{width:100%;height:100%}
.pglb{display:flex;flex-direction:column;gap:10px;padding:24px 26px 26px}.pglb .pgtag{align-self:flex-start;background:color-mix(in srgb,var(--ac) 14%,var(--bg));color:var(--ac)}
.pglb h3{font-size:24px}.pglb p{margin:0;color:var(--mu)}
.pgsl{display:flex;flex-direction:column;gap:12px;min-width:0}
.pgs{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 10px);padding:14px 18px;flex:1}
.pgs i{width:48px;height:48px;border-radius:14px;background:var(--t);display:grid;place-items:center}.pgs i svg{width:26px;height:26px}
.pgs h3{font-size:16px}.pgs p{margin:2px 0 0;color:var(--mu);font-size:13.5px}.pgs>b{font-family:var(--head);color:var(--ac);font-size:15.5px;white-space:nowrap}
/* admissions */
.adw{display:grid;grid-template-columns:1.2fr .9fr;gap:48px;align-items:center}.adw>*{min-width:0}
.adw h2{font-size:clamp(32px,3.6vw,50px);margin:6px 0 12px}
.ast{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;counter-reset:a}
.ast li{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 10px);padding:18px}
.ast .an{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:18px;background:linear-gradient(135deg,var(--ac),var(--ac2,var(--ac)));color:var(--bf)}
.ast b{display:block;font-size:16.5px}.ast p{margin:3px 0 0;color:var(--mu);font-size:14px}
.adc{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:calc(var(--r)*2 + 14px);background:var(--ink);color:var(--inkfg)}
.adb{position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ac2,var(--ac)) 70%,transparent),transparent 70%);opacity:.6}
.adk{position:relative;display:flex;gap:10px;align-items:center;margin:0;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.adk .ico{width:20px;height:20px}
.add{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.add li{display:flex;gap:18px;align-items:baseline;padding:13px 0;border-bottom:1px solid color-mix(in srgb,var(--inkfg) 16%,transparent)}
.add span{font-family:var(--head);font-weight:800;font-size:18px;min-width:70px;color:var(--ac2,var(--ac))}.add b{font-weight:600}
.adc .btn{position:relative;align-self:stretch;text-align:center;justify-content:center}
.adl{position:relative;display:inline-flex;gap:8px;align-items:center;font-weight:700;font-size:14px;color:inherit;opacity:.85}.adl .ico{width:18px;height:18px}
/* campus / facilities */
.cfg{display:grid;gap:18px}
.cfg.cv-bento{grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto}
.cfg.cv-bento .f0{grid-row:span 2}.cfg.cv-bento .f3{grid-column:span 2}
.cfg.cv-grid{grid-template-columns:repeat(4,1fr)}
.cf{position:relative;margin:0;border-radius:calc(var(--r) + 14px);overflow:hidden;min-width:0;min-height:220px;background:var(--card);isolation:isolate}
.cf .art{position:absolute;inset:0;width:100%;height:100%}.cf .art svg{width:100%;height:100%}
.cfg.cv-grid .cf{aspect-ratio:3/4}
.cf figcaption{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:calc(var(--r) + 8px);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(6px)}
.cf figcaption b{font-size:16px}.cf figcaption span{font-size:13.5px;color:var(--mu)}
/* events */
.evw{display:grid;grid-template-columns:1.6fr .9fr;gap:24px;align-items:start}.evw>*{min-width:0}
.evl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ev{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 10px);padding:14px 20px 14px 14px}
.evd{width:66px;height:70px;border-radius:calc(var(--r) + 6px);display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 70%,var(--ac2,var(--ac))));color:var(--bf);line-height:1}
.evd b{font-family:var(--head);font-size:26px}.evd small{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-top:4px}
.evt{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ac);margin-bottom:2px}
.ev>div>b{display:block;font-size:17px}.ev p{margin:4px 0 0;color:var(--mu);font-size:13.5px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ev p .ico{width:15px;height:15px}
.ev .lnk3{margin:0;white-space:nowrap}
.mcal{background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 12px);padding:20px}
.mcal p{display:flex;justify-content:space-between;margin:0 0 12px;font-size:16px}.mcal p span{color:var(--mu);letter-spacing:.3em}
.cdh,.cdg{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cdh span{font-size:11.5px;font-weight:800;color:var(--mu);padding:4px 0}
.cd{font-size:13.5px;padding:7px 0;border-radius:9px;font-weight:600}.cd.mu{opacity:.35}
.cd.on{background:var(--ac);color:var(--bf);font-weight:800;box-shadow:0 6px 14px color-mix(in srgb,var(--ac) 35%,transparent)}
.mcal small{display:block;margin-top:10px;color:var(--mu);font-size:12px}
/* hero: campus / course */
.hx-camp,.hx-crs{position:relative;overflow:hidden;padding:40px 0 56px}
.hx-camp h1,.hx-crs h1,.hx-kids h1,.hx-apply h1{font-size:clamp(40px,5.2vw,76px);margin-bottom:20px}
.hx-crs .isv{position:relative;aspect-ratio:800/560}
.crs{display:flex;align-items:center;gap:10px;background:var(--card);border:1.5px solid var(--line);border-radius:calc(var(--r) + 14px);padding:8px 8px 8px 18px;margin:26px 0 14px;box-shadow:0 16px 40px rgba(0,0,0,.07);max-width:560px}
.crs>.ico{width:22px;height:22px;flex:none;color:var(--mu)}
.crs input{flex:1;min-width:0;border:0;background:none;font-size:16px;color:var(--fg);padding:10px 0;font-family:var(--body)}.crs input:focus{outline:none}
.crs .btn{flex:none}
.crc{display:flex;flex-wrap:wrap;gap:8px}.crc a{font-size:13.5px;font-weight:700;padding:8px 14px;border-radius:99px;background:color-mix(in srgb,var(--ac) 10%,var(--card));color:var(--fg);border:1px solid var(--line)}
.hx-crs .fine{margin-top:12px}
/* hero: apply */
.hx-apply{position:relative;overflow:hidden;padding:48px 0 60px}
.apg{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center;position:relative;z-index:1}.apg>*{min-width:0}
.apa{margin-top:26px;aspect-ratio:16/8;border-radius:calc(var(--r)*2 + 14px);overflow:hidden;box-shadow:0 30px 60px color-mix(in srgb,var(--fg) 14%,transparent)}
.apa .art{width:100%;height:100%}.apa .art svg{width:100%;height:100%}
.apf{box-shadow:0 34px 70px color-mix(in srgb,var(--fg) 16%,transparent);position:relative}
.apf::before{content:"";position:absolute;inset:-14px 26px auto auto;width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--ac),var(--ac2,var(--ac)));z-index:-1}
.apf p{margin:-6px 0 0;color:var(--mu);font-size:14px}.apf .btn{align-self:stretch;justify-content:center}
/* hero: kids */
.hx-kids{position:relative;overflow:hidden;padding:50px 0 110px;background:linear-gradient(180deg,color-mix(in srgb,var(--ac) 12%,var(--bg)),color-mix(in srgb,var(--ac2,var(--ac)) 12%,var(--bg)))}
.hx-kids .w{position:relative;z-index:1}
.kb{position:absolute;border-radius:50%;z-index:0}
.kb.k1{width:240px;height:240px;left:-80px;top:40px;background:color-mix(in srgb,var(--ac2,var(--ac)) 30%,transparent)}
.kb.k2{width:120px;height:120px;right:8%;top:24px;background:color-mix(in srgb,var(--ac) 22%,transparent)}
.kb.k3{width:60px;height:60px;left:44%;bottom:120px;border:10px solid color-mix(in srgb,var(--ac) 35%,transparent)}
.kv{position:relative;aspect-ratio:1/1;max-width:560px;margin-left:auto;width:100%}
.kv>.art{position:absolute;inset:0;border-radius:42% 58% 52% 48% / 48% 42% 58% 52%;overflow:hidden;box-shadow:0 30px 70px color-mix(in srgb,var(--fg) 18%,transparent);border:10px solid var(--bg)}
.kv>.art svg{width:100%;height:100%}
.kch{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.kch span{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:99px;background:var(--bg);font-weight:700;font-size:14px;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.kch .ico{width:18px;height:18px;color:var(--ac)}
.kwave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;z-index:1}
.kv .isc.c1{left:-10px;bottom:10%}.kv .isc.c2{right:0;top:4%}
@media (max-width:1100px){.pgc{grid-template-columns:1fr 1fr}.cfg.cv-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.pgfw,.adw,.evw,.apg{grid-template-columns:1fr;gap:28px}.cfg.cv-bento{grid-template-columns:1fr 1fr}.cfg.cv-bento .f0{grid-row:auto;grid-column:span 2}.cfg.cv-bento .f3{grid-column:span 2}
 .kv{margin:0 auto;max-width:460px}.mcal{max-width:420px}}
@media (max-width:560px){.pgc,.cfg.cv-grid,.ast{grid-template-columns:1fr}.cfg.cv-bento{grid-template-columns:1fr}.cfg.cv-bento .f0,.cfg.cv-bento .f3{grid-column:auto}
 .cf{min-height:240px}.cfg.cv-grid .cf{aspect-ratio:4/3}.ev{grid-template-columns:auto 1fr;padding:12px}.ev .lnk3{grid-column:2}
 .pgs{grid-template-columns:auto 1fr}.pgs>b{grid-column:2}.crs{flex-wrap:wrap;padding:8px}.crs input{flex-basis:calc(100% - 40px)}.crs .btn{width:100%}
 .adc{padding:24px}.hx-kids{padding-bottom:90px}.kv>.art{border-width:6px}}
/* full hero: dark scrim so light text stays readable over illustrated scenes */
.ed .hx-full .bgp::after{background:linear-gradient(90deg,rgba(8,12,22,.86) 0,rgba(8,12,22,.62) 46%,rgba(8,12,22,.12) 82%)}
.ed .hx-full h1 em{color:color-mix(in srgb,var(--ac2,var(--ac)) 70%,#ffffff)}
@media (max-width:900px){.ed .hx-full .bgp::after{background:linear-gradient(180deg,rgba(8,12,22,.55),rgba(8,12,22,.82))}}
