/*
 * Copyright (c) 2026 Philip Necsulescu.
 * All rights reserved.
 */

.hero {
    position: relative;
    left: 50%;
    display: grid;
    width: 100vw;
    max-width: 100vw;
    min-width: 0;
    min-height: 520px;
    margin-left: -50vw;
    margin-right: -50vw;
    color: var(--ink);
    overflow-x: hidden;
    overflow-x: clip;
}

.hero h1 {
    margin: 0;
    min-width: 0;
    max-width: none;
}

.hero-frame {
    min-width: 0;
}

.hero > .page-header-media,
.hero > .hero-card {
    grid-area: 1 / 1;
}

.hero > .page-header-media {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 520px;
    margin: 0;
    overflow: hidden;
    border-top: 4px solid var(--accent);
    background: transparent;
}

.hero > .page-header-media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

.hero-card {
    z-index: 1;
    align-self: end;
    justify-self: center;
    width: min(1120px, calc(100% - 32px));
    min-width: 0;
    margin: 0 0 64px;
    padding: var(--card-padding-y) var(--card-padding-x);
}

.hero-card.framed-panel-content {
    background: var(--panel-hero-gradient);
}

.hero-navbar {
    width: 100vw;
    max-width: 100vw;
    min-width: 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.hero-subtitle {
    margin: 20px 0 0;
    max-width: 768px;
    font-size: var(--h3-font-size);
    line-height: calc(var(--h3-font-size) + 4px);
    color: var(--muted);
    overflow-wrap: anywhere;
}

@media (max-width: 800px) {
    .hero-subtitle {
        max-width: none;
    }
}

@media (max-width: 640px) {
    .hero,
    .hero > .page-header-media {
        min-height: 320px;
    }

    .hero-card {
        width: min(1120px, calc(100% - 16px));
        margin-bottom: 32px;
        padding: 20px 16px;
    }
}

@media (max-width: 400px) {
    .hero-card {
        padding: 16px 12px;
    }
}
