:root{--cream:#f3ede1;--surface:#f6efe3;--field:#fbf6ec;--ink:#2b2722;--accent:#b14e27;--accent-on-dark:#dd7440;--cream-hi:#fdf6ef;--muted:#6e6456;--muted-strong:#4a443b;--muted-on-dark:#a89f90;--sage:#5e6e54;--sage-hi:#e7ebe1;--line:#2b272224;--line-on-dark:#f3ede129;--sp-1:4px;--sp-2:8px;--sp-3:16px;--sp-4:24px;--sp-5:32px;--sp-6:48px;--sp-7:64px;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Mukta",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--dur:.22s;--dur-slow:.4s;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-panel:cubic-bezier(.45,.05,.2,1);--z-nav:70;--z-menu:90;--z-modal:120;--gutter:clamp(20px,5vw,60px);--section-y:clamp(64px,11vh,140px);--shell:1240px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0;font-size:16px;line-height:1.55}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--cream-hi)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}:where(a,button,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.on-dark :where(a,button):focus-visible{outline-color:var(--cream-hi)}.hero :where(a,button):focus-visible{outline-color:var(--cream-hi)}.skip-link{position:absolute;left:var(--sp-3);z-index:200;background:var(--ink);color:var(--cream-hi);text-decoration:none;transition:top var(--dur)var(--ease-out);border-radius:2px;padding:12px 20px;font-size:14px;font-weight:700;top:-100px}.skip-link:focus{top:var(--sp-3)}section[id],main[id]{scroll-margin-top:88px}.eyebrow{display:inline-block;margin:0 0 var(--sp-3);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:12.5px;font-weight:700}.on-dark .eyebrow{color:var(--accent-on-dark)}.display{font-family:var(--serif);letter-spacing:-.01em;text-transform:uppercase;margin:0;font-weight:700;line-height:.88}.accent{color:var(--accent)}.on-dark .accent{color:var(--accent-on-dark)}.btn{display:inline-flex;font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:background var(--dur)var(--ease-out),color var(--dur)var(--ease-out),border-color var(--dur)var(--ease-out);border:1.5px solid #0000;border-radius:2px;justify-content:center;align-items: center;min-height:44px;padding:12px 28px;font-size:14px;font-weight:700}.btn--solid{background:var(--accent);color:var(--cream-hi)}.btn--solid:hover{background:var(--ink)}.btn--ghost{color:var(--cream-hi);border-color:var(--cream-hi);background:0 0}.btn--ghost:hover{background:var(--cream-hi);color:var(--ink)}.btn--ink{background:var(--ink);color:var(--surface)}.btn--ink:hover{background:var(--accent)}.btn--outline{color:var(--ink);border-color:var(--ink);background:0 0}.btn--outline:hover{background:var(--ink);color:var(--surface)}.btn--lg{letter-spacing:.08em;min-height:60px;padding:18px clamp(32px,3.4vw,52px);font-size:clamp(15px,1.1vw,17px)}.btn[disabled]{opacity:.45;cursor:not-allowed}.nav{position:fixed;z-index:var(--z-nav);display:flex;justify-content:space-between;align-items: center;gap:var(--sp-3);padding:12px var(--gutter);color:var(--cream-hi);transition:background var(--dur-slow)var(--ease-out),color var(--dur-slow)var(--ease-out);background:0 0;inset:0 0 auto}.nav.is-scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);background:#f3ede1f0}.nav.is-menu-open{color:var(--ink)}.nav__brand{position:relative;z-index:100;font-family:var(--serif);letter-spacing:.02em;text-transform:uppercase;color:inherit;text-decoration:none;padding:8px 0;font-size:27px;font-weight:700}.nav__brand span{color:var(--accent-on-dark)}.nav.is-scrolled .nav__brand span,.nav.is-menu-open .nav__brand span{color:var(--accent)}.nav__toggle{position:relative;z-index:100;display:inline-flex;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items: center;width:44px;height:44px;margin-right:-10px}.nav__toggle svg{width:24px;height:24px}.nav__toggle .icon-close,.nav__toggle[aria-expanded=true] .icon-open{display:none}.nav__toggle[aria-expanded=true] .icon-close{display:block}.nav__menu{position:fixed;z-index:var(--z-menu);display:flex;justify-content:center;align-items: flex-start;gap:var(--sp-2);padding:var(--gutter);background:var(--cream);color:var(--ink);visibility:hidden;transition:transform var(--dur-slow)var(--ease-panel),visibility var(--dur-slow);flex-direction:column;inset:0;transform:translateY(-100%)}.nav__menu.is-open{visibility:visible;transform:translateY(0)}.nav__link{display:flex;font-family:var(--serif);letter-spacing:.01em;text-transform:uppercase;color:inherit;text-decoration:none;transition:color var(--dur)var(--ease-out);align-items: center;min-height:48px;font-size:40px;font-weight:700}.nav__link:hover{color:var(--accent)}.nav__actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap}.nav__login{color:inherit;background:0 0;border-color:currentColor}.nav__login:hover{background:var(--ink);color:var(--cream-hi);border-color:var(--ink)}@media (min-width:900px){.nav{padding:16px var(--gutter)}.nav__toggle{display:none}.nav__menu{position:static;color:inherit;visibility:visible;background:0 0;flex-direction:row;align-items: center;gap:clamp(12px,2.4vw,32px);padding:0;transition:none;transform:none}.nav__link{font-family:var(--sans);letter-spacing:.12em;min-height:44px;padding:0 2px;font-size:13px;font-weight:700}.nav.is-scrolled .nav__link:hover{color:var(--accent)}.nav:not(.is-scrolled) .nav__link:hover{color:var(--accent-on-dark)}.nav__actions{gap:clamp(12px,2.4vw,32px);margin-top:0}.nav__actions .btn{letter-spacing:.12em;min-height:40px;padding:9px 20px;font-size:13px}.nav:not(.is-scrolled) .nav__login:hover{background:var(--cream-hi);color:var(--ink);border-color:var(--cream-hi)}}.hero{position:relative;display:flex;overflow:hidden;align-items: flex-end;min-height:100svh}.hero__img{position:absolute;object-fit:cover;width:100%;height:100%;inset:0}.hero__scrim{position:absolute;pointer-events:none;background:linear-gradient(178deg,#1a120a85 0%,#1a120a38 36%,#1a120ab8 100%);inset:0}.hero__inner{position:relative;z-index:2;padding:0 var(--gutter)clamp(48px,8vh,90px);width:100%}.hero__tag{display:inline-block;margin-bottom:var(--sp-4);background:var(--accent);color:var(--cream-hi);letter-spacing:.16em;text-transform:uppercase;border-radius:2px;padding:8px 16px;font-size:13px;font-weight:700}.hero__title{color:#f8f2e7;font-size:clamp(60px,13.5vw,188px);line-height:.84}.hero__title .accent{color:var(--accent-on-dark)}.hero__foot{display:flex;justify-content:space-between;align-items: flex-end;gap:var(--sp-4);flex-wrap:wrap;margin-top:30px}.hero__lede{color:#efe6d8;max-width:460px;margin:0;font-size:clamp(16px,1.5vw,19px);line-height:1.55}.hero__cta{display:flex;flex-wrap:wrap;gap:12px}.hero__scroll{position:absolute;z-index:2;background:linear-gradient(var(--cream-hi),transparent);animation:bob 2.4s ease-in-out infinite;width:1px;height:34px;bottom:22px;left:50%;transform:translate(-50%)}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,9px)}}.marquee{overflow:hidden;background:var(--accent);padding:18px 0}.marquee__track{display:flex;animation:marquee 26s linear infinite;will-change:transform;width:max-content}.marquee__track span{font-family:var(--serif);color:var(--cream-hi);white-space:nowrap;padding-right:40px;font-size:clamp(28px,4vw,52px);font-style:italic;font-weight:600}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:var(--section-y)var(--gutter)}.shell{max-width:var(--shell);margin:0 auto}.on-dark{background:var(--ink);color:var(--surface)}.section__head{display:flex;justify-content:space-between;align-items: flex-end;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:clamp(40px,6vh,68px)}.section__note{color:var(--muted);max-width:260px;margin:0;font-size:15px}.on-dark .section__note{color:var(--muted-on-dark)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));background:var(--line);border:1px solid var(--line);gap:1px}.on-dark .grid{background:var(--line-on-dark);border-color:var(--line-on-dark)}.card{display:flex;background:var(--cream);transition:background var(--dur)var(--ease-out);flex-direction:column;gap:9px;min-height:188px;padding:clamp(26px,2.8vw,36px)}.card:hover{background:var(--surface)}.on-dark .card{background:var(--ink);gap:12px;min-height:248px;padding:clamp(28px,3.2vw,40px)}.on-dark .card:hover{background:#332e28}.card__num{font-family:var(--serif);color:var(--accent);font-size:32px;font-weight:700;line-height:1}.on-dark .card__num{color:var(--accent-on-dark);font-size:46px}.card__title{font-family:var(--serif);text-transform:uppercase;color:var(--ink);margin:6px 0 0;font-size:27px;font-weight:700;line-height:1.05}.on-dark .card__title{color:var(--surface);margin:0;font-size:30px}.card p{color:var(--muted);text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.on-dark .card p{color:var(--muted-on-dark);font-size:15.5px;line-height:1.6}.offerings__head{align-items: flex-end}.offerings__mark{object-fit:contain;width:clamp(120px,14vw,180px);height:clamp(120px,14vw,180px)}.story__intro{display:flex;flex-wrap:wrap;align-items: flex-start;gap:clamp(32px,5vw,72px);margin-bottom:clamp(44px,7vh,80px)}.story__intro>*{flex:380px;min-width:min(300px,100%)}.story__body{color:#c9c0b1;text-wrap:pretty;margin:0;font-size:18px;line-height:1.72}.panels{display:flex;flex-wrap:wrap;gap:14px}.panel{display:flex;overflow:hidden;text-align:left;border:none;border-radius:2px;flex-direction:column;flex:320px;justify-content:flex-end;gap:18px;min-height:clamp(300px,44vh,460px);padding:clamp(24px,3.2vw,52px)}.panel--mission{background:var(--accent);color:var(--cream-hi)}.panel--vision{background:var(--sage);color:var(--surface)}.panel__num{font-family:var(--serif);text-transform:uppercase;opacity:.5;font-size:clamp(32px,3vw,44px);font-weight:700;line-height:1}.panel__label{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:12.5px;font-weight:700}.panel--mission .panel__label{color:var(--cream-hi)}.panel--vision .panel__label{color:var(--sage-hi)}.panel__text{display:block;font-family:var(--serif);letter-spacing:-.01em;text-wrap:pretty;width:min(440px,78vw);margin:0;font-size:clamp(26px,3.2vw,50px);font-weight:600;line-height:1.04}.teacher{display:flex;max-width:var(--shell);flex-wrap:wrap;align-items: flex-start;gap:clamp(32px,5vw,76px);margin:0 auto}.teacher__figure{flex:340px;min-width:min(290px,100%);margin:0}.teacher__figure img{object-fit:cover;border-radius:2px;width:100%;height:clamp(480px,68vh,680px)}.teacher__body{flex:440px;min-width:min(300px,100%)}.teacher__title{margin:0 0 26px;font-size:clamp(38px,5.4vw,82px);line-height:.92}.badges{display:flex;list-style:none;flex-wrap:wrap;gap:10px;margin-bottom:28px;padding:0}.badge{letter-spacing:.04em;text-transform:uppercase;color:var(--cream-hi);border-radius:2px;padding:10px 18px;font-size:13px;font-weight:700}.badge--accent{background:var(--accent)}.badge--sage{background:var(--sage)}.teacher__body p{color:var(--muted-strong);text-wrap:pretty;max-width:60ch;margin:0 0 18px;font-size:18px;line-height:1.7}.teacher__body p:last-child{margin-bottom:0}.page{padding-top:72px}.gallery-cta{text-align:left;border-top:1px solid var(--line)}.gallery-cta__actions{display:flex;margin-top:var(--sp-5);flex-wrap:wrap;gap:12px}.gallery-section{padding:var(--section-y)0}.gallery-section .section__head{padding:0 var(--gutter);max-width:1400px;margin:0 auto clamp(32px,5vh,52px)}.gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:clamp(220px,56vw,340px);list-style:none;gap:10px;margin:0;padding:0 10px}.gallery img{object-fit:cover;border-radius:2px;width:100%;height:100%}@media (min-width:560px){.gallery:has(>:nth-child(2)){grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(180px,34vw,300px)}}@media (min-width:900px){.gallery:has(>:nth-child(3)){grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-auto-rows:clamp(220px,30vh,340px)}.gallery:has(>:nth-child(12)){grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(200px,27vh,360px)}.gallery:has(>:nth-child(12))>:first-child{grid-column:span 8;grid-row:span 2}.gallery:has(>:nth-child(12))>:nth-child(2){grid-column:span 4}.gallery:has(>:nth-child(12))>:nth-child(3){grid-column:span 4}.gallery:has(>:nth-child(12))>:nth-child(7){grid-column:span 4}.gallery:has(>:nth-child(12))>:nth-child(8){grid-column:span 4}.gallery:has(>:nth-child(12))>:nth-child(9){grid-column:span 4}.gallery:has(>:nth-child(12))>:nth-child(10){grid-column:span 4}.gallery:has(>:nth-child(12))>:nth-child(4){grid-column:span 5}.gallery:has(>:nth-child(12))>:nth-child(5){grid-column:span 7}.gallery:has(>:nth-child(12))>:nth-child(6){grid-column:span 4;grid-row:span 2}.gallery:has(>:nth-child(12))>:nth-child(11){grid-column:span 6}.gallery:has(>:nth-child(12))>:nth-child(12){grid-column:span 6}}.contact{background:var(--accent);color:var(--surface)}.contact .eyebrow{color:var(--cream-hi);margin-bottom:clamp(20px,3vh,34px)}.contact__title{color:#fbf5eb;margin:0 0 clamp(36px,5vh,56px);font-size:clamp(52px,10vw,170px);line-height:.84}.enquiry{background:var(--surface);border-radius:2px;max-width:760px;margin-bottom:clamp(40px,6vh,64px);padding:clamp(26px,3.4vw,44px)}.enquiry h3{font-family:var(--serif);letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);margin:0 0 6px;font-size:clamp(26px,3vw,38px);font-weight:700}.enquiry__lede{margin:0 0 var(--sp-4);color:var(--muted);font-size:15px}.field-row{display:flex;gap:var(--sp-3);flex-wrap:wrap}.field{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-direction:column;flex:200px}.field>span:first-of-type{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:700}.field .req{color:var(--accent)}.field input,.field textarea{background:var(--field);color:var(--ink);font-family:var(--sans);outline:none;transition:border-color var(--dur)var(--ease-out);border:1px solid #2b272233;border-radius:2px;min-height:48px;padding:13px 15px;font-size:16px}.field textarea{resize:vertical}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#9b2c1c}.field__error{letter-spacing:.02em;text-transform:none;color:#9b2c1c;min-height:0;font-size:12.5px;font-weight:600}.field__error:empty{display:none}.form__status{margin:var(--sp-3)0 0;color:var(--muted-strong);font-size:14px;font-weight:600}.form__status:empty{display:none}.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));border-top:1px solid #f6efe34d}.detail{display:block;color:inherit;text-decoration:none;transition:opacity var(--dur)var(--ease-out);border-bottom:1px solid #f6efe34d;padding:26px 0}a.detail:hover{opacity:.75}.detail__label{display:block;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-hi);margin-bottom:12px;font-size:11.5px;font-weight:700}.detail__value{display:block;font-family:var(--serif);word-break:break-word;font-size:clamp(22px,2.2vw,30px);font-weight:600}.detail__value--sm{font-size:clamp(18px,1.8vw,26px)}.detail--social{display:flex;align-items: center;gap:14px}.detail--social .ring{display:inline-flex;border:1.5px solid var(--surface);border-radius:50%;flex:none;justify-content:center;align-items: center;width:44px;height:44px}.colophon{display:flex;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-hi);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:clamp(44px,6vh,72px);font-size:12px;font-weight:700}.modal:not([open]){display:none}.modal[open]{display:flex}.modal{position:fixed;z-index:var(--z-modal);padding:var(--sp-4);overflow:visible;background:0 0;border:none;justify-content:center;align-items: center;width:100%;max-width:none;height:100%;max-height:none;inset:0}.modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1a120a9e}.modal__card{position:relative;overflow-y:auto;background:var(--surface);animation:modal-in var(--dur-slow)var(--ease-out);border-radius:3px;width:100%;max-width:440px;max-height:92vh;padding:clamp(30px,4vw,46px);box-shadow:0 30px 80px #1a120a66}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(8px)}}.modal__close{position:absolute;display:flex;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items: center;width:44px;height:44px;top:10px;right:10px}.modal__close:hover{color:var(--ink)}.modal__title{margin:0 0 6px;font-size:clamp(34px,4.6vw,46px);line-height:.95}.modal__sub{color:var(--muted);margin:0 0 26px;font-size:14.5px}.btn--google{color:var(--ink);letter-spacing:0;text-transform:none;background:#fff;border-color:#2b272238;gap:12px;width:100%;font-size:14.5px;font-weight:600}.btn--google:hover{border-color:var(--accent)}.divider{display:flex;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items: center;gap:14px;margin:22px 0;font-size:11px;font-weight:700}.divider:before,.divider:after{content:"";background:#2b272229;flex:1;height:1px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--field);border:1px solid #2b272229;border-radius:2px;gap:4px;margin-bottom:22px;padding:4px}.segmented__btn{color:var(--muted);font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:background var(--dur)var(--ease-out),color var(--dur)var(--ease-out);background:0 0;border:none;border-radius:2px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:700}.segmented__btn:hover{color:var(--ink)}.segmented__btn.is-active{background:var(--accent);color:var(--cream-hi)}.field__hint{letter-spacing:0;text-transform:none;color:var(--muted);font-size:12.5px;font-weight:400}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form .field{flex:none;margin-bottom:0}.auth-form .btn{margin-top:6px}.link-btn{font-family:var(--sans);color:var(--accent);cursor:pointer;background:0 0;border:none;align-self: flex-end;padding:8px 0;font-size:12.5px;font-weight:600}.link-btn:hover{text-decoration:underline}.switch{text-align:center;color:var(--muted);margin:22px 0 0;font-size:14px}.switch .link-btn{align-self:auto;padding:0 0 0 4px;font-size:14px;font-weight:700}[hidden]{display:none!important}.reveal{opacity:0;transform:translateY(24px)}.reveal.is-in{opacity:1;transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:calc(var(--i,0)*45ms);transform:none}.reveal--head{opacity:0;transform:translateY(10px)}.reveal--head.is-in{opacity:1;animation:head-settle .82s var(--ease-out)both;animation-delay:calc(var(--i,0)*80ms);transform:none}@keyframes head-settle{0%{opacity:0;transform:translateY(10px)}55%{opacity:1;transform:translateY(-4px)}78%{transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (scripting:none){.reveal{opacity:1;transform:none}.reveal--head,.reveal--head.is-in{animation:none}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.reveal--head,.reveal--head.is-in,.marquee__track,.hero__scroll{animation:none}}
