body{font-family:var(--brand-font,system-ui,sans-serif)}.button,button{color:var(--brand-button-ink,#fff)}.hero{background:var(--brand-accent,#dfe9d8)}.brandlogo{max-width:190px;max-height:70px;object-fit:contain}.publicpage{background:var(--cream);color:var(--ink)}.publictopbar{text-align:center;padding:8px;background:var(--green);color:var(--brand-button-ink,#fff);font-size:11px;letter-spacing:1.6px}.publicheader{padding:26px 6%;height:auto;min-height:105px;border-bottom:1px solid var(--line);gap:30px}.publicbrand{font-size:23px;font-weight:700;letter-spacing:-1px;display:flex;gap:10px;align-items:center;white-space:nowrap}.publicbrand>span{font-size:40px}.publicbrand img{max-width:240px;max-height:65px;object-fit:contain}.publicheader nav{display:flex;gap:24px;align-items:center;margin:0}.publicheader nav a{padding:0;background:none;border-radius:0;margin:0;font-size:13px;letter-spacing:0;white-space:nowrap}.publicheader nav .button{padding:12px 20px;background:var(--green);border-radius:6px;color:var(--brand-button-ink,#fff)}main.publicmain{margin:0;max-width:1600px;margin-inline:auto}.publichero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;padding:65px 6% 70px;align-items:center}.herocopy h1{font-size:clamp(40px,4.5vw,70px);line-height:1.08;letter-spacing:-3px;margin:24px 0}.herocopy>p{font-size:17px;max-width:480px;color:#596b62}.herocopy .inlineactions{margin:28px 0}.secondarybutton{display:inline-block;border:1px solid #becbbe;border-radius:6px;padding:11px 20px;font-size:13px}.herotag{font-size:12px;margin-top:35px;display:flex;align-items:center;gap:10px}.herotag span{font-size:22px}.publicvisual{position:relative;border-radius:110px 12px 110px 12px;background:var(--brand-accent,#dfe9d8);height:440px;overflow:hidden}.publicvisual>img{width:100%;height:100%;object-fit:cover}.handsart{position:relative;height:100%;background:radial-gradient(ellipse at 50% 70%,#b8caa1,transparent 65%)}.handsart>span:first-child{position:absolute;left:16%;top:2%;font-size:220px;transform:rotate(-20deg);z-index:1}.handsart>span:nth-child(2){position:absolute;right:12%;top:12%;font-size:100px;color:#6d8760}.artcircle{position:absolute;width:210px;height:210px;border:1px solid #91aa7c;border-radius:50%;right:-30px;bottom:50px}.visualcaption{position:absolute;left:38px;bottom:30px;font-size:27px;line-height:1.25;letter-spacing:-.8px;color:var(--green)}.publicsection{padding:65px 6%;scroll-margin-top:20px}.publicsection h2,.publicband h2{font-size:34px;letter-spacing:-1.1px;margin:14px 0 24px;max-width:600px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.about p{margin-top:0;color:#596b62}.textlink{font-size:14px;font-weight:600;border-bottom:1px solid #b3c5ae;padding-bottom:4px}.publicsectionhead{display:flex;gap:30px;justify-content:space-between;align-items:center;margin-bottom:24px}.publiccards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.publiccard{background:#fff;border:1px solid var(--line);padding:28px;border-radius:12px}.publiccard>.level{display:inline-block;background:var(--brand-accent,#dfe9d8);padding:12px 20px;border-radius:10px;margin-bottom:15px}.publiccard h3{font-size:23px}.publiccard p{color:#596b62}.publiccard dl{display:grid;grid-template-columns:80px 1fr;gap:8px;font-size:13px;padding:16px 0;border-top:1px solid var(--line);margin-top:24px}.publiccard dt{color:#6b7b70}.publiccard dd{margin:0}.emptycatalog{grid-column:1/-1;background:var(--brand-accent,#dfe9d8);border-radius:14px;padding:35px;display:flex;gap:28px;align-items:center}.emptycatalog>span{font-size:80px;color:#7e9d6a}.emptycatalog p{color:#596b62}.publicband{margin:20px 6%;padding:40px;background:var(--brand-accent,#dfe9d8);border-radius:16px;display:flex;gap:30px;align-items:center;justify-content:space-between}.publicband p{margin:0}.publicband .button{white-space:nowrap}.faqsection{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;background:#fff}.publicfaq{padding:15px 0;border-bottom:1px solid var(--line)}.publicfaq summary{font-weight:600}.socialsection{text-align:center}.socialsection h2{margin-inline:auto}.socialsection .inlineactions{justify-content:center}.publicfooter{background:#e7ece1;padding:50px 6%;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;font-size:13px;color:var(--ink)}.publicfooter>div:last-child>a{display:block;margin:10px 0}.sociallinks{display:flex;gap:15px;margin-top:14px}.publicfineprint{text-align:center;padding:16px;font-size:11px;color:var(--muted)}.teachersection,.contactsection{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:60px;min-height:60vh}.teacherimage{background:var(--brand-accent,#dfe9d8);min-height:380px;border-radius:16px;text-align:center;padding:20px}.teacherimage img{width:100%;max-height:550px;object-fit:cover;border-radius:10px}.teacherimage>span{font-size:160px;color:#7e9d6a}.teachersection h1,.contactsection h1{font-size:44px}.contactsection .panel{margin:0}.legalpage{max-width:1000px;min-height:55vh}.legalpage .bodytext{margin-top:30px}.publicflash{margin:20px 6%}.skiplink{position:absolute;top:-100px;left:15px;z-index:100;background:#fff;padding:12px}.skiplink:focus{top:10px}.honeypot{position:absolute;left:-10000px}.publicpage fieldset{border:0;padding:0}.publicpage fieldset:disabled{opacity:.6}.publicpage .notice{font-size:13px}.publicpage h1,.publicpage h2,.publicpage h3{overflow-wrap:anywhere}@media(max-width:1000px){.publicheader{flex-direction:column;gap:15px}.publicheader nav{flex-wrap:wrap;justify-content:center;gap:18px}.publichero{gap:25px;padding-top:35px}.publicvisual{height:360px}.handsart>span:first-child{font-size:170px}.publicsectionhead{align-items:start;flex-direction:column}.publicfooter .publicbrand{white-space:normal}}@media(max-width:650px){.publichero,.about,.faqsection,.teachersection,.contactsection{grid-template-columns:1fr;gap:25px}.publichero,.publicsection{padding:35px 6%}.herocopy h1{font-size:43px;letter-spacing:-1.8px}.publicvisual{height:320px}.publicband{padding:28px;display:block}.publicband .button{margin-top:20px}.publicsection h2,.publicband h2{font-size:28px}.publicheader{padding:20px}.publicheader nav a{font-size:12px}.publicfooter{grid-template-columns:1fr;gap:25px}.emptycatalog{padding:25px}.emptycatalog>span{display:none}.teacherimage{min-height:280px}.contactsection h1,.teachersection h1{font-size:35px}}
