/* Shared header & footer (from code.html) */
header.scrolled {
    height: 4.5rem;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
header.scrolled .nav-link:not(.nav-link-active) {
    color: #191c1e;
}
header.scrolled .nav-link:not(.nav-link-active):hover {
    color: #b80938;
}

.nav-link {
    position: relative;
    transition: color 0.3s ease;
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: currentColor;
    transition: width 0.3s ease;
}
.nav-link:hover::after {
    width: 100%;
}
.nav-link-active::after {
    width: 100%;
}

/* Site logo — header inverts over hero; footer always inverted on dark background */
.site-logo {
    display: block;
    width: auto;
    object-fit: contain;
}

/* Cookie banner — hidden when consent already stored */
html.cookie-consent-set #cookie-banner {
    display: none !important;
}
