/* Unified Hero Component
   Replaces: .landing-hero, .science-hero, .about-hero, .frame-hero, .perspektiv-hero
   Usage: {% include hero.html %} — reads from page.hero frontmatter or parameters
*/

.hero {
    display: grid;
    padding: 0;
}

.hero-image {
    grid-area: 1 / 1;
    width: 100%;
    height: calc(100vh - var(--header-height, 85px));
    min-height: 400px;
    overflow: hidden;
    position: relative;
}

.hero-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--primary-navy) 0%, transparent 40%);
    opacity: 0.5;
    pointer-events: none;
}

/* Dark mode: black-based overlay (image has no dark variant) */
.dark-mode .hero-image::after {
    background: linear-gradient(to top, #000 0%, rgba(0,0,0,0.3) 40%);
    opacity: 0.8;
}

.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-content {
    grid-area: 1 / 1;
    align-self: start;
    padding: var(--space-xl) var(--space-2xl);
    text-align: center;
    background: transparent;
    color: var(--primary-navy);
    z-index: 1;
}

.hero-title {
    font-size: 2.5em;
    margin-bottom: 16px;
    color: var(--primary-navy);
    line-height: 1.15;
}

.hero-intro {
    font-size: 1.15em;
    line-height: 1.7;
    color: var(--primary-navy);
    opacity: 0.85;
    max-width: 700px;
    margin: 0 auto;
}

/* Dark mode — white text on dark overlay */
.dark-mode .hero-content {
    color: #fff;
}

.dark-mode .hero-title {
    color: #fff;
}

.dark-mode .hero-intro {
    color: #fff;
    opacity: 0.85;
}

/* Mobile */
@media (max-width: 768px) {
    .hero-image {
        height: calc(100vh - var(--header-height, 85px));
        min-height: 350px;
    }

    .hero-content {
        padding: 24px;
    }

    .hero-title {
        font-size: 2em;
    }

    .hero-intro {
        font-size: 1em;
    }
}
