/**
 * Page-level presentation.
 */

.home .p-entry__title.c-pageTitle {
	display: none;
}

.home :is(.l-content, .l-main, .p-entry__content) {
	margin-block-start: 0;
	padding-block-start: 0;
}

.mjh-hero {
	position: relative;
	display: grid;
	align-items: center;
	min-height: min(82vh, 54rem);
	overflow: hidden;
	color: rgb(255 255 255 / 78%);
	background: var(--mjh-color-primary-strong);
}

.mjh-hero::after {
	position: absolute;
	top: clamp(3rem, 10vw, 7rem);
	right: clamp(-5rem, 5vw, 5rem);
	width: clamp(15rem, 33vw, 31rem);
	aspect-ratio: 1;
	background: var(--mjh-color-accent);
	border-radius: 50%;
	content: "";
	opacity: 0.92;
}

.mjh-hero > .wp-block-group__inner-container,
.mjh-hero > .wp-block-columns {
	position: relative;
	z-index: 1;
}

.mjh-hero h1,
.mjh-hero h2 {
	color: #ffffff;
}

.mjh-hero .mjh-lead {
	color: rgb(255 255 255 / 78%);
}

.mjh-hero__aside {
	position: relative;
	padding: clamp(1.5rem, 4vw, 3rem);
	color: #ffffff;
	background: rgb(20 34 53 / 72%);
	border: 1px solid rgb(255 255 255 / 30%);
	backdrop-filter: blur(8px);
}

.mjh-hero__aside p {
	margin: 0;
}

.mjh-hero__aside strong {
	display: block;
	margin-block-end: 0.75rem;
	font-size: clamp(1.3rem, 2vw, 1.8rem);
	font-weight: 500;
}

.mjh-promise {
	padding-inline-start: clamp(1.5rem, 5vw, 5rem);
	border-left: 1px solid var(--mjh-color-accent);
}

.mjh-cta {
	position: relative;
	overflow: hidden;
}

.mjh-cta::after {
	position: absolute;
	right: -5rem;
	bottom: -8rem;
	width: 20rem;
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 20%);
	border-radius: 50%;
	content: "";
}

/* Full-page launch teaser. */
body:has(.mjh-coming-soon) :is(.p-entry__title.c-pageTitle, .p-breadcrumb, .c-breadcrumb) {
	display: none;
}

body:has(.mjh-coming-soon) :is(.l-content, .l-main, .p-entry__content) {
	margin-block-start: 0;
	padding-block-start: 0;
}

.mjh-coming-soon {
	position: relative;
	isolation: isolate;
	display: grid;
	align-items: center;
	min-height: calc(100svh - 4.75rem);
	overflow: hidden;
	background:
		radial-gradient(circle at 16% 12%, rgb(255 255 255 / 7%), transparent 24rem),
		var(--mjh-color-primary-strong);
}

.mjh-coming-soon::before,
.mjh-coming-soon::after {
	position: absolute;
	aspect-ratio: 1;
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.mjh-coming-soon::before {
	top: clamp(3rem, 9vw, 8rem);
	right: clamp(-10rem, -3vw, -2rem);
	z-index: -2;
	width: clamp(21rem, 40vw, 38rem);
	background: var(--mjh-color-accent);
	opacity: 0.9;
}

.mjh-coming-soon::after {
	right: clamp(7rem, 17vw, 18rem);
	bottom: clamp(-12rem, -9vw, -5rem);
	z-index: -1;
	width: clamp(17rem, 32vw, 31rem);
	border: 1px solid rgb(255 255 255 / 22%);
}

.mjh-coming-soon__grid {
	position: relative;
	z-index: 1;
	column-gap: clamp(3rem, 8vw, 8rem);
}

.mjh-coming-soon__title {
	max-width: 13ch;
	margin-block: 0 clamp(1.5rem, 3vw, 2rem);
	font-family: var(--mjh-font-display);
	font-size: clamp(3.25rem, 7.5vw, 7rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 0.98;
}

.mjh-coming-soon .mjh-lead {
	color: rgb(255 255 255 / 76%);
}

.mjh-coming-soon__actions {
	margin-block-start: clamp(2rem, 4vw, 3rem);
}

.mjh-coming-soon__panel {
	padding: clamp(1.75rem, 4vw, 3rem);
	background: rgb(20 34 53 / 74%);
	border: 1px solid rgb(255 255 255 / 28%);
	backdrop-filter: blur(10px);
}

.mjh-coming-soon__panel > * {
	margin-block-start: 0;
}

.mjh-coming-soon__status {
	gap: 0.65rem;
	margin-block-end: clamp(3rem, 7vw, 5rem);
	color: rgb(255 255 255 / 72%);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.mjh-coming-soon__status p {
	margin: 0;
}

.mjh-coming-soon__status-dot {
	flex: 0 0 auto;
	width: 0.55rem;
	height: 0.55rem;
	background: var(--mjh-color-accent);
	border-radius: 50%;
	box-shadow: 0 0 0 0.3rem rgb(188 0 45 / 20%);
}

.mjh-coming-soon__label {
	margin-block-end: 0.75rem;
	color: rgb(255 255 255 / 64%);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.mjh-coming-soon__panel-title {
	max-width: 12ch;
	margin-block-end: clamp(2rem, 4vw, 3rem);
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.08;
}

.mjh-coming-soon__principles p {
	margin: 0;
	padding-block: 0.8rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-top: 1px solid rgb(255 255 255 / 18%);
}

.mjh-coming-soon__principles p:last-child {
	padding-block-end: 0;
}

@media (max-width: 781px) {
	.mjh-hero {
		min-height: auto;
		padding-block: 5rem;
	}

	.mjh-hero::after {
		top: auto;
		right: -8rem;
		bottom: -8rem;
		width: 18rem;
		opacity: 0.65;
	}

	.mjh-hero__aside {
		margin-block-start: 2rem;
	}

	.mjh-coming-soon {
		min-height: auto;
		padding-block: clamp(4.5rem, 15vw, 7rem);
	}

	.mjh-coming-soon::before {
		top: auto;
		right: -11rem;
		bottom: -4rem;
		width: 22rem;
		opacity: 0.68;
	}

	.mjh-coming-soon::after {
		right: auto;
		bottom: -8rem;
		left: -9rem;
		width: 18rem;
	}

	.mjh-coming-soon__title {
		font-size: clamp(3rem, 15vw, 5rem);
	}

	.mjh-coming-soon__panel {
		margin-block-start: 2rem;
	}
}
