.site-navbar .dropdown-toggle { border: 0; border-radius: .55rem; background: transparent; transition: color .15s ease, background-color .15s ease; }
.site-navbar .dropdown-toggle:hover,
.site-navbar .dropdown-toggle.show { color: var(--blue-dark); background: var(--teal-light); }
.site-navbar .dropdown-toggle:focus { color: var(--blue-dark); background: var(--teal-light); box-shadow: none; }
.site-navbar .dropdown-toggle:focus-visible { outline: 3px solid rgba(46,139,139,.28); outline-offset: 2px; }
.site-navbar .navbar-nav .nav-link:not(.dropdown-toggle) { border-radius: .55rem; transition: color .15s ease, background-color .15s ease; }
.site-navbar .navbar-nav .nav-link:not(.dropdown-toggle):hover,
.site-navbar .navbar-nav .nav-link:not(.dropdown-toggle):focus { color: var(--blue-dark); background: var(--teal-light); }
.site-navbar .navbar-nav .nav-link:not(.dropdown-toggle):focus-visible { outline: 3px solid rgba(46,139,139,.28); outline-offset: 2px; box-shadow: none; }
.site-navbar .nav-link.active { color: var(--teal); }
.site-navbar .dropdown-menu { padding: .45rem; border: 1px solid rgba(15,45,74,.13); border-radius: .75rem; box-shadow: 0 14px 34px rgba(15,45,74,.13); }
.site-navbar .dropdown-item { border-inline-start: 3px solid transparent; border-radius: .45rem; color: var(--blue-dark); }
.site-navbar .dropdown-item:hover,
.site-navbar .dropdown-item:focus,
.site-navbar .dropdown-item:active { color: var(--blue-dark); background: var(--teal-light); }
.site-navbar .dropdown-item.active { border-inline-start-color: var(--teal); color: var(--blue-dark); background: var(--teal-light); font-weight: 700; }
.site-navbar .dropdown-divider { margin: .35rem .15rem; border-color: rgba(15,45,74,.1); }
.site-navbar .btn-opportunity { transition: color .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.site-navbar .btn-opportunity:hover,
.site-navbar .btn-opportunity:focus { color: var(--blue-dark); border-color: #d68a16; background: #e6a238; box-shadow: 0 .3rem .8rem rgba(114,80,13,.16); transform: translateY(-1px); }
.site-navbar .btn-opportunity:focus-visible { outline: 3px solid rgba(46,139,139,.28); outline-offset: 2px; }

.site-announcement { color: var(--blue-dark); border-block-end: 1px solid rgba(15,45,74,.12); }
.site-announcement-info { background: #dcecf6; }
.site-announcement-success { background: var(--teal-light); }
.site-announcement-attention { background: var(--amber-light); }
.site-announcement-neutral { background: var(--surface); }
.site-announcement-inner { display: flex; align-items: center; justify-content: center; gap: 1rem; min-height: 2.65rem; padding-block: .45rem; }
.site-announcement p { margin: 0; text-align: center; font-size: .9rem; }
.site-announcement a { color: inherit; font-weight: 750; text-underline-offset: 2px; }
.site-announcement button { flex: 0 0 auto; border: 0; color: inherit; background: transparent; font-size: 1.35rem; line-height: 1; }

.site-footer { padding: 0; color: #dce8ef; background: var(--blue-dark); }
.site-footer-cta { color: var(--blue-dark); background: var(--amber-light); }
.site-footer-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 1.4rem; }
.site-footer-cta h2 { margin: 0; font-size: 1.25rem; }
.site-footer-cta p { margin: .25rem 0 0; }
.site-footer-grid { display: grid; grid-template-columns: minmax(14rem, 1.5fr) repeat(auto-fit, minmax(9rem, 1fr)); gap: 2rem; padding-block: 3.25rem 2.5rem; }
.site-footer-identity { max-width: 24rem; }
.site-footer-logo-wrap { display: inline-block; max-width: 100%; }
.site-footer-logo { display: block; object-fit: contain; }
.site-footer-logo-wrap.site-footer-logo-bg-white { padding: .3rem .45rem; border-radius: .35rem; background: #fff; }
.site-footer-logo-wrap.site-footer-logo-bg-custom { padding: .3rem .45rem; border-radius: .35rem; background: var(--footer-logo-background); }
.site-footer-identity p { margin-block: 1rem; }
.site-footer address { display: grid; gap: .3rem; font-style: normal; }
.site-footer a { color: #fff; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: 3px; }
.site-footer-column h2 { margin-block-end: .75rem; color: #fff; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.site-footer-column ul { margin: 0; padding: 0; list-style: none; }
.site-footer-column li + li { margin-block-start: .5rem; }
.site-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem 1.4rem; border-block-start: 1px solid rgba(255,255,255,.17); font-size: .8rem; }
.site-social-links { display: flex; gap: .45rem; }
.site-social-links a { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); }
.site-social-links svg,
.site-social-links img { width: 1rem; height: 1rem; fill: currentColor; object-fit: contain; }

@media (max-width: 767.98px) {
  .site-footer-cta .container,
  .site-footer-bottom { align-items: flex-start; flex-direction: column; }
  .site-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer-identity { grid-column: 1 / -1; }
}
@media (max-width: 479.98px) {
  .site-footer-grid { grid-template-columns: 1fr; }
  .site-footer-identity { grid-column: auto; }
}
