/* Home page — matches Figma Homepage_V2 (Open Application phase) */

.pe-page--home {
	overflow: visible;
}

.pe-page--home .pe-page__bg {
	display: none;
}

.pe-page--home .pe-section {
	padding: 0 0 clamp(2.5rem, 5vw, 4rem);
}

/* Hero / celebrating control their own vertical rhythm */
.pe-page--home .pe-home-hero.pe-section {
	padding-bottom: clamp(1.5rem, 4vw, 3rem);
}

.pe-page--home .pe-home-celebrating.pe-section {
	padding-top: clamp(0.75rem, 2.5vw, 2rem);
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

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

body.page-template-template-home .pe-main {
	padding-top: 0;
}

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

/* Hero */
.pe-home-hero {
	position: relative;
	margin-top: calc(-1 * var(--pe-header-offset));
	padding: calc(var(--pe-header-offset) + clamp(3rem, 6vw, 5.5rem)) 0 clamp(1.5rem, 4vw, 3rem);
	overflow: visible;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	text-align: center;
	min-height: auto;
}

/* Hero decor — scrolls with hero; leaves viewport with the section */
.pe-home-site-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: visible;
}

.pe-home-site-bg__left {
	position: absolute;
	left: clamp(0.5rem, 3vw, 2.5rem);
	top: var(--pe-header-offset);
	width: clamp(11rem, 26vw, 21rem);
}

.pe-home-site-bg__outline {
	position: absolute;
	z-index: 1;
	top: calc(-1 * var(--pe-header-offset) - 1rem);
	left: 45%;
	width: 22rem;
	height: auto;
}

.pe-home-site-bg__dots {
	position: absolute;
	z-index: 0;
	top: 8rem;
	left: -48%;
	width: 24rem;
	height: auto;
}

.pe-home-site-bg__right {
	position: absolute;
	right: clamp(0.5rem, 4vw, 3rem);
	top: var(--pe-header-offset);
	width: clamp(8rem, 17vw, 13.5rem);
}

.pe-home-site-bg__solid-pink {
	position: absolute;
	z-index: 0;
	top: calc(var(--pe-header-offset) - 1rem);
	right: calc(27.5rem + clamp(0.5rem, 4vw, 3rem));
	width: 5rem;
	height: auto;
}

.pe-home-site-bg__outline-blue {
	position: absolute;
	z-index: 1;
	top: calc(-1 * var(--pe-header-offset) - 0.5rem);
	right: 10rem;
	width: 20rem;
	height: auto;
}

.pe-home-site-bg__dots-blue {
	position: absolute;
	z-index: 0;
	top: 25rem;
	right: 2rem;
	width: 20rem;
	height: auto;
}

.pe-home-site-bg__solid-blue {
	position: absolute;
	z-index: 0;
	top: 85%;
	left: calc(50% + 10rem);
	width: clamp(4.5rem, 11vw, 6.5rem);
	height: auto;
}

.pe-home-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: clamp(1.75rem, 3.5vw, 3rem);
	padding-top: clamp(6rem, 14vw, 12rem);
	padding-bottom: 0;
}

.pe-home-hero__lockup {
	width: min(100%, 23rem);
	height: auto;
	margin: 0 auto;
}

