:root {
    --hero-min-height: 560px;
    --hero-copy-padding: clamp(28px, 5vw, 80px);
    --hero-background: #f0f1eb;
}

/* Shared inner-page banner, including visual CMS previews. */
.info-page .info-hero,
.info-hero.site-inner-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: var(--hero-min-height);
    background: var(--hero-background);
}
.info-hero > .info-hero-copy,
.about-hero > .info-hero-copy {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding: 56px var(--hero-copy-padding);
}
.info-hero > :is(.info-hero-image, .about-hero-image) {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    min-width: 0;
    min-height: var(--hero-min-height);
    overflow: hidden;
    background: #dfe5dc;
}
.info-hero > :is(.info-hero-image, .about-hero-image) > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}
.info-hero .info-back-link { margin: 0 0 24px; color: #536b5c; font-size: var(--type-caption); }
.info-hero .info-hero-copy > .eyebrow { margin: 0 0 16px; color: #725b82; }
.info-hero .info-hero-copy h1 {
    margin: 0;
    max-width: 100%;
    font-family: var(--font-heading);
    font-size: var(--type-page-title);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-heading);
    color: #25382b;
    overflow-wrap: break-word;
}
.info-hero .info-hero-copy > .info-hero-lead {
    max-width: 480px;
    margin: 24px 0 0;
    color: #67736a;
    font-size: var(--type-lead);
    line-height: var(--leading-relaxed);
    text-align: start;
}
.info-hero .info-hero-copy > :is(.button, .info-text-link) { margin-top: 28px; }
.info-hero .info-hero-copy > .button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 13px 22px;
    border: 0;
    border-radius: 99px;
    background: #254d3d;
    color: #fff;
    font-size: var(--type-caption);
}
.info-hero .info-hero-copy > .button:hover { background: #193d2e; }
.info-hero-image::after, .about-hero-image::after { pointer-events: none; }
.site-inner-hero .info-hero-image > span:not(.cms-image-selected) { position: absolute; bottom: 24px; right: 28px; color: #fff; font-size: var(--type-caption); text-shadow: 0 1px 8px #001b14; }
.river-page-hero { margin-top: 82px; }
.public-cms-page.public-cms-unified { max-width: none; padding: 0; }
.public-cms-unified > .public-cms-body { max-width: 960px; margin: 0 auto; padding: 56px 26px; }
@media (max-width: 900px) { .river-page-hero { margin-top: 68px; } }
@media (max-width: 760px) {
    .info-page .info-hero, .info-hero.site-inner-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .info-hero > .info-hero-copy, .about-hero > .info-hero-copy { grid-column: 1; grid-row: 1; min-height: 0; padding: 44px 26px; }
    .info-hero > :is(.info-hero-image, .about-hero-image) { grid-column: 1; grid-row: 2; min-height: 310px; }
    .info-hero .info-hero-copy h1 { font-size: clamp(2.625rem, 12vw, 4.25rem); }
    .river-page-hero { margin-top: 68px; }
}
.cms-visual-mode .river-page-hero { margin-top: 0; }

body > main > .info-page { margin-top: 82px; }
@media (max-width: 760px) { body > main > .info-page { margin-top: 68px; } }
