@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Libre Caslon Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/font-5.ttf) format('truetype');
}
:root{--navy:#153b64;--blue:#356f9a;--paper:#f8fbff;--yellow:#b9d9ef;--coral:#397eaf;--muted:#526b80;--line:#d3e1ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:#236595}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(3.2rem,5.4vw,5.6rem);margin-bottom:26px}h1 em{font-style:normal;color:var(--blue)}h2{font-size:clamp(2.6rem,3.7vw,4rem);margin-bottom:23px}h3{font-size:1.35rem;line-height:1.3;font-weight:600;margin-bottom:12px}p{margin-bottom:20px;color:var(--muted)}.topbar{background:var(--navy);color:#fff;font-size:13px;letter-spacing:.09em;text-align:center;padding:8px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap;line-height:1.3;letter-spacing:.1em;font-size:21px;font-weight:600}.brand img{width:60px;height:65px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:.23em;margin-top:5px}header{height:110px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}nav{display:flex;gap:27px;align-items:center}nav a{font-size:14px;text-decoration:none;padding:12px 0;border-bottom:2px solid transparent}nav a[aria-current]{border-color:var(--coral)}.menu-toggle{display:none}.eyebrow{display:block;letter-spacing:.16em;font-size:12px;font-weight:700;margin-bottom:20px;line-height:1.7}.hero{display:grid;grid-template-columns:1fr 1fr;padding:65px 5.5% 74px;gap:5%;align-items:center}.hero-copy{padding:10px 0}.hero .eyebrow{font-size:11px;letter-spacing:.13em}.slogan{font-size:20px;line-height:1.6;margin-bottom:30px}.button{display:inline-block;background:var(--navy);border:1px solid var(--navy);color:#fff;text-decoration:none;padding:14px 25px;border-radius:4px;font-size:14px;font-weight:600}.button:hover{background:var(--blue);color:white}.hero-note{display:flex;gap:18px;align-items:center;margin-top:35px;font-size:12px;color:var(--muted)}.hero-note span:first-child{font-weight:700;padding-right:18px;border-right:1px solid var(--line);letter-spacing:.12em}.hero-art{position:relative;padding-bottom:25px}.hero-art img{width:100%;height:510px;object-fit:cover;border-radius:180px 180px 12px 12px;background:#e2eef8}.art-label{position:absolute;bottom:0;left:-25px;background:var(--yellow);padding:22px 30px;border-radius:4px;font-size:18px;line-height:1.5;transform:rotate(-3deg)}.art-label strong{font-weight:600}.section{padding:75px 5.5%}.mission{background:#e9f2fa;display:grid;grid-template-columns:1fr 1.2fr;gap:8%;align-items:start}.large-copy{font-size:20px;line-height:1.8;color:var(--navy);margin-bottom:24px}.text-link{font-size:14px;font-weight:600}.section-heading>p{max-width:660px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.cards article{border-top:1px solid var(--line);padding:26px 4px 10px}.card-number{display:block;font-family:Georgia,serif;color:var(--coral);font-size:23px;margin-bottom:25px}.cards p{font-size:16px;line-height:1.8}.values .cards{grid-template-columns:repeat(5,1fr);gap:24px}.values .cards h3{font-size:19px}.values .cards p{font-size:15px}.values .section-heading{max-width:700px;margin-bottom:38px}.home-programs{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#deedf8}.home-programs>div>p{max-width:470px}.program-list>a{display:flex;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid #b9d2e5;text-decoration:none}.program-list>a>span{color:var(--coral);font-size:20px;font-family:Georgia,serif}.program-list h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:34px;font-weight:400;margin-bottom:6px}.program-list p{margin:0;font-size:14px}.contact-band{background:var(--navy);color:#fff;display:grid;grid-template-columns:1.3fr 1fr;gap:6%;padding:65px 5.5%;align-items:center}.contact-band h2{font-size:3rem;margin-bottom:0}.contact-band a{display:block;margin:10px 0;color:#fff;font-size:18px;overflow-wrap:anywhere}.contact-band .eyebrow{color:var(--yellow)}footer{padding:55px 5.5% 20px;display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:30px}footer .brand{margin-bottom:20px}footer h3{font-size:14px;margin:16px 0}footer p,footer a{font-size:14px}footer>div:nth-child(3)>a{display:block;overflow-wrap:anywhere}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:20px}.page-hero{padding:65px 5.5%;background:#e9f2fa}.page-hero h1{max-width:950px}.page-hero p{font-size:19px;max-width:720px;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.image-frame img{width:100%;height:420px;object-fit:cover;border-radius:8px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#deedf8}.approach-grid h2{font-size:3rem}.classrooms{margin-top:35px}.classrooms article{background:#e9f2fa;padding:30px;border:0;border-radius:6px}.classrooms article:nth-child(2){background:#deedf8}.classrooms article:nth-child(3){background:#d8e8f6}.classrooms h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:42px;font-weight:400}.classrooms .eyebrow{font-size:11px}.ratio{font-family:Georgia,serif;font-size:36px;padding-top:20px;border-top:1px solid #153b6426}.ratio span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:12px;letter-spacing:.07em}.materials-banner{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#deedf8;gap:6%;padding:45px 5.5%}.materials-banner img{width:100%;height:370px;object-fit:cover;border-radius:8px}.materials-banner p{max-width:500px}.extras{background:#e9f2fa}dl{font-size:15px}dt{font-weight:600}dd{margin:0 0 12px;color:var(--muted)}.admissions-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:8%;align-items:start}.admission-step{display:flex;gap:25px;border-top:1px solid var(--line);padding:28px 0 12px}.admission-step>span{color:var(--coral);font-family:Georgia,serif;font-size:24px}.admission-step p a{overflow-wrap:anywhere}.admissions-layout aside{background:#deedf8;padding:36px;border-radius:8px}.admissions-layout aside h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:33px;font-weight:400}hr{border:0;border-top:1px solid #153b6430;margin:30px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.contact-detail>.eyebrow{margin-top:30px;margin-bottom:12px}.contact-detail>a{display:block;font-size:clamp(1.1rem,2vw,1.6rem);overflow-wrap:anywhere}.contact-detail p{font-size:24px;color:var(--navy);line-height:1.5}.contact-panel{background:#deedf8;text-align:center;padding:45px 25px;border-radius:150px 150px 8px 8px}.contact-panel img{width:110px;height:110px;object-fit:contain;margin:0 auto 20px}.contact-panel h2{font-size:3rem}.contact-panel p{font-size:15px}.contact-panel a{overflow-wrap:anywhere}.skip-link{position:fixed;top:-70px;left:10px;z-index:100;background:var(--navy);color:white;padding:15px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid var(--coral);outline-offset:5px}
@media(min-width:1600px){header,.section,.hero,.contact-band,.page-hero,.materials-banner,footer{padding-left:max(5.5%,calc((100% - 1450px)/2));padding-right:max(5.5%,calc((100% - 1450px)/2))}}
@media(max-width:1050px){nav{gap:16px}nav a{font-size:13px}header{padding:0 4%}.brand{font-size:18px}.brand img{width:48px}.hero-art img{height:450px}.values .cards{grid-template-columns:repeat(3,1fr)}.hero-note{flex-wrap:wrap}.hero{gap:4%}.contact-band h2{font-size:2.5rem}}
@media(max-width:800px){header{height:90px;position:relative;gap:15px}.menu-toggle{display:block;background:transparent;border:1px solid var(--navy);border-radius:4px;padding:9px 14px;color:var(--navy);font:inherit;font-size:14px}nav{display:none;position:absolute;top:89px;left:0;right:0;background:var(--paper);padding:20px 6%;z-index:10;box-shadow:0 10px 20px #153b6412}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:12px;font-size:16px}.hero,.split,.mission,.home-programs,.contact-band,.approach-grid,.materials-banner,.admissions-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.hero{padding:40px 6% 60px}.hero-art img{height:auto;aspect-ratio:1.2;max-height:520px}.hero-art{margin:5px 0 0 15px}.art-label{left:-15px;font-size:16px;padding:16px 22px}.section,.page-hero{padding:50px 6%}.hero h1{font-size:clamp(3rem,8vw,4.6rem)}.hero-note{margin-top:28px}.slogan{font-size:18px}.large-copy{font-size:18px}.cards,.values .cards{grid-template-columns:repeat(2,1fr)}.classrooms{grid-template-columns:1fr}.contact-band{padding:45px 6%}.contact-band a{font-size:16px}.image-frame img{height:auto}.materials-banner{padding:45px 6%}.materials-banner img{height:auto}.contact-panel{padding:45px 25px}.contact-layout{padding-top:20px}footer{grid-template-columns:1fr 1fr;padding:40px 6% 20px}footer>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:12px}.desktop{display:none}}
@media(max-width:480px){.cards,.values .cards{grid-template-columns:1fr;gap:0}.values .cards article{display:block;padding:23px 0 8px}.card-number{margin-bottom:15px}.hero h1{font-size:3rem}.eyebrow{font-size:11px}h2{font-size:2.6rem}.hero .eyebrow{max-width:280px;font-size:10px}footer{grid-template-columns:1fr}footer>div:first-child{grid-column:auto}.contact-band h2{font-size:2.4rem}.brand{font-size:17px}.brand small{font-size:9px}.hero-note{font-size:11px;gap:10px}.admission-step{gap:18px}.admissions-layout aside{padding:28px}.classrooms{gap:20px}.classrooms article{padding:25px}.cards h3{font-size:22px}.classrooms h3{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.curriculum-image{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:8px;margin-bottom:22px;background:#e9f2fa}.cards article:has(.curriculum-image){padding-top:20px}.contact-panel{background:linear-gradient(150deg,#dbeafa,#edf5fc)}.home-programs{background:linear-gradient(130deg,#e6f1fa,#dbeaf8)}.art-label{background:#c2e1f4}.brand img{width:67px;height:70px}header .brand{gap:10px}footer .brand img{width:62px}.values .cards p{font-size:16px}
@media(max-width:800px){.brand img{width:54px;height:60px}}

.extras .cards{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:480px){.extras .cards{grid-template-columns:1fr}}

.programs-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:5%;align-items:start}.programs-hero-image{width:100%;max-width:380px;height:auto;aspect-ratio:1;object-fit:cover;justify-self:end;border-radius:90px 90px 12px 12px}.programs-hero-copy h1{font-size:clamp(3rem,5vw,5.3rem)}@media(max-width:800px){.programs-hero{grid-template-columns:1fr;gap:30px}.programs-hero-image{max-width:320px;justify-self:center}}

.illustrated-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:5%;align-items:start}.illustrated-hero-image{width:100%;max-width:380px;height:auto;aspect-ratio:1;object-fit:cover;justify-self:end;border-radius:90px 90px 12px 12px}.illustrated-hero-copy h1{font-size:clamp(3rem,5vw,5.3rem)}@media(max-width:800px){.illustrated-hero{grid-template-columns:1fr;gap:30px}.illustrated-hero-image{max-width:320px;justify-self:center}}
