@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--purple:#55206f;--purple-dark:#321044;--pink:#e95a9b;--maroon:#741b43;--ink:#24172c;--muted:#716879;--cream:#fcf9fc;--line:#eee5f0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:86px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #f1eaf3}.brand{display:flex;align-items:center;gap:11px;color:var(--purple-dark);letter-spacing:.07em}.brand strong{display:block;font-size:13px;line-height:1.25}.brand span{display:block;font-size:10px;letter-spacing:.26em}.logo-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--purple),var(--maroon));color:white;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:17px}.nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:600}.nav a{transition:.2s}.nav a:hover{color:var(--pink)}.nav-cta{background:var(--purple);color:#fff;padding:12px 18px;border-radius:6px}.nav-cta:hover{color:#fff!important;background:var(--maroon)}.menu-toggle{display:none;border:0;background:none;font-size:25px;color:var(--purple)}
.hero{min-height:610px;padding:80px 8% 70px;background:linear-gradient(115deg,#fbf7fc 0%,#fff 56%,#f8eaf3 100%);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:45px;overflow:hidden}.eyebrow,.section-tag{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--pink)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(42px,5.2vw,68px);margin:20px 0}h1 em,h2 em{color:var(--pink);font-weight:500}.hero-copy{max-width:510px;color:var(--muted);font-size:15px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;gap:20px;padding:14px 20px;border-radius:5px;font-size:12px;font-weight:700;transition:.2s}.btn-pink{background:var(--pink);color:white}.btn-pink:hover{background:var(--maroon);transform:translateY(-2px)}.btn-outline{border:1px solid #d8c8de;color:var(--purple)}.hero-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px}.note-dot{width:7px;height:7px;border-radius:50%;background:var(--pink)}.hero-visual{height:430px;position:relative;display:grid;place-items:center}.photo-placeholder{width:76%;height:88%;background:linear-gradient(145deg,#ead7ef,#f2bdd7 55%,#8b527e);border:9px solid #fff;box-shadow:0 25px 65px #56206f20;border-radius:46% 46% 13px 13px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;letter-spacing:.13em;font-size:12px;position:relative;z-index:2}.photo-placeholder small{font-size:9px;letter-spacing:0;margin-top:7px}.visual-orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:145px;height:145px;background:#ed91bd70;right:0;top:8px}.orb-two{width:95px;height:95px;background:#a98bc570;left:0;bottom:10px}.floating-card{position:absolute;z-index:3;bottom:40px;left:0;background:#fff;padding:17px 22px;display:flex;align-items:center;gap:13px;box-shadow:0 12px 35px #32104418;border-radius:8px}.floating-card b{font:42px 'Playfair Display';color:var(--maroon)}.floating-card span{font-size:10px;line-height:1.5;color:var(--muted)}.vertical-label{position:absolute;right:-15px;top:38%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.24em;color:var(--purple)}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 8%;background:var(--purple-dark);color:white}.trust-strip div{padding:5px 20px;border-right:1px solid #ffffff2c}.trust-strip div:first-child{padding-left:0}.trust-strip div:last-child{border:0}.trust-strip b,.trust-strip span{display:block}.trust-strip b{font:20px 'Playfair Display';color:#f5b0d0}.trust-strip span{font-size:10px;color:#d6c5df;margin-top:2px}
.section{padding:95px 8%}.intro{background:#fff}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:18px}.section h2{font-size:clamp(34px,4vw,49px);margin:15px 0}.lead{font-size:17px;color:var(--purple);font-weight:600}.two-col p:not(.lead){font-size:13px;color:var(--muted)}.text-link{display:inline-block;color:var(--maroon);font-size:12px;font-weight:700;margin-top:13px}.text-link span{margin-left:8px}.learning-section,.life-section,.visit-section{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.section-heading>p{max-width:360px;color:var(--muted);font-size:13px;margin-bottom:8px}.learning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.learning-card{position:relative;background:white;padding:27px 23px 24px;border:1px solid var(--line);min-height:280px;transition:.25s}.learning-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #3210440c}.learning-card.featured{background:var(--purple);color:white}.card-number{font-size:10px;color:#b6a2c1;letter-spacing:.1em}.card-icon{font-size:28px;color:var(--pink);margin:22px 0 12px}.learning-card h3{font:22px 'Playfair Display';margin-bottom:5px}.learning-card p{font-size:11px;color:var(--maroon);font-weight:700;margin-bottom:12px}.learning-card.featured p{color:#f7b1d0}.learning-card>span{font-size:11px;color:var(--muted);display:block;min-height:48px}.learning-card.featured>span{color:#e1d2e8}.learning-card a{display:inline-block;font-size:11px;font-weight:700;color:var(--maroon);margin-top:18px}.learning-card.featured a{color:#ffb9d6}.small-note{font-size:10px;color:#8d8292;margin-top:18px}
.results-band{background:linear-gradient(120deg,var(--purple-dark),#64214f);color:#fff;padding:80px 9%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.section-tag.light{color:#f2a5c9}.results-copy h2{font-size:44px;margin:15px 0}.results-copy p{font-size:12px;color:#d9c9e0;max-width:470px}.results-chart{background:#ffffff0b;border:1px solid #ffffff20;padding:25px 25px 15px;border-radius:9px}.result{display:grid;grid-template-columns:42px 1fr 58px;align-items:center;gap:12px;margin:11px 0;font-size:10px;color:#e1d1e8}.result b{text-align:right;color:#fff;font-size:10px}.bar{height:8px;width:var(--w);background:linear-gradient(90deg,#d94f96,#f2a5c9);border-radius:10px}.chart-caption{font-size:9px;color:#bdaac9;text-align:right;margin:15px 0 0}
.life-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.life-tile{background:white;border:1px solid var(--line)}.tile-photo{height:175px;background:linear-gradient(135deg,#d9c2e5,#9b78b5);display:grid;place-items:center;color:#fff;font-size:10px;letter-spacing:.14em}.tile-large .tile-photo{height:230px;background:linear-gradient(135deg,#8d5a9b,#ed9abf)}.pink-bg{background:linear-gradient(135deg,#f5c2d9,#c16b9e)}.lavender-bg{background:linear-gradient(135deg,#bca4d9,#74558e)}.tile-caption{padding:20px}.tile-caption span{font-size:9px;letter-spacing:.15em;color:var(--pink);font-weight:700}.tile-caption h3{font:22px 'Playfair Display';margin:7px 0}.tile-caption p{font-size:11px;color:var(--muted);margin:0}
.admissions{padding-top:30px;padding-bottom:95px;background:var(--cream)}.admissions-box{position:relative;background:linear-gradient(120deg,#3a124f,#6b214e);color:white;text-align:center;padding:65px 20px;border-radius:10px;overflow:hidden}.admissions-box h2{font-size:44px;margin:15px 0}.admissions-box p{font-size:12px;color:#dfd0e4;max-width:580px;margin:0 auto 25px}.admissions-box small{display:block;color:#c4afce;font-size:9px;margin-top:12px}.admission-spark{position:absolute;right:8%;top:18%;font-size:55px;color:#f08bb9;opacity:.5}
.campus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.campus-card{padding:26px;background:#fff;border:1px solid var(--line);min-height:235px}.campus-card.junior{background:#fbf0f6}.campus-top{display:flex;justify-content:space-between;align-items:center}.campus-label{font-size:9px;letter-spacing:.12em;color:var(--pink);font-weight:700}.campus-pin{color:var(--maroon)}.campus-card h3{font:25px 'Playfair Display';margin:24px 0 5px}.campus-card p{font-size:11px;color:var(--muted);min-height:20px}.campus-phone{display:block;margin-top:12px;font-size:12px;font-weight:700;color:var(--purple)}.campus-card small{display:block;font-size:9px;color:#8c7c90;margin-top:8px}
.contact-section{padding:75px 9%;background:var(--maroon);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-section h2{font-size:45px;margin:15px 0}.contact-section p{font-size:12px;color:#e2cbd6;max-width:350px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-details a{border-bottom:1px solid #ffffff35;padding:12px 0}.contact-details span,.contact-details b{display:block}.contact-details span{font-size:10px;color:#e7a9c7}.contact-details b{font-size:12px;margin-top:5px;overflow-wrap:anywhere}.footer{padding:35px 8% 20px;background:#260d35;color:#fff}.footer-brand{color:white}.footer>p{font-size:10px;color:#bba9c5;margin:18px 0 30px}.footer-bottom{border-top:1px solid #ffffff20;padding-top:16px;display:flex;justify-content:space-between;font-size:9px;color:#bba9c5}
@media(max-width:1050px){.nav{gap:13px;font-size:11px}.hero{padding-left:6%;padding-right:6%}.section{padding-left:6%;padding-right:6%}.learning-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{height:72px;padding:0 5%}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px 5%;box-shadow:0 15px 20px #32104412;flex-direction:column;align-items:stretch;gap:17px}.nav.open{display:flex}.nav-cta{text-align:center}.hero{grid-template-columns:1fr;padding:55px 7% 45px;gap:20px}.hero-visual{height:330px}.photo-placeholder{width:70%;height:90%}.trust-strip{grid-template-columns:repeat(2,1fr);gap:14px;padding:22px 7%}.trust-strip div{padding:5px 10px;border:0}.trust-strip div:first-child{padding-left:10px}.two-col,.results-band,.contact-section{grid-template-columns:1fr;gap:25px}.section{padding:65px 7%}.section-heading{display:block}.section-heading>p{margin-top:15px}.learning-grid{grid-template-columns:1fr 1fr}.results-band{padding:60px 7%}.results-copy h2,.admissions-box h2,.contact-section h2{font-size:37px}.life-grid,.campus-grid{grid-template-columns:1fr}.life-tile .tile-photo,.tile-large .tile-photo{height:190px}.admissions{padding:0 5% 65px}.admissions-box{padding:55px 22px}.contact-details{gap:12px}.footer-bottom{gap:10px;flex-direction:column}}
@media(max-width:420px){.learning-grid{grid-template-columns:1fr}.hero-actions{align-items:stretch;flex-direction:column}.btn{justify-content:center}.contact-details{grid-template-columns:1fr}}

/* Official school logo */
.school-logo{display:block;width:190px;max-width:24vw;height:58px;object-fit:contain;object-position:left center}
@media(max-width:760px){.school-logo{width:165px;max-width:58vw;height:50px}}
