html,
body {
    height: 100%;
}

body {
    scroll-behavior: smooth;
    font-family: 'Roboto', Helvetica, Arial, sans-serif !important;
    font-weight: 400;
    user-select: none;
}

* {
    border-radius: 0 !important;
}

nav [data-tab-target] {
    color: rgba(255, 255, 255, 0.6);
    transition: color 0.25s ease, transform 0.25s ease;
}

.brand-title {
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    color: #ffffff;
    background-color: #003467;
    padding: 0.9rem 1rem 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.12em;
}

body[data-landing-active="true"] .global-header {
    display: none;
}

body[data-landing-active="true"] .landing-link {
    color: #ffffff;
}

body[data-landing-active="true"] .landing-link:hover {
    color: rgba(255, 255, 255, 0.7);
}

.font-oswald {
    font-family: 'Oswald', sans-serif;
}

.panel {
    position: relative;
}

[data-fullscreen-menu],
[data-credit-overlay] {
    transition: opacity 0.4s ease;
}

[data-credit-panel] {
    transition: transform 0.4s ease, opacity 0.4s ease;
}

[data-credit-row] p {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.85);
}

.flicker,
.color-cycle,
.color-jump {
    animation: colorJump 6s steps(6) infinite;
}

.brand-glow {
    color: #ffffff;
    animation: none;
    text-shadow: 0 0 14px rgba(0, 52, 103, 1), 0 0 30px rgba(0, 52, 103, 0.95), 0 0 60px rgba(0, 52, 103, 0.85);
}

@keyframes glowSpin {
    0%, 25%, 50%, 75%, 100% { text-shadow: 0 0 14px rgba(0, 52, 103, 1), 0 0 30px rgba(0, 52, 103, 0.95), 0 0 60px rgba(0, 52, 103, 0.85); }
}

@keyframes colorJump {
    0% { color: hsl(0, 100%, 50%); }
    20% { color: hsl(60, 100%, 50%); }
    40% { color: hsl(120, 100%, 50%); }
    60% { color: hsl(200, 100%, 50%); }
    80% { color: hsl(280, 100%, 50%); }
    100% { color: hsl(340, 100%, 50%); }
}

[data-landing-bg] {
    filter: saturate(1.2) contrast(1.05);
}

[data-content-panel] {
    scroll-margin-top: 40px;
}

[data-menu-toggle] svg {
    display: block;
    transition: opacity 0.22s ease, transform 0.22s ease;
}
[data-menu-toggle] [data-icon="close"] {
    display: none;
}
[data-menu-toggle].is-open [data-icon="menu"] {
    display: none;
}
[data-menu-toggle].is-open [data-icon="close"] {
    display: block;
}

[data-sidebar].is-open [data-sidebar-nav] {
    margin-left: 14px;
}

.landing-justify {
    text-align: left;
    text-align-last: left;
}

.landing-brand {
    font-size: 60px;
    line-height: 1.05;
    padding: 0.75rem 0.95rem 0.85rem;
}

.landing-link {
    text-align: left;
    text-align-last: left;
    white-space: normal;
    text-transform: none;
    line-height: 0.9;
    font-size: var(--landing-jumbo-size, 142.352px);
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
}

.landing-links {
    --landing-jumbo-size: 142.352px;
}

.landing-line {
    display: block;
    width: auto;
    margin-left: 0;
    transform: none;
    text-align: left;
    white-space: normal;
}

.credit-grid {
    --credit-row-height: clamp(150px, 22vw, 240px);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: flex-start;
}

.credit-tile {
    flex: 0 0 auto;
    height: var(--credit-row-height);
    width: min(calc(var(--credit-row-height) * var(--credit-ratio, 1.6)), 100%);
}

.credit-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
