/* Values measured from Primary Ballet's live styles. */
:root{--canvas:#fffefc;--ink:#333;--cream:#f7eee5;--footer:#c0d5e9;--navy:#1f3a5f;--coral:#e06a5f;--border:#ddd;--serif:'Playfair Display',serif;--sans:'Nunito Sans',sans-serif;--page-width:1120px;--space:48px;--image-radius:3px;--control-radius:12px;--hero-size:48px;--hero-weight:500;--lead-size:36px;--lead-tracking:-1px;--small-size:21px;--goal-size:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}html,body{min-height:100%;margin:0;padding:0;font-family:var(--sans);background:var(--canvas);font-size:21px;color:var(--ink)}body{border-radius:12px}::selection{color:var(--ink);background:#c5e2ef}h1,h2,h3,h4,h5,h6,p,ul,figure{margin:0}h1{color:var(--ink)}h2,h2 a{font-family:var(--serif);font-size:54px;font-weight:400;letter-spacing:0;line-height:112%;color:var(--ink);text-decoration:none}h3{font-family:var(--serif);font-size:36px;font-weight:400;line-height:112%}h4{font-family:var(--serif);font-size:28px;font-weight:400;line-height:112%}h3 small{font-size:24px;display:block}p,ul li{font-family:var(--sans);font-size:21px;font-weight:400;letter-spacing:0;line-height:180%}p{margin-bottom:10px}a{color:var(--coral)}a:hover{filter:saturate(150%)}img{border-radius:var(--image-radius)}button,input,textarea,select{font-size:21px;border-radius:var(--control-radius)}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--navy);outline-offset:4px}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--canvas);padding:10px}.skip-link:focus{top:10px}.site-header{position:fixed;top:0;left:0;z-index:10;width:100%;height:92px;background:var(--cream);display:flex;align-items:center;justify-content:space-between}.brand{position:relative;height:0;flex:1;padding:0 40px}.brand img{position:absolute;left:10px;top:-50px;height:172px;width:auto}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 40px}.site-nav a{color:var(--ink);font-size:18px;font-weight:500;white-space:nowrap;padding:12px;text-decoration:none}.site-nav .nav-button,.nav-button{display:flex;align-items:center;justify-content:center;border-radius:4px;color:#fff;background:var(--ink);height:50px;padding:0 36px;margin-left:12px;text-decoration:none}.menu-toggle{display:none}.hero{width:100%;max-width:1700px;margin:auto;height:50vh;max-height:820px;display:flex;align-items:flex-end;padding:40px 48px}.hero h1{font-family:var(--serif);font-size:var(--hero-size);font-weight:var(--hero-weight);line-height:1.2;width:70%;max-width:1600px;letter-spacing:0}.home-gallery,.classes-imgs{display:flex;gap:5px;margin-bottom:5px}.home-gallery img{width:50%;height:720px;max-height:60vh;object-fit:cover;flex-shrink:1;min-width:0}.home-gallery img:first-child{width:30%}.home-gallery img:last-child{width:20%}.home-welcome{max-width:1700px;width:100%;margin:auto;padding:0 48px 48px}.home-welcome .welcome-copy{width:65%;padding:57px 0}.home-welcome p,.lead{font-size:var(--lead-size);line-height:160%;letter-spacing:var(--lead-tracking);font-weight:400;margin:0}.home-welcome p+p{margin-top:57px}.home-goals{max-width:1700px;width:100%;margin:auto;padding:0 48px 48px}.rule{background:var(--cream);width:100%;height:1px}.goals-layout{display:flex;gap:48px;margin-top:40px}.goals-layout>h2{width:33%;flex:none;min-height:488px}.goals-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.goal{display:flex;gap:48px;padding:40px 0}.goal:first-child{padding:0 0 48px}.goal h3{width:37%;flex:none;font-family:var(--sans);font-size:var(--goal-size);font-weight:500;line-height:140%;text-align:center}.goal p{flex:1;margin:0;font-size:var(--small-size);line-height:180%}.site-footer{background:var(--footer);padding:48px 48px 80px;color:var(--navy);overflow:hidden}.footer-inner{max-width:1604px;margin:auto}.footer-brand{color:var(--navy);text-decoration:none;display:block;width:max-content;max-width:100%}.footer-brand img{display:block;width:200px;height:200px;margin:-20px}.footer-brand h2{font-family:var(--serif);color:var(--navy);font-size:var(--hero-size);font-weight:var(--hero-weight);line-height:1.2;white-space:pre}.footer-details{display:flex;align-items:flex-start;gap:102px;margin-top:40px}.footer-contact{width:33%;flex:none}.site-footer p,.site-footer a{font-size:var(--small-size);line-height:180%;color:var(--navy);margin:0}.social-links{display:flex;gap:15px;height:41px;align-items:flex-start}.social-links svg{width:28px;height:28px;fill:currentColor}.footer-copyright{flex:1;display:flex;flex-direction:column;align-items:flex-end;align-self:stretch;justify-content:flex-end}.footer-copyright p:last-child{text-align:right}.page{max-width:var(--page-width);width:100%;min-height:100vh;position:relative;z-index:2;padding:30px;margin:10vh auto 0}.page h2{margin-top:60px;margin-bottom:24px}.classes-page{min-height:initial}.classes-page h3{margin-bottom:30px}.classes-page .page-header{margin-bottom:60px}.classes-page h3,.classes-page h4{margin-top:60px}.classes-page h2 small{display:block;font-size:32px;margin-top:5px}.classes-page h3 small,.classes-page h4 small{display:block;margin-top:5px}.classes-page .page-header p{margin-bottom:15px}.classes-page .class-info{margin-left:20vw;padding-bottom:60px}.classes-page .class-info:last-child{border-bottom:0;margin-bottom:60px}.classes-imgs{margin-top:5px}.classes-imgs img{width:40%;max-height:60vh;height:720px;object-fit:cover;min-width:0}.classes-imgs img:first-child,.classes-imgs img:last-child{width:30%}.classes-imgs.alt img{width:30%}.classes-imgs.alt img:first-child{width:20%}.classes-imgs.alt img:last-child{width:50%}.classes-imgs.alt-2 img,.classes-imgs.alt-2 img:first-child,.classes-imgs.alt-2 img:last-child{width:33%}.classes-imgs.alice img:first-child{width:30%;object-position:left -50%}.classes-imgs.alice img:nth-child(2){width:52%;object-position:left}.classes-imgs.alice img:nth-child(3){width:18%;object-position:40%}.classes-imgs.performance img:first-child{width:30%}.classes-imgs.performance img:nth-child(2){width:50%}.classes-page .calendar{margin-top:60px;margin-bottom:0}.calendar{position:relative;margin-bottom:-36px}.calendar .label-position{margin-top:0;transform:translateY(30px);z-index:1;position:relative}.calendar .top-blocker{height:32px;width:100%;background:var(--canvas);position:absolute;top:38px;border-bottom:1px solid var(--border)}.calendar .bottom-blocker{height:30px;width:100%;background:var(--canvas);position:absolute;bottom:3px;border-top:1px solid var(--border)}.calendar iframe{border:1px solid var(--border);width:100%;height:620px}.calendar img{width:100%;border:1px solid var(--border);border-radius:12px}.calendar select{margin-top:10px}.about-page .page-header{margin-bottom:20px}.about-page .erin-img{width:400px;max-width:100%;float:right;margin-left:30px}.about-page img{width:100%}.about-page p{margin-bottom:20px}.about-page .teacher{width:270px;max-width:100%;float:left;margin:10px 40px 0 0}.summer-page{width:100%;background:#fff6ec;padding-bottom:80px}.summer-page h2{margin-top:0!important}.contact-page .contact-methods{display:flex;gap:48px;font-size:24px;margin:24px 0;padding:24px 0;border-bottom:1px solid var(--ink)}.contact-page img{width:40%;position:absolute;right:30px;top:70px}.table-holder{overflow:auto;width:calc(100% + 60px);margin:0 -30px}table{width:100%;margin:30px 0}th{text-align:left;font-size:16px;padding:5px;white-space:nowrap}td{border:0;border-bottom:1px solid var(--border);padding:5px;font-size:14px;max-width:200px;white-space:normal}.performance-image{width:100%;max-width:100%;height:auto;padding:20px;background:#f8efe6;border-radius:12px}.margin-top-0{margin-top:0}.subscriber-page{min-height:480px}form{width:100%;margin-bottom:120px}label{display:block;font-family:var(--sans);color:var(--ink);font-size:21px;font-weight:400;letter-spacing:-1px;line-height:160%;margin:25px 0 5px}input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select{font-family:Arial,sans-serif;font-size:24px;width:100%;min-width:100%;min-height:70px;padding:20px;border:1px solid var(--border);border-radius:12px;background:#fff;appearance:none}input[type=date]{text-align:left;text-align-last:left}textarea{min-height:320px}.button{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:18px;border-radius:4px;font-size:21px;background:var(--ink);border:1px solid var(--ink);font-family:var(--sans);color:var(--cream);margin:48px 0;width:inherit;min-width:180px;transition:250ms;cursor:pointer}.button:hover{filter:contrast(150%)}form .rule{margin:60px 0}.form-fail{border:3px solid #ef472f;padding:30px 30px 20px;border-radius:12px;margin:30px 0 40px}.form-fail h2{font-size:32px;margin-top:0}.form-fail li{margin-bottom:10px}.form-fail[hidden]{display:none}.form-integration-note{font-size:17px;line-height:1.6;margin:30px 0;padding:20px;border:1px solid var(--border);border-radius:12px}.form-integration-note p{font-size:17px;line-height:1.6}.success-page{display:flex;align-items:center;flex-direction:column;width:100%;padding:20vh 60px}.success-page p{font-size:32px;letter-spacing:-1px;line-height:160%;padding-bottom:48px;max-width:960px}.success-btn{display:flex;align-items:center;gap:20px;font-size:21px}.success-btn .nav-button{margin:0}.post-content{min-height:420px;overflow-wrap:break-word;line-height:normal}.post-content h1{font:700 1.2em/1.2 var(--sans);margin:0}.post-content ul,.post-content ol{padding-left:1.5em}.post-content ul li{line-height:180%}.post-content img{max-width:100%;height:auto}.post-content .attachment{display:inline-block;position:relative;max-width:100%;padding:0;margin:0 0 1em}.post-content .attachment a{color:inherit;text-decoration:none}.post-content .attachment__caption{text-align:center;font-size:.9em;font-weight:400;line-height:1.2}.post-content .attachment__name+.attachment__size:before{content:' · '}.post-content .attachment--preview{width:100%;text-align:center}.post-content .attachment--preview img{display:block;margin:0 auto;max-width:100%;height:auto}.post-content .attachment--preview .attachment__caption{margin-top:.5em}.post-content .attachment--preview .attachment__size{display:none}.post-content .attachment--preview .attachment__name{display:none}.post-content .attachment-gallery{display:flex;flex-wrap:wrap;position:relative;flex:1 0 33%;gap:0}.post-content .attachment-gallery .attachment{flex:1;padding:0 .5em;max-width:33%}.posts-page h2{margin-top:60px;margin-bottom:24px}.posts-page .page-header{margin-bottom:60px}.post-date{font-size:smaller}.cms-entries{padding:0}.cms-entries .entries{list-style:none;padding:0}.style-guide .swatches{display:flex;flex-wrap:wrap;gap:20px}.swatch{width:150px;height:100px;padding:10px;border:1px solid var(--border);font-size:16px}
@media(min-width:1000px) and (max-width:1399px){.hero{padding-bottom:20px}}
@media(max-width:1240px){.home-gallery img:last-child{display:none}.home-gallery img:first-child{width:100%}.classes-imgs.alice img:nth-child(3){display:none}}
@media(max-width:1220px){.classes-imgs.alice img:first-child{display:none}.classes-imgs.alice img:nth-child(2){width:100%}}
@media(max-width:1199px){:root{--hero-size:80px;--hero-weight:400;--lead-size:32px;--small-size:14px;--goal-size:21px}}
@media(max-width:999px){.brand img{left:-2px;top:-40px}.site-nav{display:none;position:absolute;top:92px;right:0;width:100%;background:var(--cream);border-top:1px solid #fff;padding:20px 30px 20px 20px}.site-nav.open{display:block}.site-nav a{display:block}.site-nav .nav-button{display:flex;margin-bottom:10px}.menu-toggle{display:flex;align-items:center;justify-content:center;position:absolute;top:21px;right:20px;background:var(--ink);color:#fff;width:50px;height:50px;border:0;border-radius:12px;cursor:pointer}.hero{height:60vh;max-height:none;padding:28px 28px 28px}.hero h1{width:100%}.home-welcome{padding:0 28px 60px}.home-welcome .welcome-copy{width:100%}.home-goals{padding:0 28px 28px}.goals-layout{flex-direction:column;gap:0}.goals-layout>h2{width:100%;min-height:0}.goal,.goal:first-child{flex-direction:column;gap:24px;align-items:flex-start}.goal h3{width:37%;text-align:center}.goal p{width:100%;flex:none}.site-footer{padding:28px 28px 80px}.footer-details{flex-direction:column;gap:40px}.footer-contact{width:100%}.footer-copyright{align-items:flex-start;align-self:initial;flex:none;width:100%}.footer-copyright p{width:max-content}}
@media(min-width:990px) and (max-width:999px){.brand img{top:-50px}}
@media(max-width:809px){:root{--hero-size:42px;--lead-size:22px;--lead-tracking:-.5px}.goal h3{margin-bottom:30px}}
@media(max-width:768px){.classes-imgs.alt img:last-child{display:none}.classes-imgs.alt img:first-child{display:block;width:100%}}
@media(max-width:580px){.about-page .page-header{display:flex;flex-direction:column-reverse}.about-page .erin-img{margin-left:0}.contact-page .contact-methods{flex-direction:column;gap:20px}.success-page{padding:20vh 16px}.success-page p{font-size:24px}.success-btn{padding:0 16px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* The source galleries size intrinsically inside a centered column. */
main{display:flex;flex-direction:column;align-items:center;overflow:hidden}
.home-gallery img,.classes-imgs img{min-width:auto}
/* Original footer keeps 10px between the logo and heading. */
.footer-brand{display:flex;flex-direction:column;gap:10px}
.social-links{height:45.3px}
/* Goal titles occupy the left edge of their column in the source. */
.goal h3{text-align:left}
/* Rich text preserves the source editor's paragraph and attachment rhythm. */
.post-content{line-height:1.5}
.post-content *{box-sizing:border-box;margin:0;padding:0}
.post-content h1{font-size:1.2em;line-height:1.2}
.post-content ul,.post-content ol{padding-left:0}
.post-content li{margin-left:1em}
.post-content .attachment{margin:0;padding:0}
.post-content .attachment--preview img{display:inline;vertical-align:baseline;margin:0}
.post-content .attachment--preview .attachment__caption{color:#666;font-size:.9em;line-height:1.2;margin:0}
.post-content .attachment--preview .attachment__name,.post-content .attachment--preview .attachment__size{display:inline}
.post-content .attachment__name+.attachment__size:before{content:' • '}
.post-content .attachment-gallery .attachment{flex:1 0 33%;padding:0 .5em;max-width:33%}
.post-content .attachment-gallery--2 .attachment,.post-content .attachment-gallery--4 .attachment{flex-basis:50%;max-width:50%}
@media(max-width:1199px){.social-links{height:41.2px}}
.faculty-afterspace{height:114px;flex:none}
.hide-btn{visibility:hidden}
.footer-copy{width:max-content;max-width:100%}
.footer-copyright p{width:auto}
form fieldset[data-form-fields]{display:contents}
.post-content{overflow-wrap:normal}
.success-page p{margin:0}
.success-btn{font-family:sans-serif;line-height:1.2}
.post-content{color:#000}
.post-content p,.post-content li{color:var(--ink)}
