/* Override the general footer-link rules for the four icon buttons. */
.site-footer .footer-grid .footer-socials .social-btn {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 44px; width: 44px; height: 44px; padding: 0; margin: 0;
  color: #09264d; background: #fff; border-radius: 50%;
  line-height: 1; box-shadow: none;
}
.site-footer .footer-grid .footer-socials .social-btn:hover {
  color: #0068ff; background: #e8f2ff;
}
.site-footer .footer-socials .social-btn svg {
  display: block; position: static; width: 22px; height: 22px;
  flex: 0 0 22px; margin: 0; transform: none; color: inherit;
}
.faculty-card--social .faculty-stage-img {
  width: min(100%, 255px); height: auto;
  object-fit: contain; object-position: center bottom;
  border-radius: 0;
  filter: none;
}
.faculty-card--social .faculty-icon-circle { background: #fff; color: #d94700; }
.faculty-card--social .faculty-icon-circle svg { color: inherit; width: 28px; height: 28px; }
.faculty-card--social .faculty-subject-pill { background: #d94700; }
#teacher-modal { max-height: calc(100dvh - 40px); overflow-y: auto; }
#teacher-modal .teacher-modal-visual { min-height: 520px; background: #dcecf4; }
#teacher-modal .teacher-modal-img {
  width: 100%; height: 100%; object-fit: cover;
  object-position: center 28%; border-radius: 0;
}
#teacher-modal .teacher-modal-overlay {
  background: linear-gradient(to bottom, transparent 42%, rgba(6,35,68,.12) 54%, rgba(6,35,68,.94) 100%);
}
#teacher-modal .teacher-modal-visual-content { z-index: 2; }
@media(max-width: 900px) {
  #teacher-modal .teacher-dialog-inner { grid-template-columns: 1fr; }
  #teacher-modal .teacher-modal-visual { min-height: 350px; height: 350px; }
  #teacher-modal .teacher-modal-img { object-position: center 25%; }
  #teacher-modal .teacher-modal-visual-content { max-width: 420px; }
}
@media(max-width: 480px) {
  #teacher-modal { max-height: calc(100dvh - 24px); }
  #teacher-modal .teacher-modal-visual { min-height: 310px; height: 310px; }
  #teacher-modal .teacher-modal-img { object-position: center top; }
}

/* Classroom portrait cards, matching the faculty reference. */
#faculty {padding:72px 0;background:#fff;border-top:0;border-bottom:0;}
#faculty > .wrap {position:relative;}
#faculty .faculty-heading-wrap {text-align:left;margin-bottom:34px;padding-right:0;}
#faculty .faculty-eyebrow {color:#7b8da4;font-size:11px;letter-spacing:2px;}
#faculty .faculty-title {display:block;font-size:clamp(30px,3.2vw,46px);margin:14px 0 10px;}
#faculty .faculty-subtitle {max-width:850px;margin:0;font-size:15px;}
#faculty .faculty-subtitle br {display:none;}



#faculty .staff-cards-grid {display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 18px;}
#faculty .staff-cards-grid::-webkit-scrollbar {display:none;}
#faculty .faculty-card {flex:0 0 calc((100% - 66px)/4);min-width:0;overflow:hidden;border:1px solid #dce8f4;border-radius:25px;background:#fff;scroll-snap-align:start;box-shadow:0 8px 20px #123e7506;}
#faculty .faculty-card:hover {transform:none;}
#faculty .faculty-card-visual {margin:0;height:235px;display:block;}
#faculty .faculty-stage-img {width:100%;max-width:none;height:100%;object-fit:cover;object-position:center 16%;border-radius:0;filter:none;}
#faculty .faculty-card-content {padding:25px 20px 22px;border:0;border-radius:0;box-shadow:none;}
#faculty .faculty-badge-row {top:-42px;left:auto;right:12px;}
#faculty .faculty-icon-circle {display:none;}
#faculty .faculty-subject-pill {background:#fff;color:#e60036;box-shadow:0 2px 8px #09264d15;font-size:10px;padding:7px 12px;}
#faculty .faculty-card-content h3 {font-size:20px;}
#faculty .faculty-role {color:#e60036;font-size:12px;min-height:34px;}
#faculty .faculty-exp-line {font-size:11px;min-height:32px;font-weight:400;color:#6d829b;}
#faculty .grad-cap-icon {display:none;}
#faculty .faculty-quote-card {background:#f5f8fc;border:0;border-left:3px solid #369aff;font-size:12px;padding:13px;min-height:105px;}
#faculty .faculty-bio-btn {background:#f4f8fd;border-color:#d7e5f5;border-radius:14px;padding:14px 8px;}
#faculty .faculty-bio-btn:hover {background:#123e75;color:white;}
.rewards-right-badges .rewards-spark-icon {position:absolute;right:-18px;top:-20px;margin:0;transform:rotate(12deg);}
.rewards-right-badges {position:relative;}
@media(max-width:1100px){#faculty .faculty-card {flex-basis:calc((100% - 44px)/3);}}
@media(max-width:800px){#faculty .faculty-card {flex-basis:calc((100% - 22px)/2);}#faculty .faculty-heading-wrap {padding-right:0;} }
@media(max-width:560px){#faculty {padding:48px 0;}#faculty .faculty-card {flex-basis:88%;}#faculty .faculty-card-visual {height:260px;}#faculty .faculty-title {font-size:32px;}#faculty .faculty-subtitle {font-size:14px;}.rewards-right-badges .rewards-spark-icon {right:0;top:-16px;}}
#faculty .faculty-heading-wrap {max-width:none;margin-left:0;margin-right:0;}
#faculty .faculty-stage-img {object-position:center top;}
