:root{--cream: #FAF7F0;--cream-2: #FFFDF8;--taupe: #D8C9B6;--taupe-deep: #B89F84;--ink: #241A11;--ink-soft: #6E6150;--gold: #C49A55;--gold-deep: #9D7D42;--gold-soft: #E7CB9C;--line: rgba(42, 31, 20, .09);--grad-warm: linear-gradient(135deg, #B89F84 0%, #C49A55 100%);--grad-ink: linear-gradient(160deg, #2E2113 0%, #1B140D 100%);--grad-cream: linear-gradient(180deg, #FFFDF8 0%, #F6EEE0 100%);--grad-gold: linear-gradient(120deg, var(--gold) 0%, var(--gold-deep) 100%);--font-display: "Fraunces", serif;--font-body: "Plus Jakarta Sans", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--fs-xs: .75rem;--fs-sm: .9rem;--fs-md: 1.05rem;--fs-lg: 1.35rem;--fs-xl: clamp(1.9rem, 1.4vw + 1.5rem, 2.4rem);--fs-xxl: clamp(2.4rem, 3.2vw + 1.6rem, 4.2rem);--shadow-sm: 0 2px 10px rgba(36, 26, 17, .05);--shadow-md: 0 10px 30px rgba(36, 26, 17, .08);--shadow-lg: 0 24px 60px rgba(36, 26, 17, .14);--shadow-gold: 0 12px 28px rgba(196, 154, 85, .25);--radius-sm: 10px;--radius: 20px;--radius-lg: 28px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:clamp(15px,.6vw + 13px,17px)}html,body{overflow-x:hidden}body{background:var(--cream-2);min-height:100vh;color:var(--ink);font-family:var(--font-body);font-weight:400;line-height:1.7;letter-spacing:.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}a{color:inherit}img{max-width:100%;display:block}.display{font-family:var(--font-display);font-weight:500;font-optical-sizing:auto}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em}::selection{background:var(--gold);color:var(--cream-2)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.photo{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;color:#faf5ebe6;font-size:var(--fs-xs);letter-spacing:.3px;padding-bottom:var(--space-5);background:var(--taupe)}.photo-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.photo.overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#2a1f1459}.photo span.cap{position:relative;z-index:2}header.top{padding:var(--space-6) 6% 0;text-align:center;position:relative}.brand-mark-link{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-4);text-decoration:none}.brand-name{font-family:Cormorant Garamond,serif;font-size:var(--fs-xl);font-weight:500;letter-spacing:.5px;color:var(--cream-2);display:block}.brand-sub{color:#fbf7efd9;font-size:var(--fs-sm);letter-spacing:.3px;margin-top:var(--space-1);display:block;font-weight:400}.brand-badge{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--cream-2);box-shadow:var(--shadow-sm);padding:0}.brand-logo-img{width:100%;height:100%;object-fit:contain;display:block}nav.main{margin-top:var(--space-5);margin-right:var(--space-4);display:flex;justify-content:center;align-items:center;gap:var(--space-6);list-style:none;flex-wrap:wrap}nav.main a{position:relative;display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;font-size:var(--fs-sm);font-weight:500;letter-spacing:.2px;transition:color .2s ease,opacity .2s ease;opacity:.8;line-height:1.2;padding-bottom:3px}nav.main a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;border-radius:2px;background:var(--gold);transition:right .25s ease}nav.main a:hover,nav.main a.active{color:var(--gold-deep);opacity:1}nav.main a:hover:after,nav.main a.active:after{right:0}nav.main .nav-cta:after,.drawer-links .nav-cta:after{display:none}nav.main .nav-cta,.drawer-links .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:999px;background:var(--grad-gold);color:var(--cream-2);text-decoration:none;font-size:var(--fs-sm);font-weight:600;letter-spacing:.2px;opacity:1;transition:box-shadow .25s ease,transform .2s ease,background .25s ease;box-shadow:var(--shadow-gold);line-height:1}nav.main .nav-cta:hover,.drawer-links .nav-cta:hover,nav.main .nav-cta.active,.drawer-links .nav-cta.active{color:var(--cream-2);background:var(--gold-deep);box-shadow:var(--shadow-lg);transform:translateY(-2px)}nav.main a.nav-user{display:inline-flex;align-items:center;gap:var(--space-2);letter-spacing:.2px}.nav-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid rgba(251,247,239,.5)}.nav-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--cream-2);font-family:var(--font-body);font-size:.68rem;border-radius:50%;width:24px;height:24px}.nav-avatar-icon{display:inline-flex;align-items:center;justify-content:center;background:#fbf7ef29;border-radius:50%;width:24px;height:24px;color:#fbf7efd9}.nav-avatar-icon svg{width:12px;height:12px}header.top.on-light .brand-name{color:var(--ink)}header.top.on-light .brand-sub{color:var(--ink-soft)}header.top.on-light .brand-badge{background:var(--cream-2);box-shadow:var(--shadow-sm)}header.top.on-light nav.main a{color:var(--ink-soft)}header.top.on-light nav.main a:hover,header.top.on-light nav.main a.active{color:var(--gold)}header.top.on-light .nav-toggle span{background:var(--ink)}header.top.on-light nav.main .nav-avatar{border-color:#2a1f1426}header.top.on-light nav.main .nav-avatar-icon{background:#2a1f140f;color:var(--ink)}.nav-toggle{position:absolute;top:var(--space-5);right:6%;z-index:3;display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0;border:none;background:none;cursor:pointer}.nav-toggle span{display:block;width:24px;height:1.5px;margin:0 auto;background:var(--cream-2);transition:background .2s ease}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#2a1f1473;opacity:0;pointer-events:none;transition:opacity .25s ease}.nav-scrim.is-open{opacity:1;pointer-events:auto}.nav-drawer{position:fixed;top:0;right:0;z-index:41;width:min(84vw,320px);height:100dvh;display:flex;flex-direction:column;padding:var(--space-5) var(--space-6) var(--space-7);background:var(--ink);color:var(--cream-2);box-shadow:var(--shadow-lg);transform:translate(100%);visibility:hidden;transition:transform .28s ease,visibility .28s;overflow-y:auto;text-align:left}.nav-drawer.is-open{transform:translate(0);visibility:visible}.drawer-close{align-self:flex-end;position:relative;width:36px;height:36px;padding:0;border:none;background:none;cursor:pointer;margin-bottom:var(--space-5)}.drawer-close span{position:absolute;left:7px;top:17px;width:22px;height:1.5px;background:#fbf7efd9}.drawer-close span:nth-child(1){transform:rotate(45deg)}.drawer-close span:nth-child(2){transform:rotate(-45deg)}.drawer-user{display:flex;align-items:center;gap:var(--space-5);text-decoration:none;padding-bottom:var(--space-5);border-bottom:1px solid rgba(251,247,239,.12)}.drawer-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid rgba(251,247,239,.3)}.drawer-avatar.nav-avatar-fallback{font-size:1.15rem}.drawer-avatar svg{width:20px;height:20px}.drawer-user-text{display:flex;flex-direction:column}.drawer-user-name{color:var(--cream-2);font-size:var(--fs-md);letter-spacing:.2px}.drawer-user-sub{color:#fbf7ef99;font-size:var(--fs-xs);margin-top:4px}.drawer-links{display:flex;flex-direction:column}.drawer-links a{color:#fbf7efd9;text-decoration:none;font-size:var(--fs-sm);letter-spacing:.2px;padding:var(--space-5) 0;border-bottom:1px solid rgba(251,247,239,.08);transition:color .2s ease}.drawer-links a:hover,.drawer-links a.active{color:var(--gold)}.drawer-links .nav-cta{margin-top:var(--space-4);width:fit-content}@media (min-width: 901px){.nav-scrim,.nav-drawer{display:none}header.top{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:70;background:#fffdf8d9;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-2) var(--space-3)}.brand-mark-link{display:flex;flex-direction:row;align-items:center;gap:var(--space-5);text-decoration:none}.brand-name{font-size:var(--fs-xl);letter-spacing:.3px;color:var(--ink)}.brand-sub{display:block;color:var(--ink-soft)}nav.main{margin-top:0;justify-content:flex-end;gap:var(--space-6)}}@media (prefers-reduced-motion: reduce){.nav-drawer,.nav-scrim{transition:none}}.hero-band{background:var(--grad-warm);padding-bottom:var(--space-8)}.hero-carousel{padding:var(--space-7) 6% 0;text-align:center}.hero-frame{position:relative;max-width:1080px;margin:0 auto var(--space-7);aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:#2a1f1414;box-shadow:var(--shadow-lg)}.hero-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(0deg,#140e088c,#140e080d 45%);pointer-events:none}.hero-frame-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}.hero-frame-img.is-active{opacity:1}.hero-copy{animation:heroFade .6s ease both}@keyframes heroFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hero-copy h1{font-family:var(--font-display);font-weight:600;font-style:italic;color:var(--cream-2);font-size:var(--fs-xl);line-height:1.08;letter-spacing:-.02em;margin-bottom:var(--space-5)}.hero-copy p{color:#fbf7eff2;max-width:520px;margin:0 auto var(--space-6);font-size:var(--fs-md);line-height:1.65}.hero-ctas{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.dots{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-6)}.dots button{width:8px;height:8px;padding:0;border:none;border-radius:50%;cursor:pointer;background:#fbf7ef66;transition:background .2s ease,transform .2s ease}.dots button.is-active{background:var(--cream-2);transform:scale(1.3)}.pill{display:inline-block;padding:13px 30px;border-radius:999px;border:none;background:var(--ink);color:var(--cream-2);text-decoration:none;font-size:var(--fs-sm);letter-spacing:.2px;transition:background .25s ease,color .25s ease,transform .2s ease,box-shadow .25s ease;cursor:pointer;min-width:260px;text-align:center;font-weight:600;box-shadow:var(--shadow-sm)}.pill:hover{background:var(--gold-deep);color:var(--cream-2);transform:translateY(-2px);box-shadow:var(--shadow-md)}.pill.solid{background:var(--grad-gold);border:none;color:var(--cream-2);box-shadow:var(--shadow-gold)}.pill.solid:hover{background:var(--gold-deep);box-shadow:var(--shadow-gold)}.pill.dark{border:1.5px solid var(--ink);background:transparent;color:var(--ink);box-shadow:none}.pill.dark:hover{background:var(--ink);color:var(--cream-2)}.marquee{background:var(--ink);overflow:hidden;padding:var(--space-4) 0}.marquee-track{display:flex;align-items:center;gap:var(--space-7);width:max-content;animation:marquee 38s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{display:inline-flex;align-items:center;gap:var(--space-5);white-space:nowrap;color:var(--cream-2);font-size:var(--fs-sm);letter-spacing:.2px;font-weight:400}.marquee-dot{width:6px;height:6px;flex-shrink:0;background:var(--gold);border-radius:999px}@media (prefers-reduced-motion: reduce){.marquee-track{animation:none}}.statement{text-align:center;padding:var(--space-8) var(--space-4);max-width:760px;margin:0 auto}.statement h2{font-family:var(--font-display);font-weight:600;font-style:italic;font-size:var(--fs-xl);letter-spacing:-.02em;margin-bottom:var(--space-6);line-height:1.15}.statement p{color:var(--ink-soft);font-size:var(--fs-md);line-height:1.65;max-width:600px;margin:0 auto var(--space-5)}.statement .pill.dark{margin-top:var(--space-5)}.badges{background:var(--cream-2);padding:var(--space-8) var(--space-4)}.badges-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7)}.badge{text-align:center;padding:var(--space-6) var(--space-4);border-radius:var(--radius);background:var(--cream);transition:transform .25s ease,box-shadow .25s ease}.badge:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.badge-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-5);border-radius:50%;background:var(--grad-gold);color:var(--cream-2);box-shadow:var(--shadow-gold)}.badge-icon svg{display:block;margin:0 auto}.badge h3{font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:.2px;margin-bottom:var(--space-3);font-weight:600}.badge p{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.6}.break-photo{height:64vh;min-height:380px}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:var(--space-4);font-weight:700}.eyebrow:before{content:"";display:inline-block;width:22px;height:1.5px;background:var(--gold)}.segment{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center;max-width:1180px;margin:0 auto;padding:var(--space-8) var(--space-4)}.segment.is-flipped .segment-media{order:2}.segment-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);transition:transform .4s ease}.segment-media:hover{transform:translateY(-4px)}.segment-media .photo{height:340px;padding-bottom:0}.segment-media .photo-img{transition:transform .6s ease}.segment-media:hover .photo-img{transform:scale(1.05)}.segment-features{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);padding:var(--space-5) var(--space-5)}.segment-features li{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;font-size:var(--fs-xs);letter-spacing:.2px;line-height:1.4;font-weight:400}.segment-features svg{width:24px;height:24px}.segment-features.tone-deep{background:var(--taupe-deep);color:var(--cream-2)}.segment-features.tone-ink{background:var(--ink);color:var(--cream-2)}.segment-features.tone-taupe{background:var(--taupe);color:var(--ink)}.segment-copy h2{font-family:var(--font-display);font-weight:600;font-style:italic;font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.01em;margin-bottom:var(--space-5)}.segment-copy>p{color:var(--ink-soft);line-height:1.65;margin-bottom:var(--space-6)}.pill.arrow{display:inline-flex;align-items:center;gap:var(--space-3)}.pill.arrow svg{width:16px;height:16px}.events-wrap{padding:var(--space-8) var(--space-4);max-width:1100px;margin:0 auto}.events-head{text-align:center;margin-bottom:var(--space-8)}.events-head h2{font-family:var(--font-display);font-weight:600;font-style:italic;font-size:var(--fs-xl);margin-top:var(--space-4)}.events-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.event-card{text-align:left;background:var(--cream-2);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line);transition:transform .3s ease,box-shadow .3s ease}.event-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.event-card .photo{height:220px;margin-bottom:0;overflow:hidden}.event-card .photo-img{transition:transform .5s ease}.event-card:hover .photo-img{transform:scale(1.06)}.event-card .tag{font-size:var(--fs-xs);letter-spacing:.2px;color:var(--gold);display:block;padding:var(--space-5) var(--space-5) 0;margin-bottom:0}.event-card h3{font-family:var(--font-display);font-size:var(--fs-lg);margin:var(--space-3) var(--space-5);font-weight:600}.event-card p{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.6;margin:0 var(--space-5) var(--space-3)}.event-card .meta{font-size:var(--fs-sm);color:var(--ink-soft);margin:var(--space-5)}.teachers-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);max-width:1100px;margin:0 auto;padding:0 var(--space-4) var(--space-8)}.teacher-card{text-align:center;background:var(--cream-2);padding:var(--space-6) var(--space-5);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}.teacher-card.teacher-card-link{display:block;text-decoration:none;color:inherit}.teacher-card.teacher-card-link:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.teacher-card.teacher-card-link:hover h3{color:var(--gold)}.teacher-card .photo{width:180px;height:180px;border-radius:50%;margin:0 auto var(--space-5);box-shadow:var(--shadow-md);border:4px solid var(--cream)}.teacher-card .role{font-size:var(--fs-xs);letter-spacing:.2px;color:var(--gold);margin-bottom:var(--space-3)}.teacher-card h3{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;margin-bottom:var(--space-3);transition:color .2s ease}.teacher-card p{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.65}.gallery-wrap{padding:0 0 var(--space-8)}.gallery-head{text-align:center;margin-bottom:var(--space-6)}.gallery-head h2{font-family:var(--font-display);font-weight:600;font-style:italic;font-size:var(--fs-xl);margin-top:var(--space-4)}.gallery-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-4);padding:0 6%;height:340px}.gallery-row .photo{height:100%;border-radius:var(--radius);overflow:hidden;transition:transform .4s ease}.gallery-row .photo:hover{transform:scale(.98)}.gallery-row .photo .photo-img{transition:transform .6s ease}.gallery-row .photo:hover .photo-img{transform:scale(1.08)}.testimonials{background:var(--grad-ink);padding:var(--space-8) var(--space-4);text-align:center}.testimonials .eyebrow{color:var(--gold-soft);justify-content:center;display:flex}.testimonials .eyebrow:before{background:var(--gold-soft)}.testimonials h2{font-family:var(--font-display);color:var(--cream-2);font-size:var(--fs-xl);margin-bottom:var(--space-8);font-weight:600;font-style:italic}.quote-carousel{max-width:760px;margin:0 auto}.quote-mark{display:block;font-family:var(--font-display);font-size:4rem;line-height:.7;color:#fbf7ef66;margin-bottom:var(--space-6)}.quote-carousel blockquote{animation:heroFade .5s ease both}.quote-carousel p{font-family:var(--font-display);font-style:italic;color:var(--cream-2);font-size:var(--fs-lg);line-height:1.65;margin-bottom:var(--space-5);font-weight:400}.quote-carousel cite{font-style:normal;color:#fbf7efcc;font-size:var(--fs-sm);letter-spacing:.2px}.review-author{align-items:center;display:inline-flex;gap:.35rem}.review-author img{border-radius:50%;height:1.5rem;width:1.5rem}.review-author a,.google-reviews-link{color:inherit}.google-reviews-link{display:inline-block;font-size:var(--fs-sm);margin-top:var(--space-5)}.cta-band{background:var(--grad-ink);text-align:center;padding:var(--space-9) var(--space-4)}.cta-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto var(--space-6);border-radius:50%;background:var(--grad-gold);color:var(--cream-2);box-shadow:var(--shadow-gold)}.cta-icon svg{display:block;margin:0 auto}.cta-band h2{font-family:var(--font-display);font-weight:600;font-style:italic;color:var(--cream-2);font-size:var(--fs-xl);margin-bottom:var(--space-5)}.cta-band p{color:#fbf7efd9;max-width:460px;margin:0 auto var(--space-6);line-height:1.65}footer.site{padding:var(--space-7) var(--space-4) 0;background:var(--cream-2);position:relative}footer.site:before{content:"";display:block;height:3px;max-width:1180px;margin:0 auto;border-radius:3px;background:var(--grad-gold);opacity:.6}.footer-cols{display:grid;grid-template-columns:1.5fr 1fr 1.4fr;gap:var(--space-6);max-width:1180px;margin:15px auto var(--space-8)}.footer-logo{width:120px;margin-bottom:var(--space-4)}.footer-brand p{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.65;margin-bottom:var(--space-4);max-width:280px}.footer-brand .social-links{justify-content:flex-start;margin-top:0}.footer-col h3{font-family:var(--font-body);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--gold-deep);margin-bottom:var(--space-4);font-weight:700}.footer-col ul{list-style:none}.footer-col li{margin-bottom:var(--space-3)}.footer-col a{color:var(--ink-soft);text-decoration:none;font-size:var(--fs-sm);transition:color .2s ease}.footer-col a:hover{color:var(--gold)}.footer-contact li{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5;overflow-wrap:anywhere}.footer-contact svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--gold)}.footer-base{border-top:1px solid var(--line);padding:var(--space-5) 0 var(--space-7);max-width:1180px;margin:0 auto;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.newsletter{max-width:360px}.newsletter-form{display:flex;flex-direction:column;gap:var(--space-4)}.newsletter-form input{flex:1;min-width:0;padding:11px 16px;border:1px solid var(--line);background:var(--cream-2);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-sm);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.newsletter-form input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c49a5524}.newsletter-form button{padding:11px 22px;font-size:var(--fs-xs);white-space:nowrap}.newsletter-success{color:var(--gold-deep);font-size:var(--fs-sm)}.newsletter-turnstile{min-height:65px}.newsletter-honeypot{position:absolute;left:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}.social-links{display:flex;justify-content:center;gap:var(--space-4);align-items:center;margin-top:var(--space-4)}.social-links a{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:#2a1f140d;color:var(--ink);text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease}.social-links a:hover{background:var(--grad-gold);color:var(--cream-2);transform:translateY(-3px)}.social-links svg{width:18px;height:18px}.fine{color:#a79a85;font-size:var(--fs-xs);letter-spacing:.2px}.page-header{text-align:center;padding:var(--space-8) var(--space-4) var(--space-6)}.page-header .eyebrow{justify-content:center;display:flex}.page-header h1{font-family:var(--font-display);font-weight:600;font-style:italic;font-size:var(--fs-xl);letter-spacing:-.02em}.trainee-section-header{text-align:center;padding:var(--space-6) var(--space-4) var(--space-6);max-width:1100px;margin:0 auto}.trainee-section-header h2{font-family:var(--font-display);font-weight:600;font-style:italic;font-size:var(--fs-xl);color:var(--ink)}.page-body{max-width:1100px;margin:0 auto;padding:0 var(--space-4) var(--space-8)}.page-body p{color:var(--ink-soft);line-height:1.65;margin-bottom:var(--space-5)}.page-body h2,.page-body h3{color:var(--ink);font-family:var(--font-display);font-weight:600;font-style:italic;margin:var(--space-6) 0 var(--space-5)}.page-body h2{font-size:var(--fs-xl)}.page-body h3{font-size:var(--fs-lg)}.feature-list{list-style:none;margin:var(--space-6) 0 0}.feature-list li{position:relative;padding:var(--space-5) 0 var(--space-5) var(--space-6);border-bottom:1px solid var(--line);color:var(--ink-soft);line-height:1.6}.feature-list li:first-child{border-top:1px solid var(--line)}.feature-list li:before{content:"→";position:absolute;left:0;top:var(--space-5);color:var(--gold);font-weight:600}.centres-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);max-width:1100px;margin:0 auto;padding:0 var(--space-4) var(--space-8)}.centre-card{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}.centre-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.centre-map{height:220px}.centre-map iframe{width:100%;height:100%;border:0;display:block}.centre-info{padding:var(--space-5) var(--space-5)}.centre-info h3{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);margin:var(--space-3) 0 var(--space-4);color:var(--ink)}.centre-address{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--ink-soft);font-size:var(--fs-md);line-height:1.5;margin-bottom:var(--space-5)}.centre-address svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--gold)}.centre-schedule,.centre-teachers{margin-bottom:var(--space-5)}.centre-schedule h4,.centre-teachers h4{font-size:var(--fs-xs);letter-spacing:.2px;color:var(--gold);margin-bottom:var(--space-3);font-weight:500}.schedule-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);table-layout:fixed}.schedule-table th{text-align:left;font-size:var(--fs-xs);color:var(--ink-soft);padding:0 var(--space-3) var(--space-3) 0;border-bottom:1px solid var(--line);font-weight:500}.schedule-table td{padding:var(--space-3) var(--space-3) var(--space-3) 0;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:top}.schedule-table tr:last-child td{border-bottom:none}.schedule-table th:first-child,.schedule-table td:first-child{width:46%}.schedule-table th:nth-child(2),.schedule-table td:nth-child(2){width:22%;white-space:nowrap}.schedule-table th:last-child,.schedule-table td:last-child{width:32%;white-space:nowrap;padding-right:0}.centre-teachers ul{list-style:none}.centre-teachers li{padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.centre-teachers li:last-child{border-bottom:none}.centre-teachers .teacher-name{display:block;font-family:var(--font-display);font-size:var(--fs-md);color:var(--ink);margin-bottom:2px;font-weight:500}a.teacher-name{text-decoration:none;transition:color .2s ease}a.teacher-name:hover{color:var(--gold)}.centre-teachers .teacher-bio{display:block;color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5}.centre-sample-note{margin:calc(var(--space-3) * -1) 0 var(--space-6)}.centre-ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}@media (max-width: 900px){.centres-list{grid-template-columns:1fr;padding:0 6% var(--space-8)}}.teacher-profile{display:grid;grid-template-columns:260px 1fr;gap:var(--space-8);align-items:start;max-width:900px;margin:0 auto;padding:0 var(--space-4) var(--space-8)}.teacher-profile-photo{width:100%;aspect-ratio:1;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:6px solid var(--cream)}.teacher-profile-body .role{font-size:var(--fs-sm);letter-spacing:.2px;color:var(--gold);margin-bottom:var(--space-5);font-weight:500}.teacher-profile-body p{color:var(--ink-soft);line-height:1.65;margin-bottom:var(--space-6)}.teacher-profile-ctas{display:flex;gap:var(--space-5);flex-wrap:wrap}.teacher-profile-ctas .pill{min-width:260px;text-align:center}@media (max-width: 600px){.teacher-profile{grid-template-columns:1fr;padding:0 6% var(--space-8)}.teacher-profile-photo{max-width:220px;margin:0 auto}}.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-5);align-items:stretch;max-width:1100px;margin:0 auto var(--space-8);padding:0 var(--space-4)}.contact-grid>*{min-width:0}.contact-info{display:flex;flex-direction:column;overflow-wrap:anywhere;padding:var(--space-5) var(--space-5);background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.contact-info p{color:var(--ink-soft);line-height:1.65;margin-bottom:var(--space-4)}.contact-info p:first-child{font-family:var(--font-display);font-size:var(--fs-lg);font-style:italic;color:var(--ink);margin-bottom:var(--space-4);font-weight:600}.contact-cta-panel{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-5) 0 var(--space-6);padding:var(--space-4);background:#b88e5817;border:1px solid rgba(184,142,88,.18);border-radius:var(--radius-sm)}.contact-cta-panel p{margin:0;font-weight:600;color:var(--ink)}.contact-info a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:color .2s ease}.contact-info a:hover{color:var(--gold)}.form-card{max-width:420px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-8)}.register-form-shell{max-width:1100px;margin:0 auto;padding:0 var(--space-4) var(--space-8)}.register-form-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;overflow:visible}.register-form-topbar{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;background:transparent;font-size:var(--fs-sm);color:var(--ink-soft)}.register-form-brand{font-size:var(--fs-md);letter-spacing:.01em}.register-form-user{text-align:right;font-size:var(--fs-sm);color:var(--ink-soft)}.register-form-header{background:#fffdfb;padding:var(--space-6) var(--space-5) var(--space-4);border-bottom:1px solid #eee3d5}.register-kicker{color:var(--ink-soft);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-2)}.register-form-header h1{font-size:var(--fs-xl);line-height:1.1;margin-bottom:var(--space-3);font-weight:400}.register-contact-line,.register-form-note,.register-paragraph{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.6}.register-form-note{padding:var(--space-5) 0 0;font-size:var(--fs-md);color:var(--ink-soft)}.register-section{background:transparent;border:0;border-radius:0;border-top:1px solid var(--line);padding:var(--space-6) 0;margin-top:var(--space-6)}.register-section-header{margin-bottom:var(--space-4);border-bottom:0;padding-bottom:0}.register-section-header h2{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;color:var(--ink);letter-spacing:.01em}.register-grid{display:grid;gap:var(--space-4)}.register-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.required-mark{color:#d93025;margin-left:4px}.register-option-list,.register-declaration-list,.register-health-list{display:grid;gap:var(--space-3)}.register-radio-row,.register-checkbox-row{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5}.register-radio-row input,.register-checkbox-row input,.register-inline-options input{margin-top:3px;accent-color:var(--gold)}.register-health-row{border-top:1px solid #f0e6d8;padding-top:var(--space-4);display:grid;gap:var(--space-3)}.register-health-row p{font-size:var(--fs-sm);color:var(--ink)}.register-inline-options{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.register-inline-options label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink-soft)}.register-form-footer{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}.register-form-footer-row{margin-top:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.register-form-footer-row .form-submit{width:auto;min-width:220px;margin-top:0;margin-left:auto}.register-form-footer-row .register-turnstile{margin-bottom:0}.register-form-gate{max-width:1100px;margin:0 auto;padding:0 var(--space-4) var(--space-8)}.register-form-gate-card{max-width:640px;margin:0 auto;margin-top:var(--space-8);background:transparent;padding:var(--space-5);text-align:center;background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.register-form-title{font-family:var(--font-display);font-size:clamp(1.6rem,2vw,2.2rem);font-weight:500;margin-bottom:var(--space-3)}.register-form-gate-card p{color:var(--ink-soft);margin-bottom:var(--space-5)}.register-login-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);background:transparent;border:1.5px solid var(--ink);border-radius:999px;padding:12px 28px;font-size:var(--fs-sm);font-weight:600;color:var(--ink);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.register-login-button:hover{background:var(--ink);color:var(--cream-2);transform:none;box-shadow:none}.register-login-button:disabled{opacity:.7;cursor:wait}.register-form-error{margin-top:var(--space-4);color:#b3261e;font-size:var(--fs-sm)}@media (max-width: 760px){.register-form-topbar{flex-direction:column;align-items:flex-start;padding-left:var(--space-4);padding-right:var(--space-4)}.register-form-user{text-align:left}.register-grid.two-col{grid-template-columns:1fr}.register-registration-form{padding:0 0 var(--space-4)}.register-section{padding:var(--space-4)}.register-form-footer-row{flex-direction:column;align-items:stretch}.register-form-footer-row .form-submit{width:100%;margin-left:0}}@media (max-width: 520px){.register-form-shell{padding:0 12px 32px}.register-form-topbar,.register-form-header,.register-form-note,.register-section{padding-left:12px;padding-right:12px}.register-form-gate{padding:0 12px 32px;margin-top:28px}.register-form-gate-card{padding:var(--space-5)}.register-radio-row,.register-checkbox-row{gap:10px}}.success-card{padding:var(--space-6);text-align:center}.success-card p{color:var(--ink-soft);margin-bottom:var(--space-5)}.map-embed{max-width:1100px;margin:0 auto var(--space-8);padding:0 var(--space-4)}.map-embed iframe{width:100%;height:340px;border:1px solid var(--line);border-radius:var(--radius);display:block}.contact-grid .form-card{max-width:none;margin:0;padding:var(--space-5) var(--space-5);background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%}.contact-grid .form-card .contact-turnstile{margin-top:auto}.form-field{margin-bottom:var(--space-5);text-align:left}.form-field label{display:block;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--space-3);font-weight:600}.form-field input,.form-field textarea,.form-field select{width:100%;padding:12px var(--space-4);border:1px solid var(--line);background:var(--cream-2);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-md);line-height:1.4;border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c49a551f}.form-field textarea{min-height:150px;resize:vertical}.form-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.pill.form-submit{width:100%;margin-top:var(--space-4);padding:12px var(--space-6);font-size:var(--fs-sm)}.contact-turnstile,.register-turnstile{min-height:65px;margin-bottom:var(--space-5);display:flex;justify-content:center;overflow:hidden;border-radius:var(--radius-sm);background:var(--cream-2)}.contact-turnstile iframe,.register-turnstile iframe{border-radius:var(--radius-sm)}.social-auth{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.social-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-4);width:100%;padding:12px var(--space-4);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid var(--line);background:var(--cream-2);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.1px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease;font-weight:500}.social-btn svg{width:18px;height:18px;flex-shrink:0}.social-btn:hover{border-color:var(--taupe-deep);background:var(--cream);transform:translateY(-2px)}.divider{display:flex;align-items:center;text-align:center;margin-bottom:var(--space-6);color:var(--ink-soft);font-size:var(--fs-xs);letter-spacing:.2px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.divider span{padding:0 var(--space-5)}.social-btn:disabled{opacity:.6;cursor:default}.form-error{color:#8b4946;font-size:var(--fs-sm);text-align:center;margin:calc(var(--space-4) * -1) 0 var(--space-6)}.profile-card{display:flex;align-items:center;gap:var(--space-6);margin-bottom:var(--space-6)}.profile-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm)}.profile-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--cream-2);font-family:var(--font-display);font-size:2rem;border-radius:50%;width:84px;height:84px;font-weight:500}.profile-card h2{font-family:var(--font-display);font-weight:500;font-size:var(--fs-lg);margin-bottom:6px}.profile-email{color:var(--ink-soft);font-size:var(--fs-sm);margin-bottom:4px}.profile-provider{color:var(--gold);font-size:var(--fs-xs);letter-spacing:.2px;font-weight:500}.page-body button.pill{margin-top:var(--space-4)}@media (max-width: 900px){.contact-grid{grid-template-columns:1fr;padding:0 6%}.contact-info{order:2}.form-card{max-width:100%}.segment{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-8) 6%}.segment.is-flipped .segment-media{order:0}.events-list{grid-template-columns:1fr}.teachers-list{grid-template-columns:1fr;gap:var(--space-6)}.gallery-row{grid-template-columns:1fr 1fr;height:auto}.gallery-row .photo{height:200px}.nav-toggle{display:flex}nav.main{display:none}.badges-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6) var(--space-5)}.footer-cols{grid-template-columns:1fr 1fr;gap:var(--space-6)}}@media (min-width: 601px) and (max-width: 900px){.events-list,.teachers-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){header.top{padding:var(--space-5) 6% 0}.brand-name{font-size:var(--fs-xl);letter-spacing:.5px}.brand-badge{width:56px;height:56px}.nav-toggle{top:var(--space-5)}.hero-band{padding-bottom:var(--space-6)}.hero-carousel{padding:var(--space-6) 6% 0}.hero-frame{aspect-ratio:4/5;border-radius:var(--radius);margin-bottom:var(--space-6)}.hero-ctas{flex-direction:column;align-items:stretch}.pill{padding:11px 24px;font-size:var(--fs-sm);min-width:240px;text-align:center}.statement{padding:var(--space-8) 7% var(--space-6)}.badges{padding:var(--space-6) 7%}.break-photo{height:44vh;min-height:240px}.segment{padding:var(--space-6) 7%}.segment-media .photo{height:230px}.segment-features{grid-template-columns:repeat(2,1fr);gap:var(--space-5) var(--space-4);padding:var(--space-5) var(--space-4)}.events-wrap{padding:var(--space-8) 7%}.gallery-wrap{padding:0 0 var(--space-8)}.gallery-row{grid-template-columns:1fr}.testimonials{padding:var(--space-8) 7%}footer.site{padding:var(--space-8) 7% 0}.footer-cols{grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-6)}.page-header{padding:var(--space-8) 7% var(--space-6)}.form-card{padding:var(--space-6) 6% var(--space-8)}.schedule-table{font-size:var(--fs-sm)}.schedule-table th,.schedule-table td{padding-left:0;padding-right:var(--space-4)}}
