@font-face{font-family:"Fredoka";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/fredoka-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Fredoka";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/fredoka-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Nunito";font-style:normal;font-weight:200 1000;font-display:swap;src:url("../fonts/nunito-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Nunito";font-style:normal;font-weight:200 1000;font-display:swap;src:url("../fonts/nunito-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Nunito";font-style:italic;font-weight:200 1000;font-display:swap;src:url("../fonts/nunito-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Nunito";font-style:italic;font-weight:200 1000;font-display:swap;src:url("../fonts/nunito-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}:root{--color-bg:#FFF8EE;--color-surface:#FFFFFF;--color-ink:#2B2140;--color-ink-soft:#5A4E6E;--color-muted:#6B6280;--color-border:#EADFCF;--color-on-dark:#FFFFFF;--color-primary:#C2410C;--color-primary-strong:#9A3412;--color-primary-soft:#FFE6D5;--color-secondary:#0F766E;--color-secondary-strong:#115E59;--color-secondary-soft:#D3F4EE;--color-accent:#FFC93C;--color-accent-soft:#FFF1C7;--color-purple:#7C3AED;--color-purple-soft:#EEE5FF;--color-sky:#38BDF8;--color-sky-soft:#E0F4FE;--color-pink:#F472B6;--color-leaf:#84CC16;--color-leaf-strong:#65A30D;--color-success:#15803D;--color-success-soft:#DCFCE7;--color-danger:#B91C1C;--color-danger-soft:#FEE2E2;--color-warning-soft:#FEF3C7;--color-info-soft:#E0F2FE;--color-overlay:rgb(43 33 64 / .88);--color-overlay-soft:rgb(43 33 64 / .55);--color-glass:rgb(255 255 255 / .82);--color-focus:#1D4ED8;--color-mask:#000000;--font-display:"Fredoka","Trebuchet MS","Segoe UI",system-ui,sans-serif;--font-body:"Nunito","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;--fs-300:.875rem;--fs-400:1rem;--fs-500:1.175rem;--fs-600:clamp(1.35rem, 1.1rem + 1vw, 1.75rem);--fs-700:clamp(1.75rem, 1.3rem + 2vw, 2.6rem);--fs-800:clamp(2.1rem, 1.4rem + 3.2vw, 3.6rem);--lh-tight:1.15;--lh-base:1.65;--fw-regular:400;--fw-bold:700;--fw-semibold:600;--fw-black:800;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.75rem;--radius-xl:2.5rem;--radius-blob:42% 58% 63% 37% / 41% 44% 56% 59%;--radius-pill:999px;--shadow-1:0 2px 6px rgb(43 33 64 / .08),0 1px 2px rgb(43 33 64 / .06);--shadow-2:0 14px 34px rgb(43 33 64 / .14),0 4px 10px rgb(43 33 64 / .08);--border-w:2px;--dur-fast:200ms;--dur-base:400ms;--dur-slow:600ms;--dur-slide:900ms;--slide-interval:6s;--ticker-duration:40s;--strip-duration:60s;--float-duration:9s;--ease:cubic-bezier(.2, .7, .2, 1);--container:1200px;--container-narrow:800px;--gutter:var(--space-4);--header-h:4.5rem;--tap:44px;--strip-fade:3rem}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--space-6)}body{min-height:100vh;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--fs-400);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,svg{display:block;max-width:100%}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-tight);font-weight:var(--fw-bold);text-wrap:balance}p{text-wrap:pretty}a{color:var(--color-primary);text-decoration-thickness:2px;text-underline-offset:.2em}a:hover{color:var(--color-primary-strong)}ul[class],ol[class]{list-style:none;padding:0}table{border-collapse:collapse}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent);color:var(--color-ink)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:var(--space-4);z-index:100;padding:var(--space-3) var(--space-4);background:var(--color-ink);color:var(--color-on-dark);border-radius:var(--radius-sm);transform:translateY(-200%)}.skip-link:focus{transform:none;color:var(--color-on-dark)}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon--sm{width:1em;height:1em}.icon--lg{width:2rem;height:2rem}.icon--xl{width:3rem;height:3rem}.muted{color:var(--color-muted);font-size:var(--fs-300)}.note{margin-top:var(--space-8);color:var(--color-ink-soft);font-size:var(--fs-300)}.prose{font-size:var(--fs-500);max-width:70ch}.prose>* + *{margin-top:var(--space-4)}.prose h2{font-size:var(--fs-600);margin-top:var(--space-8);color:var(--color-secondary-strong)}.prose h3{font-size:var(--fs-500);margin-top:var(--space-6)}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li + li{margin-top:var(--space-2)}.prose li::marker{color:var(--color-primary)}.prose img{border-radius:var(--radius-md)}.prose mark{background:var(--color-accent);color:var(--color-ink);padding-inline:var(--space-1);border-radius:var(--radius-sm);font-weight:var(--fw-bold)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:var(--container-narrow)}.site-main{display:block;outline:none}.topbar{background:var(--color-ink);color:var(--color-on-dark);font-size:var(--fs-300)}.topbar__inner{display:flex;align-items:center;gap:var(--space-4);min-height:2.5rem}.topbar__item{display:inline-flex;align-items:center;gap:var(--space-2);color:inherit;text-decoration:none}.topbar__item:hover{color:var(--color-accent)}.topbar__item--hide-sm{display:none}.topbar__social{margin-left:auto;display:flex;gap:var(--space-1)}.topbar__icon{display:inline-grid;place-items:center;width:var(--tap);height:2.5rem;color:inherit}.topbar__icon:hover{color:var(--color-accent)}.site-header{position:relative;z-index:20;background:var(--color-surface);box-shadow:var(--shadow-1)}.site-header__bar{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-h)}.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-ink);margin-right:auto}.brand__logo{width:48px;height:48px}.brand__text{display:flex;flex-direction:column;line-height:1.1}.brand__name{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-500);color:var(--color-primary)}.brand__slogan{font-size:var(--fs-300);color:var(--color-ink-soft);display:none}.nav-toggle{display:none;width:var(--tap);height:var(--tap);place-items:center;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.nav-toggle__close{display:none}.nav-toggle[aria-expanded="true"] .nav-toggle__open{display:none}.nav-toggle[aria-expanded="true"] .nav-toggle__close{display:block}.js .nav-toggle{display:grid}.site-nav{width:100%}.js .site-nav{position:absolute;inset:100% 0 auto 0;background:var(--color-surface);box-shadow:var(--shadow-2);padding:var(--space-4) var(--gutter) var(--space-6);max-height:calc(100vh - var(--header-h));overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),visibility var(--dur-fast)}.js .site-nav.is-open{opacity:1;visibility:visible;transform:none}.site-header__bar{flex-wrap:wrap}.js .site-header__bar{flex-wrap:nowrap}.site-nav__list{display:flex;flex-direction:column;gap:var(--space-1);padding-block:var(--space-2)}.site-nav__link,.site-nav__sublink{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-ink);font-weight:var(--fw-bold);text-decoration:none;width:100%;background:none;border:0;text-align:left}.site-nav__link:hover,.site-nav__sublink:hover{background:var(--color-primary-soft);color:var(--color-primary-strong)}.site-nav__link[aria-current="page"],.site-nav__link.is-active,.site-nav__sublink[aria-current="page"]{color:var(--color-primary)}.site-nav__button .icon{transition:transform var(--dur-fast) var(--ease)}.site-nav__button[aria-expanded="true"] .icon{transform:rotate(180deg)}.site-nav__submenu{padding-left:var(--space-4)}.js .site-nav__submenu{display:none}.js .site-nav__item--parent.is-open .site-nav__submenu{display:block}.site-nav__sublink{font-weight:var(--fw-regular)}.site-nav__item--cta{margin-top:var(--space-2)}.section{padding-block:var(--space-12)}.section--tint{background:var(--color-surface)}.section--flush{padding-bottom:var(--space-6)}.section__more{margin-top:var(--space-8);text-align:center}.card-grid,.feature-grid,.class-grid,.testimonial-grid,.album-grid,.video-grid,.person-grid{display:grid;gap:var(--space-6);grid-template-columns:1fr}.gallery-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(2, 1fr)}.home-split{display:grid;gap:var(--space-8)}.events-layout,.contact-layout{display:grid;gap:var(--space-8)}.page-hero{position:relative;overflow:hidden;padding-block:var(--space-10) var(--space-12);background:var(--color-accent-soft)}.page-hero__inner{position:relative;z-index:1}.page-hero__title{font-size:var(--fs-700);margin-top:var(--space-3)}.page-hero__lead{margin-top:var(--space-3);max-width:60ch;font-size:var(--fs-500);color:var(--color-ink-soft)}.page-hero__shape{position:absolute;border-radius:var(--radius-blob)}.page-hero__shape--a{width:14rem;height:14rem;right:-4rem;top:-4rem;background:var(--color-primary-soft)}.page-hero__shape--b{width:8rem;height:8rem;right:18%;bottom:-3rem;background:var(--color-secondary-soft)}.breadcrumb__list{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--fs-300);color:var(--color-ink-soft)}.breadcrumb__item + .breadcrumb__item::before{content:"›";margin-right:var(--space-2);color:var(--color-muted)}.breadcrumb__item a{color:var(--color-ink-soft)}.site-footer{position:relative;margin-top:var(--space-12);background:var(--color-ink);color:var(--color-on-dark)}.site-footer__wave{position:absolute;left:0;right:0;top:-1.5rem;height:3rem;background:var(--color-ink);border-radius:50% 50% 0 0 / 100% 100% 0 0}.site-footer__grid{position:relative;display:grid;gap:var(--space-8);padding-block:var(--space-12) var(--space-8)}.site-footer__title{font-size:var(--fs-500);color:var(--color-accent);margin-bottom:var(--space-4)}.site-footer__text{opacity:.9}.site-footer a{color:var(--color-on-dark)}.site-footer a:hover{color:var(--color-accent)}.site-footer__links{display:grid;gap:var(--space-1)}.site-footer__links a{display:inline-flex;min-height:var(--tap);align-items:center;text-decoration:none}.site-footer__social{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.site-footer__bottom{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:center;padding-block:var(--space-6);border-top:1px solid var(--color-overlay-soft);font-size:var(--fs-300)}.site-footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-4)}.site-footer__legal a{display:inline-flex;min-height:var(--tap);align-items:center}@media (min-width: 640px){:root{--gutter:var(--space-6)}.topbar__item--hide-sm{display:inline-flex}.brand__slogan{display:block}.card-grid,.class-grid,.album-grid,.video-grid,.person-grid,.testimonial-grid{grid-template-columns:repeat(2, 1fr)}.feature-grid{grid-template-columns:repeat(2, 1fr)}.gallery-grid{grid-template-columns:repeat(3, 1fr)}.card-grid--2{grid-template-columns:repeat(2, 1fr)}.site-footer__grid{grid-template-columns:repeat(2, 1fr)}.section{padding-block:var(--space-16)}}@media (min-width: 900px){.card-grid,.album-grid,.video-grid,.testimonial-grid{grid-template-columns:repeat(3, 1fr)}.card-grid--2{grid-template-columns:repeat(2, 1fr)}.feature-grid,.person-grid{grid-template-columns:repeat(4, 1fr)}.class-grid{grid-template-columns:repeat(4, 1fr)}.gallery-grid{grid-template-columns:repeat(4, 1fr)}.home-split{grid-template-columns:2fr 1fr;align-items:start}.events-layout{grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr);align-items:start}.contact-layout{grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr);align-items:start}.site-footer__grid{grid-template-columns:1.4fr 1fr 1.2fr}.page-hero{padding-block:var(--space-12) var(--space-16)}}@media (min-width: 1200px){.js .nav-toggle{display:none}.js .site-nav,.site-nav{position:static;width:auto;padding:0;box-shadow:none;background:none;opacity:1;visibility:visible;transform:none;max-height:none;overflow:visible}.site-nav__list{flex-direction:row;align-items:center;gap:var(--space-1);padding:0}.site-nav__link{width:auto;padding-inline:var(--space-3)}.site-nav__item--parent{position:relative}.site-nav__submenu,.js .site-nav__submenu{display:block;position:absolute;top:calc(100% + var(--space-2));left:0;min-width:14rem;padding:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translateY(-.25rem);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),visibility var(--dur-fast)}.site-nav__item--parent:hover .site-nav__submenu,.site-nav__item--parent:focus-within .site-nav__submenu,.js .site-nav__item--parent.is-open .site-nav__submenu{opacity:1;visibility:visible;transform:none}.site-nav__item--cta{margin:0 0 0 var(--space-2)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-5);border:var(--border-w) solid transparent;border-radius:var(--radius-pill);font-weight:var(--fw-bold);line-height:1.2;text-decoration:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--color-primary);color:var(--color-on-dark);box-shadow:0 4px 0 var(--color-primary-strong)}.btn--primary:hover{background:var(--color-primary-strong);color:var(--color-on-dark)}.btn--secondary{background:var(--color-secondary);color:var(--color-on-dark);box-shadow:0 4px 0 var(--color-secondary-strong)}.btn--secondary:hover{background:var(--color-secondary-strong);color:var(--color-on-dark)}.btn--ghost{background:transparent;color:var(--color-ink);border-color:var(--color-border)}.btn--ghost:hover{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-ink-soft)}.btn--light{background:var(--color-surface);color:var(--color-primary-strong)}.btn--light:hover{background:var(--color-accent);color:var(--color-ink)}.btn--outline-light{background:transparent;color:var(--color-on-dark);border-color:var(--color-on-dark)}.btn--outline-light:hover{background:var(--color-on-dark);color:var(--color-primary-strong)}.btn--danger{background:var(--color-danger);color:var(--color-on-dark)}.btn--danger:hover{color:var(--color-on-dark);filter:brightness(.92)}.btn--danger-ghost{background:transparent;color:var(--color-danger);border-color:var(--color-danger-soft)}.btn--danger-ghost:hover{background:var(--color-danger-soft);color:var(--color-danger)}.btn--sm{min-height:2.25rem;padding:var(--space-1) var(--space-4);font-size:var(--fs-300)}.btn--lg{min-height:3.25rem;padding:var(--space-3) var(--space-6);font-size:var(--fs-500)}.btn--block{width:100%}.btn[disabled]{opacity:.6;cursor:progress;transform:none}.icon-button{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);flex:none;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);cursor:pointer;text-decoration:none;transition:transform var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.icon-button:hover{background:var(--color-accent);color:var(--color-ink);transform:scale(1.06)}.icon-button--sm{width:2.25rem;height:2.25rem}.site-footer .icon-button{background:transparent;color:var(--color-on-dark);border-color:var(--color-overlay-soft)}.site-footer .icon-button:hover{color:var(--color-ink);background:var(--color-accent)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.125rem var(--space-3);border-radius:var(--radius-pill);background:var(--color-secondary-soft);color:var(--color-secondary-strong);font-size:var(--fs-300);font-weight:var(--fw-bold);white-space:nowrap}.badge--primary{background:var(--color-primary-soft);color:var(--color-primary-strong)}.badge--accent{background:var(--color-accent);color:var(--color-ink)}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.section-title{text-align:center;margin-bottom:var(--space-8)}.section-title--row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-4);text-align:left}.section-title__eyebrow{display:inline-block;padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-primary-strong);font-weight:var(--fw-bold);font-size:var(--fs-300)}.section-title__title{font-size:var(--fs-700);margin-top:var(--space-3)}.card{display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}.card__media{aspect-ratio:16 / 10;overflow:hidden;background:var(--color-accent-soft)}.card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease)}.card:hover .card__img{transform:scale(1.05)}.card__placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:10rem;color:var(--color-primary);background:var(--color-accent-soft)}.card__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-6) var(--space-6);flex:1}.card__meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-300);color:var(--color-ink-soft)}.card__title{font-size:var(--fs-500)}.card__link{color:var(--color-ink);text-decoration:none}.card__link::after{content:"";position:absolute;inset:0}.card__link:hover{color:var(--color-primary)}.card__link:focus-visible{outline:none}.card:has(.card__link:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.card__text{color:var(--color-ink-soft)}.form{display:grid;gap:var(--space-5)}.form__row{display:grid;gap:var(--space-5)}.form__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form__note{font-size:var(--fs-300);color:var(--color-ink-soft)}.form__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.form-field{display:grid;gap:var(--space-2);border:0;padding:0;min-width:0}.form-field__label{font-weight:var(--fw-bold)}.form-field__req{color:var(--color-danger)}.form-field__opt{font-weight:var(--fw-regular);color:var(--color-muted);font-size:var(--fs-300)}.form-field__input{width:100%;min-height:var(--tap);padding:var(--space-3) var(--space-4);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.form-field__input:hover{border-color:var(--color-ink-soft)}.form-field__input:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-info-soft)}.form-field__input--short{max-width:18rem}textarea.form-field__input{resize:vertical}.form-field--error .form-field__input{border-color:var(--color-danger)}.form-field__error{color:var(--color-danger);font-size:var(--fs-300);font-weight:var(--fw-bold)}.form-field__help{color:var(--color-ink-soft);font-size:var(--fs-300)}.form-check{display:flex;gap:var(--space-3);align-items:flex-start;cursor:pointer}.form-check__input{width:1.375rem;height:1.375rem;margin-top:.15rem;flex:none;accent-color:var(--color-primary)}.choice-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice{position:relative}.choice__input{position:absolute;opacity:0;inset:0}.choice__label{display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--space-2) var(--space-4);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.choice__input:checked + .choice__label{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-on-dark)}.choice__input:focus-visible + .choice__label{outline:3px solid var(--color-focus);outline-offset:3px}.flash{margin-top:var(--space-6);display:grid;gap:var(--space-3)}.alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border-left:6px solid var(--color-secondary);background:var(--color-info-soft)}.alert--success{background:var(--color-success-soft);border-color:var(--color-success)}.alert--error{background:var(--color-danger-soft);border-color:var(--color-danger)}.alert--warning{background:var(--color-warning-soft);border-color:var(--color-accent)}.alert--info{background:var(--color-info-soft);border-color:var(--color-sky)}.alert__list{margin-top:var(--space-2);padding-left:var(--space-5)}.alert__list a{color:var(--color-danger)}.hero{position:relative;overflow:hidden;padding-block:var(--space-10) var(--space-12);background:var(--color-accent-soft)}.hero__inner{display:grid;gap:var(--space-10);align-items:center}.hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-primary-strong);font-weight:var(--fw-bold);box-shadow:var(--shadow-1)}.hero__eyebrow .icon{color:var(--color-accent);fill:var(--color-accent)}.hero__title{font-size:var(--fs-800);margin-top:var(--space-4)}.hero__lead{margin-top:var(--space-4);font-size:var(--fs-500);color:var(--color-ink-soft);max-width:52ch}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.hero__visual{position:relative}.hero__illustration{display:grid;place-items:center;aspect-ratio:4 / 3;border-radius:var(--radius-blob);background:var(--color-primary-soft)}.hero__sun{width:40%;height:40%;color:var(--color-accent)}.blob{position:absolute;border-radius:var(--radius-blob);z-index:0}.blob--a{width:9rem;height:9rem;top:-1.5rem;left:-1.5rem;background:var(--color-accent)}.blob--b{width:6rem;height:6rem;bottom:-1rem;right:10%;background:var(--color-secondary)}.blob--c{width:3.5rem;height:3.5rem;top:12%;right:-1rem;background:var(--color-purple)}.stats{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-8)}.stats__item{display:flex;flex-direction:column-reverse}.stats__value{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-700);color:var(--color-primary);line-height:1}.stats__label{color:var(--color-ink-soft);font-size:var(--fs-300)}.slider{position:relative;z-index:1}.slider__viewport{position:relative;display:grid;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--space-4);border:6px solid var(--color-surface);box-shadow:var(--shadow-2);background:var(--color-surface)}.slider__slide{grid-area:1 / 1;margin:0;position:relative}.slider__img{width:100%;height:100%;object-fit:cover}.slider__caption{position:absolute;left:var(--space-4);bottom:var(--space-4);padding:var(--space-1) var(--space-4);background:var(--color-glass);border-radius:var(--radius-pill);font-weight:var(--fw-bold);font-size:var(--fs-300)}.slider__controls{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-4)}.ticker{background:var(--color-secondary);color:var(--color-on-dark)}.ticker__inner{display:flex;align-items:center;gap:var(--space-3);min-height:3.5rem}.ticker__label{flex:none;padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-ink);font-weight:var(--fw-black);text-decoration:none}.ticker__label:hover{color:var(--color-ink);background:var(--color-surface)}.ticker__viewport{flex:1;overflow:hidden;mask-image:linear-gradient(90deg, transparent, black 4%, black 96%, transparent)}.ticker__track{display:flex;gap:var(--space-12);width:max-content}.ticker__item{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.ticker__item a{color:var(--color-on-dark);font-weight:var(--fw-bold);text-decoration:none}.ticker__item a:hover{text-decoration:underline;color:var(--color-on-dark)}.ticker__toggle{background:transparent;color:var(--color-on-dark);border-color:var(--color-glass)}.no-js .ticker__viewport{overflow-x:auto}.feature{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-1);border-top:6px solid var(--feature-color, var(--color-primary))}.feature--primary{--feature-color:var(--color-primary);--feature-soft:var(--color-primary-soft)}.feature--secondary{--feature-color:var(--color-secondary);--feature-soft:var(--color-secondary-soft)}.feature--accent{--feature-color:var(--color-accent);--feature-soft:var(--color-accent-soft)}.feature--purple{--feature-color:var(--color-purple);--feature-soft:var(--color-purple-soft)}.feature__icon{display:inline-grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:var(--radius-blob);background:var(--feature-soft);color:var(--color-ink)}.feature__title{font-size:var(--fs-500);margin-top:var(--space-4)}.feature__text{margin-top:var(--space-2);color:var(--color-ink-soft)}.class-card{--tone:var(--color-primary-soft);display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:var(--tone)}.class-card--secondary{--tone:var(--color-secondary-soft)}.class-card--accent{--tone:var(--color-accent-soft)}.class-card--purple{--tone:var(--color-purple-soft)}.class-card__media{aspect-ratio:4 / 3;overflow:hidden}.class-card__img{width:100%;height:100%;object-fit:cover}.class-card__body{padding:var(--space-5);display:grid;gap:var(--space-2);justify-items:start}.class-card__title{font-size:var(--fs-500)}.class-card__text{color:var(--color-ink-soft);font-size:var(--fs-300)}.class-list{display:grid;gap:var(--space-8)}.class-row{--tone:var(--color-primary-soft);display:grid;gap:var(--space-6);padding:var(--space-4);border-radius:var(--radius-xl);background:var(--tone)}.class-row--secondary{--tone:var(--color-secondary-soft)}.class-row--accent{--tone:var(--color-accent-soft)}.class-row--purple{--tone:var(--color-purple-soft)}.class-row__media{aspect-ratio:4 / 3;border-radius:var(--radius-lg);overflow:hidden}.class-row__img{width:100%;height:100%;object-fit:cover}.class-row__body{display:grid;gap:var(--space-3);align-content:center;justify-items:start;padding:var(--space-2)}.class-row__title{font-size:var(--fs-700)}.class-row__text{color:var(--color-ink-soft)}.photo-strip{overflow:hidden;padding-block:var(--space-4);-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-mask) var(--strip-fade), var(--color-mask) calc(100% - var(--strip-fade)), transparent);mask-image:linear-gradient(90deg, transparent, var(--color-mask) var(--strip-fade), var(--color-mask) calc(100% - var(--strip-fade)), transparent)}.photo-strip__track{display:flex;gap:var(--space-4);width:max-content}.photo-strip__item:nth-child(odd){transform:rotate(-2deg)}.photo-strip__item:nth-child(even){transform:rotate(2deg) translateY(.5rem)}.photo-strip__link{display:block;width:16.25rem;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-lg);border:5px solid var(--color-surface);box-shadow:var(--shadow-1)}.photo-strip__img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-base) var(--ease)}.photo-strip__link:hover .photo-strip__img{transform:scale(1.08)}.no-js .photo-strip{overflow-x:auto}.photo-strip__toggle[hidden]{display:none}.section-title__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.filter-bar{margin-top:var(--space-4)}.filter-bar__list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0}.filter-bar__chip{display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--space-2) var(--space-4);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-weight:var(--fw-bold);text-decoration:none;transition:transform var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.filter-bar__chip:hover{background:var(--color-accent-soft);color:var(--color-ink);transform:translateY(-2px)}.filter-bar__chip[aria-current="true"]{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-on-dark)}.event-box{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-purple-soft);display:grid;gap:var(--space-4)}.event-box__title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-500)}.event-box__empty{color:var(--color-ink-soft)}.event-list{display:grid;gap:var(--space-3)}.event-list__item{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md)}.event-list--large .event-list__item{padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-1);scroll-margin-top:var(--space-8)}.event-list__title{font-weight:var(--fw-bold);font-family:var(--font-body);font-size:var(--fs-400)}.event-list--large .event-list__title{font-family:var(--font-display);font-size:var(--fs-500)}.event-list__meta{font-size:var(--fs-300);color:var(--color-ink-soft)}.event-list__text{margin-top:var(--space-2);color:var(--color-ink-soft)}.date-chip{display:grid;place-items:center;flex:none;width:3.5rem;padding:var(--space-1) 0;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-dark);line-height:1.1}.date-chip--lg{width:4rem}.date-chip__day{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-600)}.date-chip__month{font-size:var(--fs-300);text-transform:uppercase}.testimonial{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--color-bg);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--space-2)}.section:not(.section--tint) .testimonial{background:var(--color-surface);box-shadow:var(--shadow-1)}.testimonial__quote{color:var(--color-accent)}.testimonial__body{font-size:var(--fs-500);flex:1}.testimonial__author{display:flex;gap:var(--space-3);align-items:center}.testimonial__avatar{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--color-secondary);color:var(--color-on-dark);font-weight:var(--fw-black)}.testimonial__meta{font-size:var(--fs-300);color:var(--color-ink-soft)}.cta-band{padding-block:var(--space-6)}.cta-band__inner{display:grid;gap:var(--space-6);padding:var(--space-10) var(--space-6);border-radius:var(--radius-xl);background:var(--color-primary);color:var(--color-on-dark)}.cta-band__eyebrow{font-weight:var(--fw-bold);color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-300)}.cta-band__title{font-size:var(--fs-700)}.cta-band__contact{margin-top:var(--space-5)}.cta-band__contact .icon{color:var(--color-accent)}.cta-band a:not(.btn){color:var(--color-on-dark)}.cta-band__text{margin-top:var(--space-2);font-size:var(--fs-500)}.cta-band__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.cta-inline{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-10)}.gallery-tile{position:relative;display:block;overflow:hidden;aspect-ratio:4 / 3;border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-on-dark);text-decoration:none}.gallery-tile__img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease),filter var(--dur-slow) var(--ease)}.gallery-tile:hover .gallery-tile__img,.gallery-tile:focus-visible .gallery-tile__img{transform:scale(1.08) rotate(.5deg);filter:saturate(1.15)}.gallery-tile__caption{position:absolute;inset:auto 0 0 0;display:grid;gap:var(--space-1);padding:var(--space-6) var(--space-4) var(--space-3);background:linear-gradient(transparent, var(--color-overlay));font-size:var(--fs-300);transform:translateY(35%);opacity:.9;transition:transform var(--dur-base) var(--ease),opacity var(--dur-base) var(--ease)}.gallery-tile:hover .gallery-tile__caption,.gallery-tile:focus-visible .gallery-tile__caption{transform:none;opacity:1}.album-card__link{aspect-ratio:4 / 3;border-radius:var(--radius-lg)}.album-card__link .gallery-tile__caption{transform:none;opacity:1;padding-top:var(--space-12)}.album-card__title{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-500)}.mosaic{margin-top:var(--space-10)}.mosaic__title{font-size:var(--fs-600)}.mosaic__grid{display:grid;gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(2, minmax(0, 1fr));grid-auto-rows:9rem;grid-auto-flow:dense}.mosaic__item--big{grid-column:span 2;grid-row:span 2}.mosaic__item--wide{grid-column:span 2}.mosaic__tile{height:100%;aspect-ratio:auto}.mosaic__tile:hover .gallery-tile__img,.mosaic__tile:focus-visible .gallery-tile__img{transform:scale(1.05)}.mosaic__tile .gallery-tile__caption{transform:none;opacity:1;padding-top:var(--space-8);font-weight:var(--fw-bold)}.lightbox{width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:var(--space-4);border:0;background:var(--color-overlay);color:var(--color-on-dark)}.lightbox[open]{display:grid;place-items:center}.lightbox::backdrop{background:var(--color-overlay)}.lightbox__figure{display:grid;gap:var(--space-3);justify-items:center;max-width:min(100%, 1600px)}.lightbox__img{max-height:80vh;width:auto;border-radius:var(--radius-md);object-fit:contain}.lightbox__img.is-changing{opacity:0;transform:scale(.98)}.lightbox__img{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.lightbox__caption,.lightbox__counter{font-size:var(--fs-300);text-align:center}.lightbox__counter{position:absolute;top:var(--space-6);left:var(--space-6)}.lightbox__close{position:absolute;top:var(--space-4);right:var(--space-4)}.lightbox__prev,.lightbox__next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox__prev{left:var(--space-4)}.lightbox__next{right:var(--space-4)}.lightbox__prev:hover,.lightbox__next:hover{transform:translateY(-50%) scale(1.06)}.media-split{display:grid;gap:var(--space-10)}.media-split .section-title{text-align:left}.section__more--start{text-align:left;margin-top:var(--space-6)}.menu-mini{display:grid;gap:var(--space-2)}.menu-mini__day{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-1);border-left:6px solid var(--color-secondary)}.menu-mini__day--today{border-left-color:var(--color-accent);background:var(--color-accent-soft)}.menu-mini__name{font-family:var(--font-display);font-weight:var(--fw-semibold);color:var(--color-secondary-strong)}.menu-mini__meal{color:var(--color-ink-soft)}.slider--illustration .slider__viewport{background:var(--color-sky-soft)}.accordion{display:grid;gap:var(--space-3)}.accordion__item{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.accordion__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--tap);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none;border-radius:var(--radius-md)}.accordion__summary::-webkit-details-marker{display:none}.accordion__question{font-size:var(--fs-500);font-family:var(--font-body);font-weight:var(--fw-bold)}.accordion__icon{color:var(--color-primary);transition:transform var(--dur-fast) var(--ease)}.accordion__item[open] .accordion__icon{transform:rotate(45deg)}.accordion__answer{padding:0 var(--space-5) var(--space-5);color:var(--color-ink-soft)}.timeline{position:relative;display:grid;gap:var(--space-5);margin-top:var(--space-8);padding-left:var(--space-2)}.timeline::before{content:"";position:absolute;left:2.6rem;top:0;bottom:0;width:4px;border-radius:var(--radius-pill);background:var(--color-border)}.timeline__item{--tone:var(--color-primary);--tone-soft:var(--color-primary-soft);position:relative;display:grid;grid-template-columns:5rem 1fr;gap:var(--space-4);align-items:start}.timeline__item--secondary{--tone:var(--color-secondary);--tone-soft:var(--color-secondary-soft)}.timeline__item--accent{--tone:var(--color-primary-strong);--tone-soft:var(--color-accent-soft)}.timeline__item--purple{--tone:var(--color-purple);--tone-soft:var(--color-purple-soft)}.timeline__time{position:relative;z-index:1;display:grid;place-items:center;min-height:var(--tap);border-radius:var(--radius-pill);background:var(--tone);color:var(--color-on-dark);font-weight:var(--fw-black)}.timeline__card{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--tone-soft)}.timeline__title{font-size:var(--fs-500)}.timeline__text{color:var(--color-ink-soft);margin-top:var(--space-1)}.person-card{--tone:var(--color-primary-soft);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.person-card--secondary{--tone:var(--color-secondary-soft)}.person-card--accent{--tone:var(--color-accent-soft)}.person-card--purple{--tone:var(--color-purple-soft)}.person-card__photo{width:8.5rem;height:8.5rem;border-radius:var(--radius-blob);overflow:hidden;background:var(--tone);margin-bottom:var(--space-2)}.person-card__img{width:100%;height:100%;object-fit:cover}.person-card__initials{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-display);font-size:var(--fs-800);font-weight:var(--fw-black);color:var(--color-ink)}.person-card__name{font-size:var(--fs-500)}.person-card__title{color:var(--color-ink-soft)}.person-card__bio{margin-top:var(--space-2);font-size:var(--fs-300);color:var(--color-ink-soft)}.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-10)}.pagination__link{display:inline-grid;place-items:center;min-width:var(--tap);height:var(--tap);padding-inline:var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);text-decoration:none;font-weight:var(--fw-bold);box-shadow:var(--shadow-1)}.pagination__link:hover{background:var(--color-accent);color:var(--color-ink)}.pagination__link.is-current{background:var(--color-primary);color:var(--color-on-dark)}.pagination__gap{display:inline-grid;place-items:center;min-width:1.5rem}.empty-state{display:grid;justify-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-6);text-align:center;border:3px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state__icon{color:var(--color-primary)}.empty-state__text{font-size:var(--fs-500);color:var(--color-ink-soft)}.announcement-list{display:grid;gap:var(--space-4)}.announcement{padding:var(--space-5) var(--space-6);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-1);border-left:6px solid var(--color-secondary);scroll-margin-top:var(--space-8)}.announcement--pinned{border-left-color:var(--color-accent);background:var(--color-accent-soft)}.announcement__head{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.announcement__date{font-size:var(--fs-300);color:var(--color-ink-soft)}.announcement__title{font-size:var(--fs-500);margin-top:var(--space-2)}.announcement__body{margin-top:var(--space-2);color:var(--color-ink-soft)}.week-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-6)}.week-nav__title{font-size:var(--fs-500);text-align:center;flex:1 1 100%;order:-1}.menu-week{display:grid;gap:var(--space-4)}.menu-day{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-1);border-top:6px solid var(--color-secondary)}.menu-day--today{border-top-color:var(--color-accent);background:var(--color-accent-soft)}.menu-day__title{font-size:var(--fs-500);display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline}.menu-day__date{font-family:var(--font-body);font-size:var(--fs-300);color:var(--color-ink-soft);font-weight:var(--fw-regular)}.menu-day__meals{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.menu-day__meal dt{font-weight:var(--fw-bold);color:var(--color-secondary-strong);font-size:var(--fs-300)}.video-card{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-1)}.video-card__frame{position:relative;aspect-ratio:16 / 9;background:var(--color-ink)}.video-card__poster,.video-card__frame iframe,.video-card__video{display:block;width:100%;height:100%;border:0}.video-card__img{width:100%;height:100%;object-fit:cover}.video-card__play{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-on-dark)}.video-card__play .icon{width:4.5rem;height:4.5rem;padding:1.1rem;border-radius:50%;background:var(--color-primary);fill:currentColor;transition:transform var(--dur-fast) var(--ease)}.video-card__poster:hover .video-card__play .icon{transform:scale(1.12)}.video-card__body{padding:var(--space-5);display:grid;gap:var(--space-2)}.video-card__title{font-size:var(--fs-500)}.video-card__text{color:var(--color-ink-soft);font-size:var(--fs-300)}.contact-list{display:grid;gap:var(--space-3)}.contact-list__item{display:flex;gap:var(--space-3);align-items:flex-start}.contact-list__item .icon{margin-top:.2rem;color:var(--color-accent)}.contact-list--large .contact-list__item .icon{color:var(--color-primary)}.contact-list--large a{min-height:var(--tap);display:inline-flex;align-items:center}.article__meta{display:flex;align-items:center;gap:var(--space-2);color:var(--color-ink-soft);margin-bottom:var(--space-6)}.article__cover{margin-bottom:var(--space-8);border-radius:var(--radius-lg);overflow:hidden}.article__back{margin-top:var(--space-10)}.error-page{padding-block:var(--space-20);text-align:center}.error-page__inner{display:grid;justify-items:center;gap:var(--space-4)}.error-page__code{font-family:var(--font-display);font-weight:var(--fw-black);font-size:clamp(5rem, 20vw, 9rem);line-height:1;color:var(--color-primary)}.error-page__title{font-size:var(--fs-700)}.error-page__text{max-width:50ch;color:var(--color-ink-soft);font-size:var(--fs-500)}.error-page__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-4)}@media (min-width: 640px){.form__row{grid-template-columns:1fr 1fr}.menu-week{grid-template-columns:repeat(2, 1fr)}.week-nav__title{flex:1;order:0}.class-row{grid-template-columns:1fr 1.3fr;padding:var(--space-6)}.class-row:nth-child(even) .class-row__media{order:2}.mosaic__grid{grid-template-columns:repeat(4, minmax(0, 1fr));grid-auto-rows:clamp(8rem, 16vw, 12.5rem)}}@media (min-width: 900px){.hero{padding-block:var(--space-16) var(--space-20)}.hero__inner{grid-template-columns:1.05fr 1fr}.cta-band__inner{grid-template-columns:1.5fr 1fr;align-items:center;padding:var(--space-12)}.cta-band__actions{justify-content:flex-end}.media-split{grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);align-items:start}.menu-week{grid-template-columns:repeat(5, 1fr)}}@keyframes float{from{transform:translate(0, 0) rotate(0deg)}to{transform:translate(.75rem, -1rem) rotate(8deg)}}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes ken-burns{from{transform:scale(1)}to{transform:scale(1.06)}}.blob,.page-hero__shape{animation:float var(--float-duration) var(--ease) infinite alternate}.blob--b,.page-hero__shape--b{animation-duration:calc(var(--float-duration) * 1.3);animation-direction:alternate-reverse}.blob--c{animation-duration:calc(var(--float-duration) * .8)}.slider__slide{opacity:0;transition:opacity var(--dur-slide) var(--ease)}.slider__slide.is-active{opacity:1}.slider__slide.is-active .slider__img{animation:ken-burns var(--slide-interval) linear forwards}.slider.is-paused .slider__slide.is-active .slider__img{animation-play-state:paused}.ticker.is-running .ticker__track{animation:marquee var(--ticker-duration) linear infinite}.ticker.is-running:hover .ticker__track,.ticker.is-running:focus-within .ticker__track,.ticker.is-paused .ticker__track{animation-play-state:paused}.js .photo-strip__track{animation:marquee var(--strip-duration) linear infinite}.photo-strip:hover .photo-strip__track,.photo-strip:focus-within .photo-strip__track,.photo-strip.is-paused .photo-strip__track{animation-play-state:paused}@keyframes tile-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.mosaic.is-filtered .mosaic__item{animation:tile-in var(--dur-base) var(--ease) both}.js [data-reveal]{opacity:0;transform:translateY(1.5rem);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.js [data-reveal].is-visible{opacity:1;transform:none}.js [data-reveal-delay="1"]{transition-delay:100ms}.js [data-reveal-delay="2"]{transition-delay:200ms}.js [data-reveal-delay="3"]{transition-delay:300ms}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;transition-delay:0ms !important;scroll-behavior:auto !important}.blob,.page-hero__shape,.slider__img,.ticker__track,.photo-strip__track,.mosaic__item{animation:none !important}.js [data-reveal]{opacity:1 !important;transform:none !important}.ticker__viewport,.photo-strip{overflow-x:auto !important}.ticker__toggle,.photo-strip__toggle{display:none !important}}.page-home .site-footer{margin-top:var(--space-16)}.page-home .section--flush .section-title{margin-bottom:var(--space-4)}.home-split__main .card-grid{margin-top:0}@media (min-width: 900px){.hero__visual{padding:var(--space-6)}.home-split__side{position:sticky;top:var(--space-6)}}.calendar{padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.calendar__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.calendar__title{font-size:var(--fs-600);text-align:center}.calendar__grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:var(--space-1)}.calendar__weekday{text-align:center;font-size:var(--fs-300);font-weight:var(--fw-bold);color:var(--color-ink-soft);padding-block:var(--space-2)}.calendar__cell{aspect-ratio:1}.calendar__day{display:grid;place-items:center;width:100%;height:100%;min-height:2.25rem;border-radius:var(--radius-md);font-weight:var(--fw-bold);color:var(--color-ink);text-decoration:none}.calendar__cell--today .calendar__day{outline:var(--border-w) solid var(--color-secondary);outline-offset:-2px}.calendar__cell--has-event .calendar__day{background:var(--color-primary);color:var(--color-on-dark)}.calendar__cell--has-event .calendar__day:hover{background:var(--color-primary-strong);color:var(--color-on-dark)}.events-list__title{font-size:var(--fs-600);margin-bottom:var(--space-4)}.gallery-grid__item:nth-child(5n + 1) .gallery-tile{border-radius:var(--radius-lg) var(--radius-sm) var(--radius-lg) var(--radius-sm)}.gallery-grid__item:nth-child(5n + 3) .gallery-tile{border-radius:var(--radius-sm) var(--radius-lg) var(--radius-sm) var(--radius-lg)}.album-card:nth-child(3n + 1) .album-card__link{box-shadow:0 0 0 4px var(--color-accent)}.album-card:nth-child(3n + 2) .album-card__link{box-shadow:0 0 0 4px var(--color-secondary-soft)}.album-card:nth-child(3n) .album-card__link{box-shadow:0 0 0 4px var(--color-purple-soft)}.contact-form-wrap{padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);outline:none;scroll-margin-top:var(--space-6)}.contact-form-wrap__title{font-size:var(--fs-600);margin-bottom:var(--space-5)}.contact-form-wrap .alert{margin-bottom:var(--space-5)}.contact-info{position:relative;overflow:hidden;padding:var(--space-8) var(--space-6);border-radius:var(--radius-xl);background:var(--color-secondary-soft)}.contact-info__title{font-size:var(--fs-600);margin-bottom:var(--space-5)}.contact-info__shape{position:absolute;right:-3rem;bottom:-3rem;width:9rem;height:9rem;border-radius:var(--radius-blob);background:var(--color-accent);opacity:.5}@media (min-width: 900px){.contact-form-wrap{padding:var(--space-10)}.contact-info{position:sticky;top:var(--space-6)}}
