/* Reuse the platform's Falcon grid, type scale, spacing and landing components. */
:root { color-scheme: light; }
html { scroll-behavior: smooth; scroll-padding-top: 4.5rem; }
.portal-header .navbar { background-color: #0b1727; }
.portal-header .navbar > .container { justify-content: flex-start; }
.portal-nav-ready .navbar { background-color: rgba(11, 23, 39, var(--portal-nav-alpha, 0)); }
.portal-nav-access { margin-left: auto; white-space: nowrap; }
.portal-menu-toggle { display: none; }
.portal-header:not(.portal-nav-ready) .navbar { position: relative; }
.portal-campus { display: flex; flex-direction: column; align-items: center; }
.portal-campus + .portal-campus { border-left: 1px solid var(--falcon-border-color); }
.portal-campus-description { flex: 1; max-width: 330px; margin-bottom: 24px; }
.portal-footer-links { display: flex; flex-wrap: wrap; gap: 0 24px; }
.portal-footer-links a { display: inline-flex; min-height: 44px; align-items: center; }
.portal-skip-link { position: fixed; top: 8px; left: 8px; z-index: 1040; padding: 12px; color: white; background: #0b1727; transform: translateY(-150%); }
.portal-skip-link:focus { transform: translateY(0); color: white; }
a:focus-visible, button:focus-visible, .navbar .nav-link:focus-visible { outline: 3px solid #2c7be5; outline-offset: 4px; }
.portal-header a:focus-visible, .portal-header button:focus-visible, .portal-hero a:focus-visible, footer a:focus-visible { outline-color: #a9c6eb; }
@media (max-width: 991.98px) {
  .portal-menu-open .navbar { background-color: #0b1727; }
  .portal-nav-ready .portal-menu-toggle { display: flex; }
  /* Every destination stays available if JavaScript or Bootstrap cannot load. */
  .portal-header:not(.portal-nav-ready) .collapse { display: block; }
}
@media (max-width: 767.98px) {
  .portal-campus + .portal-campus { border-left: 0; border-top: 1px solid var(--falcon-border-color); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .img-landing-banner, .img-landing-banner::after { transition: none; }
  .img-landing-banner:hover, .img-landing-banner:focus { transform: translateY(-3rem); }
}
