/* Full image-led inner headers: the homepage's photographic layout across the site. */
.pom-design2.d2-cover-page { position: relative; }
.pom-design2.d2-cover-page #top { display: block; height: 0; }
.pom-design2.d2-cover-page #main-header { position: absolute; inset: 0 0 auto; background: transparent !important; }
.pom-design2 .d2-cover-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; width: 100%; min-height: clamp(640px,92svh,1080px); margin: 0; padding: 180px var(--d2-gutter) clamp(60px,8vh,110px); overflow: hidden; background: #103f2c; color: #fff; }
.pom-design2 .d2-cover-hero__media { position: absolute; inset: 0; z-index: 0; margin: 0; }
.pom-design2 .d2-cover-hero__media > img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; object-position: center; }
.pom-design2 .d2-cover-hero--top .d2-cover-hero__media > img { object-position: center top; }
.pom-design2 .d2-cover-hero--bottom .d2-cover-hero__media > img { object-position: center bottom; }
.pom-design2 .d2-cover-hero__shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg,rgba(9,31,20,.28),transparent 26%),linear-gradient(0deg,rgba(9,31,20,.72),rgba(9,31,20,.1) 48%,transparent 72%); }
.pom-design2 .d2-cover-hero__copy { position: relative; z-index: 2; width: 100%; max-width: var(--d2-max); margin-inline: auto; text-align: left; pointer-events: none; }
.pom-design2 .d2-cover-hero__copy > * { pointer-events: auto; }
.pom-design2 .d2-cover-hero__label { margin: 0 0 25px; color: #fff; font: 600 12px/1.5 var(--d2-sans); letter-spacing: .19em; text-transform: uppercase; }
.pom-design2 .d2-cover-hero h1 { max-width: 960px; margin: 0; color: #fff; font: 400 clamp(56px,6.7vw,104px)/1.05 var(--d2-serif); letter-spacing: -.035em; text-wrap: balance; overflow-wrap: anywhere; text-shadow: 0 2px 24px #0c271e25; }
.pom-design2 .d2-cover-hero__intro { max-width: 640px; margin-top: 28px; color: #fff; font: 400 clamp(16px,1.4vw,20px)/1.75 var(--d2-sans); }
.pom-design2 .d2-cover-hero__intro p { color: inherit; font: inherit; margin: 0; }
.pom-design2 .d2-cover-hero__intro p + p { margin-top: 16px; }
.pom-design2 .d2-cover-hero__link { display: inline-flex; align-items: center; gap: 32px; max-width: 100%; margin-top: 30px; padding: 17px 24px; border: 1px solid #ffffffb3; background: #fff; color: #103f2c; font: 600 13px/1.5 var(--d2-sans); text-decoration: none; }
.pom-design2 .d2-cover-hero__link:hover { background: #eaf1ec; }
.pom-design2 .d2-cover-hero__link span { font-size: 22px; }
.pom-design2 .d2-cover-hero__legacy { position: absolute; inset: 0; }
.pom-design2 .d2-cover-hero__legacy #hero,.pom-design2 .d2-cover-hero__legacy .hero-bg,.pom-design2 .d2-cover-hero__legacy .pom-hero,.pom-design2 .d2-cover-hero__legacy .pom-hero__track { height: 100% !important; min-height: 100% !important; margin: 0; }
.pom-design2 .d2-cover-hero__legacy .pom-hero__content { display: none; }
@media(max-width:800px) {
 /* Like the approved homepage, smaller screens retain the whole photograph. */
 .pom-design2.d2-cover-page #main-header { background: #f3f5ee !important; }
 .pom-design2 .d2-cover-hero { display: block; min-height: 0; padding: 94px 0 0; background: #f3f5ee; color: var(--d2-green); }
 .pom-design2 .d2-cover-hero__media { position: relative; inset: auto; z-index: auto; width: 100%; }
 .pom-design2 .d2-cover-hero__media > img { width: 100%; height: auto; max-height: none; object-fit: contain; }
 .pom-design2 .d2-cover-hero__shade { display: none; }
 .pom-design2 .d2-cover-hero__copy { padding: 38px var(--d2-gutter) 48px; }
 .pom-design2 .d2-cover-hero__label { color: #476652; font-size: 11px; margin-bottom: 18px; }
 .pom-design2 .d2-cover-hero h1 { max-width: 100%; color: var(--d2-green); font-size: clamp(42px,7.5vw,66px); text-shadow: none; }
 .pom-design2 .d2-cover-hero__intro { color: var(--d2-muted); font-size: 16px; margin-top: 22px; }
 .pom-design2 .d2-cover-hero__link { border-color: var(--d2-green); background: transparent; margin-top: 26px; }
}
