.main-nav .menu-items {
  display: flex;
  align-items: center;
  gap: 22px;
}

.main-nav .menu-items li {
  list-style: none;
}

.portal-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.portal-link.secondary {
  background: #fff;
  color: #7b1734 !important;
  border: 1px solid #dcbfc8;
}

.instagram-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 34px;
  border: 1px solid #eadde1;
  border-radius: 28px;
  background: linear-gradient(135deg, #fff, #f8edf1);
  box-shadow: 0 16px 42px rgba(77,13,33,.08);
}

.instagram-card h2 { margin: 0; color: #4d0d21; }
.instagram-card p { margin: 6px 0 0; color: #796e73; }
.instagram-icon { font-size: 54px; }

.school-page-loader {
  position: fixed;
  z-index: 1000000;
  inset: 0;
  display: grid;
  place-content: center;
  background: rgba(255, 252, 253, .97);
  text-align: center;
  opacity: 1;
  visibility: visible;
  transition: opacity .32s ease, visibility .32s ease;
  backdrop-filter: blur(9px);
}

.school-page-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.school-page-loader-logo {
  position: relative;
  display: grid;
  place-items: center;
  width: 132px;
  height: 132px;
  margin: auto;
  border-radius: 36px;
  background: #fff;
  box-shadow: 0 24px 58px rgba(84, 16, 36, .2);
  animation: schoolLogoPulse 1.35s ease-in-out infinite;
}

.school-page-loader-logo::before {
  content: "";
  position: absolute;
  inset: -10px;
  border: 3px solid transparent;
  border-top-color: #7b1734;
  border-right-color: #d7adba;
  border-radius: 44px;
  animation: schoolLoaderSpin 1s linear infinite;
}

.school-page-loader-logo img {
  width: 98px;
  height: 98px;
  object-fit: contain;
}

.school-page-loader p {
  margin: 26px 0 0;
  color: #65132c;
  font-weight: 900;
}

@keyframes schoolLoaderSpin { to { transform: rotate(360deg); } }
@keyframes schoolLogoPulse { 50% { transform: scale(.95); } }

@media (prefers-reduced-motion: reduce) {
  .school-page-loader-logo,
  .school-page-loader-logo::before { animation: none; }
}

@media (max-width: 850px) {
  .header-inner {
    position: relative;
    height: auto;
    min-height: 78px;
    padding: 8px 0;
    flex-wrap: wrap;
  }
  .brand { order: 1; }
  .menu-button { order: 2; }
  .main-nav { top: 100%; }
  .main-nav .menu-items {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .portal-actions { order: 3; width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .portal-actions .portal-link { text-align: center; }
  .instagram-card { align-items: flex-start; flex-direction: column; }
}
