.school-footer {
  padding: 64px 0 24px;
  background: #203e58;
  border-top: 3px solid var(--gold);
  font-family: "Poppins", Arial, sans-serif;
  color: #e2e9ef;
}
.school-footer .footer-grid {
  width: min(1320px, calc(100% - 48px));
  grid-template-columns: minmax(0, 1.65fr) minmax(140px, .65fr) minmax(0, 1fr);
  gap: 48px;
  margin-bottom: 42px;
}
.footer-brand { min-width: 0; }
.footer-brand-link {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 26px;
}
.footer-brand-link img {
  width: 108px;
  height: auto;
  flex-shrink: 0;
}
.school-footer .logo-text strong {
  font-size: clamp(16px, 1.55vw, 22px);
  white-space: nowrap;
}
.school-footer .logo-text small { font-size: 12px; }
.school-footer h3 {
  margin: 14px 0 24px;
  color: var(--gold);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: 0;
}
.school-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-quick-links li + li,
.school-footer .footer-contact li + li { margin-top: 16px; }
.footer-quick-links a::before {
  content: "›";
  margin-right: 12px;
  color: var(--gold);
}
.school-footer .footer-contact li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 14px;
  line-height: 1.7;
}
.contact-icon {
  color: var(--gold);
  width: 20px;
  flex-shrink: 0;
  text-align: center;
}
.school-footer a:hover { color: var(--gold); }
.school-footer a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}
.school-footer .footer-map iframe { height: 240px; }
.school-footer .footer-map { border-radius: 8px; }
.school-footer .footer-map-open { padding: 12px; }
.school-footer .footer-map-open span { font-size: 12px; padding: 9px 14px; }
.school-footer .footer-bottom {
  width: min(1320px, calc(100% - 48px));
  text-align: center;
}
.school-footer .footer-bottom p { font-size: 13px; }
.school-footer .back-top {
  top: 14px;
  right: 24px;
  width: 32px;
  height: 32px;
  font-size: 22px;
  background: rgba(255,255,255,.1);
  border-radius: 4px;
}
@media (max-width: 1100px) {
  .school-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .footer-brand { grid-column: 1 / -1; }
  .school-footer .footer-map { max-width: 640px; }
}
@media (max-width: 680px) {
  .school-footer { padding-top: 54px; }
  .school-footer .footer-grid {
    width: calc(100% - 28px);
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .footer-brand-link { gap: 10px; }
  .footer-brand-link img { width: 80px; }
  .school-footer .logo-text strong { font-size: clamp(11px, 3.3vw, 20px); }
  .school-footer .logo-text small { font-size: 11px; }
  .school-footer .footer-bottom { width: calc(100% - 28px); }
}
.contact-icon svg {
  display: block;
  width: 20px;
  height: 20px;
  transform: translateY(4px);
}
