.teachers-hero {background:var(--background-soft);padding:56px 0 48px;border-bottom:1px solid var(--border-color)}
.teachers-hero .container>p {max-width:760px}
.teachers-hero h1 {font-family:var(--font-heading,'Baloo 2',sans-serif);font-size:clamp(32px,4vw,54px);line-height:1.15;margin:16px 0}
.teachers-hero h1 em {color:var(--primary-text);font-style:normal}
.teachers-lead {font-size:20px;font-weight:800;line-height:1.6}
.teachers-hero .btn {margin-top:24px}
.teachers-directory {padding-top:48px;scroll-margin-top:100px}
.teachers-directory h2,.teacher-faq h2 {font-size:32px;margin:8px 0 12px}
.teacher-filters {display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 16px}
.teacher-filters[hidden],.teacher-card[hidden] {display:none}
.teacher-filters button {font:inherit;font-weight:800;color:var(--text-primary);background:white;border:1px solid var(--border-color);border-radius:24px;padding:10px 18px;cursor:pointer}
.teacher-filters button[aria-pressed="true"] {background:var(--primary-light);border-color:var(--primary);color:var(--primary-text)}
.teacher-filters button:focus-visible,.teacher-card summary:focus-visible,.teacher-faq summary:focus-visible {outline:3px solid var(--primary-text);outline-offset:4px}
#teacher-count {font-size:14px;color:var(--text-secondary);margin-bottom:20px}
.teacher-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.teacher-card {border:1px solid var(--border-color);border-radius:24px;overflow:hidden;background:white;box-shadow:0 8px 24px #17384a08}
.teacher-photo {height:290px;background:var(--primary-soft);padding:16px 16px 0}
.teacher-photo img {width:100%;height:100%;object-fit:contain;object-position:center bottom;border-radius:14px 14px 0 0}
.teacher-copy {padding:24px}
.teacher-subject {color:var(--primary-text);font-size:13px;font-weight:900;min-height:22px}
.teacher-card h3 {font-size:28px;margin:6px 0 8px;font-family:'Baloo 2',sans-serif}
.teacher-message {min-height:78px;line-height:1.6}
.teacher-card summary {cursor:pointer;color:var(--primary-text);font-weight:900;padding:14px 0 0;margin-top:16px;border-top:1px solid var(--border-color)}
.teacher-detail p {margin-top:14px;font-size:15px;line-height:1.7}
.teacher-faq {padding-top:64px;padding-bottom:20px;max-width:900px}
.teacher-faq details {padding:20px 0;border-bottom:1px solid var(--border-color)}
.teacher-faq summary {font-size:18px;font-weight:800;cursor:pointer}
.teacher-faq details p {margin-top:12px;line-height:1.8}
.teacher-faq>p:last-child {margin-top:24px}
@media(max-width:1000px) {.teacher-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px) {.teachers-hero {padding:36px 0}.teachers-lead {font-size:18px}.teacher-grid {grid-template-columns:1fr}.teacher-message {min-height:0}.teacher-photo {height:300px}.teacher-copy {padding:20px}.teachers-directory h2,.teacher-faq h2 {font-size:28px}.teacher-filters button {padding:9px 13px;font-size:14px}}
