.nv-hero { position: relative; width: 100%; aspect-ratio: 1920 / 760; max-height: 900px; overflow: hidden; background: var(--nv-ink); outline: none; }
.nv-hero.is-captioned { aspect-ratio: auto; height: 100vh; min-height: 600px; }
.nv-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.2s, visibility 1.2s; }
.nv-slide.is-active, .nv-hero.is-single .nv-slide { opacity: 1; visibility: visible; }
.nv-slide > img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 7s linear; }
.nv-slide.is-active > img, .nv-hero.is-single .nv-slide > img { transform: scale(1); }
.nv-hero.is-captioned .nv-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 14, 20, .75) 0%, rgba(10, 14, 20, .2) 70%), linear-gradient(0deg, var(--nv-primary) 0%, rgba(0, 0, 0, 0) 45%); opacity: .9; }
.nv-slide-link { position: absolute; inset: 0; z-index: 2; }
.nv-slide .nv-container { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; padding-top: 80px; }
.nv-slide-caption { max-width: 640px; opacity: 0; transform: translateY(30px); transition: opacity 1s .4s, transform 1s .4s var(--nv-ease); }
.nv-slide.is-active .nv-slide-caption, .nv-hero.is-single .nv-slide-caption { opacity: 1; transform: none; }
.nv-slide-caption h2 { margin-bottom: 20px; font-size: clamp(40px, 5.4vw, 84px); line-height: 1.05; color: var(--nv-white); }
.nv-slide-caption p { max-width: 520px; margin-bottom: 26px; font-size: 17px; color: rgba(255, 255, 255, .9); }
.nv-dots { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 3; display: flex; justify-content: center; gap: 8px; }
.nv-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 5px; background: rgba(255, 255, 255, .55); cursor: pointer; transition: width .4s var(--nv-ease), background-color .3s; }
.nv-dots button.is-current { width: 26px; background: var(--nv-white); }

.nv-intro { background: linear-gradient(180deg, var(--nv-white) 55%, var(--nv-primary-soft) 100%); }
.nv-intro-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.nv-intro-text .nv-prose { margin-bottom: 20px; }

.nv-collage { position: relative; }
.nv-collage img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--nv-radius); }
.nv-collage.is-pair { padding: 0 0 70px 0; }
.nv-collage.is-pair img:first-child { width: 90%; }
.nv-collage.is-pair img:last-child { position: absolute; right: 0; bottom: 0; width: 52%; box-shadow: 0 20px 50px rgba(15, 30, 50, .25); }

.nv-more { margin: 44px 0 0; text-align: center; }

.nv-cta { position: relative; padding: 110px 0; background-size: cover; background-position: center; background-attachment: fixed; text-align: center; }
.nv-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, var(--nv-primary) 0%, rgba(10, 14, 20, .55) 70%); opacity: .9; }
.nv-cta .nv-container { position: relative; max-width: 760px; }
.nv-cta h2 { margin-bottom: 14px; font-size: clamp(26px, 2.8vw, 36px); color: var(--nv-white); }
.nv-cta p { margin: 0; color: rgba(255, 255, 255, .9); }
.nv-cta.is-plain { background: var(--nv-primary); }
.nv-cta.is-plain::before { display: none; }
.nv-cta .nv-btn { margin-top: 26px; }

@media (max-width: 991px) {
	.nv-hero:not(.is-captioned) { margin-top: 92px; }
	.nv-intro-inner { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.nv-cta { background-attachment: scroll; }
}
@media (max-width: 640px) {
	.nv-hero.is-captioned { height: auto; min-height: 560px; }
	.nv-dots { bottom: 10px; }
	.nv-collage.is-pair { padding-bottom: 40px; }
	.nv-cta { padding: 70px 0; }
}
