/* ─── Header (canvas dark; el wordmark raster es el momento visual) ─── */

.section-header {
    background-color: #201d1d;
    padding: 40px 0 32px;
}

.section-header .container {
    position: relative;
    z-index: 2;
}

header {
    text-align: center;
}

.header-description {
    max-width: 600px;
    margin: 16px auto 0;
    padding: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #9a9898;
    text-align: center;
}

.header-description a {
    color: #fdfcfc;
    text-decoration: underline;
}

.header-description a:active {
    color: #fdfcfc;
}

.header-description a:focus {
    outline: 2px solid #fdfcfc;
    outline-offset: 2px;
}

/* Selectors Level 4: regla aislada. */
.header-description a:focus-visible {
    outline: 2px solid #fdfcfc;
    outline-offset: 2px;
}

.banner {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

.banner::before {
    content: "";
    display: block;
    padding-bottom: 31.74%;
    padding-bottom: calc(1300 / 4096 * 100%);
}

.banner .banner-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}

@supports (aspect-ratio: 1) {
    .banner::before {
        display: none;
        padding-bottom: 0;
    }

    .banner .banner-img {
        position: static;
        height: auto;
        aspect-ratio: 4096 / 1300;
    }
}

@media (max-width: 850px) {
    .section-header {
        padding: 32px 0 24px;
    }

    .banner {
        max-width: 420px;
    }
}

@media (max-width: 640px) {
    .section-header {
        padding: 16px 0 16px;
    }

    .banner {
        max-width: 280px;
    }

    .header-description {
        margin-top: 12px;
        font-size: 14px;
        line-height: 1.5;
    }
}
