.teacher-profile{padding:calc(var(--header-height) + 40px) 0 72px;background:#10110e;color:#eeeae0}
.teacher-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px;font-size:.85rem;color:#bbb8ac}
.teacher-breadcrumb a:hover{color:#f1d477}
.teacher-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center}
.teacher-photo{margin:0;background:#191b16;border:1px solid #ffffff26;border-radius:12px;overflow:hidden}
.teacher-photo img{display:block;width:100%;height:auto;max-height:580px;object-fit:contain}
.teacher-intro{min-width:0}
.teacher-intro h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.2;overflow-wrap:anywhere;hyphens:auto}
.teacher-tagline{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.5;margin:22px 0 28px;color:#ddd8c9}
.teacher-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:68px;padding:20px 24px;border-radius:8px;border:2px solid #f1d477;background:#f1d477;font-size:1.1rem;font-weight:800;line-height:1.4;text-decoration:none;overflow-wrap:anywhere;box-shadow:0 6px 24px #0003;color:#16170f!important}
.teacher-cta:hover{background:#ffe69a;border-color:#ffe69a}.teacher-cta:focus-visible{outline:3px solid white;outline-offset:5px}
.teacher-direct{font-size:.88rem;color:#bbb8ac;line-height:1.6;margin:16px 0}
.teacher-about{padding:56px 0;max-width:850px}
.teacher-about h2,.teacher-contact h2,.teacher-team-section h2{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.2;margin:12px 0 22px}
.teacher-about>p:not(.section-label){font-size:1.12rem;line-height:1.85;color:#ddd8c9}
.teacher-source{display:inline-block;margin-top:22px;color:#f1d477;text-decoration:underline;text-underline-offset:4px;font-size:.9rem}
.teacher-contact{padding:32px;border:1px solid #f1d47766;border-radius:12px;background:#1b1e16;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.teacher-contact p{line-height:1.7;color:#ccc8bb}.teacher-back{display:inline-block;margin-top:32px;color:#f1d477;padding:12px 0}
.teacher-details{display:grid;gap:10px;margin-top:18px}
.teacher-details a{display:flex;flex-direction:column;gap:5px;padding:14px 18px;border:1px solid #f1d47755;border-radius:8px;background:#1b1e16;color:#f1d477;text-decoration:none;min-width:0}
.teacher-details a span{font-size:.78rem;color:#bbb8ac}.teacher-details a strong{font-size:1rem;overflow-wrap:anywhere}
.teacher-details a:hover{background:#2b3023;border-color:#f1d477}.teacher-details a:focus-visible{outline:3px solid #f1d477;outline-offset:3px}
.teacher-team-section{padding:0 0 56px}.teacher-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.teacher-team article{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#191b16}
.teacher-team img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#10110e}
.teacher-team article>div{padding:24px}.teacher-team h3{font-size:1.5rem;margin-bottom:16px}.teacher-team p{line-height:1.7;color:#ddd8c9}
.rodgau-teacher-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rodgau-teacher-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--coal)}
.rodgau-teacher-card>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.rodgau-teacher-card img{display:block;width:100%;height:230px;object-fit:contain;background:#10110e}
.rodgau-teacher-card-copy{padding:24px;display:flex;flex-direction:column;flex:1;gap:16px;min-width:0}
.rodgau-teacher-card-copy .section-label{margin:0}.rodgau-teacher-card h3{font-size:1.5rem;line-height:1.2;overflow-wrap:anywhere;margin:0}
.rodgau-teacher-card-copy>p:not(.section-label){line-height:1.6;color:var(--muted)}
.rodgau-teacher-card strong{margin-top:auto;color:var(--accent)}.rodgau-teacher-card>a:hover strong{text-decoration:underline}.rodgau-teacher-card>a:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
@media(max-width:760px){.teacher-profile{padding:calc(var(--header-height) + 26px) 0 48px}.teacher-layout{grid-template-columns:1fr;gap:28px}.teacher-intro{grid-row:1}.teacher-photo{max-width:520px;width:100%;justify-self:center}.teacher-contact{grid-template-columns:1fr;padding:24px;gap:16px}.teacher-cta{font-size:1rem;padding:18px;min-height:64px}.teacher-about{padding:40px 0}.teacher-photo img{max-height:480px}.teacher-team,.rodgau-teacher-cards{grid-template-columns:1fr}.teacher-team img{max-height:360px}.rodgau-teacher-card img{height:auto;max-height:320px}}

.teacher-team-intro{max-width:80ch;margin:0 0 32px}.teacher-team-intro p{color:var(--muted);font-family:var(--font-body);font-size:1.02rem;line-height:1.72;margin:0 0 18px}

/* Consistent photo sizes across lesson cards and teacher profiles. */
.teacher-card-photo,.teacher-photo{aspect-ratio:1;overflow:hidden;background:#10110e}
.rodgau-teacher-card .teacher-card-photo img,.teacher-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.teacher-team img{width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:cover;object-position:center}
.teacher-card-photo .teacher-image-angy,.teacher-photo .teacher-image-angy{transform:scale(1.85);transform-origin:center}
.teacher-card-photo .teacher-image-logo,.teacher-photo .teacher-image-logo{object-fit:contain;padding:16px}
.teacher-card-photo img[src$="irina-hoffmann.jpg"],.teacher-photo img[src$="irina-hoffmann.jpg"]{object-position:62% center}
@media(max-width:760px){.teacher-team article,.rodgau-teacher-card{width:100%;max-width:520px;justify-self:center}}
.teacher-school-description{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.teacher-school-description h4{font-size:1.15rem;line-height:1.3;margin:0 0 12px}.teacher-school-description h4:not(:first-child){margin-top:24px}.teacher-school-description p{margin:0 0 16px}

.teacher-room-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.teacher-room-gallery figure{margin:0;aspect-ratio:3/4;display:flex;align-items:center;background:#10110e;border-radius:8px;overflow:hidden}
.teacher-room-crop{position:relative;overflow:hidden;width:100%;aspect-ratio:500/666}
.teacher-room-gallery .teacher-room-crop img{position:absolute;display:block;width:512%;max-width:none;height:auto;max-height:none;aspect-ratio:auto;left:-204.6%;top:-79.13%;object-fit:initial}
.teacher-room-crop-wide{aspect-ratio:888/666}
.teacher-room-gallery .teacher-room-crop-wide img{width:288.2883%;left:-93.3559%;top:-79.13%}
.teacher-person-contact{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.teacher-person-contact h4{font-size:1.15rem;line-height:1.3;margin:0 0 12px}.teacher-person-contact>p{font-size:.9rem;margin-top:12px}

/* Keep the wide school logo visible inside the shared photo frame. */
.rodgau-teacher-card .teacher-card-photo .teacher-image-logo{object-fit:contain;padding:12px;background:#21aaa8}
.teacher-photo .teacher-image-logo{object-fit:contain}
.teacher-person-details{max-width:900px;margin-bottom:40px}
.teacher-person-details h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:12px 0 24px}
.teacher-person-details>p:not(.section-label),.teacher-individual .teacher-school-description p,.teacher-individual .teacher-person-contact>p{color:#ddd8c9;line-height:1.8;font-size:1.06rem;margin-bottom:18px}
.teacher-individual .teacher-room-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:32px}
.teacher-individual .teacher-person-contact{max-width:600px}
@media(max-width:520px){.teacher-individual .teacher-room-gallery{grid-template-columns:1fr}}
.rodgau-teacher-card .teacher-card-photo{aspect-ratio:16/9;flex-shrink:0}.rodgau-teacher-card .teacher-card-photo img{object-position:center 35%}.rodgau-teacher-card .teacher-card-photo .teacher-image-logo{object-position:center;object-fit:contain}.rodgau-teacher-card .teacher-card-photo .teacher-image-angy{transform:scale(2.4);transform-origin:center 32%}

.rodgau-teacher-card-copy .teacher-category{color:var(--accent)}
.rodgau-teacher-card-copy>p.teacher-school-name{color:#fff;margin:-8px 0 0;font-size:.95rem;line-height:1.4}
/* Match the other card photos while preserving headroom in Born's portrait. */
.rodgau-teacher-card .teacher-card-photo .teacher-image-born{object-fit:cover;object-position:center top;height:100%;width:100%}
