:root{--cream:#fff8ed;--paper:#fffdf8;--ink:#441326;--berry:#b91f50;--rose:#f8dfdf;--line:#ead7d2;--gold:#eaaa2e;--plum:#5c1933}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3,blockquote{text-wrap:balance;font-family:Playfair Display,serif;font-weight:500;line-height:1.02}.site-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f5;border-bottom:1px solid #44132614;justify-content:space-between;align-items:center;gap:26px;height:84px;padding:0 4vw;display:flex;position:sticky;top:0}.brand{letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;font-weight:700;line-height:1.35;display:flex}.brand picture{width:155px;height:48px;display:block}.brand img{object-fit:contain;width:100%;height:100%}.brand span{display:none}.site-header nav{align-items:center;gap:42px;font-size:16px;display:flex}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--berry)}.button{background:var(--berry);color:#fff;cursor:pointer;border:0;border-radius:18px;justify-content:center;align-items:center;min-height:48px;padding:11px 27px;font-size:16px;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.button:hover{background:#921537;transform:translateY(-2px);box-shadow:0 12px 25px #84133a33}.button:active{transform:scale(.98)}.text-link{color:var(--berry);text-underline-offset:6px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.hero{background:radial-gradient(circle at 5% 5%,#fffefb 0,transparent 34%),var(--cream);grid-template-columns:minmax(0,42%) 1fr;min-height:520px;display:grid;overflow:hidden}.hero-copy{align-self:center;padding:70px 5vw 50px 8vw;position:relative}.spark{color:var(--gold);margin-bottom:4px;font-size:31px}.hero h1{letter-spacing:-.065em;margin:0 0 20px;font-size:clamp(54px,6.3vw,102px)}.hero h1 em{color:var(--berry)}.hero-copy>p:not(.spark){max-width:450px;font-size:20px;line-height:1.35}.actions{align-items:center;gap:30px;margin-top:30px;display:flex}.hero-image{border-top-left-radius:120px;min-height:520px;position:relative;overflow:hidden}.hero-image picture,.hero-image img{width:100%;height:100%;display:block}.hero-image img{object-fit:cover}.since{background:var(--berry);color:#fff;outline:2px solid var(--berry);outline-offset:5px;text-align:center;text-transform:uppercase;letter-spacing:.17em;border:3px solid #f7ca70;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:142px;height:142px;font-size:12px;line-height:1.7;display:flex;position:absolute;bottom:36px;right:5%}.since small{font-size:10px}.since b{letter-spacing:0;text-transform:none;font-family:Playfair Display,serif;font-size:35px;line-height:1}.proof-strip{background:linear-gradient(90deg,#ffe9e7,#fffaf0);justify-content:center;align-items:center;gap:42px;min-height:60px;font-size:17px;display:flex}.proof-strip span:first-child,.proof-strip span:last-child{color:var(--gold);font-size:22px}.proof-strip i{color:var(--berry);font-style:normal}.age-section{background:radial-gradient(circle at 4% 0,#f5c8ca 0,#0000 19%),linear-gradient(135deg,#f9e2e1,#fff5ed);padding:65px 6vw 85px}.age-section h2{text-align:center;margin-bottom:32px;font-size:clamp(42px,4vw,68px)}.age-grid{grid-template-columns:repeat(4,1fr);gap:22px;max-width:1400px;margin:auto;display:grid}.age-card{background:#fffdf8e6;border-radius:18px;padding:12px 12px 20px;transition:transform .2s,box-shadow .2s}.age-card:hover{transform:translateY(-5px);box-shadow:0 20px 35px #6f2a3c1f}.age-card picture,.age-card img{border-radius:13px;width:100%;height:150px;display:block;overflow:hidden}.age-card img{object-fit:cover}.age-card h3{margin:14px 8px 5px;font-size:28px}.age-card p{min-height:42px;margin:0 8px 13px;font-size:14px}.age-card span{color:var(--berry);margin:0 8px;font-weight:700;display:block}.split-story{background:var(--paper);grid-template-columns:.9fr 1.1fr;align-items:center;gap:8vw;padding:100px 10vw;display:grid}.split-story h2{margin-bottom:20px;font-size:clamp(42px,5vw,70px)}.split-story p{max-width:520px;font-size:18px}.eyebrow,.role{color:var(--berry);letter-spacing:.08em;text-transform:uppercase;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700}.split-story picture,.split-story img{border-radius:100px 18px 18px;width:100%;height:390px;display:block;overflow:hidden}.split-story img{object-fit:cover}.quote-band{background:var(--plum);color:#fff;text-align:center;padding:100px 14vw}.quote-band blockquote{max-width:1050px;margin:0 auto 24px;font-size:clamp(33px,4vw,58px)}.quote-band p{color:#f4ccd8}.light{color:#fff}.home-cta{color:#fff;background:#c03561;justify-content:space-between;align-items:center;gap:50px;padding:75px 10vw;display:flex}.home-cta h2{max-width:750px;margin-bottom:10px;font-size:clamp(37px,4vw,60px)}.home-cta p{margin:0;font-size:18px}.cream{background:var(--cream);color:var(--berry);white-space:nowrap}.cream:hover{color:var(--berry);background:#fff}footer{color:#fff;background:#3c1124;grid-template-columns:1.4fr repeat(3,1fr);gap:45px;padding:60px 8vw;display:grid}footer strong{margin-bottom:15px;font-family:Playfair Display,serif;font-size:25px;font-weight:500;display:block}footer p,footer a{color:#f4ced9;font-size:14px;line-height:1.75;display:block}footer a:hover{text-decoration:underline}.theo{width:36px;margin-top:18px}.theo img{filter:none;width:28px;height:28px}.page-head{text-align:center;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fffaf0,#f9e2e1);padding:100px 12vw 80px}.page-head h1{letter-spacing:-.05em;max-width:1000px;margin:0 auto 18px;font-size:clamp(50px,6vw,92px)}.page-head>p:not(.spark){max-width:650px;margin:auto;font-size:19px}.page-head .button{margin-top:25px}.program-intro{background:var(--paper);grid-template-columns:1fr 1fr;align-items:center;gap:8vw;padding:80px 10vw;display:grid}.program-intro picture,.program-intro img{object-fit:cover;border-radius:110px 16px 16px;width:100%;height:340px;display:block;overflow:hidden}.program-intro h2{font-size:48px}.program-intro p{font-size:18px}.class-list{background:var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8vw;padding:75px 10vw;display:grid}.class-list article{border-top:1px solid var(--line);padding:28px 0}.class-list h2{margin-bottom:6px;font-size:32px}.class-list p:last-child{max-width:520px;margin-bottom:0}.schedule-wrap{background:var(--paper);padding:70px 8vw;overflow-x:auto}.schedule-wrap table{border-collapse:collapse;background:#fffdf9;width:100%;min-width:700px}.schedule-wrap th,.schedule-wrap td{text-align:left;border-bottom:1px solid var(--line);padding:18px 14px}.schedule-wrap th{color:var(--berry);text-transform:uppercase;letter-spacing:.06em;font-size:13px}.note{max-width:670px;margin-top:20px}.reading{background:var(--paper);max-width:850px;margin:auto;padding:80px 8vw 110px}.reading h2{margin:42px 0 12px;font-size:39px}.reading h2:first-child{margin-top:0}.reading p{max-width:72ch;font-size:18px}.reading a{color:var(--berry);text-underline-offset:4px;text-decoration:underline}.staff-grid{background:var(--paper);grid-template-columns:repeat(3,1fr);gap:30px;padding:70px 8vw 100px;display:grid}.staff-grid article{border-top:1px solid var(--line);padding-top:16px}.staff-grid picture,.staff-grid img{object-fit:cover;border-radius:16px;width:100%;height:300px;margin-bottom:22px;display:block}.staff-grid h2{margin-bottom:5px;font-size:32px}.gallery-grid{background:var(--paper);grid-template-columns:repeat(3,1fr);gap:18px;padding:70px 8vw;display:grid}.gallery-grid picture,.gallery-grid img{object-fit:cover;border-radius:15px;width:100%;height:260px;display:block;overflow:hidden}.gallery-grid picture:nth-child(4n+1){grid-row:span 2}.gallery-grid picture:nth-child(4n+1) img{height:538px}.review-list{background:var(--paper);padding:70px 12vw}.review-list blockquote{border-top:1px solid var(--line);margin:0;padding:40px 0;font-size:clamp(27px,3vw,43px)}.review-list cite{color:var(--berry);font-family:DM Sans,sans-serif;font-size:14px;font-style:normal}.form-page{background:var(--paper);grid-template-columns:.8fr 1.2fr;gap:8vw;padding:75px 10vw 100px;display:grid}.form-page h2{font-size:48px}.form-page p{font-size:18px}.contact-form{border:1px solid var(--line);background:#fff7ee;border-radius:18px;gap:17px;padding:30px;display:grid}.contact-form label{font-size:15px;font-weight:600}.contact-form input,.contact-form textarea{width:100%;font:inherit;color:var(--ink);background:#fffdf9;border:1px solid #caa9ae;border-radius:8px;margin-top:7px;padding:12px;display:block}.contact-form textarea{resize:vertical}.contact-form-status{color:var(--berry);margin:0}.faq{background:var(--paper);max-width:900px;margin:auto;padding:70px 8vw 100px}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;justify-content:space-between;gap:20px;font-family:Playfair Display,serif;font-size:28px;display:flex}summary span{color:var(--berry);font-family:DM Sans,sans-serif}details p{max-width:70ch;margin:17px 0 0;font-size:17px}.timeline p{border-left:2px solid var(--gold);padding-left:23px}.reveal{animation:.7s both rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:900px){.site-header{height:72px;padding:0 22px}.brand picture{width:110px}.site-header nav{gap:18px;font-size:14px}.site-header nav a:nth-child(4),.site-header nav a:nth-child(5){display:none}.site-header>.button{min-height:42px;padding:8px 15px;font-size:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 8vw 42px}.hero-image{border-top-left-radius:90px;min-height:420px}.proof-strip{flex-wrap:wrap;gap:15px;padding:14px 20px;font-size:14px}.age-grid{grid-template-columns:repeat(2,1fr)}.split-story,.program-intro,.form-page{grid-template-columns:1fr;gap:35px}.split-story{padding:75px 8vw}.staff-grid,.gallery-grid{grid-template-columns:1fr 1fr}footer{grid-template-columns:repeat(2,1fr)}.home-cta,.class-list{padding:60px 8vw}}@media (max-width:580px){.site-header nav{display:none}.brand picture{width:105px}.hero h1{font-size:58px}.hero-copy>p:not(.spark){font-size:18px}.actions{flex-wrap:wrap;gap:20px}.hero-image{border-top-left-radius:65px;min-height:330px}.since{width:104px;height:104px;font-size:9px;bottom:24px;right:8%}.since b{font-size:27px}.proof-strip i{display:none}.proof-strip span{font-size:13px}.age-section{padding:55px 5vw}.age-grid{gap:13px}.age-card{padding:8px}.age-card picture,.age-card img{height:105px}.age-card h3{margin:10px 4px 5px;font-size:23px}.age-card p{min-height:65px;margin:0 4px 10px;font-size:13px}.age-card span{margin:0 4px;font-size:13px}.split-story picture,.split-story img{height:285px}.quote-band{padding:70px 8vw}.home-cta{display:block}.home-cta .button{margin-top:22px}.page-head{padding:70px 7vw 55px}.page-head h1{font-size:52px}.program-intro{padding:55px 8vw}.program-intro h2{font-size:40px}.program-intro picture,.program-intro img{height:250px}.class-list,.staff-grid,.gallery-grid{grid-template-columns:1fr}.staff-grid picture,.staff-grid img{height:260px}.gallery-grid picture,.gallery-grid img,.gallery-grid picture:nth-child(4n+1) img{height:250px}.gallery-grid picture:nth-child(4n+1){grid-row:auto}.form-page{padding:55px 7vw}.form-page h2{font-size:42px}footer{grid-template-columns:1fr;gap:28px;padding:55px 8vw}.schedule-wrap{padding:45px 5vw}}
@media (max-width:580px){.brand picture{display:none}.brand span{text-transform:none;letter-spacing:0;color:var(--ink);font-family:Playfair Display,serif;font-size:15px;line-height:1.05;display:block}.form-page>*{min-width:0}.form-page a{overflow-wrap:anywhere}}
.brand img{object-fit:cover!important}
:root{--cream:#fff;--paper:#fff;--ink:#121212;--berry:#ff1493;--rose:#fff;--line:#1b1b1b;--gold:#ff1493;--plum:#111}body{color:#121212;background:#fff}.site-header{background:#fffffff7;border-bottom-color:#111}.site-header nav a:hover,.text-link,.age-card span,.reading a,summary span,.contact-form-status{color:#ff1493}.button{color:#fff;background:#ff1493}.button:hover{background:#d90072;box-shadow:0 12px 25px #ff149338}.hero{background:#fff}.hero h1 em{color:#ff1493}.proof-strip{background:#fff;border-top:1px solid #111;border-bottom:1px solid #111}.proof-strip span:first-child,.proof-strip span:last-child,.spark{color:#ff1493}.proof-strip i{color:#111}.age-section{background:#fff}.age-card{background:#fff;border:1px solid #111}.age-card:hover{box-shadow:0 16px #ff1493}.split-story,.program-intro,.class-list,.schedule-wrap,.reading,.staff-grid,.gallery-grid,.review-list,.form-page,.faq{background:#fff}.quote-band,footer{background:#111}.home-cta{color:#fff;background:#ff1493}.cream{color:#111;background:#fff}.cream:hover{color:#fff;background:#111}.page-head{background:#fff;border-bottom-color:#111}.class-list article,.staff-grid article,.review-list blockquote,details,details:last-child{border-color:#111}.contact-form,.contact-form input,.contact-form textarea{background:#fff;border-color:#111}.schedule-wrap table{background:#fff}.schedule-wrap th{color:#ff1493}.schedule-wrap th,.schedule-wrap td{border-color:#111}.timeline p{border-left-color:#ff1493}.attire-intro{background:#fff;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;gap:64px;padding:72px 10vw 50px;display:grid}.attire-intro h2{margin-bottom:18px;font-size:clamp(38px,4vw,62px)}.attire-intro p{max-width:65ch;font-size:18px}.attire-intro aside{color:#fff;background:#111;border-radius:18px;padding:30px}.attire-intro aside strong{color:#ff1493;font-size:18px}.attire-intro aside p{margin:12px 0 0;font-size:16px}.attire-grid{background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:24px 10vw 72px;display:grid}.attire-grid picture,.attire-grid img{border:1px solid #111;border-radius:12px;width:100%;height:auto;display:block;overflow:hidden}.attire-notes{padding-top:30px}@media (max-width:760px){.attire-intro{grid-template-columns:1fr;gap:28px;padding:50px 8vw 30px}.attire-grid{grid-template-columns:1fr;padding:20px 8vw 50px}}
