/* ===== Base ===== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: #FAFAFA;
}

/* ===== Nav (always white/sticky) ===== */
#site-header {
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(0,0,0,0.08);
}

/* ===== Section transitions ===== */
section {
  position: relative;
}

/* ===== Focus states for accessibility ===== */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #CF4520;
  outline-offset: 3px;
  border-radius: 4px;
}

/* ===== Smooth fade-in animations ===== */
.fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== School cards hover ===== */
.school-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.school-card:hover {
  transform: translateY(-2px);
}

/* ===== Mobile menu ===== */
#mobile-menu {
  animation: slideDown 0.2s ease;
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ===== Crisis box pulse ===== */
@keyframes subtle-pulse {
  0%, 100% { border-color: rgba(153,27,27,0.4); }
  50%       { border-color: rgba(153,27,27,0.7); }
}

footer .border-red-800\/40 {
  animation: subtle-pulse 3s ease-in-out infinite;
}
