/* Teacher directory: source-provided introductions and representative images. */
.td-page .td-breadcrumb { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; color:#526b5c; font-size:14px; }
.td-page .td-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.td-page .td-eyebrow { color:#557242; font-size:13px; font-weight:800; letter-spacing:.06em; margin:0 0 12px; }
.td-page .td-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; padding-block:48px 58px; }
.td-page .td-hero h1 { margin:0 0 20px; font-size:52px; }
.td-page .td-lead { color:#496052; font-size:19px; line-height:1.9; }
.td-page .td-stats { display:flex; flex-wrap:wrap; gap:16px 32px; margin:30px 0; color:#4c624a; }
.td-page .td-stats b { font-size:28px; color:#173b32; }
.td-page .td-intro { background:#edf2df; border:1px solid #cedbb8; border-radius:22px; padding:30px; }
.td-page .td-intro>strong { font-size:20px; }
.td-page .td-intro ol { padding-left:24px; margin-bottom:0; }
.td-page .td-intro li { padding:10px 0 10px 6px; }
.td-page .td-intro li b,.td-page .td-intro li span { display:block; }
.td-page .td-intro li span { color:#53644f; font-size:15px; margin-top:4px; }
.td-page .td-directory { border-top:1px solid #d3ddcd; padding-top:40px; }
.td-page .td-directory>h2 { font-size:32px; margin:8px 0 12px; }
.td-page .td-directory>p:not(.td-eyebrow) { color:#53644f; }
.td-page .td-filter { background:#eef2e8; padding:24px; border:1px solid #d2ddca; border-radius:16px; margin:28px 0; }
.td-page .td-filter-row { display:grid; grid-template-columns:120px 200px minmax(0,1fr) auto; gap:14px; align-items:end; }
.td-page .td-filter label { display:block; font-size:15px; font-weight:750; margin-bottom:7px; }
.td-page .td-filter :is(input,select) { width:100%; min-height:48px; padding:10px 12px; border:1px solid #a5b69e; border-radius:9px; color:#173b32; background:#fff; font-size:16px; }
.td-page .td-filter .btn { padding:10px 16px; cursor:pointer; }
.td-page #teacher-count { margin:14px 0 0; color:#486246; font-size:14px; }
.td-page .td-branch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.td-page .td-branch-card { display:flex; flex-direction:column; padding:23px; border:1px solid #d4dfce; border-radius:15px; background:#fffefa; }
.td-page .td-card-top { display:flex; justify-content:space-between; gap:12px; font-size:13px; color:#537046; }
.td-page .td-branch-card h3 { font-size:25px; line-height:1.5; margin:12px 0; }
.td-page .td-branch-card h3 a { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.td-page .td-branch-card h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.td-page .td-branch-card h3 a span { color:#68894f; font-size:19px; }
.td-page .td-place { color:#52664e; margin:0 0 14px; }
.td-page .td-names { color:#35533f; margin:0 0 18px; }
.td-page .td-focus-preview { margin:auto 0 0; padding-top:15px; border-top:1px solid #e0e7d9; font-size:14px; color:#586b4c; }
.td-page .td-more { text-align:center; margin:30px 0; }
.td-page .td-more button { cursor:pointer; min-width:240px; }
.td-page .td-empty { margin-top:24px; border:1px dashed #a5ba91; padding:40px 22px; text-align:center; border-radius:16px; }
.td-page .td-bottom { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:32px; border-radius:20px; background:#183f31; color:#f5f9e9; margin:60px 0; }
.td-page .td-bottom h2 { font-size:28px; margin:0 0 14px; color:#f5f9e9; }
.td-page .td-bottom p { margin:0; color:#dfebd7; }
.td-page .td-bottom>div { max-width:750px; }
.td-page .td-bottom>a { flex-shrink:0; }
.td-page .td-branch-hero { padding:35px 0 38px; }
.td-page .td-branch-hero h1 { max-width:950px; margin:8px 0 20px; font-size:42px; }
.td-page .td-branch-hero .td-lead { margin:0 0 12px; }
.td-page .td-location { color:#5b6c51; margin:0; }
.td-page .td-branch-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.td-page .td-merge-note { background:#edf2e4; border-left:3px solid #859e60; padding:12px 18px; margin-top:22px; }
.td-page .td-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:18px; }
.td-page .td-section-heading h2 { margin:0; font-size:30px; }
.td-page .td-section-heading>span { white-space:nowrap; font-size:14px; color:#506847; }
.td-page #teacher-profiles { border-top:1px solid #d3ddcd; padding-top:32px; }
.td-page .td-photo-note { font-size:14px; color:#596a52; margin:16px 0; }
.td-page .td-teacher-jump { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 28px; }
.td-page .td-teacher-jump a { display:inline-block; border:1px solid #c9d8bb; background:#edf2e5; border-radius:20px; padding:8px 14px; min-height:42px; font-size:14px; }
.td-page .td-teacher-jump a:hover { background:#dfe9d3; }
.td-page .td-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.td-page .td-teacher-card { background:#fffefa; border:1px solid #d1ddc7; border-radius:18px; padding:26px; }
.td-page .td-teacher-card:target { border-color:#52733d; box-shadow:0 0 0 2px #d4e4bc; }
.td-page .td-profile-head { display:grid; grid-template-columns:104px minmax(0,1fr); align-items:center; gap:22px; }
.td-page .td-profile-head figure { margin:0; }
.td-page .td-profile-head img { display:block; width:104px; height:auto; border-radius:13px; background:#e5e4dc; }
.td-page .td-profile-head figcaption { text-align:center; margin-top:5px; color:#627257; font-size:12px; }
.td-page .td-teacher-branch { color:#557144; font-size:14px; margin:0 0 6px; }
.td-page .td-profile-head h2 { font-size:27px; margin:4px 0 14px; }
.td-page .td-profile-head h2>span { font-size:18px; }
.td-page .td-focus-label { color:#687a58; font-size:13px; margin:0 0 8px; }
.td-page .td-tags { display:flex; flex-wrap:wrap; gap:6px; }
.td-page .td-tags span { border-radius:6px; background:#eef3e5; color:#3f5e37; padding:5px 9px; font-size:13px; line-height:1.7; }
.td-page .td-bio { margin-top:23px; padding-top:18px; border-top:1px solid #e0e6d7; color:#3b5545; }
.td-page .td-bio p { margin:0 0 13px; font-size:16px; line-height:1.95; }
.td-page .td-bio p:last-child { margin-bottom:0; }
.td-page .td-consult { margin-top:44px; background:#edf2e4; border:1px solid #d4dfc9; border-radius:18px; padding:30px; }
.td-page .td-consult h2 { margin:10px 0 16px; font-size:28px; }
.td-page .td-consult p { color:#486043; }
.td-page .td-neighborhoods { padding-top:38px; }
.td-page .td-neighborhoods h2 { font-size:28px; }
.td-page .td-neighborhoods>div { display:flex; flex-wrap:wrap; gap:12px; }
.td-page .td-neighborhoods a { padding:11px 15px; border:1px solid #c3d3ba; border-radius:9px; text-decoration:underline; text-underline-offset:4px; }
.td-page .td-related { padding-top:50px; }
.td-page .td-related>.td-section-heading>a { text-decoration:underline; text-underline-offset:4px; font-size:15px; }
.td-page .td-updated { font-size:13px; color:#6b795e; margin:36px 0 56px; }
@media(max-width:980px){
 .td-page .td-hero { gap:28px; }
 .td-page .td-filter-row { grid-template-columns:1fr 1.5fr; }
 .td-page .td-filter-row .td-search { grid-column:1; }
 .td-page .td-filter-row button { justify-self:start; }
 .td-page .td-branch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .td-page .td-profile-grid { grid-template-columns:1fr; }
 .td-page .td-bottom { flex-direction:column; align-items:start; }
}
@media(max-width:700px){
 .td-page .td-hero { grid-template-columns:1fr; padding-top:28px; }
 .td-page .td-hero h1 { font-size:38px; }
 .td-page .td-intro { padding:24px; }
 .td-page .td-branch-hero h1 { font-size:32px; }
 .td-page .td-section-heading { flex-wrap:wrap; gap:10px; }
 .td-page .td-section-heading h2 { font-size:27px; }
 .td-page .td-branch-grid { grid-template-columns:1fr; }
 .td-page .td-filter { padding:20px; }
 .td-page .td-filter-row { grid-template-columns:1fr; }
 .td-page .td-teacher-card { padding:22px; }
 .td-page .td-profile-head { grid-template-columns:86px minmax(0,1fr); gap:16px; }
 .td-page .td-profile-head img { width:86px; }
 .td-page .td-profile-head h2 { font-size:25px; }
 .td-page .td-tags span { padding:4px 7px; }
 .td-page .td-bio { margin-top:20px; }
 .td-page .td-consult,.td-page .td-bottom { padding:24px; }
 .td-page .td-branch-actions a { width:100%; }
 .td-page .td-related .td-section-heading h2 { font-size:25px; }
}
