/**
 * Styles specific to the Nuvobrix — Home Hero widget only.
 * Shared tokens/components come from nuvobrix-tokens.css and
 * nuvobrix-components.css (loaded first — see get_style_depends()).
 */

.nuvobrix-home-hero {
	position: relative;
	overflow: hidden;
}

.nuvobrix-home-hero__grid {
	display: grid;
	grid-template-columns: var(--nuvobrix-hero-col, 58%) 1fr;
	gap: 56px;
	align-items: end;
}

.nuvobrix-home-hero__heading {
	font-family: var(--nuvobrix-font-display);
	font-weight: 700;
	font-size: clamp(44px, 6.6vw, 96px);
	line-height: .98;
	letter-spacing: -.025em;
	margin: 22px 0 0;
	color: var(--nuvobrix-ink);
}

.nuvobrix-home-hero__heading em {
	font-style: normal;
	color: var(--nuvobrix-signal);
}

.nuvobrix-home-hero__subheading {
	margin-top: 26px;
	max-width: 46ch;
	font-family: var(--nuvobrix-font-body);
	font-size: 18px;
	color: var(--nuvobrix-ink-70);
}

.nuvobrix-home-hero__ctas {
	display: flex;
	gap: 16px;
	margin-top: 38px;
	flex-wrap: wrap;
}

.nuvobrix-home-hero__figure {
	position: relative;
	aspect-ratio: 1 / 1.1;
}

.nuvobrix-home-hero__plate {
	position: absolute;
	inset: 0;
	border: 1px solid var(--nuvobrix-line-strong);
	border-radius: var(--nuvobrix-radius);
	background:
		repeating-linear-gradient(115deg, transparent 0 26px, var(--nuvobrix-line) 26px 27px),
		linear-gradient(160deg, var(--nuvobrix-paper-2), var(--nuvobrix-paper));
}

.nuvobrix-home-hero__illustration {
	position: absolute;
	width: 58%;
	aspect-ratio: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.nuvobrix-home-hero__illustration img,
.nuvobrix-home-hero__illustration svg {
	width: 100%;
	height: 100%;
	display: block;
}

.nuvobrix-home-hero__tag {
	position: absolute;
	bottom: 16px;
	left: 16px;
	font-family: var(--nuvobrix-font-mono);
	font-size: 10.5px;
	letter-spacing: .08em;
	color: var(--nuvobrix-ink-50);
	background: rgba(242, 244, 249, .9);
	padding: 5px 8px;
	border: 1px solid var(--nuvobrix-line);
}

.nuvobrix-home-hero__coord {
	position: absolute;
	top: 16px;
	right: 16px;
	font-family: var(--nuvobrix-font-mono);
	font-size: 10.5px;
	color: var(--nuvobrix-signal);
	text-align: right;
	line-height: 1.6;
}

.nuvobrix-home-hero__foot {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 64px;
	padding-top: 22px;
	border-top: 1px solid var(--nuvobrix-line);
	font-family: var(--nuvobrix-font-mono);
	font-size: 11.5px;
	color: var(--nuvobrix-ink-50);
	letter-spacing: .05em;
	flex-wrap: wrap;
	gap: 14px;
}

@media (max-width: 980px) {
	.nuvobrix-home-hero__grid {
		grid-template-columns: 1fr;
	}

	.nuvobrix-home-hero__figure {
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 600px) {
	.nuvobrix-home-hero__foot {
		display: none;
	}
}
