.page-header {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 250px;
    text-align: center;
    overflow: hidden;
}

/* Padding utilities */
.page-header.pt-0 { padding-top: 0 !important; }
.page-header.pb-0 { padding-bottom: 0 !important; }
.page-header.pt-10 { padding-top: 6rem; }
.page-header.pb-10 { padding-bottom: 6rem; }

.page-header__container {
    width: 100%;
    max-width: 92.5rem;
    margin-left: 3.125rem;
    margin-right: 3.125rem;
    position: relative;
    z-index: 2;
}

/* Alignment modifiers */
.text-left { text-align: left; align-items: flex-start; }
.text-center { text-align: center; align-items: center; }
.text-right { text-align: right; align-items: flex-end; }

/* Title styling */
.page-header__title {
    font-size: clamp(2.5rem, 3.5vw + 1rem, 4rem);
    font-family: "Helvetica Neue LT Pro", sans-serif;
    font-weight: 600;
    line-height: 1.1;
    color: #000;
    max-width: 40rem;
}

/* Subtitle styling */
.page-header__subtitle {
    font-family: "Helvetica Neue", sans-serif;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
    max-width: 38rem;
}

/* White text mode when background image is set */
.page-header[style*="background-image"] .page-header__title,
.page-header[style*="background-image"] .page-header__subtitle {
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}

/* Optional subtle overlay for legibility */
.page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background 0.3s ease;
}

.page-header[style*="background-image"]::before {
    background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.55) 100%);
}
