:root{--purple:#4b1c7a;--purple-deep:#361259;--gold:#f5b800;--gold-dark:#8a6a10;--cream:#f4ede0;--cream-alt:#efe6d5;--paper:#fffdf8;--navy:#1e2a4a;--navy-muted:#3a4668;--maroon:#8f2323;--line:#dfd3be;--line-strong:#c9b89b;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Manrope", system-ui, -apple-system, sans-serif;--step--1:clamp(.8125rem, .78rem + .15vw, .875rem);--step-0:clamp(1rem, .96rem + .2vw, 1.0625rem);--step-1:clamp(1.1875rem, 1.1rem + .4vw, 1.375rem);--step-2:clamp(1.45rem, 1.3rem + .75vw, 1.85rem);--step-3:clamp(2rem, 1.65rem + 1.6vw, 2.75rem);--step-hero:clamp(2.35rem, 1.85rem + 2.5vw, 3.85rem);--space-lg:2rem;--space-section:clamp(3.5rem, 6vw, 5.75rem);--container-max:1120px;--header-h:68px;--radius-sm:10px;--radius-md:16px;--radius-lg:22px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);background:var(--cream);color:var(--navy)}body{font-family:var(--font-sans);font-size:var(--step-0);background:var(--cream);color:var(--navy);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}img{max-width:100%;height:auto;display:block}:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.section--purple :focus-visible,.section--navy :focus-visible,.hero :focus-visible,.site-footer :focus-visible{outline-color:var(--gold)}.skip-link{z-index:1000;background:var(--purple);color:var(--cream);border-radius:var(--radius-sm);border:2px solid var(--gold);padding:.75rem 1.25rem;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:1rem}.skip-link:focus-visible{outline:3px solid var(--gold);top:.75rem}h1,h2,h3,h4{font-family:var(--font-serif);color:inherit;margin:0 0 .65rem;font-weight:600;line-height:1.15}h1{font-size:var(--step-hero);font-weight:700}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}p{margin:0 0 1rem}a{color:var(--purple);text-underline-offset:.2em}a:hover{color:var(--maroon)}.kicker{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;font-variant:small-caps;color:var(--gold-dark);margin:0 0 .4rem;font-size:.78rem;font-weight:600}.kicker--gold{color:var(--gold)}.note{color:var(--navy-muted)}.sample{font-size:var(--step--1);color:var(--gold-dark);background:var(--paper);border-left:3px solid var(--gold-dark);border-radius:6px;padding:.5rem .75rem}.container{width:min(var(--container-max), calc(100% - 2rem));margin:0 auto}.container--narrow{width:min(780px,100% - 2rem)}.container--form{width:min(680px,100% - 2rem)}.main-inner{width:min(880px,100% - 2rem);margin:0 auto;padding:2.75rem 0 4rem}.section{padding:var(--space-section) 0}.section--cream{background:var(--cream);color:var(--navy)}.section--cream-alt{background:var(--cream-alt);color:var(--navy);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section--purple{background:var(--purple);color:var(--cream)}.section--navy{background:var(--navy);color:var(--cream)}.section__title{margin-bottom:var(--space-lg);position:relative}.section__title:after{content:"";background:var(--gold-dark);width:3.25rem;height:2px;margin-top:.55rem;display:block}.section__title--light{color:var(--cream)}.section__title--light:after{background:var(--gold)}.site-header{z-index:100;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f4ede0f2;transition:background-color .25s,border-color .25s,box-shadow .25s;position:sticky;top:0}.site-header--home:not(.is-scrolled){background:#f4ede0e6;border-bottom-color:#0000}.site-header.is-scrolled{border-bottom-color:var(--line);background:#f4ede0fa;box-shadow:0 4px 18px #1e2a4a14}.site-header__inner{width:min(var(--container-max), calc(100% - 2rem));min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.brand{min-height:44px;color:var(--purple);align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand__logo{border-radius:50%;flex-shrink:0;width:48px;height:48px}.brand__wordmark{font-family:var(--font-serif);letter-spacing:.02em;color:var(--purple);font-size:1.55rem;font-weight:700}.nav-desktop{align-items:center;gap:.25rem;display:none}.nav-link{min-height:44px;color:var(--navy);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:.5rem .65rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.nav-link:hover{color:var(--purple);background:#4b1c7a14}.nav-link[aria-current=page]:not(.nav-link--cta){color:var(--purple);background:#4b1c7a1a}.nav-link[aria-current=page]:not(.nav-link--cta):after{content:"";background:var(--gold-dark);border-radius:2px;height:2px;position:absolute;bottom:.3rem;left:.75rem;right:.75rem}.nav-link--cta{background:var(--purple);color:var(--cream);border:2px solid #0000;margin-left:.35rem;padding:.5rem 1.1rem}.nav-link--login{border:2px solid var(--purple);color:var(--purple);margin-left:.35rem;padding:.5rem 1.1rem}.nav-link--login:hover{background:var(--purple);color:var(--cream)}.nav-link--cta:hover{background:var(--purple-deep);color:var(--gold)}.nav-link--cta[aria-current=page]{background:var(--purple-deep);color:var(--gold);border-color:var(--gold)}.nav-mobile{position:relative}.nav-mobile__toggle{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);min-width:44px;min-height:44px;color:var(--navy);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.9rem;font-weight:600;list-style:none;display:inline-flex}.nav-mobile__toggle::-webkit-details-marker{display:none}.nav-mobile__icon{background:var(--purple);width:18px;height:2px;box-shadow:0 -5px 0 var(--purple), 0 5px 0 var(--purple);display:inline-block}.nav-mobile__panel{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-md);flex-direction:column;gap:.25rem;width:min(260px,85vw);padding:.5rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 14px 32px #1e2a4a29}.nav-mobile__link{min-height:44px;color:var(--navy);border-radius:var(--radius-sm);align-items:center;padding:.5rem .85rem;font-weight:600;text-decoration:none;display:flex}.nav-mobile__link:hover{background:var(--cream);color:var(--purple)}.nav-mobile__link[aria-current=page]:not(.nav-mobile__link--cta){background:var(--cream);color:var(--purple);border-left:3px solid var(--gold-dark)}.nav-mobile__link--cta{background:var(--purple);color:var(--cream);border:2px solid #0000;justify-content:center;margin-top:.25rem}.nav-mobile__link--login{border:2px solid var(--purple);color:var(--purple);justify-content:center;margin-top:.25rem}.nav-mobile__link--login:hover{background:var(--purple);color:var(--cream)}.nav-mobile__link--cta:hover{background:var(--purple-deep);color:var(--gold)}.nav-mobile__link--cta[aria-current=page]{background:var(--purple-deep);color:var(--gold);border-color:var(--gold)}@media (width>=1040px){.nav-desktop{display:flex}.nav-mobile{display:none}}.btn,button[type=submit]{min-width:44px;min-height:46px;font-family:var(--font-sans);cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.4rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.btn--gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.btn--gold:hover{color:var(--navy);background:#ffd03b}.btn--outline-light{color:var(--cream);border-color:var(--gold);background:#1e2a4a40}.btn--outline-light:hover{color:var(--gold);background:#f5b8002e}.btn--primary,button[type=submit]{background:var(--purple);color:var(--cream)}.btn--primary:hover,button[type=submit]:hover:not(:disabled){background:var(--purple-deep);color:var(--gold)}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.btn--outline{background:var(--paper);color:var(--purple);border-color:var(--purple)}.btn--outline:hover{background:var(--purple);color:var(--cream)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.35rem 1.5rem;box-shadow:0 4px 16px #1e2a4a0a}.hero{background:linear-gradient(180deg, var(--purple) 0%, var(--purple-deep) 82%, var(--purple) 100%);color:var(--cream);flex-direction:column;display:flex;position:relative;overflow:hidden}.hero__top-blend{background:linear-gradient(to bottom, var(--cream) 0%, #f4ede094 28%, #4b1c7a59 68%, #4b1c7a00 100%);z-index:3;pointer-events:none;height:clamp(52px,6vw,76px);position:absolute;top:0;left:0;right:0}.hero__bottom-blend{background:linear-gradient(to bottom, #f4ede000 0%, #f4ede061 48%, #f4ede0d9 80%, var(--cream) 100%);z-index:3;pointer-events:none;align-items:flex-end;height:clamp(68px,8vw,108px);display:flex;position:absolute;bottom:-1px;left:0;right:0}.hero__curve{width:100%;height:clamp(32px,4.2vw,56px);display:block}.hero__text{z-index:2;order:1;padding:4.5rem 1.25rem 2rem;position:relative}.hero__text-inner{width:min(640px,100%);margin:0 auto}.hero__logo{border-radius:50%;width:76px;height:76px;margin-bottom:1rem;box-shadow:0 6px 20px #00000059}.hero__school{font-variant:small-caps;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin:0 0 .45rem;font-size:.85rem;font-weight:600}.hero__title{color:var(--cream);margin:0 0 .5rem;line-height:1.06}.hero__role{font-size:var(--step-1);color:var(--cream);opacity:.92;margin:0 0 .85rem}.hero__tagline{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:var(--step-2);color:var(--gold);margin:0 0 1.65rem}.hero__actions{flex-wrap:wrap;gap:.85rem;display:flex}.hero__media{aspect-ratio:2/3;order:2;justify-content:center;align-items:flex-end;width:100%;display:flex;position:relative}.hero__picture{justify-content:center;align-items:flex-end;width:100%;height:100%;display:flex}.hero__img{object-fit:contain;object-position:bottom center;width:100%;height:100%;display:block}.hero__overlay{background:linear-gradient(to bottom, var(--purple-deep) 0%, #3612598c 8%, #4b1c7a00 20%, #4b1c7a00 86%, #f4ede073 95%, var(--cream) 100%);pointer-events:none;position:absolute;inset:0}@media (width>=900px){.hero{grid-template-columns:56% 44%;align-items:stretch;display:grid}.hero__text{padding:5.5rem 2.5rem 6rem max(2rem, calc((100vw - var(--container-max)) / 2 + 1rem));order:1;align-items:center;margin-top:0;display:flex}.hero__media{aspect-ratio:2/3;order:2;align-self:end;height:auto;min-height:100%}.hero__picture{width:100%;height:100%}.hero__img{object-fit:contain;object-position:bottom center;width:100%;height:100%}.hero__overlay{background:linear-gradient(to right, var(--purple) 0%, #4b1c7ab8 10%, #4b1c7a38 24%, transparent 42%), linear-gradient(to left, #36125966 0%, transparent 10%)}}.about-layout{align-items:center;gap:2.25rem;display:grid}.about-prose p{font-size:var(--step-1);margin-bottom:1.25rem;line-height:1.75}.dropcap:first-letter{font-family:var(--font-serif);float:left;color:var(--purple);margin:.1rem .65rem 0 0;font-size:3.75rem;font-weight:700;line-height:.85}.about-ornament{text-align:center;margin:0 auto;padding:1.25rem}.about-ornament__img{width:min(260px,75vw);margin:0 auto}@media (width>=820px){.about-layout{grid-template-columns:1fr 280px;gap:3.5rem}}.lineage-intro{max-width:72ch;margin-bottom:2.25rem}.timeline{border-left:2px solid var(--gold-dark);gap:1.65rem;margin:0 0 2.75rem;padding:.25rem 0 .25rem 1.75rem;list-style:none;display:grid}.timeline__item{position:relative}.timeline__dot{background:var(--gold);border:2px solid var(--purple);border-radius:50%;width:12px;height:12px;position:absolute;top:.35rem;left:calc(-1.75rem - 7px)}.timeline__content{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.1rem 1.35rem}.timeline__note{text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);margin:0 0 .25rem;font-size:.78rem;font-weight:600}.timeline__place{font-size:var(--step-1);color:var(--purple);margin:0 0 .25rem}.timeline__detail{color:var(--navy-muted);margin:0}.uni-gurus{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.5rem}.uni-gurus__title{font-size:var(--step-1);color:var(--purple);margin-bottom:1rem}.uni-gurus__list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.uni-gurus__item{padding-left:1.1rem;font-weight:600;position:relative}.uni-gurus__item:before{content:"✦";color:var(--gold-dark);font-size:.8rem;position:absolute;left:0}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.15rem;margin-bottom:2.25rem;display:grid}.cert-card{border-top:3px solid var(--purple)}.cert-card__title{font-size:var(--step-1);color:var(--purple);margin-bottom:.35rem}.cert-card__body{color:var(--navy-muted);margin:0}.teaching-box{background:var(--cream-alt);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:1.5rem}.teaching-box__heading{color:var(--purple);margin-bottom:1rem}.teaching-box__cols{gap:1.5rem;display:grid}@media (width>=640px){.teaching-box__cols{grid-template-columns:1fr 1fr}}.teaching-col__label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--maroon);margin-bottom:.5rem;font-size:.8rem}.teaching-col__list{margin:0;padding-left:1.2rem}.teaching-col__list li{margin-bottom:.35rem}.philosophy-tagline{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:var(--step-3);color:var(--gold);border-left:3px solid var(--gold);margin:0 0 1.5rem;padding-left:1.25rem;line-height:1.2}.philosophy-prose p{font-size:var(--step-1);color:var(--cream);line-height:1.75}.awards-groups{gap:2.25rem;display:grid}.awards-group__title{font-family:var(--font-serif);font-size:var(--step-2);color:var(--gold);border-bottom:1px solid #f5b80047;margin:0 0 1rem;padding-bottom:.45rem}.awards-grid{grid-template-columns:1fr;gap:1.15rem;display:grid}@media (width>=600px){.awards-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.awards-grid{grid-template-columns:repeat(3,1fr)}}.award-tile{border-radius:var(--radius-md);background:#fffdf80f;border:1px solid #f5b80047;flex-direction:column;gap:.35rem;padding:1.25rem 1.35rem;display:flex}.award-tile__mark{color:var(--gold);margin-bottom:.2rem}.award-tile__name{font-family:var(--font-serif);font-size:var(--step-1);color:var(--cream);margin:0}.award-tile__meta{font-variant:small-caps;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:0;font-size:.8rem;font-weight:600}.debut-card{background:linear-gradient(135deg, var(--purple) 0%, var(--navy) 100%);color:var(--cream);border:2px solid var(--gold);border-radius:var(--radius-md);margin-bottom:2rem;padding:1.6rem 1.75rem}.debut-card__kicker{font-variant:small-caps;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);margin:0 0 .35rem;font-size:.78rem;font-weight:600}.debut-card__title{font-size:var(--step-2);color:var(--cream);margin:0}.perf-cloud{flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.perf-chip{background:var(--paper);border:1px solid var(--line-strong);color:var(--navy);border-radius:999px;padding:.55rem 1rem;font-size:.92rem;font-weight:600}.productions-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem;display:grid}.prod-card__title{font-family:var(--font-serif);font-size:var(--step-2);color:var(--purple);margin-bottom:.25rem}.prod-card__by{font-variant:small-caps;text-transform:uppercase;letter-spacing:.1em;color:var(--maroon);margin:0 0 .6rem;font-size:.82rem;font-weight:600}.prod-card__body{color:var(--navy-muted);margin:0}.gallery-grid{grid-template-columns:1fr;gap:1.15rem;margin-bottom:3rem;display:grid}@media (width>=560px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-card{border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--navy);display:block;overflow:hidden}.gallery-card__img{aspect-ratio:2/3;object-fit:cover;width:100%;transition:transform .3s}.gallery-card:hover .gallery-card__img{transform:scale(1.03)}.videos-subsection__title{color:var(--purple);margin-bottom:1.15rem}.videos-grid{grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.75rem;display:grid}@media (width>=680px){.videos-grid{grid-template-columns:repeat(2,1fr)}}.lite-yt{aspect-ratio:16/9;background:var(--navy);border-radius:var(--radius-md);border:1px solid var(--line-strong);position:relative;overflow:hidden}.lite-yt__trigger{cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:relative}.lite-yt__thumb{object-fit:cover;width:100%;height:100%}.lite-yt__play{background:#1e2a4a47;justify-content:center;align-items:center;transition:background-color .2s;display:flex;position:absolute;inset:0}.lite-yt__trigger:hover .lite-yt__play{background:#4b1c7a73}.lite-yt__caption{color:var(--cream);font-family:var(--font-serif);font-size:var(--step-1);text-align:left;background:linear-gradient(#0000,#1e2a4aeb);padding:.65rem 1rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.lite-yt__iframe{border:0;width:100%;height:100%}.gallery-links{flex-wrap:wrap;gap:.85rem;display:flex}.students-intro{font-size:var(--step-1);max-width:65ch;margin-bottom:1.35rem}.student-chips{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.student-chip{background:var(--paper);border:2px solid var(--gold-dark);color:var(--navy);font-family:var(--font-serif);font-size:var(--step-1);border-radius:999px;padding:.5rem 1.2rem;font-weight:600}.batches-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:1.15rem;margin-bottom:2rem;display:grid}.batch-card{flex-direction:column;gap:.65rem;display:flex}.batch-card__top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.batch-card__name{font-size:var(--step-1);color:var(--purple);margin:0}.mode-badge{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;flex-shrink:0;padding:.25rem .65rem;font-size:.75rem;font-weight:600}.mode-badge--offline{background:var(--purple);color:var(--cream)}.mode-badge--online{background:var(--navy);color:var(--gold)}.batch-card__schedule{color:var(--navy);margin:0}.batch-card__days{font-weight:600}.batch-card__fee{color:var(--maroon);margin:.25rem 0 0;font-weight:600}.announcements-section:has(.announcements-empty){padding-block:clamp(1.75rem,3vw,2.5rem)}.announcements-list{gap:1.15rem;max-width:42rem;display:grid}.announcement-card__title{font-size:var(--step-1);color:var(--purple);margin:0}.announcement-card__meta{letter-spacing:.02em;color:var(--gold-dark);margin:.35rem 0 .75rem;font-size:.82rem;font-weight:600}.announcement-card__body{white-space:pre-wrap;color:var(--navy);margin:0}.announcement-card__photos{gap:.65rem;margin-top:.95rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.announcement-card__photo{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--cream);flex:none;width:9.25rem;height:9.25rem}.announcements-empty{max-width:62ch;color:var(--navy-muted);margin:0}.announcements-section--archive .announcements-list,.announcements-section--archive .announcements-empty,.announcements-section--archive .announcements-detail{max-width:42rem}.announcement-card--preview{padding:0}.announcement-card__link{color:inherit;border-radius:inherit;flex-direction:column;min-height:44px;padding:1.35rem 1.5rem;text-decoration:none;display:flex}.announcement-card__link:hover{color:inherit}.announcement-card__link:hover .announcement-card__title{color:var(--maroon)}.announcement-card__title a{color:inherit;text-decoration:none}.announcement-card__title a:hover{color:var(--maroon)}.announcement-card--preview .announcement-card__body{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.announcement-card__more{min-height:44px;color:var(--purple);align-items:center;margin-top:.15rem;font-weight:600;display:inline-flex}.announcement-card__photo-btn{cursor:zoom-in;border-radius:var(--radius-sm);background:0 0;border:0;padding:0;line-height:0}.announcement-card__photo--preview{width:min(100%,16rem);height:8.5rem;margin-top:.85rem}.announcements-back{margin:0 0 1rem}.announcements-back a{align-items:center;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.announcement-lightbox{color:var(--cream);background:0 0;border:0;width:min(920px,100vw - 1.25rem);max-width:calc(100vw - 1.25rem);max-height:calc(100dvh - 1.25rem);padding:0}.announcement-lightbox::backdrop{background:#1e2a4ae0}.announcement-lightbox__panel{background:var(--navy);border:1px solid var(--gold);border-radius:var(--radius-md);gap:.75rem;padding:.75rem;display:grid}.announcement-lightbox__img{object-fit:contain;border-radius:var(--radius-sm);background:#141c30;width:100%;max-height:min(70dvh,720px);display:block}.announcement-lightbox__bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.announcement-lightbox__count{text-align:center;flex:auto;margin:0;font-size:.9rem;font-weight:600}.announcement-lightbox__btn{border:1px solid var(--gold);min-width:44px;min-height:44px;color:var(--cream);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.4rem .95rem;font-weight:600}.announcement-lightbox__btn--close{margin-left:auto}@media (width<=600px){.announcements-list{gap:1rem}.announcement-card__link{padding:1.1rem 1.05rem}.announcement-card__photo:not(.announcement-card__photo--preview){width:7.5rem;height:7.5rem}}.school-extras-grid{grid-template-columns:1fr;gap:1.15rem;margin-bottom:2.25rem;display:grid}@media (width>=680px){.school-extras-grid{grid-template-columns:1fr 1fr}}.school-extra-card{align-items:flex-start;gap:1rem;display:flex}.swatch-group{flex-shrink:0;margin-top:.15rem;display:inline-flex}.swatch{border:2px solid var(--line-strong);border-radius:50%;width:26px;height:26px}.swatch--purple{background:var(--purple)}.swatch--white{background:#fff;margin-left:-8px}.school-extra-card__title{font-size:var(--step-1);color:var(--purple);margin-bottom:.25rem}.school-extra-card__body{color:var(--navy-muted);margin:0}.school-extra-card__action{margin:.5rem 0 0}.map-link{align-items:center;min-height:44px;font-weight:600;display:inline-flex}.policies-block__title{color:var(--purple);margin-bottom:.85rem}.policies-accordions{gap:.75rem;display:grid}.policy-accordion{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:.25rem 1.25rem}.policy-accordion__summary{min-height:48px;font-family:var(--font-serif);font-size:var(--step-1);color:var(--purple);cursor:pointer;justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.policy-accordion__summary::-webkit-details-marker{display:none}.policy-accordion__summary:after{content:"+";font-family:var(--font-sans);color:var(--gold-dark);font-size:1.25rem}.policy-accordion[open] .policy-accordion__summary:after{content:"−"}.policy-accordion__list{color:var(--navy-muted);margin:0 0 1rem;padding-left:1.25rem}.policy-accordion__list li{margin-bottom:.35rem}.section-cta{margin-top:1.75rem}.cta-banner{background:linear-gradient(135deg, var(--purple) 0%, var(--purple-deep) 60%, var(--navy) 100%);color:var(--cream);border:2px solid var(--gold);border-radius:var(--radius-lg);text-align:center;padding:clamp(2rem,4vw,3rem)}.cta-banner__title{color:var(--cream);margin:0 0 .75rem}.cta-banner__body{color:#f4ede0eb;font-size:var(--step-1);max-width:54ch;margin:0 auto 1.65rem}.cta-banner__actions{flex-wrap:wrap;justify-content:center;gap:.85rem;display:flex}.enquire-intro{color:var(--navy-muted);margin-bottom:1.5rem}#enquire{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.35rem,3vw,2.25rem);scroll-margin-top:11rem}#enquire label,form label{color:var(--navy);flex-direction:column;gap:.4rem;margin-bottom:1.1rem;font-size:.92rem;font-weight:600;display:flex}#enquire input,#enquire textarea,form input,form textarea{border:1px solid var(--line-strong);width:100%;min-height:46px;color:var(--navy);border-radius:var(--radius-sm);font:inherit;background:#fff;padding:.7rem .9rem;font-weight:400}#enquire input:focus-visible,#enquire textarea:focus-visible,form input:focus-visible,form textarea:focus-visible{outline:3px solid var(--purple);outline-offset:1px;border-color:var(--purple)}.hp{width:0;height:0;position:absolute;left:-10000px;overflow:hidden}#enquire-wait{font-size:var(--step--1);margin:.5rem 0 1rem}#enquire-result{color:var(--purple);margin-top:.85rem;font-weight:600}.contact-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.contact-card{color:var(--navy);align-items:center;gap:.9rem;min-height:64px;text-decoration:none;transition:border-color .18s,transform .18s;display:flex}.contact-card:hover{border-color:var(--purple);color:var(--purple);transform:translateY(-2px)}.contact-card__icon{background:var(--cream);width:44px;height:44px;color:var(--purple);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.contact-card__body{flex-direction:column;min-width:0;display:flex}.contact-card__label{text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);font-size:.75rem;font-weight:600}.contact-card__value{overflow-wrap:anywhere;font-weight:600}.site-footer{background:var(--navy);color:var(--cream);border-top:3px solid var(--gold);padding:3.5rem 0 2.75rem}.site-footer__inner{width:min(var(--container-max), calc(100% - 2rem));gap:2.25rem;margin:0 auto;display:grid}.site-footer__cols{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=640px){.site-footer__cols{grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem}}@media (width>=960px){.site-footer__cols{grid-template-columns:1.45fr 1.25fr 1.15fr .85fr;gap:2rem}}.site-footer__brand{align-items:center;gap:.9rem;display:flex}.site-footer__logo{border-radius:50%;flex-shrink:0;width:56px;height:56px}.site-footer__title{font-family:var(--font-serif);font-size:var(--step-2);color:var(--cream);margin:0 0 .15rem;font-weight:700}.site-footer__tagline{font-family:var(--font-serif);color:var(--gold);font-style:italic;font-size:var(--step-1);margin:0}.site-footer__heading{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.site-footer__list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:var(--cream);overflow-wrap:anywhere;align-items:center;gap:.55rem;min-height:36px;padding:.15rem 0;font-size:.92rem;text-decoration:none;transition:color .18s;display:inline-flex}.site-footer a:hover{color:var(--gold);text-decoration:none}.site-footer__icon{color:var(--gold);flex-shrink:0}.site-footer__meta{color:#f4ede0d1;border-top:1px solid #f4ede02e;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-top:1.25rem;font-size:.85rem;display:flex}.site-footer__copy,.site-footer__credit{margin:0}.site-footer__credit a{min-height:0;color:inherit;text-underline-offset:.15em;padding:0;text-decoration:underline;display:inline}.site-footer__credit a:hover{color:var(--gold);text-decoration:underline}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero__overlay{background:linear-gradient(to bottom, var(--purple-deep) 0%, #3612598c 8%, #4b1c7a00 20%)}@media (width>=900px){.hero__media{min-height:0;margin-bottom:clamp(68px,8vw,108px)}.hero__overlay{background:linear-gradient(to right, var(--purple) 0%, #4b1c7ab8 10%, #4b1c7a38 24%, transparent 42%), linear-gradient(to left, #36125966 0%, transparent 10%)}.site-footer__cols{grid-template-columns:1.3fr 1.6fr 1.15fr .85fr}}.site-footer a{overflow-wrap:normal}.site-footer a[href^=mailto\:]{white-space:nowrap}.hero__overlay:after{content:"";background:linear-gradient(to top, var(--purple) 0%, #4b1c7a00 100%);height:9%;position:absolute;inset:auto 0 0}.hero__top-blend{background:linear-gradient(#f4ede0 0%,#f4ede0eb 8%,#f4ede0cc 17%,#f4ede0a3 27%,#f4ede078 38%,#f4ede04f 50%,#f4ede02e 62%,#f4ede017 74%,#f4ede009 86%,#f4ede000 100%);height:clamp(80px,13vw,180px)}.hero__bottom-blend{background:linear-gradient(#f4ede000 0%,#f4ede009 14%,#f4ede017 26%,#f4ede02e 38%,#f4ede04f 50%,#f4ede078 62%,#f4ede0a3 73%,#f4ede0cc 83%,#f4ede0eb 92%,#f4ede0 100%);height:clamp(96px,15vw,200px)}.hero__curve,.hero__overlay:after{display:none}.hero__media{margin-bottom:clamp(96px,15vw,200px)}.hero__img{-webkit-mask-image:linear-gradient(#0000 0%,#000 10% 91%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 10% 91%,#0000 100%)}@media (width>=900px){.hero__media{margin-bottom:clamp(96px,15vw,200px)}.hero__img{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000040 8%,#000000a6 16%,#000 26%),linear-gradient(#000 0% 91%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#00000040 8%,#000000a6 16%,#000 26%),linear-gradient(#000 0% 91%,#0000 100%);mask-composite:intersect}}.hero__overlay{display:none}.hero{background:linear-gradient(180deg, var(--purple) 0%, var(--purple-deep) 100%)}
