/* Unified editorial banners — compact, CMS adjustable, natural title wrapping. */
:root{--banner-serif:'Cormorant Garamond',serif}
.editorial-banner{position:relative;overflow:hidden;display:flex;align-items:center}
.editorial-banner .container{position:relative;z-index:2}
.page-banner-eyebrow,
.editorial-banner .eyebrow.page-banner-eyebrow,
.companies-hero-eyebrow.page-banner-eyebrow{
    display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;padding:0;border:0;border-radius:0;
    background:transparent;color:#bde8ff;font-weight:700;letter-spacing:.30em;text-transform:uppercase;
    backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none
}
.page-banner-eyebrow:before,
.editorial-banner .eyebrow.page-banner-eyebrow:before{
    content:"";width:52px;height:1px;border-radius:0;background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.18));box-shadow:none
}
.companies-hero-eyebrow.page-banner-eyebrow:before{display:none}
.companies-hero-eyebrow.page-banner-eyebrow i{width:52px;height:1px;border-radius:0;background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.18));box-shadow:none}
.page-banner-title,
.editorial-banner h1,
.companies-hero-modern .page-banner-title{
    margin:0;width:auto;max-width:100%;color:#fff;font-family:var(--banner-serif);font-weight:600;line-height:.98;
    letter-spacing:-.035em;white-space:normal;overflow-wrap:normal;word-break:normal;text-wrap:pretty
}
.page-banner-intro,
.page-banner-intro p,
.editorial-banner .page-hero-rich,
.editorial-banner .page-hero-rich p,
.companies-hero-intro,
.companies-hero-intro p{max-width:760px;color:#dceaf2!important;line-height:1.65}
.page-banner-intro{margin-top:18px}.page-banner-intro p{margin-top:0}.page-banner-intro p:last-child{margin-bottom:0}

/* Per-page sizing and height */
.about-page-hero{min-height:var(--about-banner-height);padding:98px 0 58px}
.about-page-hero .page-banner-eyebrow{font-size:var(--about-banner-eyebrow-size)!important}
.about-page-hero .page-banner-title{font-size:var(--about-banner-title-size)!important}
.about-page-hero .page-banner-intro,.about-page-hero .page-banner-intro p{font-size:var(--about-banner-intro-size)!important}
.about-page-hero .about-hero-copy{max-width:1100px}

.companies-hero-modern{min-height:var(--companies-banner-height);padding:100px 0 58px}
.companies-hero-grid{display:block}.companies-hero-copy{max-width:1180px}
.companies-hero-modern .page-banner-eyebrow{font-size:var(--companies-banner-eyebrow-size)!important}
.companies-hero-modern .page-banner-title{font-size:var(--companies-banner-title-size)!important}
.companies-hero-modern .page-banner-intro,.companies-hero-modern .page-banner-intro p{font-size:var(--companies-banner-intro-size)!important}
.companies-hero-bottom span{width:22%}

.news-page-hero{min-height:var(--news-banner-height);padding:96px 0 56px}
.news-page-hero .page-banner-eyebrow{font-size:var(--news-banner-eyebrow-size)!important}
.news-page-hero .page-banner-title{font-size:var(--news-banner-title-size)!important}
.news-page-hero .page-banner-intro,.news-page-hero .page-banner-intro p{font-size:var(--news-banner-intro-size)!important}

.gallery-hero{min-height:var(--gallery-banner-height);padding:96px 0 56px}
.gallery-hero .page-banner-eyebrow{font-size:var(--gallery-banner-eyebrow-size)!important}
.gallery-hero .page-banner-title{font-size:var(--gallery-banner-title-size)!important}
.gallery-hero .page-banner-intro,.gallery-hero .page-banner-intro p{font-size:var(--gallery-banner-intro-size)!important}

.contact-page-hero{min-height:var(--contact-banner-height);padding:100px 0 58px}
.contact-page-hero .page-banner-eyebrow{font-size:var(--contact-banner-eyebrow-size)!important}
.contact-page-hero .page-banner-title{font-size:var(--contact-banner-title-size)!important}
.contact-page-hero .page-banner-intro,.contact-page-hero .page-banner-intro p{font-size:var(--contact-banner-intro-size)!important}
.contact-page-hero .contact-hero-note{align-self:center}

/* Keep text on one line whenever there is sufficient width. */
@media(min-width:1100px){
    .editorial-banner .page-banner-title{max-width:100%}
}
@media(max-width:1099px){
    .about-page-hero,.companies-hero-modern,.news-page-hero,.gallery-hero,.contact-page-hero{min-height:auto;padding-top:94px;padding-bottom:64px}
    .about-page-hero .page-banner-title{font-size:clamp(36px,7.2vw,var(--about-banner-title-size))!important}
    .companies-hero-modern .page-banner-title{font-size:clamp(36px,7.2vw,var(--companies-banner-title-size))!important}
    .news-page-hero .page-banner-title{font-size:clamp(36px,7.2vw,var(--news-banner-title-size))!important}
    .gallery-hero .page-banner-title{font-size:clamp(36px,7.2vw,var(--gallery-banner-title-size))!important}
    .contact-page-hero .page-banner-title{font-size:clamp(36px,7.2vw,var(--contact-banner-title-size))!important}

    .about-page-hero .page-banner-intro,.about-page-hero .page-banner-intro p{font-size:clamp(14px,2.1vw,var(--about-banner-intro-size))!important}
    .companies-hero-modern .page-banner-intro,.companies-hero-modern .page-banner-intro p{font-size:clamp(14px,2.1vw,var(--companies-banner-intro-size))!important}
    .news-page-hero .page-banner-intro,.news-page-hero .page-banner-intro p{font-size:clamp(14px,2.1vw,var(--news-banner-intro-size))!important}
    .gallery-hero .page-banner-intro,.gallery-hero .page-banner-intro p{font-size:clamp(14px,2.1vw,var(--gallery-banner-intro-size))!important}
    .contact-page-hero .page-banner-intro,.contact-page-hero .page-banner-intro p{font-size:clamp(14px,2.1vw,var(--contact-banner-intro-size))!important}
}
@media(max-width:640px){
    .about-page-hero,.companies-hero-modern,.news-page-hero,.gallery-hero,.contact-page-hero{padding-top:78px;padding-bottom:54px}
    .page-banner-eyebrow,.editorial-banner .eyebrow.page-banner-eyebrow,.companies-hero-eyebrow.page-banner-eyebrow{letter-spacing:.22em;gap:9px;margin-bottom:15px}
    .about-page-hero .page-banner-eyebrow{font-size:clamp(10px,3vw,var(--about-banner-eyebrow-size))!important}
    .companies-hero-modern .page-banner-eyebrow{font-size:clamp(10px,3vw,var(--companies-banner-eyebrow-size))!important}
    .news-page-hero .page-banner-eyebrow{font-size:clamp(10px,3vw,var(--news-banner-eyebrow-size))!important}
    .gallery-hero .page-banner-eyebrow{font-size:clamp(10px,3vw,var(--gallery-banner-eyebrow-size))!important}
    .contact-page-hero .page-banner-eyebrow{font-size:clamp(10px,3vw,var(--contact-banner-eyebrow-size))!important}
    .page-banner-eyebrow:before,.editorial-banner .eyebrow.page-banner-eyebrow:before,.companies-hero-eyebrow.page-banner-eyebrow i{width:38px}

    .about-page-hero .page-banner-title{font-size:clamp(34px,11vw,var(--about-banner-title-size))!important;line-height:1.02}
    .companies-hero-modern .page-banner-title{font-size:clamp(34px,11vw,var(--companies-banner-title-size))!important;line-height:1.02}
    .news-page-hero .page-banner-title{font-size:clamp(34px,11vw,var(--news-banner-title-size))!important;line-height:1.02}
    .gallery-hero .page-banner-title{font-size:clamp(34px,11vw,var(--gallery-banner-title-size))!important;line-height:1.02}
    .contact-page-hero .page-banner-title{font-size:clamp(34px,11vw,var(--contact-banner-title-size))!important;line-height:1.02}
    .page-banner-intro{margin-top:15px}
}

/* 2026-09-30 — Compact all inner-page banners except About.
   Matches the approved Gallery banner proportions. Homepage and concern detail heroes are untouched. */
@media (min-width:1100px){
    .news-page-hero.editorial-banner,
    .gallery-hero.editorial-banner,
    .contact-page-hero.editorial-banner,
    article > .page-hero.compact{
        min-height:360px !important;
        padding:78px 0 38px !important;
    }

    .companies-v5-hero{
        min-height:360px !important;
        padding:78px 0 38px !important;
    }
    .companies-v5-hero-shell{
        min-height:auto !important;
    }
}

@media (max-width:1099px){
    .news-page-hero.editorial-banner,
    .gallery-hero.editorial-banner,
    .contact-page-hero.editorial-banner,
    article > .page-hero.compact,
    .companies-v5-hero{
        min-height:auto !important;
        padding-top:82px !important;
        padding-bottom:46px !important;
    }
    .companies-v5-hero-shell{
        min-height:auto !important;
    }
}

@media (max-width:640px){
    .news-page-hero.editorial-banner,
    .gallery-hero.editorial-banner,
    .contact-page-hero.editorial-banner,
    article > .page-hero.compact,
    .companies-v5-hero{
        padding-top:70px !important;
        padding-bottom:40px !important;
    }
}
