*{box-sizing:border-box}body{margin:0;color:#202e40;background:#fcfbf8;font:17px/1.7 Arial,sans-serif}a{color:inherit}h1,h2,h3{line-height:1.12;font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(42px,5.5vw,78px);letter-spacing:-2px;margin:20px 0}h2{font-size:42px}h3{font-size:28px}p{max-width:720px;color:#526172}.wrap{max-width:1240px;margin:auto;padding:0 36px}.top{background:#143e64;color:white;font-size:13px;padding:9px;text-align:center}header{background:white;border-bottom:1px solid #e5e8ec}header .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:15px;padding-bottom:15px}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;font:23px Georgia}.brand img{width:78px}.brand small{display:block;font:11px Arial;letter-spacing:1px;margin-top:5px}nav{display:flex;align-items:center;gap:25px;font-size:14px}nav a{text-decoration:none}.button{display:inline-block;padding:15px 24px;background:#246ca2;color:white;text-decoration:none;border-radius:4px;font-size:15px}.small{padding:11px 17px}.secondary{background:transparent;border:1px solid #a5b8c8;color:#234c6d;margin-left:10px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:65px 0}.hero img{width:100%;height:540px;object-fit:cover;border-radius:130px 6px 6px 6px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#516896;font-weight:bold}.purple{color:#796193}.stats{display:flex;justify-content:space-around;border-top:1px solid #d9e0e5;border-bottom:1px solid #d9e0e5;padding:27px 0;gap:20px}.stats strong{font:32px Georgia;color:#246ca2}.stats small{display:block;font-size:13px;color:#526172}section{padding:65px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:white;border:1px solid #e0e5ea;border-radius:7px;overflow:hidden;text-decoration:none;display:block}.card img{width:100%;height:210px;object-fit:cover}.card .inside{padding:26px}.card h3{margin:0 0 15px}.card p{font-size:15px}.arrow{color:#246ca2;font-size:14px}.band{background:#edf2f6}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.split img{width:100%;height:430px;object-fit:cover;border-radius:8px}.callout{background:#f0ebf5;padding:35px;border-left:4px solid #826899;margin:30px 0}.partners{display:flex;gap:20px;flex-wrap:wrap}.partners a{padding:23px;background:white;border:1px solid #e0e5ea;flex:1;min-width:200px;text-decoration:none;font-family:Georgia;font-size:21px}.partners img{display:block;width:70px;height:70px;object-fit:contain;margin-bottom:10px}footer{background:#17364f;color:white;padding:50px 0}footer p{color:#d3dfe8;font-size:14px}footer a{color:white}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.menu{position:relative}.menu summary{cursor:pointer}.menu div{position:absolute;top:35px;left:-20px;background:white;padding:18px;box-shadow:0 10px 35px #0002;width:260px;z-index:10}.menu a{display:block;padding:8px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.resource{background:white;border:1px solid #dde4eb;padding:25px;border-radius:7px}.resource h3{font-size:25px;margin-top:0}.resource a{display:flex;justify-content:space-between;text-decoration:none;border-top:1px solid #e8edf0;padding:10px 0;font-size:15px}.resource a:hover{color:#246ca2}input{width:100%;padding:17px;border:1px solid #b8c7d4;border-radius:4px;font:inherit;margin:20px 0}.hidden{display:none}.steps{counter-reset:step}.step{border-bottom:1px solid #dce4eb;padding:15px 0}.step:before{counter-increment:step;content:'0' counter(step);color:#826899;margin-right:20px}.notice{font-size:13px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;background:white;z-index:20}a:focus-visible,summary:focus-visible{outline:3px solid #986bb1;outline-offset:5px}@media(max-width:900px){header .wrap{flex-direction:column}nav{flex-wrap:wrap;justify-content:center;gap:16px}.hero,.split{grid-template-columns:1fr;gap:25px}.hero img{height:350px}.grid,.resource-grid{grid-template-columns:1fr 1fr}.footergrid{grid-template-columns:1fr}.wrap{padding:0 22px}.stats{flex-wrap:wrap}h1{letter-spacing:-1px}}@media(max-width:550px){.grid,.resource-grid{grid-template-columns:1fr}.hero{padding:35px 0}.hero img{height:290px}.stats{justify-content:flex-start}.stats>div{width:44%}section{padding:40px 0}}
/* A brighter, family-centered Glasshouse */
body{background:#fffdfd;color:#29365b}header{background:#fff;box-shadow:0 4px 25px #9eabcf12}header .wrap{padding-top:12px;padding-bottom:12px}.brand img{width:150px;max-width:30vw}.brand{font-size:28px}.brand small{letter-spacing:.7px;font-size:10px}nav{gap:19px}.top{background:linear-gradient(110deg,#d6efff,#ece0ff);color:#33466f;font-weight:bold;padding:12px}.hero{position:relative;padding:55px 0 65px;gap:50px}.hero:before{content:'';position:absolute;background:linear-gradient(130deg,#e9f7ff,#f1e8ff);inset:0 -35px;border-radius:0 0 55px 55px;z-index:-1}.hero img{border-radius:44px 110px 44px 44px;height:510px;box-shadow:18px 18px 0 #dcd2f4}.hero h1{font-size:clamp(42px,5vw,70px);color:#284b77}.purple{color:#8766b6}.eyebrow{color:#6b63a2;letter-spacing:1.8px}.button{background:#6f59a8;border-radius:28px;box-shadow:0 5px 15px #6f59a824;font-weight:bold;transition:transform .2s,background .2s}.button:hover{background:#51418b;transform:translateY(-2px)}.button.secondary{background:#e4f3ff;color:#345d87;border-color:#bdd9f1}.stats{background:white;border-radius:25px;margin-top:30px;padding:25px;border:1px solid #e3def4}.stats strong{color:#7562ac}.band{background:linear-gradient(110deg,#eaf6ff,#f2eaff)}.card{border:1px solid #e6e1f3;border-radius:23px;box-shadow:0 8px 24px #585a8d09;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #585a8d19}.card:nth-child(2n){background:#f7f1ff}.card:nth-child(3n){background:#eef8ff}.card h3{color:#3b5682}.card .inside{padding:28px}.arrow{font-weight:bold;color:#7359aa}.callout{background:#f0e7fc;border:0;border-radius:24px;padding:32px}.split img{border-radius:32px}.partners a{border-radius:20px;background:#fff;box-shadow:0 6px 25px #6e68a30b}.resource{border-radius:22px;border-color:#ddd8ee}.resource:nth-child(2n){background:#f2f8ff}.resource h3{color:#715a9f}input{border-radius:30px;background:#fff;border-color:#d4c6e8}footer{background:linear-gradient(120deg,#dceeff,#e7dafa);color:#304668}footer p,footer a{color:#3d5270}footer .brand img{width:155px;border-radius:50%}h2{color:#3c5380}.joy-strip{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.joy-strip span{background:#fff9;border:1px solid #d6c9ee;border-radius:30px;padding:7px 15px;font-size:13px;color:#65518e}.faq details{padding:21px 0;border-bottom:1px solid #ded7ee}.faq summary{font-size:20px;cursor:pointer;color:#3c5380}.faq p{font-size:16px}.path-card{padding:30px;border-radius:25px;background:#f0f7ff}.path-card:nth-child(2){background:#f3eafa}.path-card:nth-child(3){background:#eaf7f4}.path-card b{font-size:34px;color:#8b72b3}.path-card h3{font-size:26px}@media(max-width:1100px){.brand{font-size:22px}.brand img{width:125px}nav{gap:12px;font-size:13px}}@media(max-width:900px){.hero img{height:360px}.brand img{width:145px}header .wrap{gap:10px}.hero:before{inset:0 -15px}.hero{padding:35px 0 50px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.expanded-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.flyer{margin:20px auto;max-width:580px;width:100%}.flyer img{display:block;width:100%;height:auto!important;object-fit:contain!important;border-radius:14px}.flyer figcaption{font-size:14px;margin-top:12px;color:#526172}.curriculum-layout{display:grid;grid-template-columns:340px 1fr;align-items:center;gap:65px}.partners img{width:100%;height:105px}.hero img[src^="/assets/"]{object-fit:contain;background:white;height:570px;border-radius:25px}.expanded-grid .path-card{background:#eef6ff}.expanded-grid .path-card:nth-child(2n){background:#f2eafa}@media(max-width:750px){.expanded-grid,.curriculum-layout{grid-template-columns:1fr;gap:22px}.curriculum-layout .flyer{max-width:300px}.hero img[src^="/assets/"]{height:450px}}
/* Let portrait flyers determine their own frame instead of letterboxing. */
.hero img[src^="/assets/"]{height:auto;max-height:none;aspect-ratio:auto;object-fit:cover;background:transparent;display:block;width:100%}.hero:has(img[src$="rooms-flyer.jpg"]){align-items:center}.card img{object-fit:cover;object-position:center;height:240px}@media(max-width:900px){.hero img[src^="/assets/"]{height:auto;max-height:none;width:100%}}

.brand img,footer .brand img{border-radius:0;object-fit:contain;height:auto;flex-shrink:0}

/* Homepage images retain their full natural proportions at every screen size. */
.home-page main img{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center}.home-page .card img{border-radius:22px 22px 0 0}.home-page .partners img{width:100%;height:auto!important;max-width:240px;margin:0 auto 18px}.home-page .hero img{align-self:center}.home-page .split img{align-self:center}
