/*
 * B9 Website Core
 *
 * Public Hero component styles.
 *
 * Source contract:
 * - .b9-hero
 * - .b9-hero__content
 * - .b9-hero__title
 * - .b9-hero__text
 * - .b9-hero__media
 *
 * Responsibilities:
 * - register Hero component presentation hooks;
 * - map supported presentation properties to Public Theme tokens;
 * - remain compatible with Theme Runtime overrides.
 *
 * Does NOT:
 * - define hardcoded dimensions;
 * - define hardcoded typography sizes;
 * - define hardcoded breakpoints;
 * - decide page composition;
 * - implement Theme Editor variants;
 * - resolve Media;
 * - contain JavaScript behavior.
 */

.b9-hero {
    padding-block: var(--b9-space-3xl);
    background: var(--b9-color-surface);
    color: var(--b9-color-on-surface);
}

.b9-hero__content {
    max-width: var(--b9-content-width);
}

.b9-hero__title {
    color: var(--b9-color-on-surface);
    font-family: var(--b9-font-heading);
    font-size: var(--b9-font-size-3xl);
    line-height: var(--b9-line-height-tight);
    font-weight: var(--b9-font-weight-bold);
}

.b9-hero__text {
    max-width: var(--b9-content-width-narrow);
    color: var(--b9-color-text-muted);
    font-family: var(--b9-font-body);
    font-size: var(--b9-font-size-lg);
    line-height: var(--b9-line-height-relaxed);
    font-weight: var(--b9-font-weight-normal);
}

.b9-hero__media {
    overflow: hidden;
    border-radius: var(--b9-radius-xl);
    box-shadow: var(--b9-shadow-md);
}

.b9-hero__media img,
.b9-hero__media picture,
.b9-hero__media video {
    display: block;
}
