:root{--ink:#11100f;--paper:#f7f3ed;--coral:#ff674d;--blue:#3e63dd;--yellow:#ffd53d;--mint:#b9f6d2;--line:2px solid var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:17px;line-height:1.55}img{display:block;width:100%}a{color:inherit}.site-header{height:76px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:var(--line);background:rgba(247,243,237,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.wordmark{font-size:13px;font-weight:600;letter-spacing:.08em;text-decoration:none}.site-header nav{display:flex;gap:24px;align-items:center}.site-header nav a{font-size:13px;font-weight:600;text-decoration:none;text-transform:uppercase}.nav-cta{background:var(--ink);color:white;padding:10px 16px;border-radius:100px}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.05fr .95fr;border-bottom:var(--line)}.hero-copy{padding:5vw;background:var(--coral);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-logo{width:148px;height:132px;object-fit:contain;object-position:left center;margin-bottom:24px;mix-blend-mode:multiply}.eyebrow,.section-number{font-size:12px;font-weight:600;letter-spacing:.13em;margin:0 0 22px}.hero h1{font-family:"Fraunces",serif;font-size:clamp(54px,6.3vw,106px);font-weight:500;line-height:.91;letter-spacing:-.045em;margin:0 0 32px;max-width:900px}.hero-sub{font-size:20px;max-width:600px;margin:0 0 34px}.hero-visual{margin:0;position:relative;min-height:680px;overflow:hidden;background:white}.hero-visual img{height:100%;object-fit:cover}.hero-visual figcaption{position:absolute;right:18px;bottom:18px;background:var(--paper);border:var(--line);padding:10px 14px;font-size:12px}.button{display:inline-block;border:var(--line);padding:14px 21px;border-radius:100px;font-size:14px;font-weight:600;text-decoration:none}.button.dark{background:var(--ink);color:white}.button.light{background:var(--paper);color:var(--ink)}.section-pad{padding:110px 5vw;border-bottom:var(--line)}h2,h3{font-family:"Fraunces",serif;font-weight:500;letter-spacing:-.035em}h2{font-size:clamp(44px,5vw,78px);line-height:1;margin:0 0 36px}.intro{display:grid;grid-template-columns:1fr 2fr;background:var(--mint)}.intro>div{max-width:900px}.intro p:not(.section-number){font-size:clamp(22px,2vw,31px);line-height:1.35}.intro em{font-family:"Fraunces",serif;font-style:normal}.courses{padding-bottom:0}.section-heading{display:grid;grid-template-columns:1fr 2fr;margin-bottom:80px}.section-heading h2{max-width:800px}.course-card{display:grid;grid-template-columns:1fr 1fr;border:var(--line);border-bottom:0;min-height:650px}.course-card.reverse .course-image{order:2}.course-image{border-right:var(--line);min-height:550px;overflow:hidden}.reverse .course-image{border-right:0;border-left:var(--line)}.course-image img{height:100%;object-fit:cover}.course-copy{padding:clamp(32px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start}.coral{background:#ff8b78}.blue{background:#8ea9ff}.yellow{background:#ffe57a}.flame{background:#ec593c}.course-index{margin:0;font-weight:600}.course-copy h3{font-size:clamp(44px,5vw,76px);line-height:.95;margin:34px 0 24px}.course-copy>p:not(.course-index,.note){font-size:19px;max-width:580px}.course-copy dl,.school dl{width:100%;margin:22px 0 30px;border-top:1px solid var(--ink)}.course-copy dl div,.school dl div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--ink)}dt{font-weight:600}dd{margin:0;text-align:right}.course-copy>a{margin-top:auto;font-weight:600;text-decoration:none;border-bottom:2px solid}.course-copy .note{font-size:14px}.placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#151d52;color:#ff775c}.placeholder span{font-family:"Fraunces",serif;font-size:clamp(62px,8vw,120px);line-height:.78;text-align:center;letter-spacing:-.06em}.placeholder small{margin-top:28px;text-transform:uppercase;letter-spacing:.12em;color:white}.school{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;background:var(--yellow);align-items:center}.school-image{border:var(--line);transform:rotate(-2deg);box-shadow:14px 14px 0 var(--ink)}.school-copy>p:not(.section-number){font-size:19px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.choice-grid div{border:var(--line);padding:20px;background:var(--paper)}.choice-grid b,.choice-grid span{display:block}.choice-grid span{font-size:14px;margin-top:5px}.corporate{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;background:var(--ink);color:white;align-items:center}.corporate-copy{max-width:760px}.corporate-copy>p:not(.section-number,.price-note){font-size:20px}.price-note{color:var(--yellow);font-weight:600;margin:30px 0}.corporate-image img{border-radius:50% 50% 8px 8px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center;background:#f3c7e7}.about-image{overflow:hidden;border-radius:45% 45% 4px 4px;border:var(--line)}.about-image img{aspect-ratio:4/5;object-fit:cover}.about-copy p:not(.section-number){font-size:18px}.contact{text-align:center;background:var(--blue);color:white}.contact h2{font-size:clamp(64px,9vw,140px);margin-bottom:24px}.contact>p:not(.section-number,.address){font-size:21px}.contact-link{display:inline-block;margin:30px 0 16px;font-family:"Fraunces",serif;font-size:clamp(24px,3vw,44px);text-decoration:none;border-bottom:2px solid}.address{font-size:14px}.contact details{max-width:760px;margin:50px auto 0;text-align:left;border-top:1px solid white;border-bottom:1px solid white;padding:18px 0}.contact summary{cursor:pointer;font-weight:600}.contact details p{font-size:14px}footer{padding:24px 3vw;display:flex;justify-content:space-between;font-size:13px}footer a{text-decoration:none}
@media(max-width:860px){body{font-size:16px}.site-header{height:auto;min-height:66px}.site-header nav a:not(.nav-cta){display:none}.wordmark{max-width:220px}.hero{grid-template-columns:1fr}.hero-copy{padding:58px 6vw}.hero h1{font-size:clamp(50px,15vw,80px)}.hero-visual{min-height:540px}.intro,.section-heading{grid-template-columns:1fr}.intro .section-number,.section-heading .section-number{margin-bottom:48px}.section-pad{padding:80px 6vw}.course-card,.school,.corporate,.about{grid-template-columns:1fr}.course-card.reverse .course-image{order:0}.course-image,.reverse .course-image{border:0;border-bottom:var(--line);min-height:420px}.course-card{min-height:0}.course-copy{min-height:560px}.school-image{max-width:520px;margin:auto}.corporate-image{max-width:560px;margin:auto}.about-image{max-width:500px;margin:auto}.choice-grid{grid-template-columns:1fr}.hero-logo{width:120px;height:110px}footer{gap:20px;flex-direction:column}}
@media(max-width:480px){.hero-copy{padding-top:36px}.hero-logo{margin-bottom:12px}.hero-sub{font-size:17px}.hero-visual{min-height:430px}.section-pad{padding:64px 20px}.course-copy{padding:32px 22px;min-height:540px}.course-copy dl div,.school dl div{display:block}.course-copy dd,.school dd{text-align:left}.site-header{padding:12px 16px}.wordmark{font-size:11px;max-width:190px}.nav-cta{padding:9px 13px}.contact h2{font-size:58px}.contact-link{font-size:20px}}
.email-link{display:block;width:max-content;max-width:100%;margin:8px auto 22px;font-family:"DM Sans",sans-serif;font-size:clamp(15px,2vw,24px);overflow-wrap:anywhere}
.contact-form{max-width:760px;margin:42px auto 30px;padding:clamp(24px,4vw,44px);border:var(--line);background:var(--paper);color:var(--ink);text-align:left}.contact-form label{display:block;margin-bottom:20px;font-size:14px;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--ink);border-radius:0;background:white;color:var(--ink);font:inherit}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid var(--yellow);outline-offset:2px}.contact-form button{cursor:pointer}.contact-form button:disabled{cursor:wait;opacity:.65}.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.form-status{min-height:1.5em;margin:16px 0 0!important;font-size:15px!important;font-weight:600}.contact-alternative{margin-top:28px!important;font-size:16px!important}
@media(max-width:600px){.form-row{grid-template-columns:1fr}.contact-form{padding:24px 18px}.contact-form .button{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
