/**
 * Services page — Hero section.
 * Figma: node 550:265 — staggered layout with 76px / 191px spacing.
 */

:root {
	--sp-svc-hero-pad-top: clamp(46px, calc(140 / var(--spaciefy-artboard) * 100vw), 140px);
	--sp-svc-hero-pad-bottom: clamp(56px, calc(135 / var(--spaciefy-artboard) * 100vw), 135px);
	--sp-svc-hero-inner-max: 1690px;
	--sp-svc-hero-eyebrow-size: clamp(11px, calc(17.543 / var(--spaciefy-artboard) * 100vw), 17.543px);
	--sp-svc-hero-eyebrow-tracking: clamp(3px, calc(5.964 / var(--spaciefy-artboard) * 100vw), 5.964px);
	--sp-svc-hero-eyebrow-gap: clamp(12px, calc(19 / var(--spaciefy-artboard) * 100vw), 19px);
	--sp-svc-hero-heading-size: clamp(22px, calc(99.846 / var(--spaciefy-artboard) * 100vw), 99.846px);
	--sp-svc-hero-heading-lh: 1.11;
	--sp-svc-hero-heading-text-gap: clamp(32px, calc(76 / var(--spaciefy-artboard) * 100vw), 76px);
	--sp-svc-hero-subtext-max: min(100%, clamp(280px, calc(782 / var(--spaciefy-artboard) * 100vw), 782px));
	--sp-svc-hero-subtext-size: clamp(15px, calc(64 / var(--spaciefy-artboard) * 100vw), 64px);
	--sp-svc-hero-subtext-lh: 1.11;
	--sp-svc-hero-subtext-gap: clamp(32px, calc(56 / var(--spaciefy-artboard) * 100vw), 56px);
	--sp-svc-hero-cta-font-size: clamp(14px, calc(20.064 / var(--spaciefy-artboard) * 100vw), 20.064px);
	--sp-svc-hero-cta-pad-y: clamp(11px, calc(13 / var(--spaciefy-artboard) * 100vw), 13px);
	--sp-svc-hero-cta-pad-x: clamp(24px, calc(36 / var(--spaciefy-artboard) * 100vw), 36px);
	--sp-svc-hero-cta-radius: 74px;
	--sp-svc-hero-cta-icon-size: clamp(40px, calc(57 / var(--spaciefy-artboard) * 100vw), 57px);
}

.sp-svc-hero {
	position: relative;
	isolation: isolate;
	width: 100%;
	background-color: var(--spaciefy-black);
	background-image: url("../../images/service-hero-bg.png");
	background-size: cover;
	background-position: top left;
	background-repeat: no-repeat;
	overflow: hidden;
}

/* Main site container — centered, full section width */
.sp-svc-hero__container {
	position: relative;
	z-index: 1;
	width: var(--spaciefy-container-width);
	max-width: var(--spaciefy-container);
	margin-left: auto;
	margin-right: auto;
}

/* Section content container — left-aligned within main container */
.sp-svc-hero__inner {
	width: 100%;
	max-width: var(--sp-svc-hero-inner-max);
	margin-left: 0;
	margin-right: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: var(--sp-svc-hero-pad-top);
	padding-bottom: var(--sp-svc-hero-pad-bottom);
}

/* Label + heading */
.sp-svc-hero__left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--sp-svc-hero-eyebrow-gap);
	width: 100%;
}

.sp-svc-hero__eyebrow {
	display: block;
	margin: 0;
	font-family: var(--spaciefy-font-helvetica);
	font-size: var(--sp-svc-hero-eyebrow-size);
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	letter-spacing: var(--sp-svc-hero-eyebrow-tracking);
	text-transform: uppercase;
	color: #ffffff;
	opacity: 0.4;
}

.sp-svc-hero__heading {
	margin: 0;
	font-family: var(--spaciefy-font-helvetica);
	font-size: var(--sp-svc-hero-heading-size);
	font-style: normal;
	font-weight: 300;
	line-height: var(--sp-svc-hero-heading-lh);
	color: #ffffff;
	word-break: break-word;
}

/* Subtext + CTA — 782px block, right-aligned */
.sp-svc-hero__right {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: min(100%, var(--sp-svc-hero-subtext-max));
	max-width: var(--sp-svc-hero-subtext-max);
	margin-top: var(--sp-svc-hero-heading-text-gap);
	margin-left: auto;
	margin-right: 0;
}

.sp-svc-hero__subtext {
	margin: 0 0 var(--sp-svc-hero-subtext-gap);
	width: 100%;
	font-family: var(--spaciefy-font-helvetica);
	font-size: var(--sp-svc-hero-subtext-size);
	font-style: normal;
	font-weight: 300;
	line-height: var(--sp-svc-hero-subtext-lh);
	text-align: start;
	color: #ffffff;
}

/* CTA row: pill button + square arrow icon */
.sp-svc-hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.sp-svc-hero__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--sp-svc-hero-cta-pad-y) var(--sp-svc-hero-cta-pad-x);
	border: 0;
	border-radius: var(--sp-svc-hero-cta-radius);
	font-family: var(--spaciefy-font-manrope);
	font-size: var(--sp-svc-hero-cta-font-size);
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	color: #000000;
	background-color: #ffffff;
	white-space: nowrap;
	transition: opacity 0.2s ease;
}

.sp-svc-hero__cta-button:hover,
.sp-svc-hero__cta-button:focus-visible {
	opacity: 0.9;
}

.sp-svc-hero__cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--sp-svc-hero-cta-icon-size);
	height: var(--sp-svc-hero-cta-icon-size);
	border-radius: var(--sp-cta-icon-radius);
	color: var(--spaciefy-black);
	background-color: var(--spaciefy-yellow);
	transition: opacity 0.2s ease;
}

.sp-svc-hero__cta-icon:hover,
.sp-svc-hero__cta-icon:focus-visible {
	opacity: 0.85;
}

.sp-svc-hero__cta-icon svg {
	width: calc(var(--sp-svc-hero-cta-icon-size) * 0.263);
	height: calc(var(--sp-svc-hero-cta-icon-size) * 0.263);
}

@media (max-width: 768px) {
	.sp-svc-hero {
		background-position: center top;
	}

	.sp-svc-hero__right {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		align-items: flex-start;
	}
}
