/* Application page template */

body.page-template-template-application .pe-header {
	background: transparent;
}

body.page-template-template-application .pe-main,
body.admin-bar.page-template-template-application .pe-main {
	padding-top: 0;
}

@media (min-width: 769px) and (max-width: 845px) {
	body.page-template-template-application {
		--pe-header-height: 58px;
		--pe-header-offset: var(--pe-header-height);
	}

	body.page-template-template-application .pe-header__inner {
		min-height: var(--pe-header-height);
		gap: 0.625rem;
	}

	body.page-template-template-application .pe-header__logo img,
	body.page-template-template-application .pe-header__logo .custom-logo {
		max-height: 36px;
	}

	body.page-template-template-application .pe-nav a {
		font-size: 0.875rem;
		padding: 0.5625rem 0.75rem;
	}
}

.pe-page--application {
	overflow-x: hidden;
}

.pe-page--application .pe-page-hero {
	margin-top: calc(-1 * var(--pe-header-offset));
	padding: calc(var(--pe-header-offset) + clamp(2rem, 5vw, 4rem)) 0 clamp(2.5rem, 6vw, 5rem);
	overflow: visible;
}

.pe-page--application .pe-page-hero__decor {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: visible;
}

.pe-page--application .pe-page-hero__decor-solid-pink {
	position: absolute;
	top: calc(var(--pe-header-offset) - 9.5rem);
	left: clamp(2.1rem, 2.5vw, 4.5rem);
	width: clamp(20rem, 28vw, 30rem);
	height: auto;
	z-index: 1;
}

.pe-page--application .pe-page-hero__decor-outline-pink {
	position: absolute;
	top: calc(var(--pe-header-offset) - 3rem);
	left: clamp(10.5rem, 12vw, 18.5rem);
	width: clamp(8rem, 18vw, 14rem);
	height: auto;
	z-index: 0;
}

.pe-page--application .pe-page-hero__decor-dots-pink {
	position: absolute;
	bottom: clamp(-5rem, -8vw, -9rem);
	left: -5rem;
	width: clamp(13rem, 28vw, 15rem);
	height: auto;
	z-index: 0;
}

/* Default (overridden on desktop ≥993px by sticky groups below) */
.pe-page--application .pe-page-hero__decor-group--br {
	position: contents;
}

.pe-page--application .pe-page-hero__decor-solid-blue {
	position: absolute;
	bottom: clamp(0.5rem, 4vw, 1rem);
	right: clamp(-12.5rem, -15vw, -17.5rem);
	width: clamp(20rem, 28vw, 30rem);
	height: auto;
	z-index: 1;
}

.pe-page--application .pe-page-hero__decor-dots-blue {
	position: absolute;
	bottom: clamp(-4.25rem, -5.5vw, -12rem);
	right: clamp(-0.1rem, -5vw, -1rem);
	width: clamp(8rem, 18vw, 13rem);
	height: auto;
	z-index: 0;
}

.pe-page--application .pe-page-hero__decor-solid-grey {
	position: absolute;
	top: calc(var(--pe-header-offset) + 0.5rem);
	right: clamp(-1.5rem, -3vw, -0.5rem);
	width: clamp(8rem, 13vw, 13rem);
	height: auto;
	z-index: 1;
}

.pe-page--application .pe-page-hero__inner {
	position: relative;
	z-index: 1;
}

.pe-page--application .pe-page-hero__media {
	position: relative;
	z-index: 0;
	align-self: start;
	margin-top: -4.5rem;
}

.pe-page--application .pe-page-hero__image {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 0;
}

.pe-page--application .pe-page-hero__brand {
	position: relative;
	z-index: 1;
	padding-top: clamp(5.5rem, 6vw, 7.5rem);
	padding-left: clamp(3.5rem, 7vw, 6rem);
}

/* Form section decor */
.pe-page--application .pe-page-body,
.pe-page--application .pe-page-content {
	overflow: visible;
}

.pe-page--application .pe-application-form {
	position: relative;
	z-index: 0;
}

.pe-page--application .pe-application-form__decor {
	position: absolute;
	top: 0;
	width: clamp(7rem, 18vw, 13rem);
	height: 100%;
	pointer-events: none;
	z-index: 0;
}

.pe-page--application .pe-application-form__decor--left {
	left: clamp(-5rem, -10vw, -2.5rem);
}

.pe-page--application .pe-application-form__decor--right {
	right: clamp(-5rem, -10vw, -2.5rem);
}

