/* One teacher; credentials confirmed by the owner. Portraits are based on the owner-provided photos. */
.single-teacher-section{box-sizing:border-box;width:calc(100% - 40px);max-width:1180px;margin:0 auto;color:#151e48;scroll-margin-top:20px}
.lev-section-heading{margin-bottom:34px;text-align:center}
.lev-eyebrow{font:600 11px/1.5 Onest,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#6373a6;margin-bottom:15px}
#team .lev-section-heading h2{font:500 clamp(28px,3.3vw,42px)/1.25 Unbounded,Arial,sans-serif;letter-spacing:-1.4px}
.lev-profile{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;padding:18px;border:1px solid #e0e4f2;border-radius:28px;background:#fff}
.lev-photo{position:relative;overflow:hidden;min-height:440px;border-radius:20px;background:linear-gradient(145deg,#e4edff,#e9e3fc 60%,#d1e8f2);display:flex;align-items:flex-end;justify-content:center}
.lev-portrait{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.lev-portrait_placeholder{opacity:.75;object-fit:contain;height:94%;inset:auto auto 0;max-width:360px}
.lev-photo-caption{position:absolute;left:24px;top:24px;font:500 12px/1.5 Onest,Arial,sans-serif;color:#6b7ca6;background:#ffffffaa;padding:8px 12px;border-radius:9px}
.lev-photo-name{position:absolute;bottom:24px;left:24px;font:600 25px/1.3 Onest,Arial,sans-serif;letter-spacing:-.6px;background:white;color:#2545ee;border-radius:12px;padding:11px 22px}
.lev-copy{display:flex;flex-direction:column;align-items:flex-start;padding:38px 30px 32px 5px;min-width:0}
#team .lev-copy h3{font:600 44px/1.15 Onest,Arial,sans-serif!important;letter-spacing:-1.5px;margin-bottom:20px}
.lev-role{font:400 20px/1.5 Onest,Arial,sans-serif;color:#4f5d7e;max-width:390px}
.lev-course-topics{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px}
.lev-course-topics span{font:500 12px/1.4 Onest,Arial,sans-serif;padding:8px 11px;border-radius:8px;color:#516ba4;background:#edf2ff}
.lev-bio,.lev-education,.lev-achievements{font:400 17px/1.7 Onest,Arial,sans-serif;color:#53617f;margin:0 0 20px}.lev-achievements{display:grid;gap:10px;list-style:none;padding:0;width:100%;box-sizing:border-box}.lev-achievements li{padding:13px 16px;border-radius:12px;background:#edf2ff;color:#2745aa;font-weight:600;line-height:1.5}
.lev-materials-note{font:400 14px/1.65 Onest,Arial,sans-serif;color:#7b849b;max-width:400px;padding:18px 0;border-top:1px solid #e3e7f1}
.lev-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:27px}
.lev-primary{display:inline-flex;gap:16px;align-items:center;justify-content:center;border-radius:13px;padding:16px 23px;background:#2545ee;color:#fff;font:600 15px/1.5 Onest,Arial,sans-serif;text-decoration:none;min-height:53px;box-sizing:border-box}
.lev-primary:hover{background:#1d35bd}.lev-secondary{font:500 15px/1.5 Onest,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;color:#2545ee}
.single-teacher-section a:focus-visible{outline:3px solid #6487eb;outline-offset:4px}
.hero-lecturer-link{color:inherit;text-decoration:none;font:inherit}.hero-lecturer-link:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.lev-profile{gap:28px}.lev-photo{min-height:420px}.lev-copy{padding:28px 20px 25px 0}.lev-role{font-size:18px}.lev-actions{gap:18px}.lev-primary{font-size:14px;padding:15px 18px}.lev-secondary{font-size:14px}}
@media(max-width:640px){.single-teacher-section{width:calc(100% - 32px)}.lev-section-heading{margin-bottom:25px}.lev-eyebrow{font-size:10px;margin-bottom:12px}#team .lev-section-heading h2{font-size:27px;letter-spacing:-1px}.lev-profile{grid-template-columns:1fr;padding:10px;gap:0;border-radius:23px}.lev-photo{min-height:300px;border-radius:16px}.lev-portrait_placeholder{max-width:260px}.lev-photo-caption{left:18px;top:18px;font-size:11px}.lev-photo-name{left:18px;bottom:18px;font-size:23px;padding:9px 19px}.lev-copy{padding:27px 18px 22px}#team .lev-copy h3{font-size:36px!important;margin-bottom:16px}.lev-role{font-size:18px}.lev-course-topics{margin:20px 0 21px;gap:7px}.lev-course-topics span{font-size:11px;padding:7px 10px}.lev-materials-note{font-size:13px}.lev-actions{padding-top:20px;gap:21px}.lev-primary{font-size:14px}.lev-bio,.lev-education,.lev-achievements{font-size:16px}}

/* Keep both portrait positions below the CTA on narrow screens. */
.hero-portrait-pair {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: min(100% - 40px, 450px);
  margin: 24px auto 0;
  pointer-events: none;
}

.hero-portrait-link,
.hero-portrait-slot {
  width: 46%;
  aspect-ratio: 3 / 4;
}

.hero-portrait-link {
  display: block;
  position: relative;
  border-radius: 50% 50% 20% 20%;
  background: radial-gradient(ellipse at 55% 46%, #a7c1ff65, transparent 69%);
  pointer-events: auto;
}

.hero-portrait-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  mask-image: linear-gradient(#000 84%, transparent);
}

.hero-portrait-slot {
  background: radial-gradient(ellipse at 50% 63%, #a7c1ff21, transparent 70%);
}

.lev-portrait:not(.lev-portrait_placeholder) {
  object-fit: contain;
  object-position: center bottom;
  padding-top: 14px;
  box-sizing: border-box;
}

@media (min-width: 1024px) {
  #MainBlock .top {
    position: relative;
  }

  .hero-portrait-pair {
    position: absolute;
    inset: 0 max(12px, calc((100% - 1500px) / 2)) 0;
    width: auto;
    margin: 0;
    align-items: flex-start;
  }

  .hero-portrait-link,
  .hero-portrait-slot {
    width: clamp(150px, calc((100vw - 680px) / 2), 350px);
    margin-top: 100px;
  }

  .hero-portrait-link {
    width: clamp(320px, calc(92vw - 608px), 660px);
    height: clamp(390px, 38vw, 550px);
    margin-top: 66px;
    margin-right: clamp(-166px, calc(185px - 25vw), -70px);
    flex: none;
  }

  .hero-portrait-link img {
    object-fit: cover;
    object-position: center top;
    mask-image: linear-gradient(#000 74%, transparent);
  }
}

.lev-identity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
  width: 100%;
  margin-bottom: 20px;
}

#team .lev-identity h3 { margin: 0; }

.lev-credential {
  padding: 8px 12px;
  border-radius: 11px;
  background: #e7edff;
  color: #304ba6;
  font: 650 14px/1.4 Onest, Arial, sans-serif;
}

.lev-competencies {
  display: grid;
  gap: 13px;
  list-style: none;
  margin: 0;
  padding: 0;
  font: 550 17px/1.45 Onest, Arial, sans-serif;
  color: #1c2b5e;
}

.lev-competencies li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.lev-competency-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #e9e9ff;
  color: #303985;
  font-size: 20px;
  line-height: 1;
}
