html { scroll-behavior: smooth; }
body { background: #f3f6fa; color: #1f2937; }
.portal-hero {
  background-image:
    linear-gradient(100deg, rgba(30,58,138,.96), rgba(3,105,161,.88)),
    url('../images/photo-1578575437130-527eed3abbec.png');
  background-size: cover;
  background-position: center;
}
.service-card { transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.service-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(15, 23, 42, .10); border-color: #BFDBFE; }
.priority-scroll { scroll-snap-type: x proximity; }
.priority-scroll > button { scroll-snap-align: start; }
.module-active { border-color: #1E3A8A !important; background: #EFF6FF !important; }
.status-dot { width: 8px; height: 8px; border-radius: 999px; display: inline-block; }
.toast { animation: fadeToast .2s ease-out; }
@keyframes fadeToast { from { transform: translate(-50%, -8px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .hero-layout, .service-layout, .detail-layout { grid-template-columns: 1fr !important; }
}

.hidden { display: none; }
