.rootSite .season-page{padding-bottom:clamp(3rem,8vw,5.5rem)}.rootSite .season-band{padding:clamp(2.2rem,5vw,3.6rem) 0}.rootSite .season-band--surface{background:var(--surface)}.rootSite .season-band--cream{background:#fffdf8}.rootSite .season-band--brand{background:var(--brand-soft)}.rootSite .season-band--teal{background:var(--teal-soft)}.rootSite .season-band__title{margin:0 0 .75rem;font-family:Roboto,Arial,sans-serif;font-weight:700;font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.15;letter-spacing:0;color:var(--text)}.rootSite .season-band__title--display{font-family:var(--font-amatic),var(--font-roboto),Arial,sans-serif;font-weight:700;font-size:clamp(2.8rem,5vw,4.2rem);line-height:.95}.rootSite .season-band__lead{max-width:40rem;margin:0 0 1.2rem;color:var(--text-soft);font-size:clamp(1.05rem,1.8vw,1.2rem);line-height:1.65}.rootSite .season-kicker{margin:0 0 .4rem;color:var(--red);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400}.rootSite .season-hero{padding:clamp(2.2rem,6vw,4rem) 0 clamp(1.6rem,4vw,2.4rem)}.rootSite .season-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.4rem,4vw,2.8rem);align-items:center}.rootSite .season-hero h1{margin:.2rem 0 1rem;font-family:var(--font-amatic),var(--font-roboto),Arial,sans-serif;font-size:clamp(3.4rem,7.5vw,5.8rem);font-weight:700;letter-spacing:0;line-height:.95}.rootSite .season-hero__lead{max-width:34rem;margin:0;color:var(--text-soft);font-size:clamp(1.05rem,1.8vw,1.18rem);line-height:1.65}.rootSite .season-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.35rem 0 1.25rem}.rootSite .season-hero__media{position:relative;margin:0}.rootSite .season-hero__mobile-cta{display:none}.rootSite .season-hero__frame{position:relative;overflow:hidden;border-radius:var(--radius-card);box-shadow:var(--shadow);aspect-ratio:1/1.05;background:#fff7cc}.rootSite .season-hero__frame img,.rootSite .season-hero__frame video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.rootSite .season-hero__frame video{-o-object-position:center 62%;object-position:center 62%}.rootSite .season-availability{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.rootSite .season-availability__chip{display:grid;gap:.2rem;padding:.85rem 1rem;border-radius:1.15rem;background:var(--surface);border:1px solid rgba(47,80,83,.12);color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .15s ease,box-shadow .15s ease}.rootSite .season-availability__chip:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.rootSite .season-availability__age{font-weight:700;color:var(--teal);font-size:.95rem}.rootSite .season-availability__when{color:var(--text);font-size:.92rem}.rootSite .season-availability__status{font-size:.86rem;font-weight:600}.rootSite .season-about{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.4rem,4vw,2.6rem);align-items:center}.rootSite .season-about--story{align-items:stretch}.rootSite .season-about-rich>.season-band__title{margin-bottom:1.75rem}.rootSite .season-about--story .season-about__media{height:100%;aspect-ratio:auto}.rootSite .season-about-rich__details{display:grid;gap:.75rem;margin-top:0}.rootSite .season-about-rich__details article{padding:1rem 1.1rem;border-radius:1.15rem;background:#fffdf8;border:1px solid #ece7d8}.rootSite .season-about-rich__details p{margin:0;color:var(--text-soft);line-height:1.58}.rootSite .season-about__beats{display:grid;gap:.75rem;margin:1.2rem 0 0;padding:0;list-style:none}.rootSite .season-about__beats li{padding:1rem 1.1rem;border-radius:1.15rem;background:#fffdf8;border:1px solid #ece7d8;color:var(--text-soft);line-height:1.55}.rootSite .season-about__media{overflow:hidden;border-radius:var(--radius-card);box-shadow:var(--shadow);aspect-ratio:4/5;background:var(--brand-soft)}.rootSite .season-about__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.rootSite .season-group-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.4rem}.rootSite .season-group-card{display:flex;flex-direction:column;gap:.85rem;background:#fffdf8;border:1px solid #ece7d8;border-radius:var(--radius-card);padding:1.3rem 1.3rem 1.4rem;box-shadow:var(--shadow-soft);scroll-margin-top:5.5rem}.rootSite .season-group-card header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.rootSite .season-group-card__age{background:var(--brand);color:var(--brand-foreground);font-size:.92rem}.rootSite .season-group-card__age,.rootSite .season-group-card__status{margin:0;display:inline-flex;align-items:center;padding:.28rem .7rem;border-radius:999px;font-weight:700}.rootSite .season-group-card__status{font-size:.82rem;border:1px solid transparent;white-space:nowrap}.rootSite .season-group-card__status--open{color:#2f6b4f;background:rgba(47,107,79,.1);border-color:rgba(47,107,79,.22)}.rootSite .season-group-card__status--few_left{color:#9a5b12;background:rgba(154,91,18,.1);border-color:rgba(154,91,18,.24)}.rootSite .season-group-card__status--closed,.rootSite .season-group-card__status--full{color:#8a3b34;background:rgba(138,59,52,.1);border-color:rgba(138,59,52,.22)}.rootSite .season-group-card__status--waitlist{color:var(--teal);background:var(--teal-soft);border-color:rgba(47,80,83,.2)}.rootSite .season-group-card h3{margin:0;font-family:Roboto,Arial,sans-serif;font-weight:700;font-size:clamp(1.2rem,2vw,1.4rem);line-height:1.25}.rootSite .season-group-card__venue{margin:0;color:var(--text-soft);font-size:.98rem;line-height:1.45}.rootSite .season-group-card__venue a{color:var(--teal);text-decoration:underline;text-underline-offset:.15em}.rootSite .season-group-card__price{display:grid;gap:.2rem;padding:.95rem 1rem;border-radius:1.1rem;background:#fff;border:1px solid #ece7d8}.rootSite .season-group-card__price-total{margin:0;font-size:clamp(1.55rem,2.4vw,1.85rem);font-weight:700;line-height:1.1;color:var(--text)}.rootSite .season-group-card__price-split{margin:0;color:var(--text-soft);font-size:.95rem}.rootSite .season-group-card__meta{margin:0;color:var(--text-soft);font-size:.92rem}.rootSite .season-group-card__details{border-top:1px solid #ece7d8;padding-top:.7rem}.rootSite .season-group-card__details summary{cursor:pointer;font-weight:600;color:var(--teal);list-style:none}.rootSite .season-group-card__details summary::-webkit-details-marker{display:none}.rootSite .season-group-card__details summary:after{content:"▾";margin-left:.4rem;font-size:.85em}.rootSite .season-group-card__details[open] summary:after{content:"▴"}.rootSite .season-group-card__details ul{margin:.7rem 0 0;padding-left:1.1rem;color:var(--text-soft);line-height:1.55;font-size:.95rem}.rootSite .season-group-card__cta{margin-top:auto;justify-content:center;width:100%}.rootSite .season-callout{margin:1.4rem 0 0;padding:1rem 1.15rem;border-left:4px solid var(--brand);background:#fff9e6;color:#333;border-radius:0 1rem 1rem 0}.rootSite .season-payment{display:grid;gap:1.2rem;margin-top:1.2rem;padding:1.35rem 1.4rem 1.5rem;border-radius:var(--radius-card);background:#fffdf8;border:1px solid #ece7d8;box-shadow:var(--shadow-soft)}.rootSite .season-payment__bar{display:grid;grid-template-columns:minmax(4.5rem,22%) 1fr;min-height:3.2rem;border-radius:999px;overflow:hidden;border:1px solid rgba(47,80,83,.14)}.rootSite .season-payment__bar-reservation{display:flex;align-items:center;justify-content:center;background:var(--brand);color:var(--brand-foreground);font-size:.86rem;font-weight:700;padding:.4rem .6rem;text-align:center}.rootSite .season-payment__bar-balance{display:flex;align-items:center;justify-content:center;background:#fff;color:var(--text-soft);font-size:.9rem;font-weight:600;padding:.4rem .8rem;text-align:center}.rootSite .season-payment__beats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:0;padding:0;list-style:none}.rootSite .season-payment__beats li{padding:.9rem 1rem;border-radius:1.1rem;background:#fff;border:1px solid #ece7d8}.rootSite .season-payment__beats strong{display:block;margin-bottom:.25rem;color:var(--text)}.rootSite .season-payment__beats span{color:var(--text-soft);font-size:.92rem;line-height:1.45}.rootSite .season-payment__copy{margin:0;color:var(--text-soft);line-height:1.6}.rootSite .season-know{display:grid;gap:.75rem;margin-top:1.1rem}.rootSite .season-know__item{border:1px solid #ece7d8;border-radius:1.15rem;padding:.2rem 1.05rem .95rem;background:#fff}.rootSite .season-know__item summary{cursor:pointer;list-style:none;padding:.85rem 0 .35rem;font-weight:700;font-size:clamp(1.05rem,2vw,1.2rem);color:var(--text)}.rootSite .season-know__item summary::-webkit-details-marker{display:none}.rootSite .season-know__item summary:after{content:"▾";float:right;color:var(--teal);font-weight:400}.rootSite .season-know__item[open] summary:after{content:"▴"}.rootSite .season-know__item p,.rootSite .season-know__item ul{margin:.35rem 0 0;color:var(--text-soft);line-height:1.6}.rootSite .season-know__item ul{padding-left:1.1rem}.rootSite .season-know__link{display:inline-block;margin-top:.7rem;color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:.15em}.rootSite .season-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1.2rem}.rootSite .season-reviews .classes-parent-review{margin:0}.rootSite .season-teacher{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;margin-top:1.5rem;padding:1rem 1.15rem;border-radius:var(--radius-card);background:#fffdf8;border:1px solid #ece7d8;text-decoration:none;color:inherit;box-shadow:var(--shadow-soft)}.rootSite .season-teacher:hover{box-shadow:var(--shadow)}.rootSite .season-teacher__portrait{width:4.5rem;height:4.5rem;border-radius:999px;overflow:hidden;background:var(--brand-soft)}.rootSite .season-teacher__portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.rootSite .season-teacher__copy strong{display:block;margin-bottom:.2rem}.rootSite .season-teacher__copy p{margin:0;color:var(--text-soft);font-size:.95rem;line-height:1.45}.rootSite .season-faq{display:grid;gap:.75rem;margin-top:1.1rem}.rootSite .season-faq__item{border:1px solid #ece7d8;border-radius:1.15rem;padding:.15rem 1.05rem .95rem;background:#fff}.rootSite .season-faq__item[open]{background:#fffdf8;border-color:#e3dcc8}.rootSite .season-faq__item summary{cursor:pointer;list-style:none;min-height:3rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0 .25rem;font-weight:600;color:var(--text)}.rootSite .season-faq__item summary::-webkit-details-marker{display:none}.rootSite .season-faq__item summary:after{content:"▾";color:var(--teal);flex:none}.rootSite .season-faq__item[open] summary:after{content:"▴"}.rootSite .season-faq__item p{margin:.55rem 0 0;color:var(--text-soft);line-height:1.6}.rootSite .season-close{text-align:center;max-width:40rem;margin:0 auto}.rootSite .season-close .season-band__title--display{margin-bottom:.7rem}.rootSite .season-close__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.3rem}.rootSite .season-close__contact{margin:.9rem 0 0;color:var(--text-soft)}.rootSite .season-close__contact a{color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:.15em}.rootSite .season-list{margin:0;padding-left:1.15rem;color:var(--text-soft);line-height:1.7}.rootSite .season-page h1{margin:.2rem 0 1rem;font-family:var(--font-amatic),var(--font-roboto),Arial,sans-serif;font-size:clamp(3.4rem,7.5vw,5.8rem);font-weight:700;letter-spacing:0;line-height:.95}.rootSite .season-section__lead{max-width:40rem;margin:0 0 1.2rem;color:var(--text-soft);font-size:clamp(1.05rem,1.8vw,1.2rem);line-height:1.65}@media(max-width:980px){.rootSite .season-about,.rootSite .season-availability,.rootSite .season-group-grid,.rootSite .season-hero__grid,.rootSite .season-payment__beats{grid-template-columns:1fr 1fr}}@media(max-width:720px){.rootSite .season-about,.rootSite .season-availability,.rootSite .season-group-grid,.rootSite .season-hero__grid,.rootSite .season-payment__beats,.rootSite .season-reviews{grid-template-columns:1fr}.rootSite .season-hero__media{order:-1}.rootSite .season-hero__frame{aspect-ratio:9/16}.rootSite .season-hero__frame video{-o-object-position:center;object-position:center}.rootSite .season-hero__mobile-cta{display:flex;justify-content:center;width:100%;margin-top:.8rem}.rootSite .season-about--story .season-about__media{height:auto;aspect-ratio:16/10}.rootSite .season-payment__bar{grid-template-columns:1fr;border-radius:1.1rem}.rootSite .season-teacher{grid-template-columns:auto 1fr}}.rootSite .season-doc__body{margin-top:1.5rem;max-width:46rem}.rootSite .season-doc__section{margin-bottom:1.5rem}.rootSite .season-doc__section h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 .55rem;font-family:var(--font-amatic),var(--font-roboto),Arial,sans-serif}.rootSite .season-doc__flags{color:#8a4b08;font-size:.9rem;font-weight:600}.rootSite .season-form{margin-top:1.4rem;max-width:42rem;display:grid;gap:1.25rem}.rootSite .season-form__section{border:1px solid #ece7d8;border-radius:1.1rem;padding:1rem 1.05rem 1.15rem;background:#fffdf8}.rootSite .season-form__section legend{padding:0 .35rem;font-weight:700}.rootSite .season-form__grid{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.rootSite .season-form label{display:grid;gap:.35rem;align-content:start;font-size:.95rem}.rootSite .season-form__full{grid-column:1/-1}.rootSite .season-form input,.rootSite .season-form select,.rootSite .season-form textarea{width:100%;border:1px solid #d8d0bc;border-radius:.75rem;padding:.7rem .8rem;font:inherit;background:#fff}.rootSite .season-form input:focus,.rootSite .season-form select:focus,.rootSite .season-form textarea:focus{outline:2px solid var(--teal);outline-offset:1px}.rootSite .season-form__help{display:block;color:var(--text-soft);font-size:.88rem;font-style:normal;margin-top:.25rem}.rootSite .season-form__error{color:#8a3b34;font-size:.88rem}.rootSite .season-form__checkbox{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;margin-top:.85rem}.rootSite .season-form__checkbox input{width:1.15rem;height:1.15rem;margin-top:.2rem}.rootSite .season-form__checkbox a{color:var(--teal);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}.rootSite .season-form__checkbox a:hover{color:var(--text)}.rootSite .season-form__payment-summary{padding:1rem 1.05rem;border-radius:1rem;background:#fff9e6;border:1px solid #ece7d8}.rootSite .season-form__payment-summary p{margin:.25rem 0}.rootSite .season-form__message{margin:0;color:var(--teal);font-weight:600}.rootSite .season-form__honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.rootSite .season-form__group-summary{margin:.2rem 0 .8rem;color:var(--text-soft)}.rootSite .season-form__contact-note,.rootSite .season-form__privacy-note{margin:0;color:var(--text-soft);font-size:.92rem;line-height:1.55}.rootSite .season-form__contact-note a,.rootSite .season-form__privacy-note a{color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:.16em}.rootSite .season-form__attendance-rules{border-color:#c9ddd9;background:#f4fbf9}.rootSite .season-form__attendance-rules h2{margin:.15rem 0 .8rem;font-size:1.3rem;line-height:1.25}.rootSite .season-form__attendance-rules .season-list{margin-bottom:0}.rootSite .season-doc__attendance{padding:1.1rem;border:1px solid #c9ddd9;border-radius:1rem;background:#f4fbf9}@media(max-width:720px){.rootSite .season-form__grid{grid-template-columns:1fr}}