.apcs-hero {
	padding: 0;
	color: #fff;
	background: #07131c;
	isolation: isolate;
	overflow: hidden;
	align-items: stretch;
	--apcs-hero-max-width: min(96vw, 1760px);
	--apcs-hero-inline-pad: clamp(20px, 2.8vw, 40px);
	--apcs-hero-kicker-font-size: clamp(20px, 1.65vw, 22px);
	--apcs-hero-title-font-size: clamp(68px, 6vw, 88px);
	--apcs-hero-action-font-size: clamp(17px, 1.18vw, 18px);
	--apcs-hero-meta-title-font-size: clamp(24px, 2vw, 30px);
	--apcs-hero-meta-copy-font-size: clamp(17px, 1.05vw, 18px);
	--apcs-hero-meta-card-width: min(100%, 360px);
}

.apcs-hero::before,
.apcs-hero::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 1;
	filter: blur(30px);
	mix-blend-mode: screen;
	opacity: 0.44;
	will-change: transform, opacity;
}

.apcs-hero::before {
	width: min(64vw, 920px);
	height: min(64vw, 920px);
	top: -16%;
	left: -10%;
	background: radial-gradient(circle at 42% 42%, rgba(47, 174, 159, 0.54) 0%, rgba(47, 174, 159, 0) 72%);
	animation:
		apcsHeroAuroraDriftA 24s ease-in-out infinite alternate,
		apcsHeroAuroraPulseA 8.8s ease-in-out infinite;
}

.apcs-hero::after {
	width: min(58vw, 780px);
	height: min(58vw, 780px);
	bottom: -18%;
	right: -6%;
	background: radial-gradient(circle at 60% 36%, rgba(76, 141, 232, 0.46) 0%, rgba(76, 141, 232, 0) 72%);
	animation:
		apcsHeroAuroraDriftB 29s ease-in-out infinite alternate,
		apcsHeroAuroraPulseB 10.2s ease-in-out infinite;
}

.apcs-hero .wp-block-cover__background {
	z-index: 1;
	background:
		linear-gradient(142deg, rgba(5, 28, 38, 0.62) 0%, rgba(10, 38, 34, 0.48) 48%, rgba(11, 30, 56, 0.68) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 0.2) 0%, rgb(0 0 0 / 0.18) 42%, rgb(0 0 0 / 0.42) 100%);
}

.apcs-hero .wp-block-cover__image-background {
	object-position: center 56%;
}

.apcs-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--apcs-hero-max-width, var(--apcs-wide-width));
	margin-inline: auto;
	padding: 115px var(--apcs-hero-inline-pad) 64px;
	display: flex;
	align-items: center;
	min-height: 640px;
	position: relative;
	z-index: 2;
}

@keyframes apcsHeroAuroraDriftA {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
	}
	100% {
		transform: translate3d(4%, 3%, 0) scale(1.12);
	}
}

@keyframes apcsHeroAuroraDriftB {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
	}
	100% {
		transform: translate3d(-4%, -3%, 0) scale(1.1);
	}
}

@keyframes apcsHeroAuroraPulseA {
	0%,
	100% {
		opacity: 0.5;
	}
	50% {
		opacity: 0.3;
	}
}

@keyframes apcsHeroAuroraPulseB {
	0%,
	100% {
		opacity: 0.34;
	}
	50% {
		opacity: 0.56;
	}
}

.apcs-hero-shell {
	width: 100%;
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 0;
	align-content: stretch;
	min-height: 100%;
}

.apcs-hero .wp-block-cover__inner-container.is-layout-constrained > .apcs-hero-shell,
.apcs-hero .wp-block-cover__inner-container.block-editor-block-list__layout > .apcs-hero-shell.wp-block {
	width: 100%;
	max-width: none !important;
	margin-inline: 0 !important;
}

.apcs-hero-kicker-row {
	margin: 0;
	display: grid;
	grid-template-columns: max-content max-content;
	align-items: center;
	justify-content: start;
	justify-self: start;
	gap: 16px;
	width: min(100%, 1160px);
	max-width: none;
	padding-bottom: clamp(24px, 3.5vw, 40px);
}

.apcs-hero .apcs-hero-kicker-row.is-layout-flex {
	display: grid;
}

.apcs-hero-kicker-row .wp-block-column {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
}

.apcs-hero-kicker,
.apcs-hero-kicker-row p {
	margin: 0;
	font-family: "Manrope", sans-serif;
	font-size: var(--apcs-hero-kicker-font-size);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: rgb(255 255 255 / 0.94);
	text-shadow: 0 1px 18px rgb(0 0 0 / 0.34);
}

.apcs-hero-kicker.has-hero-eyebrow-font-size,
.apcs-hero-kicker-row p.has-hero-eyebrow-font-size {
	font-size: var(--apcs-hero-kicker-font-size) !important;
}

