.site-header {
    display: flex;
    align-items: stretch; /* ensures the image can match full height */
}

.header-content {
    flex: 1; /* takes all remaining space */
}

.header-image {
    height: 100%;
    object-fit: cover; /* optional, depending on your image */
    display: block;
}

@media (max-width: 600px) {
    .header-image {
        display: none;
    }
}

#timebands, #masterband, #splash {
    margin-top: 0rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2rem;
}

.timeband {
    padding: 0.5rem 1.2rem;
    border-left: 4px solid #1a4d7a;
    background: #f7f9fb;
    border-radius: 4px;
}

.timeband h3 {
    margin-top: 0;
}

.timeband ul {
    margin: 0.5rem 0 0;
    padding-left: 1.2rem;
}