.pe-page--application .pe-application-form__decor-solid-blue {
	position: absolute;
	top: 42rem;
	left: -11.5rem;
	width: clamp(12rem, 20vw, 22rem);
	height: auto;
	z-index: 1;
}

.pe-page--application .pe-application-form__decor-outline-blue {
	position: absolute;
	top: 40rem;
	left: -6rem;
	width: clamp(6.5rem, 14vw, 10rem);
	height: auto;
	z-index: 0;
}

.pe-page--application .pe-application-form__decor-solid-pink {
	position: absolute;
	top: 14rem;
	right: -9rem;
	bottom: auto;
	width: clamp(12rem, 20vw, 22rem);
	z-index: 1;
}

.pe-page--application .pe-application-form__decor-outline-pink {
	position: absolute;
	top: clamp(19rem, 24vw, 34rem);
	right: clamp(-4.5rem, -6vw, -7rem);
	width: clamp(6.5rem, 14vw, 10rem);
	bottom: auto;
	z-index: 0;
}

.pe-page--application .pe-form-embed,
.pe-page--application .pe-form-placeholder {
	position: relative;
	z-index: 1;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

/* Eligibility section decor */
.pe-page--application .pe-application-eligibility {
	position: relative;
	z-index: 0;
}

.pe-page--application .pe-application-eligibility__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.pe-page--application .pe-application-eligibility__content > :is(h2, h4),
.pe-page--application .pe-application-eligibility + h2 {
	display: block;
	width: min(100%, 24rem);
	aspect-ratio: 950 / 306;
	margin: 0 auto 1.5rem;
	padding: 0;
	background: transparent url('../../images/graphics/eligiblity.png') center / contain no-repeat;
	border: 0;
	box-shadow: none;
	min-width: 0;
	min-height: 0;
	font-size: 0;
	line-height: 0;
	color: transparent;
	text-indent: -9999px;
	overflow: hidden;
}

.pe-page--application .pe-application-eligibility__content > :is(h2, h4)::before,
.pe-page--application .pe-application-eligibility__content > :is(h2, h4)::after,
.pe-page--application .pe-application-eligibility + h2::before,
.pe-page--application .pe-application-eligibility + h2::after {
	content: none;
	display: none;
}

/* Intro + criteria list — centered group, shared left edge */
.pe-page--application .pe-application-eligibility__copy {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	box-sizing: border-box;
	width: min(100%, 39.6875rem);
	margin: 0 auto clamp(4.5rem, 8vw, 7rem);
	text-align: left;
}

.pe-page--application .pe-application-eligibility__copy > * {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	text-align: left !important; /* override WP inline text-align:center */
}

.pe-page--application .pe-application-eligibility__copy > :is(p, h3, h4, h5, h6) {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.pe-page--application .pe-application-eligibility__copy > :is(ul, ol) {
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 1.25rem;
	list-style-position: outside;
}

.pe-page--application .pe-application-eligibility__copy > :is(ul, ol) li {
	margin-bottom: 0.75rem;
	text-align: left !important;
}

.pe-page--application .pe-application-eligibility__copy > :is(ul, ol) li:last-child {
	margin-bottom: 0;
}

.pe-page--application .pe-application-eligibility__decor {
	position: absolute;
	top: 0;
	width: clamp(7rem, 18vw, 13rem);
	height: 100%;
	pointer-events: none;
	z-index: 0;
}

.pe-page--application .pe-application-eligibility__decor--left {
	left: clamp(-5rem, -10vw, -2.5rem);
}

.pe-page--application .pe-application-eligibility__decor--right {
	right: clamp(-5rem, -10vw, -2.5rem);
}

.pe-page--application .pe-application-eligibility__decor-dots-pink {
	position: absolute;
	top: clamp(3rem, 8vw, 6rem);
	left: 0;
	width: clamp(8rem, 18vw, 13rem);
	height: auto;
	z-index: 0;
}

.pe-page--application .pe-application-eligibility__decor-solid-blue {
	position: absolute;
	top: clamp(-10rem, 5vw, -12rem);
	right: -6rem;
	width: clamp(18rem, 28vw, 28rem);
	height: auto;
	z-index: 1;
}

.pe-page--application .pe-application-eligibility__decor-solid-grey {
	position: absolute;
	top: -7rem;
	right: clamp(-7.75rem, -5vw, -9.5rem);
	width: clamp(12rem, 20vw, 22rem);
	height: auto;
	z-index: 0;
}

.pe-form-embed {
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid rgba(71, 203, 228, 0.2);
	padding: 1rem;
	min-height: 400px;
}

.pe-form-embed iframe {
	width: 100%;
	min-height: 1200px;
	border: none;
	display: block;
}

.pe-form-placeholder img {
	display: block;
	width: 100%;
	height: auto;
}

/* Desktop only — sticky decor groups (same pattern as middle viewport, scaled) */
@media (min-width: 993px) {
	.pe-page--application .pe-page-hero__lockup {
		width: min(100%, 30rem);
		max-width: 30rem;
	}

	.pe-page--application .pe-page-hero__title {
		max-width: 28rem;
		font-size: clamp(2.125rem, 2.6vw, 2.5rem);
		line-height: 1.2;
	}

	/* Hero top-left solid pink — desktop position only */
	.pe-page--application .pe-page-hero__decor-solid-pink {
		left: clamp(12.75rem, 10.5vw, 18.5rem);
		width: clamp(20rem, 26vw, 28rem);
	}

	/* Hero bottom-right blue pair */
	.pe-page--application .pe-page-hero__decor-group--br {
		position: absolute;
		bottom: clamp(0.5rem, 4vw, 1rem);
		right: 0;
		width: clamp(20rem, 28vw, 30rem);
		height: auto;
		overflow: visible;
		pointer-events: none;
	}

	.pe-page--application .pe-page-hero__decor-solid-blue {
		position: absolute;
		top: -22rem;
		right: clamp(-12.5rem, -15vw, -17.5rem);
		bottom: auto;
		left: auto;
		width: clamp(20rem, 28vw, 30rem);
		height: auto;
		z-index: 1;
	}

	.pe-page--application .pe-page-hero__decor-dots-blue {
		position: absolute;
		bottom: clamp(-4.25rem, -5.5vw, -12rem);
		right: clamp(-0.1rem, -5vw, -1rem);
		top: auto;
		left: auto;
		width: clamp(8rem, 18vw, 13rem);
		height: auto;
		z-index: 0;
	}

	/* Form — side padding like tablet; form +4rem each side */
	.pe-page--application .pe-application-form {
		padding-inline: clamp(4rem, 10vw, 6rem);
	}

	.pe-page--application .pe-form-embed,
	.pe-page--application .pe-form-placeholder {
		width: clamp(36rem, 68vw, 56rem);
		margin-inline: auto;
	}

	/* Form blue pair — smaller on desktop */
	.pe-page--application .pe-application-form__decor--left {
		top: 40.5rem;
		left: -4rem;
		width: 16rem;
		height: auto;
		overflow: visible;
	}

	.pe-page--application .pe-application-form__decor-solid-blue {
		top: -0.5rem;
		left: -5rem;
		bottom: auto;
		width: 16rem;
		height: auto;
	}

	.pe-page--application .pe-application-form__decor-outline-blue {
		top: -3.25rem;
		left: 1rem;
		width: 13rem;
		height: auto;
	}

	/* Form pink pair — smaller on desktop */
	.pe-page--application .pe-application-form__decor--right {
		top: 14rem;
		right: -1rem;
		width: 16rem;
		height: auto;
		overflow: visible;
	}

	.pe-page--application .pe-application-form__decor-solid-pink {
		top: -2rem;
		right: -6rem;
		left: auto;
		bottom: auto;
		width: 14rem;
	}

	.pe-page--application .pe-application-form__decor-outline-pink {
		top: 4rem;
		right: -1rem;
		left: auto;
		bottom: auto;
		width: 11rem;
	}

	/* Eligibility blue + grey pair */
	.pe-page--application .pe-application-eligibility__decor--right {
		top: clamp(-10rem, 5vw, -12rem);
		right: -6rem;
		width: clamp(16rem, 28vw, 26rem);
		height: auto;
		overflow: visible;
	}

	.pe-page--application .pe-application-eligibility__decor-solid-blue {
		top: 0;
		right: 2rem;
		width: clamp(15rem, 20vw, 24rem);
		height: auto;
	}

	.pe-page--application .pe-application-eligibility__decor-solid-grey {
		top: clamp(3rem, 4vw, 5rem);
		right: clamp(0rem, 2vw, 1rem);
		width: clamp(11rem, 18vw, 19rem);
		height: auto;
	}

	/* Left pink dots above footer — taller on Y axis (desktop only) */
	.pe-page--application .pe-application-eligibility__decor-dots-pink {
		width: clamp(10rem, 18vw, 14rem);
		height: clamp(20rem, 28vw, 28rem);
		max-width: none;
		max-height: none;
		object-fit: fill;
		top: 3rem;
		left: 2rem;
	}
}

/* Tablet — shrink & reposition decor, scale down header/logo/paragraph */
@media (max-width: 992px) {
	.pe-page--application .pe-page-hero__inner {
		gap: clamp(1rem, 3vw, 2rem);
	}

	.pe-page--application .pe-page-hero__decor-solid-pink {
		top: calc(var(--pe-header-offset) - 1.5rem);
		left: clamp(8rem, 8vw, 10.5rem);
		width: clamp(8rem, 18vw, 14rem);
	}

	.pe-page--application .pe-page-hero__decor-outline-pink {
		top: calc(var(--pe-header-offset) - 1rem);
		left: clamp(6rem, 14vw, 9rem);
		width: clamp(5rem, 14vw, 8rem);
	}

	.pe-page--application .pe-page-hero__decor-dots-pink {
		bottom: clamp(-2.5rem, -4vw, -3.5rem);
		left: -1.5rem;
		width: clamp(6rem, 18vw, 8.5rem);
	}

	.pe-page--application .pe-page-hero__decor-solid-grey {
		top: calc(var(--pe-header-offset) + 0.25rem);
		right: clamp(-0.5rem, -1vw, -0.25rem);
		width: clamp(5rem, 12vw, 7rem);
	}

	.pe-page--application .pe-page-content {
		font-size: 1.125rem;
	}
}

/* Tablet only — desktop-like hero + form with side decor */
@media (min-width: 769px) and (max-width: 992px) {
	.pe-page--application .pe-page-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
		gap: clamp(1rem, 3vw, 2rem);
	}

	.pe-page--application .pe-page-hero__brand {
		padding-top: clamp(5.5rem, 8vw, 7.5rem);
		padding-left: clamp(1.5rem, 4vw, 3.5rem);
	}

	.pe-page--application .pe-page-hero__lockup {
		max-width: clamp(14rem, 36vw, 22rem);
	}

	.pe-page--application .pe-page-hero__title {
		font-size: clamp(1.25rem, 2.4vw, 1.75rem);
		max-width: clamp(14rem, 32vw, 20rem);
		margin-inline: 0;
	}

	.pe-page--application .pe-page-hero__media {
		margin-top: clamp(-3rem, -4vw, -2.0rem);
		width: 100%;
		max-width: none;
		margin-inline: 0;
		justify-self: end;
	}

	/* Top-left solid pink — wider on X axis (middle viewport only) */
	.pe-page--application .pe-page-hero__decor-solid-pink {
		top: calc(var(--pe-header-offset) - 5.5rem);
		left: clamp(11rem, 10vw, 14.5rem);
		width: clamp(11rem, 26vw, 16rem);
	}

	/* Top-left outline pink — nudge right (middle viewport only) */
	.pe-page--application .pe-page-hero__decor-outline-pink {
		top: calc(var(--pe-header-offset) - 1rem);
		left: clamp(11rem, 15vw, 16rem);
		width: clamp(5rem, 14vw, 8rem);
	}

	/* Hero bottom-right blue pair — move as one group */
	.pe-page--application .pe-page-hero__decor-group--br {
		position: absolute;
		bottom: clamp(0.5rem, 2vw, 1rem);
		right: 0;
		width: 11rem;
		height: auto;
		overflow: visible;
		pointer-events: none;
	}

	.pe-page--application .pe-page-hero__decor-solid-blue {
		position: absolute;
		top:-12rem;
		right: -5rem;
		bottom: auto;
		left: auto;
		width: 11rem;
		height: auto;
	}

	.pe-page--application .pe-page-hero__decor-dots-blue {
		position: absolute;
		bottom: -3rem;
		right: 1rem;
		top: auto;
		left: auto;
		width: 7rem;
		height: auto;
	}

	.pe-page--application .pe-application-form {
		padding-inline: clamp(4rem, 10vw, 6rem);
	}

	.pe-page--application .pe-form-embed,
	.pe-page--application .pe-form-placeholder {
		width: clamp(28rem, 72vw, 42rem);
		margin-inline: auto;
	}

	.pe-page--application .pe-application-form__decor {
		width: clamp(5rem, 14vw, 8rem);
	}

	/* Blue pair moves as one group — fixed rem offsets keep them stuck */
	.pe-page--application .pe-application-form__decor--left {
		top: clamp(30rem, 40vw, 40rem);
		left: -4rem;
		height: auto;
		width: 8rem;
		overflow: visible;
	}

	/* Pink pair moves as one group — fixed rem offsets keep them stuck */
	.pe-page--application .pe-application-form__decor--right {
		top: clamp(11rem, 14vw, 15rem);
		right: 0;
		height: auto;
		width: 8rem;
		overflow: visible;
	}

	.pe-page--application .pe-application-form__decor-solid-blue {
		top: 0;
		left: 0;
		bottom: auto;
		width: 8rem;
		height: auto;
	}

	.pe-page--application .pe-application-form__decor-outline-blue {
		top: -1rem;
		left: 2.75rem;
		width: 7.25rem;
		height: auto;
	}

	.pe-page--application .pe-application-form__decor-solid-pink {
		top: 0;
		right: -2rem;
		left: auto;
		width: 8rem;
		height: auto;
	}

	.pe-page--application .pe-application-form__decor-outline-pink {
		top: 4rem;
		right: 1.75rem;
		left: auto;
		width: 5.25rem;
		height: auto;
	}

	.pe-page--application .pe-application-eligibility__decor {
		width: clamp(8rem, 20vw, 14rem);
		overflow: visible;
	}

	.pe-page--application .pe-application-eligibility__decor--left {
		left: clamp(0rem, 2vw, 1.5rem);
		width: clamp(10rem, 24vw, 16rem);
		height: auto;
		min-height: 100%;
		overflow: visible;
	}

	/* Blue + grey pair moves as one group — fixed rem offsets keep them stuck */
	.pe-page--application .pe-application-eligibility__decor--right {
		top: clamp(-7rem, -4vw, -5rem);
		right: -2rem;
		height: auto;
		width: 12rem;
		overflow: visible;
	}

	.pe-page--application .pe-application-eligibility__decor-dots-pink {
		top: clamp(3.5rem, 3vw, 5rem);
		left: clamp(-2.5rem, 2vw, -4.5rem);
		width: clamp(9rem, 22vw, 12rem);
		height: clamp(14rem, 32vw, 22rem);
		max-width: none;
		max-height: none;
		object-fit: fill;
	}

	.pe-page--application .pe-application-eligibility__decor-solid-blue {
		top: 0;
		right: 0.5rem;
		width: 12rem;
		height: auto;
	}

	.pe-page--application .pe-application-eligibility__decor-solid-grey {
		top: 5rem;
		right: 0.5rem;
		width: 9rem;
		height: auto;
	}

	/* Eligibility copy group — tablet */
	.pe-page--application .pe-application-eligibility__copy {
		width: min(100%, 34rem);
		margin-bottom: clamp(3.5rem, 6vw, 5.5rem);
		padding-inline: 0.5rem;
	}

	.pe-page--application .pe-application-eligibility__copy > :is(p, h4, h5, h6) {
		font-size: clamp(1.125rem, 2vw, 1.375rem);
		margin-bottom: 1.125rem;
	}
}

/* Mobile — no decorative or hero images render */
@media (max-width: 768px) {
	.pe-page--application .pe-container {
		padding-inline: 1rem;
	}

	.pe-page--application .pe-page-hero {
		padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
	}

	.pe-page--application .pe-page-hero__decor,
	.pe-page--application .pe-page-hero__media,
	.pe-page--application .pe-application-form__decor,
	.pe-page--application .pe-application-eligibility__decor {
		display: none;
	}

	.pe-page--application .pe-page-hero__brand {
		padding-top: clamp(1.5rem, 5vw, 2rem);
		padding-left: 0;
	}

	.pe-page--application .pe-page-hero__lockup {
		max-width: 16rem;
	}

	.pe-page--application .pe-page-hero__title {
		font-size: 1.375rem;
		max-width: 26rem;
		margin-inline: auto;
	}

	.pe-page--application .pe-page-content {
		font-size: 1.0625rem;
	}

	.pe-page--application .pe-application-eligibility__content > :is(h2, h4),
	.pe-page--application .pe-application-eligibility + h2 {
		width: min(100%, 17.5rem);
	}

	/* Eligibility copy group — mobile */
	.pe-page--application .pe-application-eligibility__copy {
		width: min(100%, 22rem);
		margin-bottom: clamp(3rem, 8vw, 4.5rem);
		padding-inline: 0.25rem;
	}

	.pe-page--application .pe-application-eligibility__copy > :is(p, h4, h5, h6) {
		font-size: 1.0625rem;
		margin-bottom: 1rem;
	}

	.pe-page--application .pe-application-eligibility__copy > :is(ul, ol) {
		padding-left: 1.125rem;
		font-size: 1.0625rem;
	}

	.pe-form-embed iframe {
		min-height: 800px;
	}
}
