:root{color-scheme:light;--ink:#181b20;--muted:#535d66;--brand:#153e35;--soft:#e6efeb;--line:#d9dde4;--paper:#fff;--canvas:#f3f4f6;font-family:Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scrollbar-color:#9ca6ad var(--canvas)}
*{box-sizing:border-box}body{margin:0;min-width:320px}::selection{background:#cbdfd5;color:#103128}a{color:var(--brand);text-underline-offset:4px}button,input{font:inherit;caret-color:var(--brand)}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #527a69;outline-offset:4px}input:focus-visible{outline-offset:1px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{line-height:1.65}svg{flex-shrink:0}.skip{position:fixed;top:-80px;left:20px;background:white;padding:16px;z-index:9}.skip:focus{top:8px}
.site-header{max-width:1280px;margin:auto;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:24px;font-weight:700;text-decoration:none}.brand img{display:block}.site-header nav{display:flex;gap:32px;align-items:center}.site-header nav a{font-size:15px;font-weight:600;min-height:44px;display:flex;align-items:center;text-decoration:none}.site-header nav a[aria-current]{text-decoration:underline}
main{max-width:1280px;padding:0 40px;margin:auto}.directory-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:66px 0 48px;border-top:1px solid var(--line)}h1{font-size:clamp(38px,4.6vw,64px);line-height:1.06;letter-spacing:-.035em;max-width:760px}.directory-intro p{font-size:19px;color:var(--muted);margin-top:24px;max-width:650px}.intro-link{display:flex;align-items:center;gap:14px;flex-shrink:0;min-height:48px;font-weight:600}
.directory-search{padding:28px;background:var(--soft);border-radius:14px;margin-bottom:52px}#search-form{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto auto;gap:20px;align-items:end}label{display:grid;gap:10px;font-size:14px;font-weight:600}input:not([type=checkbox]){width:100%;height:50px;border:1px solid #aab9b2;background:white;border-radius:8px;padding:12px;color:var(--ink);font-size:16px}input::placeholder{color:#647168;opacity:1}.check{display:flex;align-items:center;min-height:50px;gap:10px;white-space:nowrap}.check input{height:20px;width:20px;accent-color:var(--brand)}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;border-radius:8px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.5;border:1px solid transparent;transition:background .15s ease}.primary{background:var(--brand);color:white}.primary:hover{background:#103128}.secondary{background:white;color:var(--brand);border-color:#a5b4ad}.secondary:hover{background:var(--soft)}
.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}h2{font-size:26px;line-height:1.25;letter-spacing:-.02em}.text-button{color:var(--brand);text-decoration:underline;text-underline-offset:4px;background:none;border:0;padding:12px 0;min-height:44px}#directory-status{color:var(--muted);margin:22px 0;max-width:65ch}#results{min-height:80px}.teacher-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:24px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start}.initials{width:64px;height:64px;display:grid;place-items:center;background:var(--soft);color:var(--brand);font-size:22px;font-weight:700;border-radius:12px}.teacher-row h3{font-size:24px;line-height:1.25}.teacher-row h3 a{text-decoration:none;color:var(--ink)}.teacher-row h3 a:hover{text-decoration:underline}.subjects{color:var(--brand);font-weight:600;margin-top:8px}.location{color:var(--muted);font-size:14px;margin-top:10px}.bio-excerpt{max-width:65ch;margin-top:14px;color:var(--muted);overflow-wrap:anywhere}.teacher-row>.button{margin-top:4px}.teacher-row h3,.subjects{overflow-wrap:anywhere}#pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:32px}#page-label{font-variant-numeric:tabular-nums}
.teacher-detail{padding:10px 0 40px}.back-link{display:inline-flex;min-height:44px;align-items:center;margin-bottom:24px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px}#detail-name{font-size:40px;line-height:1.15;overflow-wrap:anywhere}.detail-bio{white-space:pre-line;overflow-wrap:anywhere;margin-top:32px;max-width:70ch;font-size:18px}.detail-contact{border-top:2px solid var(--brand);padding-top:24px;align-self:start;overflow-wrap:anywhere}.detail-contact h3{font-size:20px;margin-bottom:14px}.detail-contact p{color:var(--muted);margin-bottom:20px}.detail-contact .button{width:100%}.directory-note{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;margin:80px 0 56px;padding-top:32px;border-top:1px solid var(--line)}.directory-note h2{font-size:22px}.directory-note p{color:var(--muted);font-size:14px;max-width:70ch}footer{border-top:1px solid var(--line);max-width:1200px;margin:auto;padding:30px 0 40px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}footer p{color:var(--muted);font-size:14px}footer nav{display:flex;gap:24px;margin-left:auto;font-size:14px}footer a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1000px){#search-form{grid-template-columns:1fr 1fr}.directory-intro{display:block}.intro-link{margin-top:20px}.detail-grid{grid-template-columns:minmax(0,1fr) 250px;gap:32px}.teacher-row{grid-template-columns:56px minmax(0,1fr)}.teacher-row>.button{grid-column:2;justify-self:start}.initials{width:56px;height:56px}footer{margin:0 40px}}
@media(max-width:600px){.site-header{padding:16px 20px;gap:18px;align-items:flex-start}.site-header nav{gap:6px;align-items:flex-end;flex-direction:column}.site-header nav a{min-height:44px;font-size:13px}.brand{font-size:21px}.brand img{width:30px;height:30px}main{padding:0 20px}.directory-intro{padding:40px 0 28px}.directory-intro p{font-size:17px;margin-top:20px}.wide-break{display:none}.directory-search{padding:20px;margin-bottom:32px}#search-form{grid-template-columns:1fr;gap:18px}.check{min-height:44px}h2{font-size:22px}.results-heading{align-items:start;gap:12px}.text-button{font-size:13px}.teacher-row{gap:14px;padding:26px 0}.teacher-row h3{font-size:21px}.teacher-row>.button{grid-column:1/-1;width:100%}#detail-name{font-size:32px}.detail-grid{grid-template-columns:1fr;gap:32px}.detail-bio{font-size:16px}.directory-note{grid-template-columns:1fr;gap:16px;margin:56px 0 32px}footer{margin:0 20px;display:block}footer p{margin:10px 0}footer nav{gap:18px;flex-wrap:wrap}#pagination{gap:12px}.button{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Discovery and contact: extend the incumbent green/white system. */
.directory-intro{align-items:center;gap:72px;padding-block:56px 40px}.intro-copy{flex:1;min-width:0}.intro-copy h1{max-width:760px}.intro-copy p{max-width:48ch}
.quick-subjects{display:flex;align-items:baseline;gap:18px;margin-top:24px;padding-top:20px;border-top:1px solid #aab9b2}.quick-subjects>span{font-size:13px;white-space:nowrap;color:var(--brand)}.quick-subjects>div{display:flex;flex-wrap:wrap;gap:8px}.quick-subjects button,.filter-chip{padding:10px 14px;min-height:44px;border:1px solid #a5b4ad;border-radius:8px;background:var(--paper);color:var(--brand);font-size:14px;font-weight:500}.quick-subjects button:hover,.quick-subjects button[aria-pressed=true]{background:var(--brand);color:var(--paper);border-color:var(--brand)}.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.filter-chip{display:inline-flex;align-items:center;gap:10px;background:var(--soft);border-color:transparent}.filter-chip:hover{border-color:var(--brand)}
.teacher-row{grid-template-columns:80px minmax(0,1fr) auto;gap:28px;padding:36px 0}.initials{width:80px;height:88px;font-size:26px;border-radius:12px;align-self:start}.teacher-row:nth-child(even) .initials{background:var(--brand);color:var(--paper)}.teacher-row .subjects{font-size:16px}.teaching-formats{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.format{font-size:13px;line-height:1.5;padding:5px 10px;background:var(--canvas);color:var(--muted);border-radius:8px}.format.online{background:var(--soft);color:var(--brand)}.bio-excerpt{margin-top:18px}.teacher-row>.button{align-self:center}.empty-help{padding:28px;background:var(--canvas);border-radius:14px;max-width:760px}.empty-help h3{font-size:22px}.empty-help p{color:var(--muted);margin:12px 0 20px;max-width:60ch}
.teacher-invitation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 56px;padding:40px;margin-top:64px;background:var(--soft);border-radius:14px;align-items:center}.teacher-invitation h2{font-size:30px}.teacher-invitation p{color:var(--brand);max-width:65ch;margin-top:12px}.teacher-invitation>.button{min-width:260px}.teacher-invitation .invitation-price{grid-column:2;font-size:13px;margin:0;text-align:center}.directory-note{margin-top:56px}
.detail-identity{display:flex;gap:24px;align-items:start}.detail-identity .initials{flex-shrink:0;background:var(--brand);color:var(--paper)}.detail-grid{grid-template-columns:minmax(0,1fr) 340px;gap:64px}.detail-grid>div>.teaching-formats{margin-top:24px}.bio-title{font-size:22px;margin-top:40px}.detail-bio{margin-top:16px}.detail-contact{padding:28px;background:var(--soft);border:0;border-radius:14px;position:sticky;top:24px}.detail-contact h2{font-size:24px;margin-bottom:14px}.detail-contact p{color:var(--brand)}.detail-contact .contact-address{font-size:14px;margin:12px 0 0;user-select:all}.profile-share{border-top:1px solid #aab9b2;margin-top:8px;padding-top:8px}.detail-contact .copy-feedback{font-size:13px;margin:0;min-height:22px}.contact-prompt{margin-top:20px;padding-top:20px;border-top:1px solid #aab9b2}.contact-prompt h3{font-size:16px;line-height:1.45;margin-bottom:10px}.contact-prompt p{font-size:14px;margin:0}
@media(max-width:1000px){.directory-intro{display:flex;gap:32px}.quick-subjects{display:block}.quick-subjects>div{margin-top:12px}.teacher-row{grid-template-columns:64px minmax(0,1fr);gap:20px}.initials{width:64px;height:72px}.teacher-row>.button{grid-column:2;justify-self:start}.detail-grid{grid-template-columns:minmax(0,1fr) 300px;gap:32px}.detail-identity{display:block}.detail-identity .initials{display:grid;margin-bottom:20px}.teacher-invitation{gap:24px;padding:28px}}
@media(max-width:700px){.directory-intro{display:block;padding-top:36px}.directory-search{padding:20px}.teacher-row{grid-template-columns:56px minmax(0,1fr);gap:16px;padding:28px 0}.initials{width:56px;height:64px;font-size:22px}.teacher-row>.button{grid-column:1/-1;width:100%}.teacher-row h3{font-size:23px}.teacher-row .subjects{font-size:14px}.teacher-row .location{font-size:13px}.format{font-size:12px}.teacher-invitation{grid-template-columns:1fr;padding:24px;margin-top:40px}.teacher-invitation h2{font-size:26px}.teacher-invitation>.button{min-width:0;width:100%}.teacher-invitation .invitation-price{grid-column:1}.detail-grid{grid-template-columns:1fr;gap:32px}.detail-identity{display:flex;gap:18px}.detail-identity .initials{margin:0}.detail-identity #detail-name{font-size:30px}.detail-contact{position:static;padding:24px}.bio-title{margin-top:32px}.empty-help{padding:24px}.quick-subjects button{font-size:13px;padding-inline:10px}}

/* Search and teacher-authored information are the main content. */
.directory-intro { padding: 40px 0 32px; display: block; }
.intro-copy h1 { font-size: clamp(36px, 4vw, 52px); font-weight: 600; }
.intro-copy p { font-size: 17px; margin-top: 16px; max-width: 62ch; }
.directory-search { padding: 0 0 32px; background: transparent; border-radius: 0; border-bottom: 1px solid var(--line); margin-bottom: 36px; }
.quick-subjects { border-top: 0; padding-top: 0; gap: 16px; }
.quick-subjects button { border: 0; padding-inline: 0; margin-right: 16px; background: transparent; text-decoration: underline; text-underline-offset: 5px; }
.quick-subjects button:hover, .quick-subjects button[aria-pressed=true] { background: transparent; color: var(--brand); text-decoration-thickness: 2px; font-weight: 700; }
.teacher-row, .teacher-row:nth-child(even) { grid-template-columns: 56px minmax(0,1fr) auto; gap: 24px; }
.initials, .teacher-row:nth-child(even) .initials, .detail-identity .initials { width: 56px; height: 64px; background: var(--canvas); color: var(--brand); font-size: 22px; border-radius: 8px; }
.teacher-row h3 { font-weight: 600; }
.teaching-formats { gap: 16px; margin-top: 10px; }
.format, .format.online { padding: 0; background: transparent; color: var(--muted); border-radius: 0; }
.teacher-invitation { border-top: 1px solid var(--line); background: transparent; border-radius: 0; padding: 32px 0 0; }
.teacher-invitation h2 { font-size: 26px; }
.teacher-invitation p { color: var(--muted); }
.detail-contact { background: transparent; border-radius: 0; padding: 0 0 0 28px; border-left: 1px solid var(--line); }
.detail-contact p { color: var(--muted); }
.detail-contact h2 { font-size: 24px; }
@media (max-width: 1000px) { .teacher-row, .teacher-row:nth-child(even) { grid-template-columns: 56px minmax(0,1fr); } }
@media (max-width: 700px) {
  .directory-intro { padding-top: 28px; }
  .directory-search { padding: 0 0 24px; }
  .teacher-row, .teacher-row:nth-child(even) { gap: 16px; }
  .teacher-invitation { padding: 28px 0 0; }
  .detail-contact { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); }
}

/* The directory keeps a direct way back to the product and teacher workspace. */
.site-header{display:grid;grid-template-columns:auto 1fr auto;padding-block:14px;border-bottom:1px solid var(--line)}
.site-header nav{justify-content:center;gap:28px}
.site-header nav a{color:var(--muted);text-underline-offset:8px;text-decoration-thickness:2px}
.site-header nav a[aria-current]{color:var(--brand)}
.directory-portal-entry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-weight:600;text-decoration:none}
.directory-portal-entry svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;flex-shrink:0}
.directory-portal-entry:hover{background:var(--canvas)}
@media(max-width:760px){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:12px 20px 0;align-items:center}.site-header nav{grid-row:2;grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);margin-top:4px;padding:4px 0}.site-header nav a{font-size:13px;min-height:44px}.directory-portal-entry{font-size:12px;padding-inline:10px}.directory-portal-entry svg{display:none}}
