/*
 * Viewport-aware first screen.
 * Loaded after the main stylesheet so the opening remains deterministic even
 * when an intermediary cache retains an older copy of style.css.
 */
@media (min-width: 821px) {
	body.home {
		--impc-opening-topbar: calc(2.65rem + 1px);
		--impc-opening-header: clamp(10.625rem, 23svh, 13.75rem);
		--impc-opening-nav: clamp(4.6rem, 9.4svh, 5.6rem);
	}

	body.home .site-header,
	body.home .masthead__inner {
		min-height: var(--impc-opening-header);
	}

	body.home .masthead-art {
		height: calc(100svh - var(--impc-opening-topbar) - var(--impc-opening-nav) + 2px);
		background-size: cover;
	}

	body.home .home-intro {
		display: flex;
		height: calc(100svh - var(--impc-opening-topbar) - var(--impc-opening-header));
		min-height: 0;
		flex-direction: column;
		background: transparent;
	}

	body.home .home-intro::before {
		display: none;
	}

	body.home .home-intro__inner {
		display: flex;
		height: 100%;
		min-height: 0;
		flex: 0 0 100%;
		flex-direction: column;
	}

	body.home .home-hero {
		height: auto;
		min-height: 0;
		flex: 1 1 0;
	}

	body.home .portal-nav {
		flex: 0 0 var(--impc-opening-nav);
		margin-top: 0;
		border-top: 0;
		background:
			linear-gradient(180deg, rgba(232, 220, 198, 0.9) 0%, rgba(235, 222, 199, 0.98) 16%, #e4d4b8 100%),
			linear-gradient(90deg, #e4d6bd 0%, #efe4d0 36%, #e9dcc5 66%, #e1d1b6 100%);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.46),
			0 8px 22px rgba(75, 55, 30, 0.06);
	}

	body.home .portal-nav > a {
		min-height: var(--impc-opening-nav);
	}
}

@media (min-width: 821px) and (max-height: 720px) {
	body.home .masthead__inner {
		padding-top: clamp(1.1rem, 3.5svh, 2rem);
	}

	body.home .brand-mark,
	body.home .brand-mark img {
		width: 88px;
		height: 88px;
	}

	body.home .brand-mark {
		flex-basis: 88px;
	}

	body.home .home-hero__content {
		padding-top: 1.35rem;
		padding-bottom: 1.35rem;
	}

	body.home .home-hero__title {
		font-size: clamp(2rem, 3vw, 2.65rem);
	}

	body.home .home-hero__excerpt {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}
