.sv-teachers { color:#535660; line-height:1.55; padding-top:16px; }
.sv-teachers * { box-sizing:border-box; }
.sv-teacher-intro,.sv-teacher-card,.sv-teacher-empty { background:#fcfffb; border:1px solid #c6c8d0; border-radius:18px; }
.sv-teacher-intro { padding:28px; }
.sv-teacher-eyebrow { color:#65677c; font-size:13px; font-weight:bold; letter-spacing:.035em; }
.sv-teacher-intro h1 { color:#292d76; font-size:28px; line-height:1.25; margin:8px 0 12px; }
.sv-teacher-intro p { margin:0 0 16px; }
.sv-teacher-info { margin:18px 0 24px; }
.sv-teacher-info summary { color:#292d76; cursor:pointer; font-weight:bold; }
.sv-teacher-info[open] summary { margin-bottom:12px; }
.sv-teacher-info ul { padding-left:24px; }
.sv-teacher-searches { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:28px; border-top:1px solid #e0e2e9; padding-top:22px; }
.sv-teacher-searches form { margin:0; min-width:0; }
.sv-teacher-searches label { display:block; color:#292d76; font-weight:bold; margin-bottom:8px; }
.sv-teacher-controls { display:flex; gap:8px; }
.sv-teacher-controls input,.sv-teacher-controls select { min-width:0; width:100%; height:46px; padding:10px 12px; font:inherit; color:#535660; background:white; border:1px solid #a8aabd; border-radius:8px; }
.sv-teacher-controls button { min-height:46px; padding:10px 18px; font:inherit; background:#292d76; color:white; border:1px solid #292d76; border-radius:8px; cursor:pointer; }
.sv-teacher-controls button:hover { background:#1c205b; }
.sv-teacher-searches small { display:block; margin-top:8px; }
.sv-teacher-results { margin-top:26px; }
.sv-teacher-result-heading { margin-bottom:16px; }
.sv-teacher-result-heading h2 { color:#292d76; font-size:22px; line-height:1.4; margin:0; }
.sv-teacher-result-heading p { margin:8px 0 0; }
.sv-teacher-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.sv-teacher-card { min-width:0; padding:24px; overflow-wrap:anywhere; }
.sv-teacher-card header { border-bottom:1px solid #e0e2e9; padding-bottom:16px; margin-bottom:16px; }
.sv-teacher-card h3 { color:#292d76; font-size:21px; line-height:1.35; margin:6px 0 0; }
.sv-teacher-card header p { margin:8px 0 0; }
.sv-teacher-contacts { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.sv-teacher-contacts a { display:block; max-width:100%; border-radius:8px; border:1px solid #dcdeea; padding:8px 12px; background:#f0f1f7; color:#292d76; font-size:15px; }
.sv-teacher-contacts a:hover { background:#e2e4f0; }
.sv-teacher-contacts span { display:block; font-size:12px; color:#65677c; margin-bottom:2px; }
.sv-teacher-contacts p { margin:0; }
.sv-teacher-notes { background:#f8f4e9; border-left:3px solid #b28f48; padding:10px 14px; margin-top:18px; border-radius:0 8px 8px 0; font-size:14px; }
.sv-teacher-notes p { margin:4px 0; }
.sv-teacher-district { margin-top:20px; padding-top:16px; border-top:1px solid #e0e2e9; font-size:14px; }
.sv-teacher-district h4 { color:#292d76; font-size:14px; margin:0 0 6px; }
.sv-teacher-district p { margin:0; }
.sv-teacher-empty { padding:24px; }
.sv-teacher-empty h3 { color:#292d76; margin-top:0; }
.sv-teachers :focus-visible { outline:3px solid #967322; outline-offset:3px; }
@media(max-width:850px) { .sv-teacher-searches { grid-template-columns:1fr; gap:20px; } }
@media(max-width:700px) { .sv-teacher-grid { grid-template-columns:1fr; } .sv-teacher-intro,.sv-teacher-card { padding:20px; } .sv-teacher-intro h1 { font-size:24px; } .sv-teacher-result-heading h2 { font-size:20px; } .sv-teacher-controls button { padding:10px 12px; } }
