*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f7f5f0;--surface: #ffffff;--surface2: #eeece7;--border: #dddad3;--text: #1c2526;--muted: #6b7280;--accent: #3d6b4a;--accent-h: #2f5439;--radius: 6px;--max-w: 860px}html[data-theme=dark]{--bg: #0d100e;--surface: #141a15;--surface2: #1b2219;--border: #253026;--text: #dde8e0;--muted: #7a9480;--accent: #5c9e6e;--accent-h: #74b887}html{font-size:16px}html[data-font=m]{font-size:18px}html[data-font=l]{font-size:20px}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;line-height:1.75;transition:background .2s,color .2s}nav.site-nav{border-bottom:1px solid var(--border);padding:0 2rem;flex-shrink:0}nav.site-nav .nav-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px;position:relative}nav.site-nav .brand{font-family:Georgia,serif;font-size:1.1rem;font-weight:400;letter-spacing:.03em;color:var(--text);text-decoration:none;display:flex;flex-direction:column;line-height:1.2}nav.site-nav .brand span{font-family:Segoe UI,system-ui,sans-serif;font-size:.7rem;color:var(--muted);letter-spacing:.04em}nav.site-nav ul{list-style:none;display:flex;align-items:center;gap:2rem;margin-top:16px}nav.site-nav ul a{color:var(--muted);text-decoration:none;font-size:.875rem;letter-spacing:.02em;transition:color .2s;white-space:nowrap}nav.site-nav ul a:hover,nav.site-nav ul a.active{color:var(--accent)}.services-subnav{position:fixed;top:64px;left:0;right:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);transition:background .2s}.services-subnav-inner{max-width:var(--max-w);margin:0 auto;padding:0 2rem;display:flex;gap:0}.services-subnav a{padding:.7rem 1.1rem;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}.services-subnav a:hover{color:var(--text);text-decoration:none}.services-subnav a.active{color:var(--accent);border-bottom-color:var(--accent)}.services-page section{scroll-margin-top:12px;padding-top:2.5rem}.services-page section:first-of-type{padding-top:.5rem;scroll-margin-top:44px}.services-page section h1{margin-bottom:1rem}.service-divider{border:none;border-top:1px solid var(--border);margin:0}.cta{margin-top:1.75rem}.services-banner{width:100%;height:auto;display:block;border-radius:var(--radius);margin-bottom:0}.contact-image{display:block;width:100%;height:auto;border-radius:var(--radius);margin-top:2rem}main{flex:1;overflow-y:auto;padding:3rem 2rem 4rem;animation:pageEnter .45s cubic-bezier(.34,1.56,.64,1) both}main>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}@keyframes pageEnter{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pageEnterFromTop{0%{transform:translateY(-60px);opacity:0}to{transform:translateY(0);opacity:1}}html[data-enter-dir=back] main{animation-name:pageEnterFromTop}footer{border-top:1px solid var(--border);padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.8rem;letter-spacing:.02em;flex-shrink:0}.footer-controls{display:flex;align-items:center;gap:.75rem}.font-toggle{display:flex;gap:4px;align-items:baseline}.font-btn{background:none;border:none;cursor:pointer;padding:3px 5px;color:var(--muted);line-height:1;transition:color .2s;font-family:Georgia,serif;font-weight:400}.font-btn.active{color:var(--accent)}.font-btn:hover:not(.active){color:var(--text)}.font-btn[data-fs=s]{font-size:13px}.font-btn[data-fs=m]{font-size:16px}.font-btn[data-fs=l]{font-size:20px}.footer-sep{width:1px;height:14px;background:var(--border);display:inline-block}.theme-toggle{display:flex;gap:4px;align-items:center}.theme-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--muted);display:flex;align-items:center;transition:color .2s;border-radius:4px}.theme-btn.active{color:var(--accent)}.theme-btn:hover:not(.active){color:var(--text)}.page-dots{position:fixed;right:1.25rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.6rem;z-index:100}.page-dots a{width:7px;height:7px;border-radius:50%;background:var(--border);display:block;transition:background .2s,transform .2s;position:relative;text-decoration:none}.page-dots a.active{background:var(--accent);transform:scale(1.4)}.page-dots a:hover:not(.active){background:var(--muted)}.page-dots a:after{content:attr(data-label);position:absolute;right:calc(100% + .75rem);top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--muted);white-space:nowrap;background:var(--surface);padding:.2rem .5rem;border-radius:4px;border:1px solid var(--border);opacity:0;pointer-events:none;transition:opacity .15s}.page-dots a:hover:after{opacity:1}h1,h2,h3,h4{font-family:Georgia,serif;font-weight:400;line-height:1.3;color:var(--text)}h1{font-size:2rem;margin-bottom:1.25rem}h2{font-size:1.3rem;margin:2.25rem 0 .75rem;color:var(--accent)}h3{font-size:1.05rem;margin-bottom:.3rem}p{margin-bottom:.85rem}p:last-child{margin-bottom:0}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-h);text-decoration:underline}ul,ol{padding-left:1.4rem;margin-bottom:.85rem}li{margin-bottom:.3rem}article{max-width:var(--max-w)}article section{margin-top:2.5rem}.credential,.role,.subject,.service{border-left:2px solid var(--border);padding-left:1rem;margin-bottom:1.5rem;transition:border-color .2s}.credential:hover,.role:hover,.subject:hover,.service:hover{border-left-color:var(--accent)}.credential p,.role p,.subject p,.service p{color:var(--muted);font-size:.9rem}.credential h3,.role h3,.subject h3,.service h3{color:var(--text);font-size:1rem;margin-bottom:.2rem}.credential ul,.role ul{margin-top:.4rem;font-size:.85rem;color:var(--muted)}.hero{display:grid;grid-template-columns:180px 1fr;gap:2.5rem;align-items:center;padding-bottom:2.5rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.hero img{width:100%;aspect-ratio:auto;border-radius:var(--radius);display:block}.hero-text h1{font-size:2.2rem;margin-bottom:.4rem}.hero-text p{color:var(--muted);font-size:.95rem;margin-bottom:.2rem}.intro{margin-bottom:2.5rem;font-size:1rem;line-height:1.8}.services h2{margin-top:0;margin-bottom:1.25rem}.services ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.services ul a{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;color:var(--text);text-decoration:none;transition:border-color .2s,box-shadow .2s}.services ul a:hover{border-color:var(--accent);box-shadow:0 2px 12px #3d6b4a14;text-decoration:none}.services ul h3{font-size:1rem;color:var(--accent);margin-bottom:.35rem}.services ul p{font-size:.85rem;color:var(--muted);margin:0}.school-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:1.25rem}.school-logo{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem .5rem .65rem;transition:border-color .2s}.school-logo:hover{border-color:var(--accent)}.school-logo img{width:48px;height:48px;object-fit:contain;display:block}.school-logo span{font-size:.65rem;color:var(--muted);text-align:center;line-height:1.2;letter-spacing:.01em}.logo-fallback{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--surface2);border-radius:4px;font-family:Georgia,serif;font-size:.85rem;color:var(--muted);letter-spacing:.02em;flex-shrink:0}@media(max-width:680px){.school-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:480px){.school-grid{grid-template-columns:repeat(3,1fr)}}.testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-items:start;margin-top:1.5rem}blockquote{border-left:3px solid var(--accent);padding:1.25rem;background:var(--surface);border-radius:0 var(--radius) var(--radius) 0}blockquote p{font-style:italic;color:var(--text);font-size:.95rem;margin-bottom:.4rem}blockquote cite{font-size:.8rem;color:var(--muted);font-style:normal}form{max-width:560px;margin-top:1.5rem;display:flex;flex-direction:column;gap:1.1rem}form div{display:flex;flex-direction:column;gap:.3rem}label{font-size:.85rem;color:var(--muted);letter-spacing:.02em}label span{color:var(--accent)}input,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .85rem;font-size:.95rem;font-family:inherit;color:var(--text);transition:border-color .2s;width:100%}input:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical}button[type=submit]{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.65rem 1.5rem;font-size:.9rem;font-family:inherit;cursor:pointer;align-self:flex-start;transition:background .2s}button[type=submit]:hover{background:var(--accent-h)}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}#form-status{font-size:.85rem;color:var(--muted);min-height:1.2em}@media(max-width:680px){.page-dots{display:none}.hero{grid-template-columns:1fr;gap:1.5rem}.hero img{max-width:180px}.services ul{grid-template-columns:1fr}}@media(max-width:520px){nav.site-nav{padding:0 1rem}nav.site-nav ul{gap:1rem}main{padding:2rem 1rem 3rem}footer{flex-direction:column;gap:.75rem;align-items:flex-start;padding:1rem}}
