/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--color-primary:#b84667;--color-primary-dark:#8f3150;--color-on-primary:#ffffff;--color-accent:#f6c344;--color-on-accent:#3a2a30;--color-accent-soft:#fff1c9;--color-pastel-1:#fde8dc;--color-pastel-2:#e3f2ea;--color-pastel-3:#ece6f7;--color-pastel-4:#fff1c9;--color-bg:#fffaf5;--color-surface:#ffffff;--color-surface-alt:#fdeee6;--color-text:#3a2a30;--color-text-muted:#6b5560;--color-heading:#4a2633;--color-border:#f1d9cf;--color-border-strong:#e2bfb3;--color-input-border:#a08890;--color-link:#8f3150;--color-link-hover:#6b1f3a;--color-eyebrow:#8f3150;--color-header-bg:#ffffff;--color-hero-bg:#fdeee6;--color-page-header-bg:#fdeee6;--color-utility-bg:#b84667;--color-utility-text:#ffffff;--color-icon-bg:#fff1c9;--color-icon-fg:#8f3150;--color-tag-bg:#fff1c9;--color-tag-text:#6b1f3a;--color-cta-bg:#b84667;--color-footer-bg:#4a2633;--color-footer-text:#fbeff2;--color-footer-muted:#e6c9d2;--color-footer-heading:#ffffff;--color-footer-border:rgba(255,255,255,0.18);--color-focus-light:#6b1f3a;--color-focus-inverse:#ffffff;--font-heading:ui-rounded,"SF Pro Rounded","Nunito","Varela Round","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;--font-body:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-button:var(--font-heading);--font-weight-heading:800;--line-height-body:1.65;--line-height-heading:1.15;--letter-spacing-heading:-0.01em;--eyebrow-transform:none;--eyebrow-letter-spacing:0;--step--1:0.875rem;--step-0:1.0625rem;--step-1:clamp(1.125rem,1.07rem + 0.25vw,1.25rem);--step-2:clamp(1.3rem,1.2rem + 0.5vw,1.6rem);--step-3:clamp(1.55rem,1.35rem + 1vw,2.1rem);--step-4:clamp(1.9rem,1.55rem + 1.75vw,2.85rem);--step-5:clamp(2.3rem,1.75rem + 2.75vw,3.75rem);--radius-sm:0.75rem;--radius-md:1.25rem;--radius-lg:1.75rem;--radius-xl:2.75rem;--radius-pill:999px;--radius-button:999px;--radius-input:0.875rem;--shadow-sm:0 6px 20px -10px rgba(143,49,80,0.28);--shadow-md:0 16px 40px -16px rgba(143,49,80,0.38);--shadow-button:0 8px 18px -10px rgba(143,49,80,0.7);--container-max:75rem;--space-3xs:0.25rem;--space-2xs:0.5rem;--space-xs:0.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--section-pad:clamp(3rem,2rem + 5vw,6rem);--grid-gap:clamp(1rem,0.75rem + 1vw,2rem);--container-pad:clamp(1rem,4vw,2rem);--focus-width:3px;--focus-offset:3px;--color-focus:var(--color-focus-light);--color-error:#b3261e;--color-error-bg:#fdecea;--color-success-text:#1e5631;--color-success-bg:#e6f4ea;}
*,*::before,*::after{box-sizing:border-box;}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}body{margin:0;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;}h1,h2,h3,h4{margin:0 0 var(--space-s);color:var(--color-heading);font-family:var(--font-heading);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);text-wrap:balance;}p,ul,ol,dl,figure,blockquote{margin:0 0 var(--space-s);}img,svg{display:block;max-width:100%;height:auto;}.icon{display:inline-block;flex:none;width:1.25em;height:1.25em;vertical-align:middle;transition:transform 0.2s ease;}a{color:var(--color-link);text-decoration-thickness:0.08em;text-underline-offset:0.2em;}a:hover{color:var(--color-link-hover);}button,input,select,textarea{font:inherit;}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset);}main:focus{outline:none;}::selection{background:var(--color-primary);color:var(--color-on-primary);}.skip-link{position:absolute;top:var(--space-s);left:var(--space-s);z-index:1000;padding:var(--space-xs) var(--space-m);background:var(--color-surface);color:var(--color-heading);font-weight:700;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);transform:translateY(-200%);}.skip-link:focus{transform:none;}.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}}
.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad);}.page-wrapper{display:flex;flex-direction:column;min-height:100vh;}.page-wrapper > main{flex:1;}.paragraph--highlights{padding-block:var(--space-xl) 0;}.region--sidebar{display:flex;flex-direction:column;gap:var(--space-m);}.section{padding-block:var(--section-pad);}.section--alt{background:var(--color-surface-alt);}.section--flush{padding-top:0;}.section__actions{margin:var(--space-xl) 0 0;text-align:center;}.grid{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--grid-min,16rem)),1fr));}.grid--3{--grid-min:max(17rem,calc((100% - 2 * var(--grid-gap)) / 3));}.grid--2{--grid-min:max(20rem,calc((100% - var(--grid-gap)) / 2));}.grid--4{--grid-min:max(13rem,calc((100% - 3 * var(--grid-gap)) / 4));}.layout--with-sidebar{display:grid;gap:var(--space-2xl);padding-block:var(--section-pad);}@media (min-width:60em){.layout--with-sidebar{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;}.region--sidebar{position:sticky;top:var(--space-m);}}.prose{max-width:44rem;}.prose h2{margin-top:var(--space-xl);font-size:var(--step-3);}.prose ul{padding-left:1.25em;}.prose li + li{margin-top:var(--space-2xs);}.program-detail__image{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-lg);}.program-detail__age{display:inline-block;margin:var(--space-m) 0 0;padding:0.25em 0.85em;border-radius:var(--radius-pill);background:var(--color-tag-bg);color:var(--color-tag-text);font-size:var(--step--1);font-weight:700;}.program-detail__section{margin-top:var(--space-2xl);}.program-detail__heading{font-size:var(--step-3);margin-bottom:var(--space-m);}.faq-wrap{max-width:52rem;margin-inline:auto;}.testimonial-single{max-width:44rem;margin-inline:auto;}.contact-layout{display:grid;gap:var(--space-xl);align-items:start;}@media (min-width:60em){.contact-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);}}.news-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs) var(--space-s);margin:0 0 var(--space-m);color:var(--color-text-muted);font-size:var(--step--1);}.news-article__category{padding:0.25em 0.85em;border-radius:var(--radius-pill);background:var(--color-tag-bg);color:var(--color-tag-text);font-weight:700;}.news-article__detail + .news-article__detail::before{content:"·";margin-right:var(--space-s);}.news-article__image{width:100%;aspect-ratio:16 / 9;object-fit:cover;margin-bottom:var(--space-l);border-radius:var(--radius-lg);}.news-article__pager{display:grid;gap:var(--space-s);margin-top:var(--space-2xl);padding-top:var(--space-l);border-top:1px solid var(--color-border);}@media (min-width:40em){.news-article__pager{grid-template-columns:1fr 1fr;}.news-article__pager-link--prev{grid-column:2;text-align:right;}}.news-article__pager-link{display:block;color:var(--color-heading);font-weight:700;text-decoration:none;}.news-article__pager-link:hover{color:var(--color-link);text-decoration:underline;}.news-article__pager-label{display:block;color:var(--color-text-muted);font-size:var(--step--1);font-weight:400;}.news-article__back{margin:var(--space-xl) 0 0;}
.button{display:inline-flex;align-items:center;justify-content:center;gap:0.5em;min-height:2.75rem;padding:0.7em 1.4em;border:2px solid transparent;border-radius:var(--radius-button);font-family:var(--font-button);font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color 0.2s ease,color 0.2s ease,border-color 0.2s ease,transform 0.2s ease;}.button--primary{background:var(--color-primary);color:var(--color-on-primary);}.button--primary:hover{background:var(--color-primary-dark);color:var(--color-on-primary);}.button--secondary{background:transparent;border-color:currentColor;color:var(--color-heading);}.button--secondary:hover{background:var(--color-heading);border-color:var(--color-heading);color:var(--color-surface);}.button--inverse{background:var(--color-surface);color:var(--color-primary-dark);}.button--inverse:hover{background:var(--color-surface-alt);color:var(--color-primary-dark);}.button--ghost-inverse{background:transparent;border-color:currentColor;color:var(--color-on-primary);}.button--ghost-inverse:hover{background:rgba(255,255,255,0.16);color:var(--color-on-primary);}.button--large{padding:0.85em 1.6em;font-size:var(--step-1);}.button--small{min-height:2.5rem;padding:0.5em 1.1em;font-size:var(--step--1);}.button--block{width:100%;}.button:hover .icon--arrow-right{transform:translateX(3px);}
.button:hover{transform:translateY(-2px);}.button--primary{box-shadow:var(--shadow-button);}
.cta-banner{--color-focus:var(--color-focus-inverse);padding-block:var(--space-2xl);background:var(--color-cta-bg);color:var(--color-on-primary);}.cta-banner__inner{display:grid;gap:var(--space-l);align-items:center;}@media (min-width:52em){.cta-banner__inner{grid-template-columns:minmax(0,1fr) auto;}}.cta-banner__title{margin-bottom:var(--space-2xs);color:inherit;font-size:var(--step-4);}.cta-banner__text{max-width:38rem;margin:0;font-size:var(--step-1);}.cta-banner__actions{display:flex;flex-wrap:wrap;gap:var(--space-s);}
.cta-banner{padding-block:var(--space-xl);background:transparent;}.cta-banner__inner{padding:var(--space-xl) clamp(1.5rem,4vw,3.5rem);border-radius:var(--radius-xl);background:radial-gradient(circle at 100% 0%,rgba(255,255,255,0.14) 0 9rem,transparent 9.05rem),radial-gradient(circle at 0% 100%,rgba(246,195,68,0.28) 0 7rem,transparent 7.05rem),var(--color-cta-bg);}
.feature-list{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));margin:0;padding:0;list-style:none;}.feature-list__item{padding:var(--space-l) var(--space-m);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);}.feature-list__icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;margin-bottom:var(--space-s);border-radius:var(--radius-pill);background:var(--color-icon-bg);color:var(--color-icon-fg);}.feature-list__icon .icon{width:1.6rem;height:1.6rem;}.feature-list__title{margin-bottom:var(--space-2xs);font-size:var(--step-2);}.feature-list__text{margin:0;color:var(--color-text-muted);}.feature-list--compact .feature-list__item{padding:var(--space-m);}.feature-list--compact .feature-list__title{font-size:var(--step-1);}
.feature-list__item:nth-child(4n + 2) .feature-list__icon{background:var(--color-pastel-2);}.feature-list__item:nth-child(4n + 3) .feature-list__icon{background:var(--color-pastel-3);}.feature-list__item:nth-child(4n + 4) .feature-list__icon{background:var(--color-pastel-1);}.feature-list--highlights .feature-list__item{box-shadow:var(--shadow-md);}
.site-footer{--color-focus:var(--color-focus-inverse);background:var(--color-footer-bg);color:var(--color-footer-text);}.footer__inner{display:grid;gap:var(--space-xl);padding-block:var(--space-2xl);}@media (min-width:40em){.footer__inner{grid-template-columns:1fr 1fr;}}@media (min-width:64em){.footer__inner{grid-template-columns:1.6fr 1fr 1.2fr 1.3fr;}}.footer__about{max-width:22rem;margin:var(--space-m) 0;color:var(--color-footer-muted);}.footer__heading{margin-bottom:var(--space-s);color:var(--color-footer-heading);font-size:var(--step-1);}.footer__list{display:grid;gap:0.6rem;margin:0;padding:0;list-style:none;}.footer__link{color:var(--color-footer-text);text-decoration:none;}.footer__link:hover{color:var(--color-footer-heading);text-decoration:underline;}.footer__text{margin-bottom:var(--space-xs);color:var(--color-footer-muted);}.footer__address{font-style:normal;}.footer__location-name{color:var(--color-footer-heading);}.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-s);padding-block:var(--space-m);border-top:1px solid var(--color-footer-border);color:var(--color-footer-muted);font-size:var(--step--1);}.footer__copyright{margin:0;}.footer__bottom-list{display:flex;flex-wrap:wrap;gap:var(--space-m);margin:0;padding:0;list-style:none;}
.site-footer{border-radius:var(--radius-xl) var(--radius-xl) 0 0;}
.gallery-grid__list{display:grid;gap:var(--space-m);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));margin:0;padding:0;list-style:none;}.gallery-grid__figure{margin:0;}.gallery-grid__link{display:block;overflow:hidden;border-radius:var(--radius-md);}.gallery-grid__image{width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform 0.3s ease;}.gallery-grid__link:hover .gallery-grid__image{transform:scale(1.04);}.gallery-grid__caption{margin-top:var(--space-2xs);color:var(--color-text-muted);font-size:var(--step--1);}.gallery-grid__dialog{width:min(64rem,calc(100% - 2rem));max-height:calc(100% - 2rem);padding:0;border:0;border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:0 20px 60px rgba(0,0,0,0.35);}.gallery-grid__dialog::backdrop{background:rgba(20,16,16,0.82);}.gallery-grid__dialog-inner{display:grid;grid-template-areas:"close close close"
    "prev view next"
    "count count count";grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);padding:var(--space-s);}.gallery-grid__close{grid-area:close;justify-self:end;}.gallery-grid__prev{grid-area:prev;}.gallery-grid__next{grid-area:next;}.gallery-grid__viewer{grid-area:view;min-width:0;margin:0;}.gallery-grid__viewer-image{width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius-sm);}.gallery-grid__viewer-caption{margin-top:var(--space-xs);color:var(--color-heading);font-weight:700;text-align:center;}.gallery-grid__counter{grid-area:count;margin:0;color:var(--color-text-muted);font-size:var(--step--1);text-align:center;}.gallery-grid__control{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:2px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-heading);cursor:pointer;}.gallery-grid__control:hover{background:var(--color-surface-alt);}