.apcs-hero-kicker--subtle {
	font-weight: 400;
	color: rgb(255 255 255 / 0.78);
}

.apcs-hero-grid {
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	justify-content: start;
	align-items: end;
	min-height: 100%;
}

.apcs-hero .apcs-hero-grid.is-layout-flex {
	display: grid;
}

.apcs-hero-grid > .wp-block-column,
.apcs-hero-grid > .wp-block-group {
	min-width: 0;
	margin: 0;
}

.apcs-hero-copy {
	display: grid;
	align-content: end;
	gap: 0;
	width: min(100%, 1180px);
	max-width: none;
}

.apcs-hero-title,
.apcs-display-heading {
	margin: 0;
	max-width: min(100%, 1120px);
	padding-bottom: clamp(30px, 3.2vw, 42px);
	font-family: "Space Grotesk", "Manrope", sans-serif;
	font-size: var(--apcs-hero-title-font-size);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	text-wrap: pretty;
	color: #fff;
	text-shadow: 0 4px 34px rgb(0 0 0 / 0.32);
}

.apcs-hero-title.has-hero-title-font-size {
	font-size: var(--apcs-hero-title-font-size) !important;
}

.apcs-hero-title > br:first-child {
	display: none;
}

.apcs-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	margin: 0;
}

.apcs-hero-actions .wp-block-button:not([class*="-font-size"]):not([style*="font-size"]) {
	--apcs-button-font-size: var(--apcs-hero-action-font-size);
}

.apcs-hero-actions .wp-block-button:not([class*="-font-size"]):not([style*="font-size"]) .wp-element-button:not([class*="-font-size"]) {
	font-size: var(--apcs-hero-action-font-size);
}

.apcs-hero-actions .wp-element-button.has-hero-cta-font-size,
.apcs-hero-actions .wp-block-apcs-platform-animated-button.has-hero-cta-font-size .wp-element-button {
	font-size: var(--apcs-hero-action-font-size) !important;
}

.apcs-hero-meta {
	display: flex;
	width: 100%;
	min-height: 100%;
	align-items: stretch;
	justify-content: end;
	align-self: stretch;
}

.apcs-hero-meta-card {
	display: flex;
	flex-direction: column;
	justify-content: end;
	width: var(--apcs-hero-meta-card-width);
	padding: clamp(24px, 3vw, 34px);
	border: 1px solid rgb(255 255 255 / 0.22);
	background:
		linear-gradient(160deg, rgb(255 255 255 / 0.18) 0%, rgb(255 255 255 / 0.08) 100%),
		rgb(7 19 28 / 0.24);
	backdrop-filter: blur(18px);
	box-shadow: 0 28px 72px rgb(0 0 0 / 0.24);
	box-sizing: border-box;
}

.apcs-hero .apcs-hero-meta .apcs-hero-meta-card {
	padding: clamp(24px, 3vw, 34px);
}

.apcs-hero-meta-stack {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start !important;
	justify-self: start;
	text-align: left;
	gap: clamp(12px, 1.7vw, 24px);
	width: fit-content;
	max-width: min(100%, 960px);
	margin: 0 auto clamp(18px, 2.6vw, 30px) 0 !important;
	padding: 0;
}

.apcs-hero-meta-stack.is-layout-flex {
	justify-content: flex-start !important;
}

.apcs-hero-meta-stack > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.apcs-hero-meta-stack > .apcs-hero-meta-title,
.apcs-hero-meta-stack > .apcs-hero-meta-copy {
	margin-inline: 0 !important;
}

.apcs-hero-meta-title,
.apcs-hero-meta h2 {
	margin: 0;
	font-family: "Space Grotesk", "Manrope", sans-serif;
	font-size: var(--apcs-hero-meta-title-font-size);
	font-weight: 700;
	line-height: 1.11;
	letter-spacing: -0.03em;
	white-space: nowrap;
	color: #fff;
	text-shadow: 0 3px 22px rgb(0 0 0 / 0.28);
}

.apcs-hero-meta-title.has-hero-meta-title-font-size {
	font-size: var(--apcs-hero-meta-title-font-size) !important;
}

.apcs-hero-meta-copy,
.apcs-hero-meta p,
.apcs-hero-meta-mobile p {
	margin: 0;
	font-family: "Manrope", sans-serif;
	font-size: var(--apcs-hero-meta-copy-font-size);
	font-weight: 600;
	line-height: 1.56;
	white-space: nowrap;
	color: rgb(255 255 255 / 0.94);
	text-shadow: 0 2px 18px rgb(0 0 0 / 0.3);
}

