/* Mobile-first editorial refresh. No changes to the form or payment integrations. */
:root{--page-gutter:clamp(20px,5.5vw,88px);--section-gap:clamp(40px,6vw,80px)}
html{scroll-padding-top:24px}
body{font-size:16px;line-height:1.65}
main>section,main>nav{min-width:0}
h1,h2,h3,p,li,summary{overflow-wrap:break-word}
.button{gap:16px;min-height:50px;line-height:1.35;text-align:left;font-size:15px}
.button svg{flex:none}
.button:active{transform:translateY(0)}
header{padding-inline:var(--page-gutter);height:78px}
.brand{white-space:nowrap;font-size:21px}
.small-button{min-height:44px;font-size:13px}
.preview-bar{font-size:10px;line-height:1.5;letter-spacing:.8px}
.hero{padding:48px var(--page-gutter);gap:7%;background:radial-gradient(ellipse at 95% 5%,#e9dff0,transparent 55%),#f3f1ec}
.hero h1{font-size:clamp(38px,4.5vw,66px);letter-spacing:-2px;line-height:1.08}
.hero-description{font-size:19px;line-height:1.5;max-width:470px}
.hero-for{font-size:16px;line-height:1.7;max-width:460px;margin-bottom:24px}
.hero .button{font-size:15px;min-height:52px}
.hero .cta-note{color:var(--muted);font-size:12px;line-height:1.6;max-width:390px}
.hero-location{font-size:13px;line-height:1.5;margin-top:16px}
.hero-art{max-width:400px;width:100%}
.hero-photo{border-radius:180px 180px 22px 22px;box-shadow:0 18px 40px #3d284015}
.hero-photo img{height:auto;width:100%;display:block}
.hero-art figcaption{text-align:center;font-size:11px;margin-top:12px}
.hero-pills{margin-bottom:22px}
.confirmed-dates{padding-left:14px;margin-bottom:25px}
.confirmed-dates strong{font-size:16px;line-height:1.5}
.confirmed-dates span{font-size:13px;line-height:1.65}
.course-nav{margin:0 var(--page-gutter);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);gap:24px;padding:20px 0}
.course-nav a{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;font-weight:600;color:#6b517b;min-height:44px}
.course-nav a:hover{color:#3d284b}
.course-nav a span{font-size:18px;font-weight:400}
.experience{padding:var(--section-gap) var(--page-gutter) 36px}
.section-heading{align-items:end;margin-bottom:26px}
.section-heading h2{font-size:clamp(30px,3.2vw,43px);letter-spacing:-1.4px}
.section-heading>p{font-size:15px;line-height:1.7}
.kicker{font-size:10px;line-height:1.6;letter-spacing:1.5px;margin-bottom:12px}
.learning-grid{gap:20px}
.learning-card{padding:0;border:1px solid #e5dfe7;border-radius:18px;background:#fff;overflow:hidden;min-height:0;transition:transform .22s,box-shadow .22s}
.learning-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #42314910}
.learning-image{height:190px;overflow:hidden;background:#ece7ed}
.learning-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 35%;transition:transform .5s}
.learning-card:nth-child(2) .learning-image img{object-position:center 50%}
.learning-card:nth-child(3) .learning-image img{object-position:center 30%}
.learning-card:hover .learning-image img{transform:scale(1.035)}
.learning-copy{padding:24px}
.card-number{font-size:10px;letter-spacing:1.1px;margin-bottom:11px}
.learning-card h3{font-size:22px;font-weight:600;margin-bottom:12px}
.learning-card p{font-size:15px;line-height:1.75}
.learning-card small{display:block;margin-top:13px;font-size:12px;line-height:1.6;color:#80628e}
.tuition{margin:14px var(--page-gutter) var(--section-gap);padding:0;display:grid;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch;border-radius:22px;background:#f0ebf3;overflow:hidden}
.tuition-summary{padding:clamp(24px,3.5vw,48px)}
.tuition .kicker{font-size:10px;margin-bottom:15px}
.tuition h2{font-size:clamp(38px,4.5vw,58px);line-height:1.1;letter-spacing:-1.8px;margin-bottom:16px}
.tuition h2 span{display:block;margin-top:7px;font-size:14px;letter-spacing:0;color:var(--muted)}
.tuition p.tuition-intro{font-size:15px;line-height:1.7;max-width:400px}
.payment-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0}
.payment-breakdown>div{padding:16px 14px;border:1px solid #ded2e6;border-radius:12px;background:#fcfafd}
.payment-breakdown span{display:block;font-size:11px;line-height:1.5;color:#796c80;margin-bottom:8px}
.payment-breakdown strong{display:block;font-size:26px;letter-spacing:-1px;font-weight:600;line-height:1.2;color:#4e385e}
.payment-breakdown small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:7px}
.tuition-includes{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.tuition-includes li{font-size:14px;line-height:1.6;padding-left:23px;position:relative;color:#64586c}
.tuition-includes li:before{content:'✓';position:absolute;left:0;color:#80628e;font-size:13px}
.tuition-action{margin:0;padding:clamp(24px,3.5vw,48px);background:#faf7fc;border-left:1px solid #e0d7e7;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0}
.tuition-action h3{font-size:clamp(24px,2.6vw,32px);line-height:1.25;letter-spacing:-.8px;font-weight:500;margin:0 0 15px}
.tuition-action>.tuition-call-copy{font-size:15px!important;line-height:1.7!important;margin:0 0 21px!important}
.tuition-action .button{width:100%;justify-content:space-between;font-size:14px;min-height:50px;white-space:normal;padding:15px 20px}
.tuition-action>.tuition-reassurance{font-size:12px!important;line-height:1.6!important;margin:12px 0 0!important}
.registration-details{margin-top:25px;border-top:1px solid #e0d7e7;padding-top:18px}
.registration-details summary{font-size:13px;line-height:1.6;font-weight:600;cursor:pointer;color:#725383;min-height:36px;padding-right:5px}
.registration-content{padding-top:14px}
.registration-content p,.registration-content li{font-size:13px!important;line-height:1.7!important;color:var(--muted)}
.registration-content ol{padding-left:19px;margin:14px 0 20px;display:grid;gap:10px}
.registration-content>.registration-note{font-size:11px!important;margin-top:13px!important}
.button-secondary{background:transparent;color:#725383;border:1px solid #cdbbd8;box-shadow:none}
.button-secondary:hover{background:#f0e7f6}
.teacher-intro{margin:0 var(--page-gutter) var(--section-gap);padding-top:32px;gap:40px;grid-template-columns:200px 1fr}
.teacher-intro img{border-radius:80px 80px 16px 16px}
.teacher-intro h2{font-size:32px;line-height:1.2}
.teacher-intro p:not(.kicker){font-size:15px;line-height:1.8}
.proof{margin:0 var(--page-gutter) var(--section-gap);padding:36px 8%;gap:35px;border-radius:22px;background:#f1eeea}
.proof h2{font-size:38px;letter-spacing:-1.4px;line-height:1.15}
.proof-copy>p{font-size:16px;line-height:1.7}
.video-shell{width:210px}
.essentials{margin:0;padding:0 var(--page-gutter) 28px;gap:40px}
.essentials article{padding-top:23px}
.essentials h3{font-size:23px;line-height:1.3}
.essentials p:not(.kicker){font-size:15px;line-height:1.8}
.essentials .preview-detail{font-size:12px!important}
.call-path,.course-faq{margin:0 var(--page-gutter) 30px;padding:36px 0;max-width:none}
.call-path h2,.course-faq h2{font-size:32px;line-height:1.25;letter-spacing:-1px}
.call-path ol{gap:20px;counter-reset:steps}
.call-path li{background:#f2eee8;padding:23px;border-radius:16px}
.call-path li>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #cfbfd8;border-radius:50%;font-size:11px}
.call-path h3{font-size:19px;line-height:1.3;margin:17px 0 10px}
.call-path p{font-size:14px;line-height:1.75}
.course-faq details{padding:17px 20px;border:1px solid #e3dce6;border-radius:12px;background:#fff;margin:10px 0}
.course-faq summary{font-size:15px;line-height:1.6;padding-right:8px}
.course-faq details p{font-size:14px;line-height:1.8}
.course-faq details p a{text-decoration:underline;text-underline-offset:3px}
.next-step{margin:0 var(--page-gutter);padding:38px 0 44px}
.next-step h2{font-size:34px;line-height:1.2}
.next-copy>p{font-size:15px;line-height:1.8}
.next-copy .button{font-size:15px;min-height:52px}
.next-copy small{font-size:12px}
footer{padding:24px var(--page-gutter)}
.form-panel{min-width:0}
.form-card h3{font-size:27px;line-height:1.2}
.question-help{font-size:15px;line-height:1.7}
.field-title{font-size:14px;line-height:1.6}
.text-input,select{font-size:16px;max-width:100%;min-width:0}
.choice{font-size:15px;line-height:1.6}
.consent{font-size:12px}
.call-agenda .button{margin-top:16px;max-width:100%;font-size:14px;line-height:1.4;white-space:normal}
.form-actions .button{font-size:14px;gap:10px}
@media(min-width:681px) and (max-width:1000px){
  .hero{gap:5%;grid-template-columns:1.2fr 1fr}
  .hero h1{font-size:43px}
  .learning-grid{gap:12px}
  .learning-copy{padding:18px}
  .learning-card h3{font-size:20px}
  .learning-card p{font-size:14px}
  .learning-image{height:150px}
  .tuition-summary,.tuition-action{padding:25px}
}
@media(max-width:680px){
  body{font-size:15px}
  header{height:70px;gap:12px}
  .brand{font-size:16px;letter-spacing:-.5px}
  .brand-mark{font-size:25px}
  .small-button{font-size:11px;padding:11px 13px;max-width:145px;gap:7px;min-height:42px}
  .small-button svg{width:15px;height:15px}
  .preview-bar{font-size:8px;gap:6px;letter-spacing:.7px;padding:8px 12px}
  .preview-bar>span:last-child{font-size:9px;letter-spacing:0}
  .hero{padding:28px var(--page-gutter) 30px;gap:25px;display:flex;flex-direction:column;align-items:stretch}
  .hero h1{font-size:clamp(35px,9.4vw,49px);letter-spacing:-1.6px;line-height:1.08;margin-bottom:19px}
  .hero-pills{gap:6px;margin-bottom:18px}
  .hero-pills .pill{font-size:8px;padding:6px 9px;letter-spacing:.4px}
  .hero-description{font-size:17px;line-height:1.6;margin-bottom:13px}
  .hero-for{font-size:14px;line-height:1.8;margin-bottom:20px;max-width:100%}
  .confirmed-dates{padding-left:12px;margin-bottom:22px}
  .confirmed-dates strong{font-size:14px;line-height:1.65}
  .confirmed-dates span{font-size:12px;line-height:1.8}
  .hero-actions,.hero .button{width:100%}
  .hero .button{font-size:14px;min-height:50px;padding:15px 21px}
  .hero .cta-note{font-size:11px;text-align:center;max-width:none;margin-top:11px}
  .hero-location{font-size:12px;justify-content:center;margin-top:13px}
  .hero-art{width:78%;max-width:290px;align-self:center}
  .hero-photo{border-radius:150px 150px 18px 18px}
  .hero-art figcaption{font-size:10px;margin-top:9px}
  .course-nav{gap:12px;padding:12px 0}
  .course-nav a{font-size:10px;gap:4px;line-height:1.5}
  .course-nav a span{font-size:14px}
  .experience{padding-top:36px;padding-bottom:28px}
  .section-heading h2{font-size:30px;line-height:1.15}
  .section-heading>p{font-size:14px;line-height:1.75;margin-top:14px}
  .learning-grid{grid-template-columns:1fr;gap:16px}
  .learning-card{display:block;border-radius:16px;padding:0}
  .learning-image{height:165px}
  .learning-copy{padding:21px}
  .card-number{font-size:9px;margin-bottom:10px}
  .learning-card h3{font-size:22px;margin-bottom:10px}
  .learning-card p{font-size:14px;line-height:1.8}
  .learning-card small{font-size:11px}
  .tuition{display:block;margin-top:6px;margin-bottom:38px;border-radius:18px}
  .tuition-summary{padding:25px 21px}
  .tuition .kicker{font-size:9px;letter-spacing:1.3px;margin-bottom:15px}
  .tuition h2{font-size:44px;letter-spacing:-1.5px;margin-bottom:15px}
  .tuition h2 span{font-size:13px;margin-top:5px}
  .tuition p.tuition-intro{font-size:14px;line-height:1.8}
  .payment-breakdown{gap:9px;margin:21px 0}
  .payment-breakdown>div{padding:13px 10px}
  .payment-breakdown span{font-size:10px;min-height:30px}
  .payment-breakdown strong{font-size:25px}
  .payment-breakdown small{font-size:10px;line-height:1.6}
  .tuition-includes{gap:8px}
  .tuition-includes li{font-size:12px;line-height:1.7;padding-left:20px}
  .tuition-action{border-left:0;border-top:1px solid #e0d7e7;padding:25px 21px}
  .tuition-action h3{font-size:25px;line-height:1.25;margin-bottom:13px}
  .tuition-action>.tuition-call-copy{font-size:14px!important;margin-bottom:20px!important}
  .tuition-action .button{font-size:13px;min-height:50px;padding:14px 17px}
  .tuition-action>.tuition-reassurance{font-size:11px!important}
  .registration-details summary{font-size:12px;line-height:1.7}
  .registration-content p,.registration-content li{font-size:12px!important}
  .registration-content>.registration-note{font-size:11px!important}
  .teacher-intro{display:grid;grid-template-columns:1fr;gap:22px;padding-top:27px;margin-bottom:38px}
  .teacher-intro figure{width:155px;margin:0}
  .teacher-intro h2{font-size:28px;line-height:1.2;margin-bottom:14px}
  .teacher-intro p:not(.kicker){font-size:14px;line-height:1.8}
  .proof{padding:25px 21px;gap:24px;margin-bottom:38px;border-radius:18px;align-items:stretch}
  .proof .pill{font-size:9px}
  .proof h2{font-size:31px;margin-top:19px;margin-bottom:15px}
  .proof-copy>p{font-size:14px;line-height:1.75}
  .video-shell{width:210px;max-width:100%;align-self:center}
  .video-note p{font-size:11px}
  .video-label{font-size:9px}
  .essentials{padding-bottom:20px;margin-top:0}
  .essentials article{padding-top:22px;margin-top:0;margin-bottom:25px}
  .essentials h3{font-size:21px}
  .essentials p:not(.kicker){font-size:14px;line-height:1.8}
  .essentials .preview-detail{font-size:12px!important}
  .call-path,.course-faq{padding:29px 0;margin-bottom:16px}
  .call-path h2,.course-faq h2{font-size:27px;line-height:1.25;letter-spacing:-.8px;margin-bottom:22px}
  .call-path ol{gap:12px}
  .call-path li{padding:20px;display:grid;grid-template-columns:30px 1fr;column-gap:13px}
  .call-path li>span{grid-row:1/3;width:30px;height:30px}
  .call-path h3{font-size:17px;margin:3px 0 8px}
  .call-path p{font-size:13px;line-height:1.75}
  .course-faq details{padding:16px;margin:9px 0}
  .course-faq summary{font-size:14px;line-height:1.6}
  .course-faq details p{font-size:13px;line-height:1.8}
  .next-step{padding:30px 0 36px}
  .next-step h2{font-size:29px;line-height:1.2}
  .next-copy{margin-top:19px}
  .next-copy>p{font-size:14px;line-height:1.8;margin-bottom:20px}
  .next-copy .button{font-size:14px;min-height:50px}
  .next-copy small{font-size:11px;line-height:1.7;margin-top:13px}
  footer{gap:13px;font-size:11px}
  footer>span{font-size:16px}
  footer p{font-size:10px;line-height:1.7}
  footer a{font-size:12px}
  .form-panel{padding:20px 20px max(24px,env(safe-area-inset-bottom))}
  .dialog-heading{gap:13px}
  .dialog-heading h2{font-size:22px;line-height:1.25;letter-spacing:-.6px}
  .close-dialog{width:38px;height:38px}
  .form-course-dates{padding:12px;margin-top:17px}
  .form-course-dates strong{font-size:13px;line-height:1.65}
  .form-course-dates span{font-size:11px;line-height:1.8}
  .privacy-note{font-size:11px;line-height:1.7;margin:16px 0 23px}
  .form-top{font-size:10px;gap:10px}
  .form-card h3{font-size:25px;line-height:1.25;letter-spacing:-.6px}
  .question-help{font-size:14px;line-height:1.8;margin-bottom:21px}
  .field-title,legend{font-size:13px;line-height:1.6}
  .text-input,select{font-size:16px;padding:13px 11px;line-height:1.5;margin-bottom:19px}
  .choice{font-size:14px;padding:12px}
  .consent{font-size:12px;line-height:1.7}
  .field-help{font-size:11px;line-height:1.8}
  .form-actions{gap:12px;margin-top:22px}
  .form-actions .button{font-size:13px;padding:14px 17px;min-height:48px}
  .back{font-size:13px}
  .error{font-size:12px;line-height:1.7}
  .call-agenda h4{font-size:16px;line-height:1.4}
  .call-agenda ul{font-size:13px;line-height:1.8}
  .call-agenda p{font-size:12px;line-height:1.8}
  .call-agenda .button,.calendar-link{font-size:13px;line-height:1.5;white-space:normal}
  .availability-note{font-size:13px;line-height:1.8}
}
@media(max-width:350px){
  :root{--page-gutter:16px}
  .brand{font-size:14px}
  .brand-mark{font-size:22px}
  .small-button{font-size:10px;max-width:132px;padding-inline:10px}
  .tuition-summary,.tuition-action{padding-inline:18px}
  .payment-breakdown strong{font-size:23px}
  .course-nav{gap:8px}
  .course-nav a{font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.learning-card,.learning-image img{transition:none}.learning-card:hover,.learning-card:hover .learning-image img{transform:none}}
