@font-face{font-family:CommitteeSerif;src:url('garamond.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{color-scheme:light;--green:#346532;--deep:#203c2c;--gold:#c78c18;--paper:#fffdf8;--wash:#f2f4eb;--border:#dce4d4;--muted:#627060;--shadow:0 10px 35px #2d48240a}
*{box-sizing:border-box}body{margin:0;color:var(--deep);background:linear-gradient(145deg,#fffdf8 30%,#eef2e7);font:15px/1.6 Arial,Helvetica,sans-serif;min-height:100vh}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--green)}:focus-visible{outline:3px solid #d0a43c;outline-offset:4px}[hidden]{display:none!important}.site-header{background:var(--paper);border-bottom:1px solid var(--border)}.header-inner{max-width:1280px;margin:auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;gap:22px}.identity{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--deep);max-width:720px}.identity img{flex-shrink:0;border-radius:50%;background:#fff}.brand{display:block;font:500 29px/1.15 CommitteeSerif,Georgia,serif}.brand-caption{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:8px;color:var(--muted)}.home-link{text-decoration:none;white-space:nowrap;font-size:12px}.page{max-width:1280px;margin:0 auto;padding:38px 36px 48px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:700;margin:0 0 12px}h1{font:500 clamp(34px,4.8vw,49px)/1.08 CommitteeSerif,Georgia,serif;margin:0 0 14px;letter-spacing:-.02em}.lead{font-size:14px;color:var(--muted);margin:0}.search-panel{background:var(--paper);border:1px solid var(--border);border-radius:15px;padding:23px;margin-top:28px;box-shadow:var(--shadow)}.filter-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.2fr;gap:16px}label{display:block;font-size:12px;font-weight:600}input,select{display:block;width:100%;min-height:46px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-top:7px;background:#fffefb;color:var(--deep);font-size:14px;min-width:0}input::placeholder{color:#7d8679}.search-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}.button{min-height:42px;padding:10px 18px;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--deep);font-size:13px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--green);border-color:var(--green);color:#fff;padding-inline:27px}.button:hover{border-color:var(--green)}.primary:hover{background:#274f27}.quiet{background:transparent}.button:disabled{opacity:.45;cursor:default}.source-note{color:var(--muted);font-size:11px;margin-left:auto}.status{min-height:24px;margin:10px 0;font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:30px;align-items:start}.results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px}.results-heading h2{font:500 25px/1.2 CommitteeSerif,Georgia,serif;margin:0}.count{font-size:12px;color:var(--muted)}.results{display:grid;gap:10px}.teacher-item{display:flex;align-items:center;gap:15px;width:100%;padding:18px;border:1px solid var(--border);border-radius:12px;color:var(--deep);background:var(--paper);text-align:left;box-shadow:0 3px 12px #2d482405}.teacher-item:hover{border-color:#7e9d72}.teacher-item[aria-pressed=true]{border-color:var(--green);box-shadow:inset 4px 0 0 var(--green)}.teacher-item .name{display:block;font:500 24px/1.16 CommitteeSerif,Georgia,serif;overflow-wrap:anywhere}.teacher-item .place{display:block;font-size:12px;color:var(--muted);margin-top:6px}.teacher-item .course-summary{display:block;font-size:11px;color:var(--green);margin-top:6px}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:56px;height:67px;border-radius:9px;background:var(--wash);color:var(--green);overflow:hidden;font:400 31px/1 CommitteeSerif,Georgia,serif}.avatar img{width:100%;height:100%;object-fit:cover}.detail-panel{background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.detail-top{display:flex;gap:20px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--border);margin-bottom:22px}.detail-top .avatar{width:90px;height:108px}.detail-top h2{font:500 33px/1.12 CommitteeSerif,Georgia,serif;margin:0 0 8px;overflow-wrap:anywhere}.detail-location{font-size:13px;color:var(--muted);margin:0}.detail-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 7px}.facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:13px 20px;margin:0;font-size:13px}.facts dt{color:var(--muted)}.facts dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.section-title{font:500 25px/1.2 CommitteeSerif,Georgia,serif;margin:25px 0 13px}.course-chips{display:flex;flex-wrap:wrap;gap:8px}.course-chip{background:var(--wash);color:var(--green);border-radius:6px;padding:7px 11px;font-size:12px;max-width:100%;overflow-wrap:anywhere}.phone-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.phone-section p{font-size:12px;color:var(--muted);margin:12px 0 0}.phone-number{font-size:19px;text-decoration:none;font-weight:600;display:block;overflow-wrap:anywhere}.captcha-container{margin-top:14px;min-height:66px}.captcha-container:empty{min-height:0}.phone-message{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.back-button{display:none;border:0;padding:0 0 18px;background:transparent;color:var(--green);font-size:13px;min-height:40px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;flex-wrap:wrap}.pagination span{font-size:12px;color:var(--muted)}.empty{padding:32px 20px;text-align:center;border:1px dashed var(--border);border-radius:12px}.empty h3{font:500 25px/1.2 CommitteeSerif,Georgia,serif;margin:0}.empty p{font-size:13px;color:var(--muted)}.error-box{padding:18px;border:1px solid #dba990;border-radius:10px;background:#fff5ec;color:#793b28;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.site-footer{max-width:1280px;margin:auto;padding:22px 36px 28px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--muted);border-top:1px solid var(--border)}.workspace[aria-busy=true]{opacity:.7}.photo-fallback{font-size:11px;line-height:1.4;font-family:Arial,sans-serif;text-align:center;padding:8px;color:var(--muted)}
@media(min-width:801px){.detail-panel{position:sticky;top:20px}}
@media(max-width:1000px){.brand{font-size:25px}.page{padding:30px 24px}.header-inner{padding:20px 24px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{gap:20px}.detail-panel{padding:22px}.facts{gap:12px}.detail-top{gap:14px}.detail-top .avatar{width:75px;height:90px}.detail-top h2{font-size:29px}}
@media(max-width:800px){.workspace{grid-template-columns:1fr}.detail-panel{margin-top:0}.back-button{display:inline-block}.workspace.mobile-detail .results-panel{display:none}.workspace:not(.mobile-detail) .detail-panel{display:none}.source-note{margin-left:0}.home-link{display:none}.facts{grid-template-columns:1fr 1.15fr}.pagination .button{min-height:44px}.teacher-item{padding:16px}.detail-panel{max-width:100%}}
@media(max-width:480px){.page{padding:26px 16px 32px}.header-inner{padding:17px 16px}.identity{gap:12px}.identity img{width:58px;height:58px}.brand{font-size:22px}.brand-caption{font-size:9px;letter-spacing:.07em}.search-panel{padding:16px;margin-top:22px}.filter-grid{gap:15px 10px}.filter-grid label:first-child{grid-column:1/-1}.filter-grid label:last-child{grid-column:1/-1}input,select{font-size:16px}.detail-panel{padding:20px}.detail-top h2{font-size:29px}.facts{grid-template-columns:1fr;gap:4px}.facts dd{margin-bottom:12px}.site-footer{padding:20px 16px}.source-note{flex-basis:100%;margin-top:5px}.teacher-item .name{font-size:25px}.captcha-container{max-width:100%}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,border-color .15s}}

