:root{
  --ink:#33306b;
  --body:#5a5776;
  --red:#e94f4f;
  --orange:#f5872e;
  --yellow:#ffc233;
  --green:#3aa655;
  --blue:#2f7fd6;
  --purple:#8a5cd6;
  --cream:#fffaf1;
  --paper:#ffffff;
  --radius:26px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;color:var(--body);background:var(--cream);font-size:17px;line-height:1.65;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Fredoka',sans-serif;color:var(--ink);font-weight:600;line-height:1.15}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding-left:24px;padding-right:24px}

/* rainbow top strip — echo of the logo */
.rainbow{height:6px;background:linear-gradient(90deg,var(--red) 0 16.6%,var(--orange) 0 33.3%,var(--yellow) 0 50%,var(--green) 0 66.6%,var(--blue) 0 83.3%,var(--purple) 0 100%)}

/* header */
header{background:var(--paper);position:sticky;top:0;z-index:50;box-shadow:0 2px 20px rgba(51,48,107,.07)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1240px;margin:0 auto}
.nav .logo img{height:64px;width:auto}
.nav ul{display:flex;gap:30px;list-style:none;align-items:center}
.nav ul a{font-weight:700;color:var(--ink);font-size:15.5px;position:relative;padding-bottom:3px}
.nav ul a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;border-radius:2px;background:var(--yellow);transition:right .25s}
.nav ul a:hover:after,.nav ul a.active:after{right:0}
.btn{display:inline-block;font-family:'Fredoka',sans-serif;font-weight:600;font-size:16.5px;padding:13px 28px;border-radius:999px;transition:transform .18s,box-shadow .18s;cursor:pointer;border:none}
.btn:hover{transform:translateY(-2px) rotate(-1deg)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 6px 0 #c93a3a}
.btn-red:hover{box-shadow:0 8px 0 #c93a3a}
.btn-yellow{background:var(--yellow);color:var(--ink);box-shadow:0 6px 0 #dda616}
.btn-yellow:hover{box-shadow:0 8px 0 #dda616}
.btn-ghost{background:transparent;color:var(--ink);border:2.5px solid var(--ink);box-shadow:none}
.nav-cta{display:flex;align-items:center;gap:18px}
.nav-phone{font-weight:800;color:var(--ink);font-size:15.5px;display:flex;align-items:center;gap:7px}
.nav-phone svg{width:17px;height:17px;stroke:var(--green)}
.hamb{display:none;background:none;border:none;cursor:pointer;padding:4px}
.hamb svg{width:30px;height:30px;stroke:var(--ink)}

/* ============ off-canvas mobile menu ============ */
.mnav-backdrop{position:fixed;inset:0;background:rgba(41,38,86,.55);opacity:0;pointer-events:none;transition:opacity .3s;z-index:98}
.mnav{position:fixed;top:0;right:0;bottom:0;width:min(370px,90vw);background:var(--ink);z-index:99;transform:translateX(105%);transition:transform .38s cubic-bezier(.6,1.4,.4,1);display:flex;flex-direction:column;padding:26px 30px 34px;overflow-y:auto;overflow-x:hidden}
.mnav:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--red) 0 16.6%,var(--orange) 0 33.3%,var(--yellow) 0 50%,var(--green) 0 66.6%,var(--blue) 0 83.3%,var(--purple) 0 100%)}
body.menu-open .mnav{transform:translateX(0)}
body.menu-open .mnav-backdrop{opacity:1;pointer-events:auto}
body.menu-open{overflow:hidden}
.mnav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.mnav-bulb{width:44px;height:44px;animation:bob 3.5s ease-in-out infinite}
.mnav-close{background:none;border:none;cursor:pointer;width:46px;height:46px;border-radius:50%;background:#3a3670;display:flex;align-items:center;justify-content:center;transition:transform .25s,background .2s}
.mnav-close:hover{transform:rotate(90deg);background:var(--red)}
.mnav-close svg{width:22px;height:22px;stroke:#fff}
.mnav ul{list-style:none;flex:1}
.mnav li{opacity:0;transform:translateX(46px);transition:opacity .35s ease,transform .4s cubic-bezier(.5,1.6,.4,1);transition-delay:0s}
body.menu-open .mnav li{opacity:1;transform:translateX(0);transition-delay:calc(.08s + var(--i)*.055s)}
.mnav li a{display:flex;align-items:center;gap:16px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:23px;color:#fff;padding:11px 4px;border-radius:14px;transition:transform .18s}
.mnav li a:hover,.mnav li a.active{color:var(--c)}
.mnav li a:hover{transform:rotate(-1.5deg) translateX(4px)}
.mnav li:nth-child(even) a:hover{transform:rotate(1.5deg) translateX(4px)}
.mnav .shape{width:26px;height:26px;flex-shrink:0;display:flex;transition:transform .3s}
.mnav li a:hover .shape{transform:rotate(20deg) scale(1.15)}
.mnav-foot{margin-top:22px;opacity:0;transform:translateY(20px);transition:opacity .35s ease .45s,transform .35s ease .45s}
body.menu-open .mnav-foot{opacity:1;transform:none}
.mnav-foot .btn{display:block;text-align:center;margin-bottom:16px}
.mnav-call{display:flex;align-items:center;justify-content:center;gap:9px;color:#c9c6e8;font-weight:800;font-size:16px}
.mnav-call svg{width:17px;height:17px;stroke:var(--yellow)}
.mnav-confetti{position:absolute;border-radius:50%;pointer-events:none;opacity:.85}

/* hero (home) */
.hero{position:relative;padding:72px 0 120px;background:var(--cream)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(38px,5vw,58px);font-weight:700;margin-bottom:22px}
.hero p.lead{font-size:19px;max-width:52ch;margin-bottom:34px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.hero-note{margin-top:26px;font-weight:700;color:var(--ink);font-size:15.5px;display:flex;align-items:center;gap:9px}
.hero-note svg{width:20px;height:20px;stroke:var(--orange);flex-shrink:0}
.squig{display:block;margin-top:10px}
.hero-art{position:relative}
.hero-photo{border-radius:36px;overflow:hidden;box-shadow:0 24px 60px rgba(51,48,107,.18);transform:rotate(1.5deg)}
.hero-photo img{width:100%;height:420px;object-fit:cover}
.hero-photo-2{position:absolute;left:-52px;bottom:-58px;width:200px;height:200px;border-radius:50%;overflow:hidden;border:8px solid var(--paper);box-shadow:0 16px 40px rgba(51,48,107,.2);transform:rotate(-3deg)}
.hero-photo-2 img{width:100%;height:100%;object-fit:cover}
.doodle{position:absolute;pointer-events:none}
.d-sun{top:-38px;right:-24px;width:90px;animation:spin 24s linear infinite}
.d-star{bottom:-20px;right:36px;width:54px;animation:bob 4s ease-in-out infinite}
.d-loop{top:34%;left:-70px;width:70px;animation:bob 5s ease-in-out infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* inner page hero */
.page-hero{position:relative;padding:66px 0 58px;text-align:center;background:var(--cream);overflow:hidden}
.page-hero h1{font-size:clamp(36px,4.6vw,52px);font-weight:700;margin-bottom:16px}
.page-hero p.lead{font-size:18.5px;max-width:60ch;margin:0 auto}
.page-hero .squig{margin:18px auto 0}
.page-hero .doodle{opacity:.9}
.ph-sun{top:30px;left:6%;width:74px;animation:spin 26s linear infinite}
.ph-star{bottom:26px;right:7%;width:46px;animation:bob 4.5s ease-in-out infinite}
.ph-loop{top:42%;right:12%;width:60px;animation:bob 5.5s ease-in-out infinite reverse}
.ph-star2{top:36px;right:20%;width:30px;animation:bob 3.8s ease-in-out infinite}

/* scalloped edge */
.scallop{display:block;width:100%;height:36px;margin-bottom:-1px}

/* trust strip */
.trust{background:var(--paper);padding:34px 0 44px}
.trust .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.trust-item{display:flex;align-items:center;gap:14px}
.trust-item svg{width:34px;height:34px;flex-shrink:0}
.trust-item strong{display:block;font-family:'Fredoka',sans-serif;font-weight:600;color:var(--ink);font-size:16.5px;line-height:1.3}
.trust-item span{font-size:14px}

/* section heading pattern */
.sec-head{text-align:center;max-width:640px;margin:0 auto 54px}
.sec-head h2{font-size:clamp(30px,3.6vw,42px);margin-bottom:14px}
.sec-head p{font-size:17.5px}
.sec-head .squig{margin:14px auto 0}

/* welcome (home) */
.welcome{background:var(--paper);padding:40px 0 96px}
.welcome .wrap{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:64px;align-items:center}
.welcome-art{position:relative}
.welcome-art .main{border-radius:36px;overflow:hidden;transform:rotate(-1.5deg);box-shadow:0 20px 50px rgba(51,48,107,.16)}
.welcome-art .main img{width:100%;height:430px;object-fit:cover}
.welcome-art .crayon{position:absolute;right:-16px;top:-16px;width:120px;height:120px;border-radius:32px;background:var(--yellow);z-index:-1;transform:rotate(8deg)}
.welcome-art .crayon2{position:absolute;left:-14px;bottom:-14px;width:90px;height:90px;border-radius:50%;background:var(--blue);opacity:.9;z-index:-1}
.welcome h2{font-size:clamp(30px,3.6vw,40px);margin-bottom:20px}
.welcome blockquote{font-family:'Fredoka',sans-serif;font-weight:500;font-size:21px;color:var(--purple);margin:0 0 18px;padding-left:18px;border-left:5px solid var(--purple);border-radius:2px}
.welcome p{margin-bottom:16px}
.welcome .btn{margin-top:12px}

/* programs (home cards) */
.programs{padding:96px 0;background:var(--cream);position:relative}
.prog-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.prog{grid-column:span 2}
.prog:nth-child(4){grid-column:2/span 2}
.prog:nth-child(5){grid-column:4/span 2}
.prog{background:var(--paper);border-radius:var(--radius);padding:34px 26px 30px;position:relative;box-shadow:0 10px 30px rgba(51,48,107,.08);transition:transform .2s,box-shadow .2s;border-top:7px solid var(--c)}
.prog:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 18px 42px rgba(51,48,107,.14)}
.prog .ico{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 14%,white);margin-bottom:18px}
.prog .ico svg{width:30px;height:30px;stroke:var(--c)}
.prog h3{font-size:21px;margin-bottom:4px}
.prog .age{font-weight:800;font-size:14px;color:var(--c);margin-bottom:10px}
.prog p{font-size:15px}
.prog a{font-weight:800;font-size:14.5px;color:var(--c);display:inline-flex;align-items:center;gap:5px;margin-top:14px}
.prog a svg{width:15px;height:15px;stroke:var(--c);transition:transform .2s}
.prog a:hover svg{transform:translateX(4px)}

/* program detail rows (programs page) */
.pdetails{background:var(--paper);padding:90px 0}
.pdetail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:60px;align-items:center;padding:44px 0}
.pdetail+.pdetail{border-top:2px dashed #eee7d8}
.pdetail.flip .pd-art{order:2}
.pd-art{position:relative}
.pd-art .main{border-radius:32px;overflow:hidden;box-shadow:0 18px 44px rgba(51,48,107,.14);transform:rotate(-1.2deg)}
.pdetail.flip .pd-art .main{transform:rotate(1.2deg)}
.pd-art .main img{width:100%;height:340px;object-fit:cover}
.pd-art .chip{position:absolute;width:86px;height:86px;border-radius:30px;background:var(--c);opacity:.9;z-index:-1;top:-16px;left:-16px;transform:rotate(-8deg)}
.pdetail.flip .pd-art .chip{left:auto;right:-16px;transform:rotate(8deg)}
.pdetail .ico{width:60px;height:60px;border-radius:19px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 14%,white);margin-bottom:18px}
.pdetail .ico svg{width:31px;height:31px;stroke:var(--c)}
.pdetail h2{font-size:clamp(27px,3vw,34px);margin-bottom:4px}
.pdetail .age{font-weight:800;font-size:15px;color:var(--c);margin-bottom:14px}
.pdetail p{margin-bottom:12px}
.pdetail ul{list-style:none;margin:16px 0 4px}
.pdetail ul li{padding-left:30px;position:relative;margin-bottom:9px;font-size:15.5px}
.pdetail ul li:before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:5px;background:var(--c);
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>') center/100% no-repeat;
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>') center/100% no-repeat}

/* gallery */
.gallery{background:var(--paper);padding:96px 0}
.gal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.gal-grid figure{border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(51,48,107,.12);transition:transform .25s}
.gal-grid figure:nth-child(odd){transform:rotate(-1.4deg)}
.gal-grid figure:nth-child(even){transform:rotate(1.4deg)}
.gal-grid figure:hover{transform:rotate(0) scale(1.04)}
.gal-grid img{width:100%;height:230px;object-fit:cover}
.gal-grid .tall img{height:482px}
.gal-note{text-align:center;margin-top:26px;font-size:14px;font-style:italic}

/* why us */
.why{padding:96px 0;background:var(--cream)}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.why-card{text-align:center;padding:38px 26px;background:var(--paper);border-radius:var(--radius);box-shadow:0 10px 30px rgba(51,48,107,.07)}
.why-card .ico{width:70px;height:70px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 15%,white)}
.why-card .ico svg{width:34px;height:34px;stroke:var(--c)}
.why-card h3{font-size:19.5px;margin-bottom:10px}
.why-card p{font-size:15px}

/* about page — mission/vision/curriculum */
.mvc{background:var(--paper);padding:90px 0}
.mvc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.mvc-card{background:var(--cream);border-radius:var(--radius);padding:38px 30px;border-top:7px solid var(--c)}
.mvc-card .ico{width:62px;height:62px;border-radius:19px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 14%,white);margin-bottom:20px}
.mvc-card .ico svg{width:31px;height:31px;stroke:var(--c)}
.mvc-card h3{font-size:21px;margin-bottom:12px}
.mvc-card p{font-size:15.5px}

/* generic two-column feature */
.feature{padding:90px 0}
.feature .wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;align-items:center}
.feature.flip .wrap>.f-art{order:2}
.f-art{position:relative}
.f-art .main{border-radius:36px;overflow:hidden;box-shadow:0 20px 50px rgba(51,48,107,.16);transform:rotate(-1.3deg)}
.feature.flip .f-art .main{transform:rotate(1.3deg)}
.f-art .main img{width:100%;height:420px;object-fit:cover}
.f-art .blob{position:absolute;left:-18px;top:-18px;width:104px;height:104px;background:var(--c,#3aa655);border-radius:36% 64% 55% 45%/48% 40% 60% 52%;z-index:-1;opacity:.85}
.feature.flip .f-art .blob{left:auto;right:-18px}
.feature h2{font-size:clamp(29px,3.4vw,38px);margin-bottom:18px}
.feature p{margin-bottom:15px}

/* director (home) */
.director{background:var(--paper);padding:96px 0}
.director .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px;align-items:center}
.dir-photo{position:relative}
.dir-photo .main{border-radius:36px;overflow:hidden;box-shadow:0 20px 50px rgba(51,48,107,.16);transform:rotate(1.2deg)}
.dir-photo .main img{width:100%;height:440px;object-fit:cover;object-position:22% center}
.dir-photo .blob{position:absolute;left:-20px;top:-20px;width:110px;height:110px;background:var(--green);border-radius:36% 64% 55% 45%/48% 40% 60% 52%;z-index:-1;opacity:.85}
.director h2{font-size:clamp(30px,3.6vw,40px);margin-bottom:18px}
.director p{margin-bottom:15px}
.dir-name{font-family:'Fredoka',sans-serif;font-weight:600;color:var(--blue);font-size:18px;margin-top:6px}

/* testimonials */
.testi{padding:96px 0;background:var(--cream)}
.testi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.t-card{background:var(--paper);border-radius:var(--radius);padding:36px 30px;box-shadow:0 10px 30px rgba(51,48,107,.08);position:relative;display:flex;flex-direction:column}
.t-card .qmark{font-family:'Fredoka',sans-serif;font-size:64px;line-height:1;color:var(--c);opacity:.9;margin-bottom:8px;font-weight:700}
.t-card p{font-size:15.5px;flex:1}
.t-card .who{margin-top:20px;font-weight:800;color:var(--ink);font-size:15px}
.t-card .who span{display:block;font-weight:600;color:var(--body);font-size:13.5px}
/* testimonials page — full-width stacked quotes */
.testi-full .t-card{margin-bottom:28px}
.testi-full .t-card p{font-size:16.5px}
.testi-full{max-width:820px;margin:0 auto}
.testi-full .t-card:nth-child(odd){transform:rotate(-.5deg)}
.testi-full .t-card:nth-child(even){transform:rotate(.5deg)}

/* costs page */
.cost-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-bottom:16px}
.cost-card{background:var(--paper);border-radius:var(--radius);padding:38px 30px;text-align:center;box-shadow:0 10px 30px rgba(51,48,107,.08);border-top:7px solid var(--c)}
.cost-card .ico{width:66px;height:66px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 15%,white)}
.cost-card .ico svg{width:32px;height:32px;stroke:var(--c)}
.cost-card h3{font-size:20px;margin-bottom:10px}
.cost-card p{font-size:15px}

