.directory-main{min-height:65vh;padding-bottom:72px}.directory-hero{padding:76px 0 34px}.directory-hero h1{font:600 clamp(42px,6vw,66px)/1.04 var(--display);letter-spacing:-3.5px;max-width:900px;margin:20px 0 14px}.directory-hero>p{max-width:650px;color:#6c7c73;font-size:16px;line-height:1.75;margin:0}.directory-content{padding-bottom:24px}.directory-tools{display:grid;grid-template-columns:minmax(220px,420px);gap:7px;margin:8px 0 14px}.directory-tools label{font-size:11px;font-weight:700;color:#4d6657}.directory-tools input{width:100%;border:1px solid #dce4d9;background:#fff;border-radius:8px;padding:12px 14px;color:var(--ink);font:500 14px var(--sans)}.directory-tools input:focus{outline:2px solid #a6bb65;outline-offset:1px}.directory-count{font-size:12px;color:#77857c;margin:0 0 16px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.directory-card{min-width:0;border:1px solid #e3e9e1;border-radius:12px;background:#fff;padding:21px;box-shadow:0 8px 28px #203a2908}.directory-card h2,.directory-card h3{font:700 19px/1.25 var(--display);letter-spacing:-.4px;margin:9px 0}.directory-card p{font-size:13px;line-height:1.65;color:#718077;margin:8px 0}.directory-card .card-kicker{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#81934c}.directory-card .card-meta{font-size:11px;color:#6d7d73}.directory-card .card-badge{display:inline-flex;margin:4px 5px 0 0;padding:5px 8px;border-radius:999px;background:#f0f4e8;color:#526b43;font-size:10px;font-weight:700}.directory-card .button{margin-top:10px;padding:10px 13px;border-radius:7px;font-size:11px}.subject-directory-grid .directory-card{display:flex;flex-direction:column;align-items:flex-start;min-height:165px}.subject-count{margin-top:auto!important;color:#82904b!important;font-size:11px!important;font-weight:700}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.process-card{min-height:245px;padding:26px;border-radius:14px;background:#fff;border:1px solid #e3e9e1}.process-card>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf3df;color:#607c3f;font:800 13px var(--display)}.process-card h2{font:700 21px/1.25 var(--display);margin:23px 0 10px}.process-card p{color:#718077;font-size:13px;line-height:1.7;margin:0}.directory-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px;padding:27px 30px;border-radius:14px;background:#eaf0e1}.directory-cta h2{font:700 21px var(--display);margin:0 0 5px}.directory-cta p{font-size:12px;color:#718077;margin:0}.directory-cta .button{white-space:nowrap;border-radius:8px}.directory-error{padding:26px;border:1px dashed #d4dfd1;border-radius:12px;background:#fff;color:#748279;grid-column:1/-1;font-size:13px}@media(max-width:900px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:1fr}.process-card{min-height:unset}}@media(max-width:600px){.directory-hero{padding:48px 0 27px}.directory-hero h1{font-size:43px;letter-spacing:-2.3px}.directory-hero>p{font-size:14px}.directory-grid{grid-template-columns:1fr;gap:11px}.directory-card{padding:18px}.directory-cta{align-items:flex-start;flex-direction:column;padding:22px}.process-card{padding:21px}}
.directory-card .directory-tutor-photo{display:block;width:100%;height:185px;object-fit:cover;object-position:center 35%;border-radius:8px;background:#edf1e8}
.directory-search-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:end;gap:14px;margin:0 0 24px;padding:22px;border:1px solid #dfe7df;border-radius:14px;background:#f7f9f5}
.directory-search-form label{display:grid;gap:8px;color:#304b3f;font-size:14px;font-weight:700}
.directory-search-form input{width:100%;min-height:52px;padding:12px 15px;border:1px solid #d9e2d9;border-radius:9px;background:#fff;color:#1f302c;font:500 16px var(--sans)}
.directory-search-form select{width:100%;min-height:52px;padding:12px 15px;border:1px solid #d9e2d9;border-radius:9px;background:#fff;color:#1f302c;font:500 16px var(--sans)}
.directory-search-form input:focus{outline:2px solid #9bb67b;outline-offset:1px}
.directory-search-form .button{min-height:52px;padding:13px 22px;border-radius:9px;font-size:15px}
@media(max-width:650px){.directory-search-form{grid-template-columns:1fr;gap:12px;padding:16px}.directory-search-form .button{width:100%}}