.gallery-grid__link{border-radius:var(--radius-lg);}
.site-header{position:relative;z-index:50;background:var(--color-header-bg);border-bottom:1px solid var(--color-border);}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s);min-height:4.75rem;padding-block:var(--space-xs);}
.hero__eyebrow{display:inline-flex;align-items:center;gap:0.5em;margin:0 0 var(--space-s);color:var(--color-eyebrow);font-size:var(--step--1);font-weight:700;letter-spacing:var(--eyebrow-letter-spacing);text-transform:var(--eyebrow-transform);}.hero{position:relative;overflow:hidden;background:var(--color-hero-bg);}.hero__inner{display:grid;gap:var(--space-xl);padding-block:var(--space-2xl);}.hero__title{margin-bottom:var(--space-m);font-size:var(--step-5);}.hero__text{max-width:36rem;margin-bottom:var(--space-l);font-size:var(--step-1);}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-s);}.hero__image{width:100%;height:100%;object-fit:cover;}.hero--split .hero__media{aspect-ratio:5 / 4;}.hero--arch .hero__media{width:min(100%,26rem);aspect-ratio:4 / 5;justify-self:center;}@media (min-width:56em){.hero--split .hero__inner,.hero--arch .hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);align-items:center;padding-block:var(--space-3xl);}}.hero--full .hero__media{aspect-ratio:16 / 7;overflow:hidden;}.hero--full .hero__inner{padding-block:var(--space-xl) var(--space-2xl);}
.hero__eyebrow{padding:0.4em 1em;border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm);}.hero--split{background:radial-gradient(circle at 6% 12%,var(--color-accent-soft) 0 8rem,transparent 8.05rem),radial-gradient(circle at 96% 96%,var(--color-pastel-2) 0 12rem,transparent 12.05rem),var(--color-hero-bg);}.hero--split .hero__inner{padding-bottom:calc(var(--space-2xl) + 4.5rem);}@media (min-width:56em){.hero--split .hero__inner{padding-bottom:calc(var(--space-3xl) + 4.5rem);}}.hero--split .hero__media{position:relative;}.hero--split .hero__media::before{content:"";position:absolute;inset:-4% -3% 5% 6%;border-radius:58% 42% 55% 45% / 50% 55% 45% 50%;background:var(--color-accent);}.hero--split .hero__image{position:relative;border-radius:42% 58% 45% 55% / 55% 45% 55% 45%;box-shadow:var(--shadow-md);}
.language-switcher{position:relative;}.language-switcher__toggle{display:inline-flex;align-items:center;gap:0.4em;min-height:2.25rem;padding:0.25em 0.7em;border:1px solid currentColor;border-radius:var(--radius-button);background:transparent;color:inherit;cursor:pointer;}.language-switcher__toggle:hover{background:rgba(255,255,255,0.14);}.language-switcher__toggle .icon{width:1.05em;height:1.05em;}.language-switcher__toggle[aria-expanded="true"] .icon--chevron-down{transform:rotate(180deg);}.language-switcher__list{display:flex;gap:0.75em;margin:0;padding:0;list-style:none;}.no-js .language-switcher__toggle{display:none;}.language-switcher__link{display:flex;align-items:center;justify-content:space-between;gap:1em;color:inherit;}.js .language-switcher__list{--color-focus:var(--color-focus-light);position:absolute;top:calc(100% + 0.4rem);right:0;z-index:80;display:none;flex-direction:column;gap:0;min-width:11rem;padding:var(--space-2xs);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);}.js .language-switcher.is-open .language-switcher__list{display:flex;}.js .language-switcher__link{padding:0.55em 0.75em;border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;}.js .language-switcher__link:hover{background:var(--color-surface-alt);color:var(--color-heading);}.language-switcher__link[aria-current="true"]{font-weight:700;}.js .language-switcher__link[aria-current="true"]::after{content:"✓";content:"✓" / "";color:var(--color-primary-dark);}.language-switcher__status{position:absolute;top:calc(100% + 0.4rem);right:0;z-index:81;width:max-content;max-width:min(18rem,80vw);margin:0;padding:0.6em 0.85em;border-radius:var(--radius-sm);background:var(--color-heading);color:var(--color-surface);box-shadow:var(--shadow-md);font-size:var(--step--1);}.language-switcher__status:empty{display:none;}
.location-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);}.location-card__image{width:100%;aspect-ratio:16 / 9;object-fit:cover;}.location-card__body{display:flex;flex:1;flex-direction:column;gap:var(--space-xs);padding:var(--space-m) var(--space-m) var(--space-l);}.location-card__title{margin:0;font-size:var(--step-3);}.location-card__badge{order:-1;align-self:flex-start;margin:0;padding:0.25em 0.75em;border-radius:var(--radius-pill);background:var(--color-tag-bg);color:var(--color-tag-text);font-size:var(--step--1);font-weight:700;}.location-card__address,.location-card__phone{display:flex;align-items:center;gap:0.5em;margin:0;font-weight:600;}.location-card__address .icon,.location-card__phone .icon{color:var(--color-icon-fg);}.location-card__text{margin:var(--space-2xs) 0 0;color:var(--color-text-muted);}.location-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:auto;padding-top:var(--space-s);}
.location-card{border-radius:var(--radius-xl);}.location-card__image{width:calc(100% - 1.5rem);margin:0.75rem 0.75rem 0;border-radius:var(--radius-lg);}
.main-menu__toggle{display:inline-flex;align-items:center;gap:0.5rem;min-height:2.75rem;padding:0.5rem 0.9rem;border:2px solid var(--color-border-strong);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-heading);font-weight:700;cursor:pointer;}.main-menu__toggle-icon{display:inline-flex;}.main-menu__toggle-icon--close,.main-menu.is-open .main-menu__toggle-icon--open{display:none;}.main-menu.is-open .main-menu__toggle-icon--close{display:inline-flex;}.no-js .main-menu__toggle{display:none;}.js .main-menu__panel{display:none;}.js .main-menu.is-open .main-menu__panel{position:absolute;top:100%;right:0;left:0;display:block;max-height:calc(100vh - 7.5rem);overflow-y:auto;padding:var(--space-xs) var(--container-pad) var(--space-l);border-bottom:1px solid var(--color-border);background:var(--color-header-bg);box-shadow:var(--shadow-md);}.main-menu__list{margin:0;padding:0;list-style:none;}.main-menu__item{border-bottom:1px solid var(--color-border);}.main-menu__parent{display:flex;align-items:center;justify-content:space-between;}.main-menu__link{display:block;flex:1;padding:0.85rem 0.25rem;color:var(--color-heading);font-weight:700;text-decoration:none;}.main-menu__link:hover{color:var(--color-primary-dark);}.main-menu__link[aria-current="page"],.main-menu__item.is-active-trail > .main-menu__parent .main-menu__link,.main-menu__item.is-active-trail > .main-menu__link{color:var(--color-primary-dark);}.main-menu__submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-heading);cursor:pointer;}.main-menu__submenu-toggle:hover{background:var(--color-surface-alt);}.main-menu__submenu-toggle[aria-expanded="true"] .icon{transform:rotate(180deg);}.no-js .main-menu__submenu-toggle{display:none;}.main-menu__submenu{margin:0 0 var(--space-xs);padding:0 0 0 var(--space-s);list-style:none;}.main-menu__submenu[hidden]{display:none;}.main-menu__sublink{display:block;padding:0.6rem 0.5rem;border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;}.main-menu__sublink:hover{background:var(--color-surface-alt);color:var(--color-heading);}.main-menu__sublink[aria-current="page"]{color:var(--color-primary-dark);font-weight:700;}.main-menu__cta{width:100%;margin-top:var(--space-m);}@media (min-width:75em){.main-menu__toggle{display:none;}.main-menu__panel,.js .main-menu__panel,.js .main-menu.is-open .main-menu__panel{position:static;display:flex;align-items:center;gap:var(--space-s);max-height:none;overflow:visible;padding:0;border:0;background:none;box-shadow:none;}.main-menu__list{display:flex;align-items:center;gap:0.125rem;}.main-menu__item{position:relative;border:0;}.main-menu__link,.main-menu__cta{white-space:nowrap;}.site-branding__name{white-space:nowrap;}.main-menu__link{padding:0.55rem 0.7rem;border-radius:var(--radius-sm);font-size:0.975rem;}.main-menu__item--has-children .main-menu__link{padding-right:0.2rem;}.main-menu__submenu-toggle{width:1.75rem;height:2.25rem;}.main-menu__submenu{position:absolute;top:100%;left:0;z-index:70;min-width:16rem;margin:0;padding:var(--space-2xs);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);}.no-js .main-menu__submenu{display:none;}.no-js .main-menu__item--has-children:hover .main-menu__submenu,.no-js .main-menu__item--has-children:focus-within .main-menu__submenu{display:block;}.main-menu__cta{width:auto;margin:0 0 0 var(--space-2xs);}}
@media (min-width:70em){.main-menu__link{border-radius:var(--radius-pill);}.main-menu__link:hover{background:var(--color-surface-alt);}.main-menu__link[aria-current="page"],.main-menu__item.is-active-trail > .main-menu__parent .main-menu__link,.main-menu__item.is-active-trail > .main-menu__link{background:var(--color-surface-alt);}}
.media-text__eyebrow{display:inline-flex;align-items:center;gap:0.5em;margin:0 0 var(--space-s);color:var(--color-eyebrow);font-size:var(--step--1);font-weight:700;letter-spacing:var(--eyebrow-letter-spacing);text-transform:var(--eyebrow-transform);}.media-text{display:grid;gap:var(--space-xl);align-items:center;}@media (min-width:48em){.media-text{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl);}.media-text--reverse .media-text__media{order:2;}}.media-text__image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-lg);}.media-text__title{font-size:var(--step-4);}.media-text__body{font-size:var(--step-1);}.media-text__list{display:grid;gap:var(--space-xs);margin:var(--space-m) 0 0;padding:0;list-style:none;}.media-text__list-item{display:flex;align-items:center;gap:0.6em;font-weight:600;}.media-text__list-item .icon{padding:0.2em;border-radius:50%;background:var(--color-icon-bg);color:var(--color-icon-fg);width:1.5em;height:1.5em;}.media-text__actions{display:flex;flex-wrap:wrap;gap:var(--space-s);margin-top:var(--space-l);}
.media-text__eyebrow{padding:0.4em 1em;border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm);}.media-text__image{border-radius:46% 54% 42% 58% / 52% 44% 56% 48%;box-shadow:var(--shadow-md);}
.program-card{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform 0.2s ease,box-shadow 0.2s ease;}.program-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}.program-card__image{width:100%;aspect-ratio:4 / 3;object-fit:cover;}.program-card__body{display:flex;flex:1;flex-direction:column;gap:var(--space-xs);padding:var(--space-m) var(--space-m) var(--space-l);}.program-card__title{margin:0;font-size:var(--step-2);}.program-card__link{color:var(--color-heading);text-decoration:none;}.program-card__link::after{content:"";position:absolute;inset:0;}@supports selector(:has(*)){.program-card__link:focus-visible{outline:none;}.program-card:has(.program-card__link:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset);}}.program-card__age{order:-1;display:inline-flex;align-self:flex-start;align-items:center;gap:0.4em;margin:0;padding:0.25em 0.75em;border-radius:var(--radius-pill);background:var(--color-tag-bg);color:var(--color-tag-text);font-size:var(--step--1);font-weight:700;}.program-card__age .icon{width:1.05em;height:1.05em;}.program-card__text{margin:0;color:var(--color-text-muted);}.program-card__more{display:inline-flex;align-items:center;gap:0.4em;margin-top:auto;padding-top:var(--space-xs);color:var(--color-link);font-weight:700;}.program-card:hover .program-card__more .icon{transform:translateX(4px);}
.program-card{border-radius:var(--radius-xl);}.program-card__image{width:calc(100% - 1.5rem);margin:0.75rem 0.75rem 0;border-radius:var(--radius-lg);}.grid > .program-card:nth-child(4n + 2) .program-card__age{background:var(--color-pastel-2);}.grid > .program-card:nth-child(4n + 3) .program-card__age{background:var(--color-pastel-3);}.grid > .program-card:nth-child(4n + 4) .program-card__age{background:var(--color-pastel-1);}
.section-heading__eyebrow{display:inline-flex;align-items:center;gap:0.5em;margin:0 0 var(--space-s);color:var(--color-eyebrow);font-size:var(--step--1);font-weight:700;letter-spacing:var(--eyebrow-letter-spacing);text-transform:var(--eyebrow-transform);}.section-heading{max-width:46rem;margin-bottom:var(--space-xl);}.section-heading--center{margin-inline:auto;text-align:center;}.section-heading__title{margin-bottom:var(--space-s);font-size:var(--step-4);}.section-heading__text{margin:0;color:var(--color-text-muted);font-size:var(--step-1);}
.section-heading__eyebrow{padding:0.4em 1em;border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm);}
.site-branding{display:inline-flex;align-items:center;gap:0.7rem;min-width:0;color:var(--color-heading);text-decoration:none;}.site-branding:hover{color:var(--color-heading);}.site-branding__mark{flex:none;width:2.75rem;height:2.75rem;}.site-branding__mark-bg{fill:var(--color-primary);}.site-branding__mark-fg{fill:var(--color-on-primary);}.site-branding__mark-line{stroke:var(--color-primary);}.site-branding__name{display:flex;flex-direction:column;font-family:var(--font-heading);font-size:1rem;font-weight:var(--font-weight-heading);line-height:1.15;}.site-branding__tagline{color:var(--color-text-muted);font-family:var(--font-body);font-size:0.8125rem;font-weight:400;}@media (min-width:30em){.site-branding__name{font-size:1.175rem;}.site-branding__tagline{font-size:0.875rem;}}.site-branding--inverse,.site-branding--inverse:hover{color:var(--color-footer-heading);}.site-branding--inverse .site-branding__tagline{color:var(--color-footer-muted);}
.social-links{display:flex;gap:var(--space-xs);margin:0;padding:0;list-style:none;}.social-links__link{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-pill);background:var(--color-icon-bg);color:var(--color-icon-fg);transition:background-color 0.2s ease,color 0.2s ease;}.social-links__link:hover{background:var(--color-primary);color:var(--color-on-primary);}.social-links--inverse .social-links__link{background:rgba(255,255,255,0.12);color:var(--color-footer-text);}.social-links--inverse .social-links__link:hover{background:var(--color-footer-text);color:var(--color-footer-bg);}
.testimonial{display:flex;flex-direction:column;height:100%;margin:0;padding:var(--space-l);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);}.testimonial__quote{margin:0 0 var(--space-m);color:var(--color-text);font-size:var(--step-1);line-height:1.55;}.testimonial__quote::before{content:"“";content:"“" / "";display:block;height:2.25rem;color:var(--color-primary);font-family:Georgia,"Times New Roman",serif;font-size:4rem;line-height:1;}.testimonial__quote p{margin:0;}.testimonial__author{display:flex;flex-direction:column;margin-top:auto;}.testimonial__name{color:var(--color-heading);font-weight:700;}.testimonial__role{color:var(--color-text-muted);font-size:var(--step--1);}
.testimonial{border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm);}.grid > .testimonial:nth-child(3n + 2){background:var(--color-pastel-4);}
.utility-bar{--color-focus:var(--color-focus-inverse);background:var(--color-utility-bg);color:var(--color-utility-text);font-size:var(--step--1);}.utility-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s);min-height:2.75rem;}.utility-bar__list{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-m);margin:0;padding:0;list-style:none;}.utility-bar__item{display:inline-flex;align-items:center;gap:0.45em;}.utility-bar__item--hours{display:none;}@media (min-width:40em){.utility-bar__item--hours{display:inline-flex;}}.utility-bar__link{display:inline-flex;align-items:center;gap:0.45em;color:inherit;text-decoration:none;}.utility-bar__link:hover{color:inherit;text-decoration:underline;}@media (max-width:47.99em){.utility-bar__list{column-gap:var(--space-s);}.utility-bar__inner{gap:var(--space-2xs);}.utility-bar__number{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}}.utility-bar .icon{width:1.05em;height:1.05em;}
.ema-tabs{padding-top:var(--space-s);}.ema-tabs ul{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin:0;padding:0;list-style:none;}.ema-tabs a{display:inline-block;padding:0.4em 0.9em;border:1px solid var(--color-border-strong);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-heading);font-size:var(--step--1);font-weight:700;text-decoration:none;}.ema-tabs a.is-active,.ema-tabs a:hover{background:var(--color-heading);color:var(--color-surface);}.messages{margin:var(--space-s) 0 0;padding:var(--space-s) var(--space-m);border-left:6px solid var(--color-success-text);border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success-text);font-weight:600;}.messages--error{border-left-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error);}.messages--warning{border-left-color:#8a5a00;background:#fff4d6;color:#5c3c00;}.messages__list{margin:0;padding-left:1.2em;}.messages h2{font-size:var(--step-0);}.contact-form__form{display:grid;gap:var(--space-m);}@media (min-width:40em){.contact-form__form{grid-template-columns:1fr 1fr;}.contact-form__form > .form-type-textarea,.contact-form__form > .field--name-message,.contact-form__form > .form-actions,.contact-form__form > div:has(textarea){grid-column:1 / -1;}}.contact-form__form .form-item{margin:0;}.contact-form__form label{display:block;margin-bottom:0.35rem;color:var(--color-heading);font-weight:700;}.contact-form__form .form-required::after{content:" (required)";color:var(--color-text-muted);font-size:var(--step--1);font-weight:400;}.contact-form__form input[type="text"],.contact-form__form input[type="email"],.contact-form__form input[type="tel"],.contact-form__form select,.contact-form__form textarea{display:block;width:100%;min-height:2.875rem;padding:0.65rem 0.85rem;border:2px solid var(--color-input-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text);}.contact-form__form textarea{min-height:8rem;resize:vertical;}.contact-form__form .error{border-color:var(--color-error);}.contact-form__form .form-item__description,.contact-form__form .description{margin-top:0.35rem;color:var(--color-text-muted);font-size:var(--step--1);}.contact-form__form .form-actions{margin:0;}.pager{margin-top:var(--space-xl);}.pager__items{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2xs);margin:0;padding:0;list-style:none;}.pager__item a{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0 0.75rem;border-radius:var(--radius-pill);color:var(--color-heading);font-weight:700;text-decoration:none;}.pager__item a:hover{background:var(--color-surface-alt);}.pager__item.is-active a{background:var(--color-primary-dark);color:var(--color-on-primary);}
.section--alt{margin-inline:clamp(0rem,2vw,1.5rem);border-radius:var(--radius-xl);}.paragraph--highlights{position:relative;z-index:2;margin-top:-4.5rem;padding-top:0;}.program-detail__image,.news-article__image{border-radius:var(--radius-xl);}
