/* Header & brand */
:root{ --header-bg:#003e63; }
.site-header{ background:var(--header-bg)!important; }
.site-header .navbar-dark .navbar-nav .nav-link,
.site-header .navbar-dark .navbar-brand{ color:#fff !important; }
.site-header .navbar-dark .navbar-toggler{ border-color: rgba(255,255,255,.25); }
.site-header .navbar-dark .navbar-toggler-icon{ filter: invert(1) brightness(2); }
.brand-logo{ height:64px; width:auto; max-height:64px; aspect-ratio:1128/332; }

/* Prevent body scroll when mobile menu open */
body.noscroll{ overflow:hidden; }

/* Compact header on small screens */
@media (max-width: 768px){
  .site-header .container{ padding-left:12px; padding-right:12px; }
}

/* Footer styling */
.footer { background-color:#003e63; }
.footer h5 { margin-bottom:1rem; }
.footer ul li { margin-bottom:.5rem; }
.footer ul li a:hover { text-decoration:underline; }

/* Skip link (persist beyond critical) */
.skip-link{
  position:absolute; left:-9999px; top:0; padding:.5rem .75rem; background:#003e63; color:#fff; z-index:2000;
}
.skip-link:focus{ left:12px; top:12px; border-radius:.5rem }

/* 300x300 image: reserve space to avoid CLS */
.img-square-300{ aspect-ratio:1/1; width:300px; max-width:100%; height:auto; }

/* Cookie banner duplicates (persist beyond inline) */
.ejh-consent{
  position:fixed;left:0;right:0;bottom:0;z-index:2140;
  transform:translateY(100%);transition:transform .25s ease;
  background:#0b1220;color:#fff;padding:.875rem 1rem;
  box-shadow:0 -6px 18px rgba(0,0,0,.25)
}
.ejh-consent.is-visible{ transform:translateY(0) }
.ejh-consent a{ color:#fff; text-decoration:underline }
@media (prefers-reduced-motion:reduce){ .ejh-consent,.ejh-consent.is-visible{ transition:none } }
