/* Team refinement: original Platons palette, Bangers/Lato, and full-frame portraits. */
.platons-teachers{--teacher-line:oklch(from var(--fg) l c h / .2);padding:8px 24px 0;color:var(--fg)}
.platons-teachers .teacher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;max-width:1200px;margin:0 auto}
.platons-teachers .teacher-card{min-width:0;padding:0;background:transparent;border:0;box-shadow:none;display:flex;flex-direction:column;align-items:center;text-align:center}
.platons-teachers .teacher-portrait{width:100%;max-width:240px;margin:0 0 22px;padding:0;background:transparent;border-radius:120px 120px 18px 18px;transition:transform .3s ease;isolation:isolate}
.platons-teachers .teacher-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;border-radius:inherit;transform:none!important;box-shadow:none!important;filter:none!important}
.platons-teachers .teacher-name{font:400 var(--card-title-size)/1.2 var(--font-display);letter-spacing:1px;margin:0 0 9px;color:var(--fg);text-wrap:balance}
.platons-teachers .teacher-bio{font:400 var(--card-body-size)/1.65 var(--font-body);max-width:24ch;margin:0 0 12px;color:var(--fg);text-wrap:pretty}
.platons-teachers .teacher-socials{display:flex;gap:4px;align-items:center;justify-content:center;margin-top:auto}
.platons-teachers .teacher-social{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:12px;border:1px solid var(--teacher-line);border-radius:50%;color:var(--fg);background:transparent}
.platons-teachers .teacher-social svg,.platons-teachers .teacher-profile svg,.teacher-dialog-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
.platons-teachers .teacher-social[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.platons-teachers .teacher-social-note{display:none}
.platons-teachers .teacher-profile{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;padding:8px 12px;margin:10px 0 0;border:0;border-radius:6px;background:transparent;color:var(--fg);font:700 var(--label-size)/1.5 var(--font-body);text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--teacher-line);transition:background .2s ease,text-decoration-color .2s ease}
.platons-teachers .teacher-profile:hover{color:var(--fg);background:var(--surface);text-decoration-color:var(--fg)}
.teacher-dialog{box-sizing:border-box;width:calc(100% - 40px);max-width:640px;max-height:calc(100dvh - 40px);margin:auto;padding:40px;border:1px solid oklch(from var(--fg) l c h / .16);border-radius:20px;background:var(--surface);color:var(--fg);font-family:var(--font-body);box-shadow:0 20px 60px oklch(from var(--fg) l c h / .18)}
.teacher-dialog::backdrop{background:oklch(from var(--fg) l c h / .55)}
.teacher-dialog .teacher-dialog-close{position:absolute;right:12px;top:12px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg);display:grid;place-items:center;cursor:pointer}
.teacher-dialog .teacher-dialog-close:hover{background:var(--bg);color:var(--fg)}
.teacher-dialog-layout{display:grid;grid-template-columns:140px minmax(0,1fr);gap:28px;align-items:start;margin-top:20px}
.teacher-dialog .teacher-dialog-photo{display:block;width:140px;height:auto;aspect-ratio:4/5;object-fit:contain;border-radius:70px 70px 12px 12px;padding:0}
.teacher-dialog .teacher-dialog-kicker{font-family:var(--font-body);font-size:var(--eyebrow-size,12px);font-weight:var(--eyebrow-weight,700);line-height:1.6;letter-spacing:var(--eyebrow-spacing,2px);text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.teacher-dialog h2{font:400 var(--heading-feature-size)/1.2 var(--font-display);letter-spacing:1px;margin:0 0 14px;color:var(--fg)}
.teacher-dialog p{font-size:var(--card-body-size);line-height:1.7;margin:0 0 20px}
.teacher-dialog dl{margin:0;border-top:1px solid oklch(from var(--fg) l c h / .16)}
.teacher-dialog dl div{padding:12px 0;border-bottom:1px solid oklch(from var(--fg) l c h / .16)}
.teacher-dialog dt{font-size:var(--label-size);font-weight:700;margin-bottom:4px}
.teacher-dialog dd{font-size:var(--card-body-size);line-height:1.65;margin:0}
.teacher-dialog button:focus-visible,.platons-teachers button:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.platons-teachers .teacher-card:hover .teacher-portrait{transform:translateY(-4px)}}
@media(max-width:1000px){.platons-teachers .teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;gap:36px 28px}}
@media(max-width:540px){.platons-teachers{padding-inline:20px}.platons-teachers .teacher-grid{gap:30px 20px}.platons-teachers .teacher-portrait{margin-bottom:16px}.platons-teachers .teacher-name{letter-spacing:.6px}.platons-teachers .teacher-bio{margin-bottom:10px}.platons-teachers .teacher-profile{margin-top:6px}.teacher-dialog{padding:44px 24px 24px}.teacher-dialog-layout{grid-template-columns:1fr;gap:20px;margin-top:0}.teacher-dialog .teacher-dialog-photo{width:112px}}
@media(max-width:359px){.platons-teachers .teacher-grid{grid-template-columns:1fr;max-width:240px}}
@media(prefers-reduced-motion:reduce){.platons-teachers *, .teacher-dialog *{transition:none!important;animation:none!important}}
