/* ==========================================================================
   Million Dots — Hero section
   Background photograph under a directional scrim; headline column and the
   direct-contact panel sit on top in an asymmetric two-column grid.
   Every value comes from theme.json tokens (--wp--preset--* / --wp--custom--*).
   ========================================================================== */

.mdc-hero {
	position: relative;
	isolation: isolate;
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	overflow: hidden;
}

/* --- Background photograph ------------------------------------------------ */
.mdc-hero__media {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.mdc-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 58%;
}

.mdc-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--custom--scrim--hero);
}

/* --- Layout --------------------------------------------------------------- */
.mdc-hero__inner {
	width: 100%;
	max-width: var(--wp--custom--layout--container-max);
	margin-inline: auto;
	padding-inline: var(--wp--custom--layout--gutter);
	padding-block: clamp(3rem, 7vw, 5.5rem) clamp(6rem, 10vw, 9rem);
}

.mdc-hero__grid {
	display: grid;
	gap: clamp(2.5rem, 5vw, 4rem);
	align-items: end;
}

@media (min-width: 860px) {
	.mdc-hero__grid {
		grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr);
	}
}

/* --- Headline column ------------------------------------------------------ */
.mdc-hero__title {
	margin: 0;
	max-width: 15ch;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-one);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--leading--tight);
	letter-spacing: var(--wp--custom--tracking--display);
	text-wrap: balance;
	color: var(--wp--preset--color--base);
}

.mdc-hero__lede {
	margin: var(--wp--preset--spacing--60) 0 0;
	max-width: 54ch;
	font-size: var(--wp--preset--font-size--large);
	line-height: var(--wp--custom--leading--relaxed);
	color: var(--wp--custom--color--ink-invert-soft);
}

.mdc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--70);
}

/* --- Proof row ------------------------------------------------------------ */
.mdc-hero__proof {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	margin: var(--wp--preset--spacing--70) 0 0;
	padding: var(--wp--preset--spacing--60) 0 0;
	list-style: none;
	border-top: 1px solid var(--wp--custom--color--border-invert-subtle);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.02em;
	color: var(--wp--custom--color--ink-invert-dim);
}

.mdc-hero__proof li {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
}

.mdc-hero__proof .mdc-icon {
	width: 16px;
	height: 16px;
	stroke-width: 2.2;
	color: var(--wp--preset--color--accent);
}

/* ==========================================================================
   Contact panel — the asymmetric second column
   ========================================================================== */

.mdc-hero__panel {
	background-color: var(--wp--custom--color--surface-glass);
	border: 1px solid var(--wp--custom--color--border-invert-subtle);
	border-radius: var(--wp--custom--radius--md);
	backdrop-filter: blur(10px);
	padding: var(--wp--preset--spacing--60);
}

.mdc-hero__panel-title {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	margin: 0;
	padding-bottom: var(--wp--preset--spacing--40);
	border-bottom: 1px solid var(--wp--custom--color--border-invert-subtle);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--weight--semibold);
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
}

.mdc-hero__panel-title .mdc-icon {
	width: 20px;
	height: 20px;
	color: var(--wp--preset--color--accent);
}

.mdc-hero__panel-list {
	display: grid;
}

.mdc-hero__panel-list a {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--wp--preset--spacing--40);
	align-items: center;
	padding: var(--wp--preset--spacing--40) 0;
	border-bottom: 1px solid var(--wp--custom--color--border-invert-hairline);
	color: var(--wp--preset--color--base);
	text-decoration: none;
	transition: color var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}

.mdc-hero__panel-list a:hover .mdc-hero__panel-value {
	color: var(--wp--preset--color--accent);
}

.mdc-hero__panel-list .mdc-icon {
	width: 20px;
	height: 20px;
	color: var(--wp--preset--color--accent);
}

.mdc-hero__panel-label {
	display: block;
	font-size: 0.6875rem;
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	text-transform: uppercase;
	color: var(--wp--custom--color--ink-invert-faint);
}

.mdc-hero__panel-value {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--weight--semibold);
	overflow-wrap: anywhere;
	transition: color var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}

.mdc-hero__panel-foot {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding-top: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--custom--color--ink-invert-dim);
}

.mdc-hero__panel-foot .mdc-icon {
	width: 15px;
	height: 15px;
	color: var(--wp--preset--color--accent);
}

/* --- Focus ---------------------------------------------------------------- */
.mdc-hero :focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: var(--wp--custom--radius--xs);
}

/* --- Narrow phones: the two CTAs stack so neither label wraps ------------- */
@media (max-width: 430px) {
	.mdc-hero__actions {
		display: grid;
		gap: var(--wp--preset--spacing--30);
	}

	.mdc-hero__panel {
		padding: var(--wp--preset--spacing--50);
	}
}

/* --- In the editor the block has no page frame to sit in ------------------ */
.editor-styles-wrapper .mdc-hero {
	margin-block: 0;
}
