@font-face{font-family:Montserrat;src:url(assets/Montserrat.ttf) format('truetype');font-weight:100 900;font-display:swap}@font-face{font-family:Playfair;src:url(assets/PlayfairDisplay.ttf) format('truetype');font-weight:400 900;font-display:swap}@font-face{font-family:Playfair;src:url(assets/PlayfairDisplay-Italic.ttf) format('truetype');font-weight:400 900;font-style:italic;font-display:swap}
:root{--navy:#0b1733;--cream:#f5f2e9;--gold:#b59455;--teal:#8ccfcb;--ink:#15203a;--muted:#586173;--rule:#cdd0cf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Playfair,Georgia,serif;font-weight:400;line-height:1.08}em{font-weight:400}h2{font-size:clamp(2.5rem,4.8vw,4.9rem);letter-spacing:-.035em}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:500;line-height:1.8}.section{padding:110px 6vw}.skip{position:fixed;z-index:100;left:20px;top:-100px;background:var(--cream);color:var(--navy);padding:15px}.skip:focus{top:15px}:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.site-header{height:104px;position:absolute;top:0;left:0;right:0;z-index:5;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:var(--cream);gap:2rem}.brand img{width:155px;height:auto}.site-header nav{display:flex;gap:2rem;font-size:.875rem}.site-header nav a{padding:10px 0}.site-header nav a:hover{color:#e6c995}.header-call{font-size:.875rem;border-bottom:1px solid #ffffff70;padding:10px 0;display:flex;gap:30px}.menu-toggle{display:none;background:none;border:0;color:inherit;width:44px;height:44px;padding:8px}.menu-toggle span{height:1px;background:currentColor;display:block;margin:8px 0}.hero{height:max(760px,100svh);max-height:1080px;position:relative;isolation:isolate;background:var(--navy);color:var(--cream);overflow:hidden}.hero-art,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:-2}.hero-art{object-position:65% 50%}.hero-shade{z-index:-1;background:linear-gradient(90deg,#07122bee 0%,#0b173355 40%,#0b173300 65%),linear-gradient(0deg,#06112999,transparent 22%)}.hero-content{padding:clamp(180px,22vh,250px) 5vw 130px;max-width:850px}.hero-content .eyebrow{display:flex;gap:25px;font-size:.69rem;letter-spacing:.14em}.hero-content .eyebrow span{opacity:.6}.hero h1{font-size:clamp(5rem,8.5vw,9rem);line-height:.99;letter-spacing:-.055em;margin:37px 0 29px}.hero h1 em{color:#ece1cd}.hero-copy{font-size:1.125rem;line-height:1.65;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;min-height:54px;padding:16px 23px;background:var(--navy);color:var(--cream);font-size:.875rem;font-weight:500;border:1px solid transparent;transition:background .2s,transform .2s}.button.light{background:var(--cream);color:var(--navy)}.button:hover{transform:translateY(-3px);background:#25365a}.button.light:hover{background:#e6d7bc}.hero-bottom{position:absolute;left:5vw;right:5vw;bottom:30px;display:flex;justify-content:space-between;gap:24px;font-size:.75rem;border-top:1px solid #ffffff30;padding-top:20px}.hero-bottom a{display:flex;gap:20px}.intro{padding-top:105px;padding-bottom:105px;text-align:center}.intro h2{margin:28px auto 35px;max-width:1080px}.intro>p:last-child{max-width:680px;margin:0 auto;color:var(--muted);font-size:1.125rem}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding:5px 0;font-size:.875rem}footer{background:var(--navy);color:var(--cream);padding:90px 6vw 28px;display:grid;grid-template-columns:1.4fr 1fr;gap:60px}footer h2{margin-top:26px;font-size:clamp(3rem,5vw,5.5rem)}.contact{padding-top:35px;display:flex;align-items:flex-start;flex-direction:column;gap:25px}.phone{font-size:clamp(1.5rem,2.5vw,2.5rem);font-weight:400}.contact p{font-size:1rem;color:#d3d5db}.footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:30px;margin-top:20px;border-top:1px solid #ffffff30;font-size:.75rem;color:#c3c8d3}.footer-bottom img{width:140px;height:auto}
@media(max-width:850px){.site-header{height:85px}.brand img{width:135px}.header-call{margin-left:auto;font-size:.75rem;gap:15px}.menu-toggle{display:block}.site-header nav{position:absolute;top:85px;left:0;right:0;padding:30px 6vw;background:var(--navy);display:none;flex-direction:column;gap:18px;font-size:1.2rem}.site-header nav.open{display:flex}.hero{height:860px;max-height:none}.hero-content{padding-top:158px}.hero h1{font-size:clamp(4.8rem,13vw,7rem)}.hero-art{object-position:65% center}.hero-content .eyebrow{flex-direction:column;gap:5px}.hero-content .eyebrow span{font-size:.625rem}.hero-bottom{font-size:.6875rem}.section{padding:80px 6vw}.intro h2 br{display:none}footer{padding-top:70px;grid-template-columns:1fr;gap:35px}.contact{padding-top:0}.footer-bottom{flex-wrap:wrap;gap:24px}.footer-bottom img{width:110px}}@media(max-width:550px){.header-call{display:none}.hero{height:870px}.hero-art{height:58%;top:auto;bottom:0;object-position:73% center}.hero-shade{background:linear-gradient(180deg,var(--navy) 0%,var(--navy) 31%,#0b1733aa 49%,#0b173300 72%,#0b1733bb 100%)}.hero-content{padding:137px 7vw 0}.hero h1{font-size:5rem;margin:25px 0}.hero-copy{font-size:1rem}.hero .button{min-height:50px}.hero-bottom{left:7vw;right:7vw;bottom:22px;align-items:center}.hero-bottom>span{max-width:170px}.intro{padding-top:75px;padding-bottom:75px}.intro>p:last-child{font-size:1rem}.footer-bottom span{order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.programs{padding-top:35px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:65px}.section-top h2{margin-top:25px}.section-top>p{max-width:365px;font-size:1rem;color:var(--muted);padding-bottom:8px}.program-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;align-items:start}.program-art{margin:0;position:sticky;top:35px}.program-art img{width:100%;height:650px;object-fit:cover}.program-art figcaption{font-family:Playfair,serif;font-style:italic;font-size:1.7rem;padding-top:20px}.course{border-top:1px solid var(--rule)}.course:last-child{border-bottom:1px solid var(--rule)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.course summary{display:flex;align-items:center;gap:22px;padding:22px 0;min-height:88px}.course-number{font-size:.75rem;color:var(--muted);min-width:22px}.course h3{font-size:clamp(1.9rem,2.4vw,2.65rem);letter-spacing:-.03em}.course-plus{margin-left:auto;font-size:1.65rem;line-height:1;width:25px;text-align:center;transition:transform .2s;font-weight:300}.course[open] .course-plus{transform:rotate(45deg)}.course-body{padding:0 0 32px 44px;color:var(--muted);font-size:1rem}.course-category{font-size:.75rem;letter-spacing:.11em;color:var(--muted);margin-bottom:12px}.course-lead{font-size:1.125rem;color:var(--navy);font-weight:500;margin-bottom:12px}.course-topics{font-size:.8125rem;margin:20px 0 17px;line-height:1.8}.course-body .text-link{color:var(--navy)}.approach{border-top:1px solid var(--rule);padding-top:90px;padding-bottom:110px}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:35px}.approach-intro{font-size:1.125rem;color:var(--muted);margin-bottom:38px;max-width:530px}.principle{display:flex;gap:28px;margin-top:28px}.principle>span{font-size:.75rem;color:var(--muted);padding-top:7px}.principle h3{font-size:1.6rem;margin-bottom:10px}.principle p{color:var(--muted);max-width:450px;font-size:.9375rem}.children{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:#b5dad3}.children-art img{width:100%;height:100%;max-height:800px;object-fit:cover;object-position:50% 64%}.children-copy{padding:85px 6vw 70px 6vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.children h2{margin:27px 0 35px;font-size:clamp(2.8rem,4.2vw,4.6rem)}.children-copy>p:not(.eyebrow){font-size:1rem;margin-bottom:20px;max-width:440px}.children .button{margin-top:17px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq h2{margin:25px 0 33px}.faq>div>p:last-child{font-size:.9375rem;color:var(--muted)}.faq-list{padding-top:10px}.faq-list details{border-bottom:1px solid var(--rule)}.faq-list summary{display:flex;justify-content:space-between;gap:25px;padding:25px 0;font-size:1rem;line-height:1.6;font-weight:500}.faq-list summary span{font-weight:300;font-size:1.5rem}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{padding:0 33px 26px 0;color:var(--muted);font-size:.9375rem}.faq-list details>p a{text-decoration:underline}.mobile-contact{display:none}.site-header nav a,.text-link{transition:opacity .2s}.text-link:hover{opacity:.7}summary:hover h3{color:#6c5637}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.site-header nav{gap:1.2rem}.program-layout{gap:5vw}.program-art img{height:580px}.course-body{padding-left:0}.children-copy{padding:65px 5vw}.faq{gap:6vw}.course h3{font-size:1.9rem}}@media(max-width:850px){.programs{padding-top:10px}.section-top{gap:35px}.program-layout{grid-template-columns:.8fr 1.2fr;gap:5vw}.program-art img{height:450px}.course summary{gap:14px}.course h3{font-size:1.65rem}.approach-layout{gap:5vw}.children{min-height:580px}.children h2{font-size:2.8rem}.children-copy .eyebrow{font-size:.65rem}.faq{grid-template-columns:1fr;gap:30px}.faq h2 br{display:none}.faq>div>p:last-child br{display:none}}@media(max-width:650px){.section-top{display:block;margin-bottom:40px}.section-top>p{margin-top:30px;max-width:100%}.program-layout{display:flex;flex-direction:column;gap:35px}.program-art{position:static;width:100%}.program-art img{height:380px;object-position:50% 52%}.program-art figcaption{font-size:1.5rem}.course-list{width:100%}.course summary{min-height:82px}.course h3{font-size:1.8rem}.course-body{padding-left:36px}.approach-layout{grid-template-columns:1fr;gap:35px}.approach{padding-top:65px;padding-bottom:75px}.approach h2 br{display:none}.children{grid-template-columns:1fr}.children-art{height:400px}.children-art img{object-position:50% 58%}.children-copy{padding:55px 7vw 65px}.children h2{font-size:3.25rem}.faq{padding-top:75px;padding-bottom:70px}.mobile-contact{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--navy);color:var(--cream);min-height:57px;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px #0b173318;border-top:1px solid #ffffff35}.mobile-contact a{width:50%;text-align:center;padding:17px 8px;font-size:.8125rem}.mobile-contact a:last-child{background:var(--cream);color:var(--navy)}body{padding-bottom:57px}.hero-bottom{bottom:35px}.hero{height:830px}.hero-content{padding-top:125px}.hero h1{font-size:clamp(4.3rem,20vw,5.6rem)}.footer-bottom{padding-bottom:15px}}@media(min-width:1600px){.section,footer{padding-left:max(6vw,calc((100vw - 1440px)/2));padding-right:max(6vw,calc((100vw - 1440px)/2))}}@media(prefers-reduced-motion:reduce){.hero-content{animation:none}}

/* Keep content legible at narrow widths and enlarged text settings. */
h1,h2,h3{overflow-wrap:anywhere}
.program-layout>*,.approach-layout>*,.children>*,.faq>*,footer>*,.principle>div,.course h3{min-width:0}
.button{max-width:100%;gap:clamp(12px,3vw,44px)}
.button>span:last-child,.course-plus,.course-number{flex-shrink:0}
@media(max-width:650px){
  .hero{height:auto;min-height:830px;max-height:none}
  .hero-content{padding:125px 7vw 0}
  .hero h1{font-size:clamp(2rem,20vw,5.6rem)}
  .hero-bottom{position:relative;inset:auto;margin:250px 7vw 25px;flex-wrap:wrap}
  .hero-bottom>span{max-width:100%}
  .course summary{gap:12px}
  .course-body{padding-left:0}
  .course-plus{width:20px}
  body{padding-bottom:max(64px,4rem)}
}
.course-plus,.faq-list summary span{font-size:0;width:1.65rem;height:1.65rem;display:grid;place-items:center;transform:none!important}
.course-plus::after,.faq-list summary span::after{content:'+';font-size:1.65rem;line-height:1}
.course[open]>summary .course-plus::after,.faq-list details[open]>summary span::after{content:'−'}
.faq-list summary{display:grid;grid-template-columns:minmax(0,1fr) 1.65rem;overflow-wrap:anywhere}
