*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-height:100%;background:#ECEEE8;color:var(--br-color-title);font-family:var(--br-font-family)}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--br-color-brand-bright);outline-offset:4px}
.preview-toolbar{position:sticky;top:0;z-index:30;min-height:48px;padding:8px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#F4F5F0;border-bottom:1px solid #DDE1D7;font-size:13px;line-height:1.5}
.preview-status{color:#48523F;white-space:nowrap}
.preview-options{display:flex;gap:4px}
.preview-toolbar button{padding:5px 10px;min-height:32px;border:1px solid transparent;border-radius:6px;background:transparent;color:#48523F;font-size:13px}
.preview-toolbar button[aria-pressed="true"]{background:#E3EAD8;border-color:#CAD5BC;color:#214001}
.compare-button{margin-left:auto}
.site{width:100%;margin:0 auto;background:var(--br-color-background);container-type:inline-size}
.site[data-preview-mode="mobile"]{width:390px;max-width:100%}
.site-header{height:64px;background:var(--br-color-background);position:sticky;top:var(--preview-toolbar-height,49px);z-index:10;transition:transform 360ms cubic-bezier(.4,0,.2,1)}
.site[data-header-hidden="true"] .site-header{transform:translateY(-100%)}
.header-inner{max-width:1120px;padding:0 40px;height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-name{font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.03em;white-space:nowrap;text-decoration:none;color:inherit}
.site-nav{display:flex;align-items:center;gap:28px;white-space:nowrap}
.site-nav a{font-size:16px;font-weight:500;line-height:1.5;text-decoration:none;color:var(--br-color-title)}
.site-nav a[aria-current]{color:var(--br-color-brand-primary)}
.site-nav a[aria-disabled="true"]{cursor:default}
.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;color:var(--br-color-title);align-items:center;justify-content:center;flex-direction:column;gap:6px}
.menu-toggle span{display:block;width:20px;height:1px;background:currentColor}
.hero{position:relative;height:620px;overflow:hidden;background:#2F3531;color:white;isolation:isolate}
.hero-video,.hero-glass-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-glass-canvas{z-index:1;pointer-events:none;opacity:0}
.site[data-renderer="webgl"] .hero-glass-canvas{opacity:1}
.fallback-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(67,81,62,.71) 3.5%,rgba(67,81,62,0) 33.333%);pointer-events:none}
.site[data-mobile="false"] .fallback-shade{display:none}
.site[data-renderer="webgl"] .fallback-shade{display:none}
.hero-content{position:absolute;inset:0;max-width:1120px;margin:0 auto;padding:0 40px 64px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;z-index:3;pointer-events:none}
.hero h1{margin:0;max-width:640px;color:#FFFFFF;font-size:60px;font-weight:600;line-height:1.3;letter-spacing:-.03em;word-break:keep-all;overflow-wrap:break-word}
.hero h1 span,.hero-description span{display:block}
.hero-description{margin:20px 0 32px;max-width:640px;color:#FFFFFF;font-size:18px;font-weight:400;line-height:1.7;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;text-shadow:0 1px 2px rgba(0,0,0,.12)}
.hero-cta{position:relative;width:var(--br-hero-cta-width);height:var(--br-hero-cta-height);border-radius:var(--br-hero-cta-radius);padding:0 16px;isolation:isolate;border:1px solid rgba(255,255,255,.35);background:transparent;box-shadow:0 3px 9px rgba(22,42,17,.12);color:#FFFFFF;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;white-space:nowrap;pointer-events:auto}
.glass-rim{position:absolute;inset:-1px;border-radius:inherit;padding:var(--br-hero-cta-glass-rim-width);pointer-events:none;opacity:var(--br-hero-cta-glass-rim-opacity);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;overflow:hidden}
.glass-rim img{position:absolute;left:-1.5%;top:-9%;width:103%;height:118%;max-width:none}
.hero-cta:hover .glass-rim{opacity:.76}
.cta-label{position:relative;z-index:2;text-shadow:0 1px 1px rgba(0,0,0,.1)}
.play-toggle{position:absolute;z-index:4;right:24px;bottom:24px;min-width:76px;height:44px;padding:0 14px;background:rgba(8,15,10,.16);border:1px solid rgba(255,255,255,.65);border-radius:22px;color:#FFFFFF;font-size:13px;backdrop-filter:blur(3px)}
.preview-feedback{margin:16px 20px 24px;color:#5B6556;text-align:center;font-size:13px;line-height:1.6}
.site[data-mobile="true"] .header-inner{padding:0 20px}
.site[data-mobile="true"] .site-nav{display:none}
.site[data-mobile="true"] .menu-toggle{display:flex}
.site[data-mobile="true"] .hero{height:690px}
.site[data-mobile="true"] .hero-content{padding:0 20px 48px}
.site[data-mobile="true"] .hero h1{font-size:36px}
.site[data-mobile="true"] .hero-description{font-size:16px;line-height:1.7;margin:16px 0 24px}
.site[data-mobile="true"] .hero-description span{display:inline}
.site[data-mobile="true"] .hero-description span+span::before{content:' '}
.site[data-mobile="true"] .play-toggle{right:20px;bottom:18px;height:36px;min-width:66px}
.site[data-mobile="true"] .fallback-shade{background:linear-gradient(0deg,rgba(12,17,14,.72),rgba(12,17,14,.45) 40%,rgba(12,17,14,.06) 85%)}
.site-nav.is-open{display:flex!important;position:absolute;top:64px;left:0;right:0;padding:24px;gap:20px;align-items:flex-start;flex-direction:column;background:var(--br-color-background);box-shadow:0 10px 20px rgba(28,35,24,.1)}
.site[data-original="true"] .fallback-shade{display:none}
.site main{display:block}
.site section[id],.site-footer{scroll-margin-top:calc(var(--preview-toolbar-height,49px) + 88px)}
.page-section{padding-block:var(--br-layout-desktop-section-gap);border-top:1px solid #E9ECE4}
.section-tinted{background:#F7F9F2}
.section-inner{width:100%;max-width:var(--br-layout-content-max-width);margin-inline:auto;padding-inline:var(--br-layout-desktop-side-padding)}
.section-heading{margin-bottom:40px;max-width:var(--br-layout-paragraph-max-width)}
.section-label{margin:0 0 16px;color:var(--br-color-brand-primary);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.12em}
.section-heading h2{margin:0;color:var(--br-color-title);font-size:var(--br-type-section-desktop);font-weight:var(--br-weight-section);line-height:var(--br-leading-section);letter-spacing:var(--br-tracking-section);word-break:keep-all;overflow-wrap:anywhere}
.section-note{margin:20px 0 0;color:var(--br-color-muted-text);font-size:var(--br-type-body-desktop);line-height:var(--br-leading-body);word-break:keep-all;overflow-wrap:anywhere}
.split-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px}
.split-layout>*{min-width:0}
.split-layout .section-heading{margin-bottom:0}
.placeholder-media{display:flex;align-items:center;justify-content:center;min-height:220px;border:1px dashed #C8D0BF;border-radius:var(--br-card-radius);background:#EFF2E9;color:#69735E;text-align:center;padding:28px;font-size:14px;line-height:1.6;word-break:keep-all}
.media-landscape{aspect-ratio:4/3}
.media-wide{aspect-ratio:16/7}
.media-portrait{aspect-ratio:4/5;max-width:380px;width:100%;justify-self:end}
.outline-list{padding:0;margin:28px 0 0;list-style:none;color:var(--br-color-body);font-size:16px;line-height:1.7}
.outline-list li{padding:14px 0;border-bottom:1px solid #DDE3D6}
.outline-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px;color:var(--br-color-body);font-size:15px;line-height:1.6}
.outline-row span{border-top:1px solid #D6DDCE;padding-top:18px;word-break:keep-all;overflow-wrap:anywhere}
.draft-label{display:inline-block;color:#6E7863;font-size:12px;line-height:1.5;font-weight:400;word-break:keep-all}
.calendar-layout{width:100%;max-width:960px;margin-inline:auto}
.calendar-shell{width:100%;aspect-ratio:1;display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid #D6DDCE;border-radius:var(--br-card-radius);overflow:hidden;background:var(--br-color-background)}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 28px}
.calendar-heading h3{margin:0;font-size:20px;line-height:1.4;font-weight:500;word-break:keep-all}
.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-week{background:#F3F6ED;border-top:1px solid #E0E5D9;text-align:center;font-size:13px;color:var(--br-color-body)}
.calendar-week span{padding:14px 4px}
.calendar-grid{min-height:0;grid-template-rows:repeat(5,minmax(0,1fr))}
.calendar-grid span{min-height:0;border-top:1px solid #E6EADF;border-right:1px solid #E6EADF;background:linear-gradient(#E9EDE2,#E9EDE2) 12px 12px/14px 3px no-repeat}
.calendar-grid span:nth-child(7n){border-right:0}
.calendar-caption{margin:0;padding:16px 0 0;font-size:13px;line-height:1.6;color:var(--br-color-muted-text);word-break:keep-all;overflow-wrap:anywhere}
.calendar-layout+.outline-row{max-width:960px;margin-inline:auto}
.teacher-name{margin:28px 0 0;font-size:24px;line-height:1.4;font-weight:500}
.member-preview{padding:var(--br-card-inner-padding);border:1px solid #D6DDCE;border-radius:var(--br-card-radius);background:#F8FAF4}
.member-preview-heading{font-size:24px;font-weight:500;margin:20px 0 12px}
.member-preview-row{padding:22px 0;border-bottom:1px solid #DDE3D6;font-size:14px;color:var(--br-color-body)}
.member-preview-row:last-child{border-bottom:0}
.skeleton-line{display:block;background:#DFE6D6;border-radius:4px;width:100%;height:7px;margin-top:18px}
.skeleton-line.short{width:60%}
.review-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.review-placeholder{padding:var(--br-card-inner-padding);border:1px solid #D6DDCE;border-radius:var(--br-card-radius);display:flex;flex-direction:column;justify-content:center;background:var(--br-color-background)}
.placeholder-caption{display:block;color:var(--br-color-body);font-size:18px;font-weight:500;line-height:1.5}
.review-placeholder p{margin:24px 0 0;color:var(--br-color-muted-text);font-size:13px;line-height:1.6}
.space-gallery{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(2,220px);gap:20px}
.space-gallery .space-main{grid-row:span 2}
.application-placeholder{padding:36px;border:1px solid #D6DDCE;border-radius:var(--br-card-radius);background:var(--br-color-background)}
.application-placeholder p{color:var(--br-color-muted-text);font-size:15px;line-height:1.7;margin:20px 0 28px;word-break:keep-all;overflow-wrap:anywhere}
.outline-button{display:block;width:100%;height:var(--br-button-height);padding:0 16px;border-radius:var(--br-button-radius);border:1px solid #D6DDCE;background:#F3F6ED;color:#69735E;font-size:14px;cursor:default}
.faq-list{border-top:1px solid #CDD6C2}
.faq-list details{border-bottom:1px solid #DDE3D6}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;color:var(--br-color-body);font-size:18px;line-height:1.6;word-break:keep-all}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{flex-shrink:0;display:block;font-size:24px;line-height:1;color:var(--br-color-brand-primary)}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 32px 24px 0;color:var(--br-color-muted-text);font-size:16px;line-height:1.7}
#location{padding-block:56px}
#location .section-heading{margin-bottom:24px}
.location-layout{align-items:start;gap:32px}
.map-placeholder{min-height:0;aspect-ratio:auto;height:220px}
.location-info{margin:0}
.location-info div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:9px 0;margin:0;border-bottom:1px solid #DDE3D6}
.location-info div:last-child{border-bottom:0}
.location-info dt{color:var(--br-color-muted-text);font-size:13px;line-height:1.6;margin:0;padding-top:2px}
.location-info dd{margin:0;color:var(--br-color-body);font-size:15px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.location-info a,.business-info a{color:inherit;text-decoration:none}
.location-info .pending-text,.pending-text{color:var(--br-color-muted-text)}
.site-footer{padding-block:64px;background:var(--br-color-background);border-top:1px solid #DDE3D6;color:var(--br-color-footer-text)}
.business-info{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0;max-width:900px;font-size:13px;line-height:1.7;color:inherit}
.business-info div{display:flex;gap:12px;max-width:100%}
.business-info dt{flex-shrink:0;color:inherit}
.business-info dd{margin:0;overflow-wrap:anywhere}
.business-info .business-address{flex-basis:100%}
.site-footer .pending-text{color:inherit}
.site[data-mobile="true"] .page-section{padding-block:var(--br-layout-mobile-section-gap)}
.site[data-mobile="true"] .section-inner{padding-inline:var(--br-layout-mobile-side-padding)}
.site[data-mobile="true"] .section-heading{margin-bottom:28px}
.site[data-mobile="true"] .section-heading h2{font-size:var(--br-type-section-mobile)}
.site[data-mobile="true"] .section-note{font-size:var(--br-type-body-mobile);margin-top:16px}
.site[data-mobile="true"] .split-layout,.site[data-mobile="true"] .review-layout{grid-template-columns:minmax(0,1fr);gap:28px}
.site[data-mobile="true"] .split-layout .section-heading{margin-bottom:0}
.site[data-mobile="true"] .teacher-layout .section-heading{order:1}
.site[data-mobile="true"] .teacher-layout .media-portrait{order:0;max-width:100%;aspect-ratio:4/3}
.site[data-mobile="true"] .media-wide{aspect-ratio:4/3}
.site[data-mobile="true"] .outline-row{grid-template-columns:1fr;gap:14px}
.site[data-mobile="true"] .calendar-layout,.site[data-mobile="true"] .calendar-layout+.outline-row{max-width:720px}
.site[data-mobile="true"] .calendar-heading{padding:16px;gap:8px}
.site[data-mobile="true"] .calendar-heading h3{font-size:16px}
.site[data-mobile="true"] .calendar-week span{padding:10px 4px}
.site[data-mobile="true"] .calendar-grid span{background-position:8px 10px;background-size:10px 3px}
.site[data-mobile="true"] .calendar-caption{padding:12px 0 0}
.site[data-mobile="true"] #location{padding-block:40px}
.site[data-mobile="true"] .location-layout{gap:20px}
.site[data-mobile="true"] .map-placeholder{height:160px}
.site[data-mobile="true"] .location-info div{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:8px 0}
.site[data-mobile="true"] .space-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 140px;gap:12px}
.site[data-mobile="true"] .space-gallery .space-main{grid-column:span 2;grid-row:auto}
.site[data-mobile="true"] .space-gallery .placeholder-media{min-height:0;padding:16px;font-size:12px}
.site[data-mobile="true"] .application-placeholder{padding:28px}
.site[data-mobile="true"] .faq-list summary{font-size:16px;padding:20px 0}
.site[data-mobile="true"] .business-info{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.site[data-mobile="true"] .site-footer{padding-block:48px}
@container(max-width:900px){.header-inner{padding:0 20px}.site-nav{display:none}.menu-toggle{display:flex}}
@media(max-width:450px){.preview-toolbar{gap:5px;padding:6px 10px}.preview-status{width:100%;font-size:12px}.compare-button{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header{transition:none}}

.review-switch{display:flex;gap:14px;font-size:12px}.review-switch a{color:#5B7046;text-underline-offset:4px}.review-switch a[aria-current]{font-weight:500}