.apcs-hero-meta-copy.has-hero-meta-copy-font-size,
.apcs-hero-meta p.has-hero-meta-copy-font-size,
.apcs-hero-meta-mobile p.has-hero-meta-copy-font-size {
	font-size: var(--apcs-hero-meta-copy-font-size) !important;
}

.apcs-hero-meta-date,
.apcs-hero-meta-location {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.apcs-hero-meta-date::before,
.apcs-hero-meta-location::before {
	flex: 0 0 auto;
	margin-top: 0.1em;
	font-family: "Material Symbols Outlined", sans-serif;
	font-size: 1.05em;
	font-weight: 400;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
	color: rgb(255 255 255 / 0.78);
}

.apcs-hero-meta-date::before {
	content: "event";
}

.apcs-hero-meta-location::before {
	content: "location_on";
}

.apcs-hero-meta-mobile {
	display: none;
}

@media (min-width: 1280px) {
	.apcs-hero {
		height: auto;
		min-height: calc(90svh - var(--apcs-header-slot-height, 83px)) !important;
		margin-bottom: 0 !important;
	}

	.apcs-hero .wp-block-cover__inner-container {
		box-sizing: border-box;
		min-height: calc(86svh - var(--apcs-header-slot-height, 83px)) !important;
		padding-top: clamp(36px, 4vh, 64px);
		padding-bottom: clamp(56px, 9vh, 120px);
	}

	.apcs-hero .apcs-hero-shell {
		align-content: center;
	}

	.apcs-hero .apcs-hero-grid {
		align-items: center;
	}

	.apcs-hero .apcs-hero-copy {
		align-content: center;
	}

	.apcs-hero .apcs-hero-meta {
		align-items: stretch;
	}

	.apcs-hero .apcs-hero-meta-card {
		align-self: stretch;
		justify-content: center;
		padding: clamp(24px, 3vw, 34px);
	}
}

@media (max-width: 1279px) {
	.apcs-hero {
		--apcs-hero-title-font-size: clamp(56px, 6.2vw, 76px);
		--apcs-hero-meta-title-font-size: clamp(22px, 2.6vw, 28px);
	}

	.apcs-hero .wp-block-cover__inner-container {
		padding: 96px 40px 48px;
	}

	.apcs-hero-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.apcs-hero-title,
	.apcs-display-heading {
		font-size: var(--apcs-hero-title-font-size);
	}
}

@media (max-width: 767px) {
	.apcs-hero {
		--apcs-hero-kicker-font-size: 16px;
		--apcs-hero-title-font-size: clamp(38px, 11.6vw, 54px);
		--apcs-hero-action-font-size: 17px;
		--apcs-hero-meta-title-font-size: 24px;
		--apcs-hero-meta-copy-font-size: 15px;
	}

	.apcs-hero::before,
	.apcs-hero::after {
		filter: blur(20px);
		opacity: 0.4;
	}

	.apcs-hero .wp-block-cover__inner-container {
		padding: 28px 20px 0;
		min-height: clamp(700px, calc(100svh - var(--apcs-header-slot-height, 82px)), 812px);
	}

	.apcs-hero-shell {
		gap: 24px;
	}

	.apcs-hero-kicker-row {
		display: grid;
		grid-template-columns: 1fr;
		gap: 6px;
		max-width: 260px;
		padding-bottom: 18px;
	}

	.apcs-hero-kicker,
	.apcs-hero-kicker-row p {
		font-size: var(--apcs-hero-kicker-font-size);
		line-height: 1.4;
	}

	.apcs-hero-grid,
	.apcs-hero-inner {
		grid-template-columns: 1fr;
		gap: 28px;
		min-height: auto;
	}

	.apcs-hero-copy {
		gap: 0;
		max-width: none;
	}

	.apcs-hero-meta-stack {
		align-items: flex-start;
		margin-bottom: 16px !important;
		gap: 8px 14px;
	}

	.apcs-hero-meta-title,
	.apcs-hero-meta-copy,
	.apcs-hero-meta p {
		white-space: normal;
	}

	.apcs-hero-title,
	.apcs-display-heading {
		max-width: none;
		padding-bottom: 24px;
		font-size: var(--apcs-hero-title-font-size);
		line-height: 0.95;
		text-wrap: pretty;
	}

	.apcs-hero-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.apcs-hero-actions .wp-block-button,
	.apcs-hero-actions .wp-block-button .wp-element-button {
		width: 100%;
	}

	.apcs-hero-actions .wp-element-button {
		justify-content: center;
		padding: 16px 20px;
	}

	.apcs-hero-actions .wp-block-button:not([class*="-font-size"]):not([style*="font-size"]) .wp-element-button:not([class*="-font-size"]) {
		font-size: var(--apcs-hero-action-font-size);
	}

	.apcs-hero-meta {
		display: block;
		width: calc(100% + 40px);
		margin-inline: -20px;
	}

	.apcs-hero-meta-card {
		width: 100%;
		padding: 20px;
		border-left: 0;
		border-right: 0;
		border-bottom: 0;
		background: linear-gradient(180deg, rgb(10 10 10 / 0.28) 0%, rgb(8 8 8 / 0.72) 100%);
		backdrop-filter: blur(10px);
		box-shadow: none;
	}

	.apcs-hero .apcs-hero-meta .apcs-hero-meta-card {
		padding: 20px;
	}

	.apcs-hero-meta-title,
	.apcs-hero-meta h2 {
		font-size: var(--apcs-hero-meta-title-font-size);
	}

	.apcs-hero-meta-copy,
	.apcs-hero-meta p,
	.apcs-hero-meta-mobile p {
		font-size: var(--apcs-hero-meta-copy-font-size);
		line-height: 1.55;
	}
}

/*
 * WebKit resolves the nested Cover -> flex inner -> percentage-height grid
 * chain differently from Chromium: the Landing Hero can keep increasing its
 * block-size even though the intended cover height is already known. Keep the
 * editor-facing block structure intact, but cap the inner cover to the same
 * responsive heights used by the design and make the child grid resolve
 * against that definite height.
 */
@supports (-webkit-hyphens: none) {
	.apcs-hero {
		--apcs-hero-webkit-inner-max-height: 842px;
	}

	.apcs-hero .wp-block-cover__inner-container {
		max-height: var(--apcs-hero-webkit-inner-max-height);
	}

	.apcs-hero .apcs-hero-shell {
		height: 100%;
		min-height: 0;
	}

	.apcs-hero .apcs-hero-grid {
		min-height: 0;
	}
}

@supports (-webkit-hyphens: none) {
	@media (min-width: 1280px) {
		.apcs-hero {
			--apcs-hero-webkit-inner-max-height: calc(90svh - var(--apcs-header-slot-height, 83px));
		}
	}

	@media (min-width: 768px) and (max-width: 1279px) {
		.apcs-hero {
			--apcs-hero-webkit-inner-max-height: 726px;
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	.apcs-hero::before,
	.apcs-hero::after {
		animation: none;
		transform: none;
	}
}
/* PPT 260515 feedback: Reduced top padding, smaller meta text, less background blur for better image visibility. */
.apcs-hero {
	--apcs-hero-title-font-size: clamp(56px, 5.5vw, 72px);
	--apcs-hero-kicker-font-size: clamp(20px, 1.3vw, 22px);
	--apcs-hero-action-font-size: clamp(17px, 1.05vw, 18px);
	--apcs-hero-meta-title-font-size: clamp(18px, 1.4vw, 22px);
	--apcs-hero-meta-copy-font-size: clamp(15px, 0.95vw, 16px);
}

.apcs-hero .wp-block-cover__background {
	background:
		linear-gradient(90deg, rgba(3, 19, 29, 0.38) 0%, rgba(3, 19, 29, 0.18) 40%, rgba(3, 19, 29, 0.04) 68%, rgba(3, 19, 29, 0) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.06) 48%, rgba(0, 0, 0, 0.22) 100%);
}

.apcs-hero .wp-block-cover__inner-container {
	align-items: end;
	min-height: clamp(520px, 68vh, 700px);
	padding-top: clamp(32px, 3vh, 42px);
	padding-bottom: clamp(38px, 5vh, 60px);
}

.apcs-hero-shell {
	align-content: end;
}

.apcs-hero-copy {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding: clamp(22px, 2.4vw, 34px);
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: linear-gradient(112deg, rgba(3, 19, 29, 0.56), rgba(3, 19, 29, 0.24));
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);
	backdrop-filter: blur(3px);
}

.apcs-hero-title,
.apcs-display-heading {
	max-width: none;
	padding-bottom: clamp(14px, 1.8vw, 22px);
	line-height: 0.98;
}

.apcs-hero-meta-stack {
	width: 100%;
	max-width: none;
	margin-bottom: clamp(10px, 1.4vw, 16px);
}

.apcs-hero-meta-stack > .apcs-hero-meta-title,
.apcs-hero-meta-stack > .apcs-hero-meta-copy {
	margin-inline: 0 !important;
	max-width: none !important;
}

.apcs-hero-kicker-row {
	padding-bottom: clamp(10px, 1.4vw, 16px);
}

@supports not ((backdrop-filter: blur(5px))) {
	.apcs-hero-copy {
		background: rgba(3, 19, 29, 0.78);
	}
}

@media (max-width: 781px) {
	.apcs-hero {
		--apcs-hero-title-font-size: clamp(38px, 11vw, 54px);
	}

	.apcs-hero-copy {
		width: 100%;
		padding: 20px;
	}
}
