/* Page banner */
.page-banner { --banner-h: clamp(380px, 48vh, 560px); position: relative; display: flex; align-items: flex-end; min-height: var(--banner-h); color: #fff; isolation: isolate; }
.page-banner--large { --banner-h: clamp(480px, 64vh, 720px); }
.page-banner__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.page-banner__media img { width: 100%; height: 100%; object-fit: cover; }
.page-banner__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8, 8, 8, 0.85) 0%, rgba(8, 8, 8, 0.3) 55%, rgba(8, 8, 8, 0.1) 100%); }
.page-banner__inner { position: relative; z-index: 1; padding-block: 3rem clamp(2.5rem, 5vw, 4rem); max-width: var(--container); }
.page-banner__breadcrumb { margin-bottom: 1.5rem; color: rgba(255, 255, 255, 0.75); }
.page-banner__breadcrumb [aria-current] { color: #fff; }
.page-banner .eyebrow { color: var(--c-highlight, #c9a35b); }
.page-banner__title { font-family: var(--font-display); font-size: var(--text-h1); font-weight: 600; line-height: 1.04; color: #fff; max-width: 16ch; text-wrap: balance; }
.page-banner__copy { margin-top: 1rem; font-size: var(--text-lead); color: rgba(255, 255, 255, 0.85); max-width: 56ch; }
