.teacher-profile {
    --teacher-green: #21865e;
    color: #24362d;
    width: 100%;
    margin: 0 0 35px;
}
.teacher-profile a { text-decoration: none; }
.teacher-profile a:focus-visible { outline: 3px solid #21865e; outline-offset: 4px; }
.teacher-profile-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
    color: #6a7d72;
    font-size: 14px;
}
.teacher-profile-breadcrumb a { color: var(--teacher-green); }
.teacher-profile-hero {
    position: static;
    top: auto;
    z-index: auto;
    display: flex;
    align-items: center;
    gap: 38px;
    padding: 38px;
    border: 1px solid #dcece2;
    border-radius: 22px;
    background: linear-gradient(120deg, #e8f6ee, #f8fcf9 70%, #e4f3e9);
    box-shadow: 0 12px 35px rgba(31, 94, 63, .07);
}
.teacher-profile-photo {
    width: 220px;
    height: 260px;
    flex-shrink: 0;
    overflow: hidden;
    border: 6px solid #fff;
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(31, 94, 63, .12);
}
.teacher-profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.teacher-profile-heading { min-width: 0; overflow-wrap: anywhere; }
.teacher-profile-eyebrow {
    display: inline-block;
    padding: 7px 14px;
    border-radius: 20px;
    background: #d7efdf;
    color: #236545;
    font-size: 13px;
    font-weight: 600;
}
.teacher-profile-heading h1 { font-size: 32px; line-height: 1.5; font-weight: 700; margin: 14px 0 8px; color: #173e2a; }
.teacher-profile-designation { font-size: 19px; color: var(--teacher-green); margin-bottom: 10px; }
.teacher-profile-department { color: #536c5e; margin-bottom: 18px; }
.teacher-profile-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 18px;
    border-radius: 9px;
    background: var(--teacher-green);
    color: #fff;
    font-weight: 600;
}
.teacher-profile-back:hover, .teacher-profile-back:focus { background: #176b48; color: #fff; }
.teacher-profile-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 24px; margin-top: 26px; }
.teacher-profile-panel { padding: 28px; border: 1px solid #e2ece6; border-radius: 16px; background: #fff; box-shadow: 0 5px 18px rgba(31, 94, 63, .04); }
.teacher-profile-panel h2 { font-size: 21px; font-weight: 700; margin: 0 0 24px; padding-bottom: 16px; border-bottom: 1px solid #e8f0eb; color: #214c35; }
.teacher-profile-panel h2 i { color: var(--teacher-green); margin-right: 7px; }
.teacher-profile-facts { margin: 0; }
.teacher-profile-facts > div { padding: 14px 0; border-bottom: 1px solid #edf3ef; }
.teacher-profile-facts > div:first-child { padding-top: 0; }
.teacher-profile-facts > div:last-child { padding-bottom: 0; border-bottom: 0; }
.teacher-profile-facts dt { font-size: 13px; color: #718278; font-weight: 500; margin-bottom: 7px; }
.teacher-profile-facts dd { font-size: 16px; line-height: 1.9; margin: 0; overflow-wrap: anywhere; }
.teacher-profile-contact-link { display: flex; align-items: center; gap: 12px; color: #24362d; margin-bottom: 20px; }
.teacher-profile-contact-link > span:last-child { min-width: 0; }
.teacher-profile-contact-link:hover { color: var(--teacher-green); }
.teacher-profile-contact-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; background: #eaf6ee; color: var(--teacher-green); border-radius: 12px; font-size: 20px; }
.teacher-profile-contact-link small { display: block; color: #718278; margin-bottom: 4px; }
.teacher-profile-contact-link strong { display: block; font-size: 14px; font-weight: 500; overflow-wrap: anywhere; }
.teacher-profile-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.teacher-profile-social { display: inline-flex; gap: 8px; align-items: center; padding: 9px 12px; border-radius: 8px; background: #edf3f8; color: #285a85; font-size: 13px; }
.teacher-profile-facebook { background: #ecf2fe; color: #1864c7; }
.teacher-profile-linkedin { background: #eaf4fa; color: #086995; }
.teacher-profile-instagram { background: #fbedf3; color: #aa326b; }
.teacher-profile-social:hover { background: #dcece3; color: #173e2a; }
.teacher-profile-muted { color: #718278; line-height: 1.8; }
.teacher-profile-description { margin-top: 24px; }
.teacher-profile-description-content { color: #3d5247; line-height: 1.9; word-wrap: break-word; }
.teacher-profile-description-content img { max-width: 100%; height: auto; }
@media (max-width: 767px) {
    .teacher-profile-hero { flex-direction: column; text-align: center; gap: 22px; padding: 25px 18px; }
    .teacher-profile-heading h1 { font-size: 25px; }
    .teacher-profile-designation { font-size: 17px; }
    .teacher-profile-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .teacher-profile-panel { padding: 22px 18px; }
    .teacher-profile-panel h2 { font-size: 19px; }
}
