/* PHPC hero block — PR 2.2 (HANDOFF §2.2)
   Photo mode only. Cream-mod variant deferred to About/Contact templates. */

.hero--section {
    position: relative;
    min-height: 78vh;
    color: #fff;
    background: var(--ink);
    overflow: hidden;
}

.hero--media-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero--video,
.hero--image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero--video {
    object-fit: cover;
}

/* Editorial protection gradient — keeps headline legible over any photo */
.hero--image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(0, 0, 0, 0.25) 0%,
        rgba(0, 0, 0, 0.10) 30%,
        rgba(0, 0, 0, 0.60) 80%,
        rgba(0, 0, 0, 0.88) 100%);
}

.hero--container {
    position: relative;
    z-index: 2;
    min-height: 78vh;
    padding: calc(var(--theme-menu-height) + 60px) var(--theme-content-padding) 60px;
    display: grid;
    grid-template-rows: 1fr auto auto;
    gap: 24px;
    max-width: var(--theme-content-width);
    margin: 0 auto;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    .hero--container {
        padding: calc(var(--theme-menu-height) + 90px) var(--theme-content-padding) 80px;
        gap: 32px;
    }
}

/* Eyebrow — Inter 700 small uppercase, sits at top */
.hero--eyebrow {
    font-family: var(--ff-sans);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.36em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.85);
    align-self: start;
    margin: 0;
}

.hero--eyebrow i {
    color: var(--signal);
    font-style: italic;
    font-weight: inherit;
}

/* Title — Playfair Display 500 italic, large fluid */
.hero--title {
    font-family: var(--ff-display);
    font-weight: 500;
    font-style: italic;
    font-size: clamp(40px, 7vw, 96px);
    line-height: 0.98;
    letter-spacing: var(--track-tight-2);
    margin: 0;
    max-width: 14ch;
    text-wrap: balance;
}

.hero--title i {
    color: var(--signal);
    font-style: italic;
    font-weight: inherit;
}

/* Subtitle — Playfair italic, smaller, optional editorial line */
.hero--subtitle {
    font-family: var(--ff-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(20px, 2.2vw, 32px);
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.92);
    letter-spacing: -0.01em;
    text-wrap: balance;
    max-width: 720px;
    margin: 0;
}

.hero--subtitle i {
    color: var(--signal);
    font-style: italic;
}

/* Stats meta — three-up at the bottom, hairline border above */
.hero--meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 32px;
    align-items: baseline;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    padding-top: 24px;
    margin: 0;
}

.hero--meta-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hero--meta-n {
    font-family: var(--ff-display);
    font-size: 28px;
    line-height: 1;
    color: #fff;
}

.hero--meta-l {
    font-family: var(--ff-sans);
    font-weight: 700;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}
