@font-face{font-family:Noto;src:url(media/NotoSans-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Noto;src:url(media/NotoSans-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Editorial;src:url(media/NotoSerif-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--paper:#fffdf7;--ink:#1d432a;--muted:#45604e;--green:#267342;--light:#edf7e7;--line:#d8e7d6;--accent:#ffe481;--display:Editorial,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Noto,system-ui,sans-serif}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}a:focus-visible,summary:focus-visible{outline:3px solid #d6a545;outline-offset:4px}.skip{position:absolute;top:-100px;background:white;padding:.5rem;z-index:5}.skip:focus{top:0}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.header{border-bottom:1px solid var(--line)}.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.header-inner{min-height:88px}.brand{display:inline-flex;align-items:center;gap:10px;line-height:1.1;white-space:nowrap}.brand img{width:64px;height:64px;border-radius:50%;flex:none}.brand-name{display:grid}.brand strong{font:700 30px/1 var(--display);letter-spacing:.065em}.brand small{font-size:9px;letter-spacing:.19em;font-weight:700;margin-top:5px}.header nav{display:flex;align-items:center;gap:clamp(12px,3vw,40px);font-weight:700;font-size:13px}.header nav a:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;border-radius:100px;background:var(--green);color:white;font-size:14px;font-weight:700;min-height:45px;border:1px solid transparent;transition:filter .15s}.button:hover{filter:brightness(1.14)}.button.light{background:var(--accent);color:#203f28}.button.outline{background:transparent;color:white;border-color:#a1b6a4}
.hero{display:grid;grid-template-columns:1fr 1.12fr;margin-top:28px;border-radius:22px;overflow:hidden;background:linear-gradient(130deg,#eff8df,#d7efcc);color:var(--ink)}.hero-content{padding:clamp(30px,4vw,59px);align-self:center}.eyebrow{font-weight:700;letter-spacing:.105em;font-size:11px;color:#49705a}.hero .eyebrow{color:#286040}.contact .eyebrow{color:#f3efad}.hero .dot{background:#3e8a49}.hero .button.light{background:var(--green);color:#fff}.dot{display:inline-block;background:#c7d675;border-radius:50%;width:8px;height:8px;margin-right:5px;vertical-align:1px}.hero h1{font:700 clamp(34px,4vw,60px)/1.13 var(--display);letter-spacing:-.045em;margin:16px 0}.hero-content>p:not(.eyebrow){color:#395644;font-size:15px;max-width:440px}.hero .button{margin-top:24px}.hero-image{position:relative;min-height:420px}.hero-image img{height:100%;position:absolute;object-position:50% 54%}.hero-image figcaption{position:absolute;bottom:18px;left:18px;padding:6px 12px;border-radius:99px;background:#143c2e;color:white;font-size:11px}
.section{padding-block:60px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head>p{color:var(--muted);max-width:335px;font-size:14px}h2{font:700 clamp(28px,3.6vw,46px)/1.2 var(--display);letter-spacing:-.035em;margin-top:7px}h3{font:700 24px/1.3 var(--display)}
.programs,.stories{display:grid;gap:16px}.programs{grid-template-columns:repeat(3,1fr);align-items:start}.program{border-radius:16px;border:1px solid var(--line);background:#fffef9;padding:17px}.program:nth-child(2){background:#eef7e6}.program:nth-child(3){background:#fff0f2}.program summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer}.program summary::-webkit-details-marker{display:none}.index{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#dfe8d5;font-size:13px;font-weight:700}.program-label strong,.program-label small{display:block}.program-label strong{font-size:17px}.program-label small{font-size:12px;color:var(--muted)}.plus{margin-left:auto;font-weight:700}.plus::before{content:"+"}.program[open] .plus::before{content:"−"}.program p{font-size:14px;margin:14px 0 8px}.program>a{font-size:13px;font-weight:700;text-decoration:underline}
.method{background:var(--light);padding:53px 0}.method-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(25px,6vw,75px);align-items:center}.method-grid>img{border-radius:18px;aspect-ratio:4/3}.method h2{margin-bottom:12px}.method p:not(.eyebrow){color:var(--muted)}.method ul{list-style:none;padding:0;margin:18px 0 0}.method li{border-top:1px solid #cbd8c6;padding:9px 0}.method li span{display:block;color:var(--muted);font-size:13px}
.stories{grid-template-columns:1fr 1fr}.stories article{background:#fffef9;border:1px solid var(--line);border-radius:17px;overflow:hidden}.stories img{aspect-ratio:16/9}.stories article>div{padding:19px}.stories h3{margin:5px 0}.stories article p:last-child{color:var(--muted);font-size:14px}.contact{display:grid;grid-template-columns:1.4fr 1fr;overflow:hidden;padding:0;margin-bottom:48px;border-radius:20px;background:#235b3e;color:white}.contact-body{padding:clamp(24px,5vw,58px)}.contact-body>p:not(.eyebrow){margin-top:12px;color:#e3eddf}.contact address{font-style:normal;margin:18px 0}.contact address a{text-decoration:underline}.contact img{height:100%;max-height:390px;object-position:50% 68%}.actions{display:flex;flex-wrap:wrap;gap:8px}footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:12px}footer .brand{color:var(--green)}footer .brand strong{font-size:23px}footer .brand img{width:44px;height:44px}
@media(max-width:850px){.wrap{width:calc(100% - 36px)}.header nav{gap:12px}.header-cta{display:none}.hero-image{min-height:350px}.program summary{gap:7px}.index{width:30px;height:30px}}
@media(max-width:620px){.wrap{width:calc(100% - 28px)}.header-inner{flex-direction:column;align-items:flex-start;gap:12px;padding-block:14px}.header nav{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.header nav a{font-size:12px}.brand strong{font-size:25px}.brand img{width:50px;height:50px}.hero,.method-grid,.programs,.stories,.contact{grid-template-columns:1fr}.hero{margin-top:14px}.hero-content{padding:24px 20px}.hero-image{min-height:0;aspect-ratio:1.6}.hero h1{font-size:34px}.section{padding-block:35px}.section-head{display:block}.section-head>p{margin-top:8px}.method{padding:30px 0}.contact{padding:0}.contact img{max-height:300px}.footer-inner{flex-wrap:wrap;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

:root{--paper:#fbfaf6;--ink:#18372d;--muted:#435b51;--green:#195c45;--light:#eaf3ed;--line:#d7e4dc;--accent:#f5df9e}
.hero{background:#e6f1e9}
.hero h1{max-width:12ch;letter-spacing:-.035em}
.hero-appointment{display:inline-block;margin:15px 0 0 12px;font-weight:700;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.programs{grid-template-columns:repeat(4,minmax(0,1fr))}
.program:nth-child(n){background:#fffdf9}
.program:nth-child(even){background:#edf5ef}
.program[open]{border-color:#6d9b85}
.parent-guide,.appointment-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,6vw,70px);align-items:start}
.parent-guide>div>p:last-child,.appointment-grid>div>p:not(.eyebrow){margin-top:14px;color:var(--muted)}
.faq details{border-bottom:1px solid var(--line);padding:13px 0}
.faq summary{cursor:pointer;font-weight:700}
.faq p{padding:8px 0 0 17px;color:var(--muted);font-size:14px}
.appointment{background:#e8f2ec;padding:clamp(32px,6vw,70px) 0;margin-bottom:36px}
.appointment-form{background:#fffefa;border:1px solid var(--line);border-radius:18px;padding:clamp(16px,3vw,30px)}
.appointment-form h3{font-size:21px;margin-bottom:10px}
.appointment-form label{display:block;font-size:14px;font-weight:700;margin:12px 0}
.appointment-form :is(input,select){display:block;width:100%;margin-top:4px;padding:10px 11px;border:1px solid #a6bdb0;border-radius:8px;background:white;color:var(--ink);font:inherit;font-weight:400;min-height:43px}
.appointment-form small{font-weight:400}
.appointment-form button{cursor:pointer;text-align:left}
.form-note{font-size:12px;color:var(--muted);margin-top:10px}
.form-note a{text-decoration:underline}
@media(max-width:980px){.programs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.programs,.parent-guide,.appointment-grid{grid-template-columns:1fr}.hero h1{max-width:none}.hero-appointment{display:block;margin-left:0}}

.visit-hours{background:#eaf3ed;border-radius:10px;padding:10px 13px;margin:0 0 14px;font-size:14px}.contact-hours{margin:0 0 16px;font-size:14px}

.external-coverage{margin-top:24px;padding:18px 20px;border-radius:14px;background:var(--light);border:1px solid var(--line)}.external-coverage ul{display:flex;flex-wrap:wrap;gap:8px 24px;margin:8px 0 0;padding:0;list-style:none}.external-coverage a{font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}

#copy-phone[hidden]{display:none}#copy-phone{cursor:pointer}#call-help{margin-top:10px;font-size:13px}

.social-contact{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-top:10px}.social-contact summary{cursor:pointer}.social-contact summary::-webkit-details-marker{display:none}.social-contact details img{display:block;width:min(235px,100%);height:auto;max-height:none;margin-top:10px;border-radius:10px}.social-contact details p{font-size:12px;margin-top:6px}

.class-videos { padding: clamp(2.5rem, 6vw, 5rem) 1.5rem; background: #f8f7f2; }
.class-video-inner { max-width: 1180px; margin-inline: auto; }
.class-video-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.class-video { margin: 0; overflow: hidden; border: 1px solid #d5e2d7; border-radius: 1rem; background: #fff; }
.class-video video { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: #142c25; }
.class-video figcaption { padding: .75rem 1rem; font-weight: 650; }