.pe-home-hero__copy {
	max-width: 57.5rem;
	margin: 0;
	font-size: clamp(1.25rem, 2.8vw, 2.5rem);
	line-height: 1.3;
	font-weight: 400;
	background: linear-gradient(90.7deg, var(--pe-cyan) 3.84%, var(--pe-blue) 103.18%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.pe-home-hero__copy p {
	margin: 0;
}

.pe-home-hero__apply {
	position: relative;
	display: inline-block;
	width: min(100%, 17.75rem);
	transition: transform 0.2s ease, filter 0.2s ease;
}

.pe-home-hero__apply:hover,
.pe-home-hero__apply:focus-visible {
	transform: translateY(-2px);
	filter: drop-shadow(0 8px 24px rgba(35, 116, 223, 0.45));
}

.pe-home-hero__apply .pe-apply-cta__svg {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 160.753 / 41;
	overflow: visible;
}

.pe-home-hero__apply .pe-apply-cta__shape {
	transition: opacity 0.2s ease;
}

.pe-home-hero__apply .pe-apply-cta__shape--hover {
	opacity: 0;
}

.pe-home-hero__apply:hover .pe-apply-cta__shape--default,
.pe-home-hero__apply:focus-visible .pe-apply-cta__shape--default {
	opacity: 0;
}

.pe-home-hero__apply:hover .pe-apply-cta__shape--hover,
.pe-home-hero__apply:focus-visible .pe-apply-cta__shape--hover {
	opacity: 1;
}

.pe-home-hero__apply .cta-label {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #fff;
	font-size: 1.5rem;
}

.pe-home-hero__photos {
	position: absolute;
	top: 12%;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	z-index: 0;
}

.pe-home-hero__photo {
	position: absolute;
}

.pe-home-hero__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.pe-home-hero__photo--0 {
	top: 1rem;
	transform: none;
	width: clamp(13rem, 30vw, 24rem);
}

.pe-home-hero__photo--1 {
	right: clamp(0.5rem, 4vw, 3rem);
	top: -1.5rem;
	width: clamp(13rem, 28vw, 24rem);
}

.pe-home-hero__photo--2 {
	right: clamp(-1rem, -8vw, 1rem);
	bottom: clamp(5rem, 17vw, 7rem);
	width: clamp(12rem, 35vw, 18rem);
}

.pe-home-hero__photo--3 {
	left: 29%;
	top: 33.5rem;
	transform: translateX(-42%);
	width: clamp(7rem, 14vw, 10.5rem);
}

/* Hero entrance — fade + rise on first paint */
@keyframes pe-hero-enter {
	from {
		opacity: 0;
		translate: 0 1.75rem;
		scale: 0.96;
		filter: blur(6px);
	}

	to {
		opacity: 1;
		translate: 0 0;
		scale: 1;
		filter: blur(0);
	}
}

@keyframes pe-hero-enter-left {
	from {
		opacity: 0;
		translate: -2.5rem 0.75rem;
		scale: 0.96;
		filter: blur(6px);
	}

	to {
		opacity: 1;
		translate: 0 0;
		scale: 1;
		filter: blur(0);
	}
}

@keyframes pe-hero-enter-right {
	from {
		opacity: 0;
		translate: 2.5rem 0.75rem;
		scale: 0.96;
		filter: blur(6px);
	}

	to {
		opacity: 1;
		translate: 0 0;
		scale: 1;
		filter: blur(0);
	}
}

.pe-home-site-bg__left,
.pe-home-site-bg__right,
.pe-home-site-bg__solid-pink,
.pe-home-site-bg__solid-blue,
.pe-home-hero__photo,
.pe-home-hero__lockup,
.pe-home-hero__copy,
.pe-home-hero__apply {
	opacity: 0;
	animation-duration: 0.95s;
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	animation-fill-mode: both;
}

.pe-home-site-bg__left {
	animation-name: pe-hero-enter-left;
	animation-delay: 0.05s;
}

.pe-home-site-bg__right {
	animation-name: pe-hero-enter-right;
	animation-delay: 0.12s;
}

.pe-home-site-bg__solid-pink {
	animation-name: pe-hero-enter-left;
	animation-delay: 0.1s;
}

.pe-home-site-bg__solid-blue {
	animation-name: pe-hero-enter-right;
	animation-delay: 0.16s;
}

.pe-home-hero__photo--0 {
	animation-name: pe-hero-enter-left;
	animation-delay: 0.18s;
}

.pe-home-hero__photo--1 {
	animation-name: pe-hero-enter-right;
	animation-delay: 0.26s;
}

.pe-home-hero__photo--2 {
	animation-name: pe-hero-enter-right;
	animation-delay: 0.34s;
}

.pe-home-hero__photo--3 {
	animation-name: pe-hero-enter;
	animation-delay: 0.42s;
}

.pe-home-hero__lockup {
	animation-name: pe-hero-enter;
	animation-delay: 0.28s;
}

.pe-home-hero__copy {
	animation-name: pe-hero-enter;
	animation-delay: 0.44s;
}

.pe-home-hero__apply {
	animation-name: pe-hero-enter;
	animation-delay: 0.58s;
}

/* Celebrating section — tight handoff from Apply → title → flare */
.pe-home-celebrating.pe-section,
.pe-home-celebrating {
	position: relative;
	z-index: 2;
	padding: clamp(0.75rem, 2.5vw, 2rem) 0 clamp(2.5rem, 5vw, 4rem);
}

.pe-home-celebrating .pe-container {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 0;
}

.pe-home-celebrating .pe-container > div {
	position: relative;
}

.pe-home-celebrating__title-wrap {
	grid-row: 1;
	margin-bottom: 0;
	text-align: center;
	z-index: 5;
}

.pe-home-celebrating__title {
	max-width: 47rem;
	margin: 0 auto;
	font-size: clamp(2rem, 3.8vw, 3.4375rem);
	font-weight: 700;
	line-height: 1.1;
	color: var(--pe-cyan);
	text-shadow: 0 4px 70px rgba(35, 116, 223, 0.6);
	text-align:center;
}
.pe-home-celebrating__title span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 188px;
	height: 192px;
	background-image: url('../../images/graphics/badge.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	padding-bottom: 24px;
	margin: 0 -7% -5% -7%;
}

.pe-home-celebrating__title img{
	display:inline-block;
}

.pe-home-celebrating__title p {
	margin: 0;
}

.pe-home-celebrating__title strong,
.pe-home-celebrating__title b {
	font-weight: 700;
}

/* Stats over bubble flare — own row above lockup grid on desktop */
.pe-home-stats {
	position: relative;
	grid-row: 2;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	max-width: 100vw;
	z-index: 2;
}

.pe-home-stats__mobile {
	display: none;
}

.pe-home-stats__desktop {
	position: relative;
}

.pe-home-stats__flare {
	display: block;
	width: 100%;
	height: auto;
	margin: -8rem auto;
}

.pe-home-stats__grid {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: 1fr 1.2fr 1fr;
	align-items: center;
	gap: 1rem;
	padding: clamp(2rem, 8vw, 5rem) clamp(1rem, 4vw, 3rem);
}

.pe-home-stats__item {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.pe-home-stats__item--left {
	padding-top: clamp(0.5rem, 2vw, 1.5rem);
	padding-left: clamp(1.5rem, 3vw, 3.5rem);
}

.pe-home-stats__item--right {
	padding-top: clamp(0.5rem, 2vw, 1.5rem);
}

.pe-home-stats__item--center {
	padding-top: clamp(2rem, 4vw, 8rem);
}

.pe-home-stats__text {
	margin: 0;
	color: var(--pe-white);
	font-size: clamp(0.95rem, 1.4vw, 1.25rem);
	line-height: 1.35;
	font-weight: 400;
}

.pe-home-stats__item--center .pe-home-stats__text {
	font-size: clamp(1.1rem, 2vw, 1.875rem);
	font-weight: 400;
}

.pe-home-stats__text p {
	margin: 0;
}

.pe-home-stats__text strong,
.pe-home-stats__text b {
	font-weight: 600;
}

/* Alumni lockup grid — row below stats on desktop */
.pe-home-lockup {
	margin-top: clamp(1rem, 3vw, 2rem);
	text-align: center;
}

.pe-home-lockup__mobile {
	display: none;
}

.pe-home-lockup__image {
	display: block;
	width: min(100%, 86rem);
	margin: 0 auto;
	margin-top: -10rem;
}

/* Interactive logo-array — diamond honeycomb (alternate; PE_USE_INTERACTIVE_LOGO_ARRAY)
   --pe-logo-gap = clear space between diamond edges.
   Vertical nest uses negative margin (flex gap cannot be negative). */
.pe-logo-array {
	--pe-logo-gap: clamp(1rem, 3.5vw, 50px);
	--pe-logo-cell: clamp(7rem, 15.5vw, 15.25rem);
	--pe-logo-step: calc(var(--pe-logo-cell) + var(--pe-logo-gap));
	--pe-logo-row-pull: calc((var(--pe-logo-cell) - var(--pe-logo-gap)) / -2);
	position: relative;
	z-index: 1;
	width: min(100vw - (2 * var(--pe-gutter, 1.25rem)), 1440px);
	max-width: 1440px;
	margin: clamp(1.5rem, 4vw, 3rem) auto 0;
	padding: calc(var(--pe-logo-cell) * 0.15) 0.5rem;
	overflow: visible;
	justify-self: center;
}

.pe-logo-array__rows {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
}

.pe-logo-array__mobile {
	display: none;
}

.pe-logo-array__row {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: var(--pe-logo-gap);
}

.pe-logo-array__row + .pe-logo-array__row {
	margin-top: var(--pe-logo-row-pull);
}

.pe-logo-array__cell {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--pe-logo-cell);
	width: var(--pe-logo-cell);
	height: var(--pe-logo-cell);
	text-decoration: none;
	color: inherit;
	isolation: isolate;
	/* Keep layout as a square; clip hit-testing to the diamond. */
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
	transition:
		filter 0.25s ease,
		transform 0.25s ease;
}

.pe-logo-array__cell:hover,
.pe-logo-array__cell:focus-visible {
	z-index: 2;
}

.pe-logo-array__diamond {
	/* ~cell/√2 face so point-to-point spacing matches --pe-logo-gap */
	position: absolute;
	inset: 14.65%;
	z-index: 0;
	border-radius: 0.55rem;
	border: 1.5px solid rgba(71, 203, 228, 0.85);
	background: linear-gradient(
		180deg,
		rgba(71, 203, 228, 0.1) 35%,
		rgba(35, 116, 223, 0.1) 53%
	);
	box-shadow:
		0 0 10px rgba(71, 203, 228, 0.22),
		inset 0 0 8px rgba(71, 203, 228, 0.06);
	transform: rotate(45deg);
	transition:
		box-shadow 0.25s ease,
		border-color 0.25s ease,
		border-width 0.25s ease,
		background 0.25s ease;
}

.pe-logo-array__cell:nth-child(even) .pe-logo-array__diamond {
	background: linear-gradient(
		182deg,
		rgba(105, 71, 197, 0.12) 18%,
		rgba(244, 129, 149, 0.1) 141%
	);
}

.pe-logo-array__logo {
	position: relative;
	z-index: 1;
	display: block;
	width: 58%;
	height: 58%;
	object-fit: contain;
	pointer-events: none;
	transition: filter 0.25s ease;
}

a.pe-logo-array__cell:focus-visible {
	outline: 2px solid var(--pe-cyan, #47cbe4);
	outline-offset: 4px;
	border-radius: 0.25rem;
}

/* Hover variants. Active: 3 — Fill ignite (pe-logo-array__cell--hover-3).
   1/2/4 kept for easy swap. Odd cells: cyan/blue. Even cells: purple/pink. */

/* 1 — Neon bloom */
a.pe-logo-array__cell--hover-1:hover,
a.pe-logo-array__cell--hover-1:focus-visible {
	filter:
		drop-shadow(0 0 12px rgba(71, 203, 228, 0.7))
		drop-shadow(0 0 28px rgba(71, 203, 228, 0.4));
}

a.pe-logo-array__cell--hover-1:hover .pe-logo-array__diamond,
a.pe-logo-array__cell--hover-1:focus-visible .pe-logo-array__diamond {
	border-color: rgba(71, 203, 228, 1);
	box-shadow:
		0 0 18px rgba(71, 203, 228, 0.55),
		inset 0 0 14px rgba(71, 203, 228, 0.22);
}

a.pe-logo-array__cell--hover-1:nth-child(even):hover,
a.pe-logo-array__cell--hover-1:nth-child(even):focus-visible {
	filter:
		drop-shadow(0 0 12px rgba(244, 129, 149, 0.7))
		drop-shadow(0 0 28px rgba(105, 71, 197, 0.45));
}

a.pe-logo-array__cell--hover-1:nth-child(even):hover .pe-logo-array__diamond,
a.pe-logo-array__cell--hover-1:nth-child(even):focus-visible .pe-logo-array__diamond {
	border-color: rgba(244, 129, 149, 1);
	box-shadow:
		0 0 18px rgba(244, 129, 149, 0.5),
		inset 0 0 14px rgba(105, 71, 197, 0.25);
}

/* 2 — Scale pop */
a.pe-logo-array__cell--hover-2:hover,
a.pe-logo-array__cell--hover-2:focus-visible {
	transform: scale(1.1);
	filter: drop-shadow(0 0 10px rgba(71, 203, 228, 0.45));
}

a.pe-logo-array__cell--hover-2:hover .pe-logo-array__diamond,
a.pe-logo-array__cell--hover-2:focus-visible .pe-logo-array__diamond {
	border-color: rgba(71, 203, 228, 1);
	box-shadow:
		0 0 14px rgba(71, 203, 228, 0.4),
		inset 0 0 10px rgba(71, 203, 228, 0.12);
}

a.pe-logo-array__cell--hover-2:nth-child(even):hover,
a.pe-logo-array__cell--hover-2:nth-child(even):focus-visible {
	filter: drop-shadow(0 0 10px rgba(244, 129, 149, 0.5));
}

a.pe-logo-array__cell--hover-2:nth-child(even):hover .pe-logo-array__diamond,
a.pe-logo-array__cell--hover-2:nth-child(even):focus-visible .pe-logo-array__diamond {
	border-color: rgba(244, 129, 149, 1);
	box-shadow:
		0 0 14px rgba(244, 129, 149, 0.4),
		inset 0 0 10px rgba(105, 71, 197, 0.16);
}

/* 3 — Fill ignite */
a.pe-logo-array__cell--hover-3:hover .pe-logo-array__diamond,
a.pe-logo-array__cell--hover-3:focus-visible .pe-logo-array__diamond {
	border-width: 2.5px;
	border-color: rgba(71, 203, 228, 1);
	background: linear-gradient(
		180deg,
		rgba(71, 203, 228, 0.45) 35%,
		rgba(35, 116, 223, 0.45) 53%
	);
	box-shadow:
		0 0 16px rgba(71, 203, 228, 0.4),
		inset 0 0 12px rgba(71, 203, 228, 0.18);
}

a.pe-logo-array__cell--hover-3:hover .pe-logo-array__logo,
a.pe-logo-array__cell--hover-3:focus-visible .pe-logo-array__logo {
	filter: brightness(1.2);
}

a.pe-logo-array__cell--hover-3:nth-child(even):hover .pe-logo-array__diamond,
a.pe-logo-array__cell--hover-3:nth-child(even):focus-visible .pe-logo-array__diamond {
	border-color: rgba(244, 129, 149, 1);
	background: linear-gradient(
		182deg,
		rgba(105, 71, 197, 0.45) 18%,
		rgba(244, 129, 149, 0.42) 141%
	);
	box-shadow:
		0 0 16px rgba(244, 129, 149, 0.4),
		inset 0 0 12px rgba(105, 71, 197, 0.2);
}

/* 4 — Lift + glow */
a.pe-logo-array__cell--hover-4:hover,
a.pe-logo-array__cell--hover-4:focus-visible {
	transform: scale(1.06);
	filter:
		drop-shadow(0 0 10px rgba(71, 203, 228, 0.65))
		drop-shadow(0 0 22px rgba(71, 203, 228, 0.35));
}

a.pe-logo-array__cell--hover-4:hover .pe-logo-array__diamond,
a.pe-logo-array__cell--hover-4:focus-visible .pe-logo-array__diamond {
	border-color: rgba(71, 203, 228, 1);
	background: linear-gradient(
		180deg,
		rgba(71, 203, 228, 0.28) 35%,
		rgba(35, 116, 223, 0.28) 53%
	);
	box-shadow:
		0 0 16px rgba(71, 203, 228, 0.45),
		inset 0 0 12px rgba(71, 203, 228, 0.16);
}

a.pe-logo-array__cell--hover-4:nth-child(even):hover,
a.pe-logo-array__cell--hover-4:nth-child(even):focus-visible {
	filter:
		drop-shadow(0 0 10px rgba(244, 129, 149, 0.65))
		drop-shadow(0 0 22px rgba(105, 71, 197, 0.4));
}

a.pe-logo-array__cell--hover-4:nth-child(even):hover .pe-logo-array__diamond,
a.pe-logo-array__cell--hover-4:nth-child(even):focus-visible .pe-logo-array__diamond {
	border-color: rgba(244, 129, 149, 1);
	background: linear-gradient(
		182deg,
		rgba(105, 71, 197, 0.3) 18%,
		rgba(244, 129, 149, 0.28) 141%
	);
	box-shadow:
		0 0 16px rgba(244, 129, 149, 0.45),
		inset 0 0 12px rgba(105, 71, 197, 0.18);
}

@media (prefers-reduced-motion: reduce) {
	.pe-logo-array__cell {
		transition:
			filter 0.25s ease,
			box-shadow 0.25s ease;
	}

	a.pe-logo-array__cell--hover-2:hover,
	a.pe-logo-array__cell--hover-2:focus-visible,
	a.pe-logo-array__cell--hover-4:hover,
	a.pe-logo-array__cell--hover-4:focus-visible {
		transform: none;
	}
}

/* Pre-footer layout — button size/typography lives in main.css (.pe-page-cta) */
.pe-home-prefooter {
	padding: clamp(2rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 5rem);
}

.pe-home-prefooter__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: clamp(0.75rem, 1.5vw, 1rem);
}

@media (max-width: 992px) {
	.pe-home-site-bg__left {
		inset: 0;
		width: auto;
		height: auto;
		z-index: 0;
	}

	.pe-home-site-bg__outline {
		top: calc(var(--pe-header-offset) + 3rem);
		left: clamp(0rem, 1vw, 0.25rem);
		width: clamp(3rem, 16vw, 4.25rem);
		z-index: 0;
	}

	.pe-home-site-bg__dots {
		top: auto;
		bottom: 0.15rem;
		left: calc(50% + 7rem);
		right: auto;
		width: clamp(4.5rem, 22vw, 6.5rem);
		z-index: 0;
	}

	.pe-home-site-bg__right {
		inset: 0;
		width: auto;
		height: auto;
	}

	.pe-home-site-bg__solid-pink {
		top: calc(var(--pe-header-offset) + 0.5rem);
		left: clamp(0.5rem, 3vw, 1rem);
		right: auto;
		width: 3.15rem;
		min-width: 3.15rem;
		max-width: none;
		height: auto;
		transform-origin: top left;
		scale: 1.4;
		animation: none;
		opacity: 1;
		z-index: 1;
	}

	.pe-home-site-bg__outline-blue {
		top: auto;
		bottom: 1.0rem;
		left: 0;
		right: auto;
		width: 3.5rem;
		min-width: 3.15rem;
		max-width: none;
		height: auto;
		transform-origin: bottom left;
		scale: 1.4;
		animation: none;
		opacity: 1;
		z-index: 1;
	}

	.pe-home-lockup {
		margin-top: 11rem;
	}

	.pe-home-site-bg__dots-blue {
		display: none;
	}

	.pe-home-site-bg__solid-blue {
		top: calc(var(--pe-header-offset) + 3.5rem);
		bottom: auto;
		left: calc(50% + 6.85rem);
		right: auto;
		width: 3.15rem;
		min-width: 3.15rem;
		max-width: none;
		height: auto;
		transform-origin: center left;
		scale: 1.4;
		animation: none;
		opacity: 1;
	}

	.pe-page--home .pe-home-hero.pe-section,
	.pe-home-hero {
		padding-top: calc(var(--pe-header-offset) + 1.5rem);
		padding-bottom: 2.5rem;
	}

	.pe-home-hero .pe-container,
	.pe-home-hero__content {
		width: 100%;
		max-width: none;
		padding-inline: var(--pe-gutter);
		margin-inline: auto;
	}

	.pe-home-hero__content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 1.5rem;
		padding-top: 2rem;
		padding-bottom: 0;
		text-align: center;
		position: relative;
		z-index: 1;
	}

	.pe-home-hero__lockup {
		display: block;
		width: min(100%, 13rem);
		max-width: 13rem;
		margin-inline: auto;
	}

	.pe-home-hero__copy {
		width: 100%;
		max-width: 32rem;
		margin-inline: auto;
		font-size: clamp(0.9375rem, 3.8vw, 1.125rem);
		line-height: 1.4;
		padding: 0;
		text-align: center;
	}

	.pe-home-hero__copy p {
		text-align: center;
	}

	.pe-home-hero__apply {
		display: block;
		width: min(100%, 13.5rem);
		margin-inline: auto;
	}

	.pe-page--home .pe-home-celebrating.pe-section,
	.pe-home-celebrating.pe-section,
	.pe-home-celebrating {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.pe-home-celebrating .pe-container {
		width: 100%;
		max-width: none;
		padding-inline: var(--pe-gutter);
		margin-inline: auto;
		row-gap: 1.5rem;
	}

	.pe-home-celebrating__title-wrap {
		width: 100%;
		text-align: center;
	}

	.pe-home-celebrating__title {
		max-width: 20rem;
		margin-inline: auto;
		font-size: clamp(1.125rem, 4.8vw, 1.5rem);
		line-height: 1.2;
		padding: 0;
		text-align: center;
	}

	.pe-home-celebrating__title p {
		text-align: center;
	}

	.pe-home-celebrating__title span {
		width: 3rem;
		height: 3.1rem;
		padding-bottom: 0.35rem;
		margin: 0 -0.2rem -0.15rem;
		vertical-align: middle;
	}

	/* Tablet — 3-column grid, no text fade */
	.pe-home-stats {
		position: relative;
		width: 100vw;
		margin: 0 calc(50% - 50vw) 2rem;
		padding: 0;
		overflow: visible;
	}

	.pe-home-stats__desktop {
		display: block;
	}

	.pe-home-stats__mobile {
		display: none;
	}

	.pe-home-stats__flare {
		margin: -4rem auto -2rem;
	}

	.pe-home-stats__grid {
		padding: clamp(1.5rem, 6vw, 3rem) clamp(0.75rem, 3vw, 1.5rem);
	}

	.pe-home-stats__item {
		margin-top: -4rem;
	}

	.pe-home-stats__item--left {
		padding-left: clamp(0.5rem, 2vw, 1.5rem);
	}

	.pe-home-stats__item--right {
		padding-top: 1;
		transform: translate(-0.75rem, -0.65rem);
	}

	.pe-home-stats__item--center {
		padding-top: clamp(1rem, 3vw, 3rem);
	}

	.pe-home-stats__text {
		font-size: clamp(0.75rem, 2vw, 1rem);
	}

	.pe-home-stats__item--left .pe-home-stats__text,
	.pe-home-stats__item--right .pe-home-stats__text {
		font-size: clamp(0.625rem, 1.5vw, 0.8125rem);
	}

	.pe-home-stats__item--center .pe-home-stats__text {
		font-size: clamp(0.875rem, 2.5vw, 1.125rem);
	}

	.pe-home-lockup__image {
		width: 100%;
	}

	.pe-home-stats,
	.pe-home-lockup {
		grid-row: auto;
	}

	.pe-home-prefooter {
		padding-top: 1.5rem;
		padding-bottom: 2rem;
	}

	.pe-home-prefooter__grid {
		flex-direction: column;
		gap: 0.75rem;
	}
}

@media (min-width: 769px) and (max-width: 992px) {
	.pe-home-celebrating .pe-container {
		row-gap: 0;
	}

	.pe-home-celebrating__title {
		max-width: 28rem;
		font-size: clamp(1.25rem, 5vw, 1.75rem);
	}

	.pe-home-celebrating__title span {
		width: clamp(3.75rem, 9vw, 4.5rem);
		height: clamp(3.85rem, 9.2vw, 4.6rem);
		padding-bottom: 0.45rem;
		margin: 0 -0.25rem -0.2rem;
	}

	.pe-home-hero__photos {
		display: block;
	}

	.pe-page--home .pe-home-hero.pe-section,
	.pe-home-hero {
		padding-top: calc(var(--pe-header-offset) + clamp(2rem, 5vw, 4rem));
		padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
		min-height: clamp(26rem, 72vw, 38rem);
	}

	.pe-home-hero__content {
		width: 100%;
		max-width: none;
		padding-top: clamp(3.5rem, 9vw, 7rem);
		text-align: center;
	}

	.pe-home-hero__copy,
	.pe-home-hero__copy p {
		max-width: clamp(20rem, 55vw, 32rem);
		margin-inline: auto;
		text-align: center;
	}

	/* Decor — desktop layout, scaled for tablet */
	.pe-home-site-bg__left {
		inset: auto;
		left: clamp(0.5rem, 3vw, 2rem);
		top: var(--pe-header-offset);
		width: clamp(9rem, 22vw, 16rem);
		height: auto;
	}

	.pe-home-site-bg__outline {
		top: calc(-1 * var(--pe-header-offset) + 2.75rem);
		left: 65%;
		right: auto;
		width: clamp(12rem, 24vw, 18rem);
		z-index: 1;
	}

	.pe-home-site-bg__dots {
		top: 12rem;
		bottom: auto;
		left: -48%;
		right: auto;
		width: clamp(8rem, 20vw, 16rem);
	}

	.pe-home-site-bg__right {
		inset: auto;
		right: clamp(0.5rem, 3vw, 2rem);
		top: var(--pe-header-offset);
		width: clamp(6rem, 14vw, 11rem);
		height: auto;
	}

	.pe-home-site-bg__solid-pink {
		top: calc(var(--pe-header-offset) - 0.5rem);
		left: auto;
		right: calc(23.5rem + clamp(0.5rem, 3vw, 2rem));
		width: clamp(3.5rem, 8vw, 4.5rem);
		min-width: 0;
		scale: 1;
		transform-origin: center;
	}

	.pe-home-site-bg__outline-blue {
		top: calc(-1 * var(--pe-header-offset) - 4.35rem);
		bottom: auto;
		left: auto;
		right: clamp(8rem, 10vw, 14rem);
		width: clamp(11rem, 22vw, 16rem);
		min-width: 0;
		scale: 1;
		transform-origin: center;
	}

	.pe-home-site-bg__dots-blue {
		display: block;
		top: clamp(19rem, 22vw, 24rem);
		right: clamp(4.5rem, 3vw, 7.5rem);
		left: auto;
		bottom: auto;
		width: clamp(18rem, 24vw, 24rem);
	}

	.pe-home-site-bg__solid-blue {
		top: 76%;
		bottom: auto;
		left: calc(50% + clamp(6rem, 10vw, 8rem));
		right: auto;
		width: clamp(3.5rem, 9vw, 5.5rem);
		min-width: 0;
		scale: 1;
		transform-origin: center;
	}

	/* Hero photos — desktop layout, scaled for tablet */
	.pe-home-hero__photo--0 {
		top: 1rem;
		left: clamp(-1.1srem, -2vw, -2.5rem);
		right: auto;
		width: clamp(18rem, 20vw, 15rem);
		transform: none;
	}

	.pe-home-hero__photo--1 {
		right: clamp(5.25rem, 3vw, 7.5rem);
		top: -1rem;
		left: auto;
		width: clamp(16rem, 25vw, 20rem);
	}

	.pe-home-hero__photo--2 {
		right: clamp(-0.5rem, -5vw, 0.5rem);
		bottom: clamp(6.5rem, 14vw, 9rem);
		left: auto;
		width: clamp(9rem, 26vw, 14rem);
	}

	.pe-home-hero__photo--3 {
		left: 30%;
		top: clamp(23rem, 38vw, 28rem);
		bottom: auto;
		right: auto;
		transform: translateX(-42%);
		width: clamp(6rem, 12vw, 8.5rem);
	}

	.pe-home-hero__lockup {
		width: min(100%, 20rem);
		max-width: 20rem;
	}

	.pe-home-stats {
		margin-bottom: 0;
	}

	.pe-home-stats__flare {
		margin-bottom: 0;
	}

	.pe-home-lockup {
		width: 100vw;
		margin-top: 0;
		margin-inline: calc(50% - 50vw);
	}

	.pe-home-lockup__image {
		width: 100%;
		max-width: none;
		margin-top: -10rem;
		margin-bottom: 2rem;
	}
}

@media (max-width: 768px) {
	.pe-home-hero__photos {
		display: none;
	}

	.pe-home-site-bg__outline {
		top: calc(var(--pe-header-offset) + 2.75rem);
		left: 0;
		width: clamp(2.75rem, 14vw, 3.75rem);
	}

	.pe-home-site-bg__dots {
		bottom: 0.1rem;
		left: calc(50% + 6.25rem);
		width: clamp(3.75rem, 20vw, 5.5rem);
	}

	.pe-home-site-bg__solid-pink {
		top: calc(var(--pe-header-offset) + 0.35rem);
		left: clamp(0.25rem, 2vw, 0.75rem);
	}

	.pe-home-site-bg__solid-blue {
		top: calc(var(--pe-header-offset) + 4rem);
		left: calc(50% + 6rem);
	}

	.pe-home-hero__content {
		gap: 1.25rem;
		padding-top: 2.5rem;
	}

	.pe-home-hero .pe-container,
	.pe-home-hero__content,
	.pe-home-celebrating .pe-container {
		width: 100%;
		max-width: none;
		padding-inline: var(--pe-gutter);
	}

	.pe-home-hero__lockup {
		width: min(100%, 12rem);
		max-width: 12rem;
	}

	.pe-home-hero__copy {
		max-width: 19rem;
		font-size: 0.9375rem;
	}

	.pe-home-hero__apply {
		width: min(100%, 12.5rem);
	}

	.pe-home-hero__apply .cta-label {
		font-size: 1.05rem;
	}

	.pe-home-celebrating__title {
		max-width: 17rem;
		font-size: 1.125rem;
	}

	.pe-home-celebrating__title span {
		width: 2.65rem;
		height: 2.75rem;
	}

	/* Mobile — static flare + text-only fade slideshow */
	.pe-home-stats__desktop {
		display: none;
	}

	.pe-home-stats__mobile {
		display: block;
	}

	.pe-home-stats__viewport {
		position: relative;
		overflow: hidden;
		padding: 0;
		min-height: clamp(15rem, 56vw, 21rem);
	}

	.pe-home-stats__viewport > .pe-home-stats__flare--static {
		display: block;
		width: 100%;
		height: auto;
		margin: 0;
	}

	.pe-home-stats__slide {
		position: absolute;
		inset: 0;
		z-index: 1;
		pointer-events: none;
	}

	.pe-home-stats__slide.is-active {
		pointer-events: auto;
	}

	.pe-home-stats__slide .pe-home-stats__item {
		position: absolute;
		top: 42%;
		right: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 1rem;
		margin: 0;
		border: 0;
		background: none;
		transform: translateY(-50%);
		opacity: 0;
		transition: opacity 1.2s ease;
	}

	.pe-home-stats__slide.is-active .pe-home-stats__item {
		opacity: 1;
	}

	.pe-home-stats__slide .pe-home-stats__text {
		font-size: clamp(1rem, 4.8vw, 1.1875rem);
		line-height: 1.35;
		max-width: 16rem;
		text-align: center;
	}

	.pe-home-stats__slide .pe-home-stats__item--center .pe-home-stats__text {
		font-size: clamp(1.125rem, 5.5vw, 1.3125rem);
	}

	/* Mobile lockup carousel — fade through gallery images */
	.pe-home-lockup:has(.pe-home-lockup__mobile) .pe-home-lockup__desktop {
		display: none;
	}

	.pe-home-lockup__mobile {
		display: block;
	}

	.pe-home-lockup__viewport {
		position: relative;
		margin-top: -10rem;
		margin-bottom: 2rem;
	}

	.pe-home-lockup__slide {
		opacity: 0;
		transition: opacity 0.4s ease;
		pointer-events: none;
	}

	.pe-home-lockup__slide:first-child {
		position: relative;
	}

	.pe-home-lockup__slide:not(:first-child) {
		position: absolute;
		inset: 0;
	}

	.pe-home-lockup__slide.is-active {
		opacity: 1;
		z-index: 1;
	}

	.pe-home-lockup__slide .pe-home-lockup__image {
		width: 100%;
		height: auto;
		margin: 0;
	}

	.pe-logo-array {
		/* Near-full viewport 1-2-1 / 2-1-2; cqi keeps cells square */
		container-type: inline-size;
		--pe-logo-gap: clamp(0.5rem, 3.5cqi, 1.5rem);
		--pe-logo-cell: calc((100cqi - var(--pe-logo-gap)) / 2);
		--pe-logo-step: calc(var(--pe-logo-cell) + var(--pe-logo-gap));
		--pe-logo-row-pull: calc((var(--pe-logo-cell) - var(--pe-logo-gap)) / -2);
		width: calc(100vw - 1rem);
		max-width: none;
		margin-top: 1.5rem;
		margin-inline: calc(50% - 50vw + 0.5rem);
		padding-inline: 0;
		box-sizing: border-box;
	}

	.pe-logo-array__mobile,
	.pe-logo-array__viewport,
	.pe-logo-array__slide {
		width: 100%;
	}

	.pe-logo-array__slide .pe-logo-array__rows,
	.pe-logo-array__slide .pe-logo-array__row {
		width: 100%;
	}

	.pe-logo-array__rows--desktop {
		display: none;
	}

	.pe-logo-array__mobile {
		display: block;
	}

	.pe-logo-array__viewport {
		position: relative;
	}

	.pe-logo-array__slide {
		opacity: 0;
		transition: opacity 0.45s ease;
		pointer-events: none;
	}

	.pe-logo-array__slide:first-child {
		position: relative;
	}

	.pe-logo-array__slide:not(:first-child) {
		position: absolute;
		inset: 0;
	}

	.pe-logo-array__slide.is-active {
		opacity: 1;
		z-index: 1;
		pointer-events: auto;
	}
}