/* enrollment form */
.enroll{background:var(--paper);padding:90px 0}
.enroll .wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.enroll-info h2{font-size:clamp(27px,3.2vw,36px);margin-bottom:16px}
.enroll-info p{margin-bottom:15px}
.enroll-info .steps{list-style:none;margin:22px 0}
.enroll-info .steps li{display:flex;gap:16px;margin-bottom:18px;align-items:flex-start}
.enroll-info .steps .n{font-family:'Fredoka',sans-serif;font-weight:600;color:#fff;width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
.enroll-info .steps strong{color:var(--ink)}
.form-card{background:var(--cream);border-radius:30px;padding:40px 38px;box-shadow:0 18px 50px rgba(51,48,107,.12);position:relative}
.form-card h3{font-size:23px;margin-bottom:6px}
.form-card>p{font-size:15px;margin-bottom:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid .full{grid-column:1/-1}
.form-card label{display:block;font-weight:800;color:var(--ink);font-size:14px;margin-bottom:6px}
.form-card input,.form-card select,.form-card textarea{width:100%;font-family:'Nunito',sans-serif;font-size:15.5px;color:var(--ink);background:var(--paper);border:2.5px solid #e9e2d2;border-radius:14px;padding:12px 15px;outline:none;transition:border-color .2s}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--blue)}
.form-card textarea{min-height:110px;resize:vertical}
.form-card .btn{width:100%;margin-top:20px}
.form-ok{text-align:center;padding:40px 10px}
.form-ok svg{width:64px;height:64px;stroke:var(--green);margin:0 auto 18px}
.form-ok h3{margin-bottom:8px}

/* CTA band */
.cta{background:var(--ink);padding:96px 0;position:relative;overflow:hidden}
.cta .confetti{position:absolute;border-radius:50%;opacity:.9}
.cta .wrap{position:relative;text-align:center;max-width:760px}
.cta h2{color:#fff;font-size:clamp(32px,4vw,46px);margin-bottom:18px}
.cta p{color:#c9c6e8;font-size:18.5px;margin-bottom:36px}
.cta .btn-row{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;align-items:center}
.cta .call{color:#fff;font-weight:800;font-size:17px;display:inline-flex;align-items:center;gap:9px}
.cta .call svg{width:19px;height:19px;stroke:var(--yellow)}

/* footer */
footer{background:#292656;color:#b9b6d9;padding:70px 0 0;font-size:15px}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:54px}
.foot-grid h4{color:#fff;font-size:17px;margin-bottom:16px}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:9px}
.foot-grid a:hover{color:var(--yellow)}
.foot-logo{background:#fff;border-radius:18px;padding:14px;display:inline-block;margin-bottom:16px}
.foot-logo img{height:84px}
.foot-contact li{display:flex;gap:10px;align-items:flex-start}
.foot-contact svg{width:17px;height:17px;stroke:var(--yellow);flex-shrink:0;margin-top:4px}
.foot-contact a{white-space:nowrap}
.foot-hours li{margin-bottom:14px}
.foot-hours li span{display:block}
.foot-hours li span:first-child{font-weight:800;color:#fff;font-size:14px}
.foot-social{display:flex;gap:12px;margin-top:14px}
.foot-social a{width:38px;height:38px;border-radius:12px;background:#3a3670;display:flex;align-items:center;justify-content:center;transition:background .2s}
.foot-social a:hover{background:var(--blue)}
.foot-social svg{width:18px;height:18px;fill:#fff}
.foot-bottom{border-top:1px solid #3a3670;padding:20px 0;font-size:13.5px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.foot-bottom a{color:var(--yellow)}

@media(max-width:960px){
  .nav ul{display:none}
  .hamb{display:block}
  .hero .wrap,.welcome .wrap,.director .wrap,.feature .wrap,.enroll .wrap{grid-template-columns:1fr;gap:44px}
  .hero{padding:48px 0 90px}
  .hero-photo img{height:320px}
  .hero-photo-2{left:auto;right:-10px;bottom:-46px;width:150px;height:150px}
  .d-loop{display:none}
  .trust .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prog,.prog:nth-child(4),.prog:nth-child(5){grid-column:auto}
  .prog:nth-child(5){grid-column:1/-1}
  .gal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gal-grid .tall img{height:230px}
  .testi-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .welcome-art .main img,.f-art .main img{height:320px}
  .dir-photo .main img{height:360px}
  .pdetail{grid-template-columns:1fr;gap:36px;padding:36px 0}
  .pdetail.flip .pd-art{order:0}
  .pd-art .main img{height:260px}
  .mvc-grid,.cost-cards{grid-template-columns:1fr}
  .ph-loop,.ph-star2{display:none}
}
@media(max-width:560px){
  .trust .wrap{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .nav-phone{display:none}
  .form-grid{grid-template-columns:1fr}
  .form-card{padding:32px 24px}
  .prog-grid{grid-template-columns:1fr}
  .prog:nth-child(5){grid-column:auto}
}

/* generic checkmark list */
ul.checks{list-style:none;margin:16px 0 4px}
ul.checks li{padding-left:30px;position:relative;margin-bottom:9px;font-size:15.5px}
ul.checks li:before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:5px;background:var(--c,#3aa655);
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>') center/100% no-repeat;
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>') center/100% no-repeat}

/* compact mobile header */
@media(max-width:560px){
  .nav{padding:12px 16px}
  .nav .logo img{height:50px}
  .nav-cta{gap:10px}
  .nav-cta .btn-red{padding:10px 16px;font-size:14px;box-shadow:0 4px 0 #c93a3a}
  .nav-cta .btn-red:hover{box-shadow:0 5px 0 #c93a3a}
}
