/**
 * Halis Group Core
 * Global design tokens and primitives.
 *
 * Component-specific styles belong in their own layers as the site is built.
 */

@font-face {
	font-family: "Manrope";
	src: url("/wp-content/uploads/fonts/Manrope-VariableFont_wght.woff2") format("woff2");
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
}

:root {
	/* Theme.json preset aliases */
	--halis-bg: var(--wp--preset--color--bg);
	--halis-surface: var(--wp--preset--color--surface);
	--halis-surface-alt: var(--wp--preset--color--surface-alt);
	--halis-ink: var(--wp--preset--color--ink);
	--halis-muted: var(--wp--preset--color--muted);
	--halis-accent: var(--wp--preset--color--accent);
	--halis-navy-dark: var(--wp--preset--color--navy-dark);
	--halis-navy-mid: var(--wp--preset--color--navy-mid);
	--halis-navy-soft: var(--wp--preset--color--navy-soft);
	--halis-line: rgba(7, 32, 58, 0.14);

	/* 8px spacing rhythm, sourced from theme.json */
	--halis-space-1: var(--wp--preset--spacing--8);
	--halis-space-2: var(--wp--preset--spacing--16);
	--halis-space-3: var(--wp--preset--spacing--24);
	--halis-space-4: var(--wp--preset--spacing--32);
	--halis-space-5: var(--wp--preset--spacing--40);
	--halis-space-6: var(--wp--preset--spacing--48);
	--halis-space-8: var(--wp--preset--spacing--64);
	--halis-space-10: var(--wp--preset--spacing--80);
	--halis-space-12: var(--wp--preset--spacing--96);
	--halis-space-16: var(--wp--preset--spacing--128);

	/* Layout */
	--halis-container: 90rem;
	--halis-gutter: var(--wp--custom--layout--page-gutter);
	--halis-section-sm: var(--wp--preset--spacing--80);
	--halis-section-md: var(--wp--preset--spacing--96);
	--halis-section-lg: var(--wp--preset--spacing--128);

	/* Shape */
	--halis-radius-sm: 0.5rem;
	--halis-radius-md: 1rem;
	--halis-radius-lg: 2rem;
	--halis-radius-pill: 999px;

	/* Interaction */
	--halis-duration-fast: 180ms;
	--halis-duration-media: 320ms;
	--halis-ease: ease;
	--halis-focus: 0 0 0 3px rgba(7, 32, 58, 0.18);
	--halis-shadow-media: 0 24px 64px rgba(7, 32, 58, 0.09);
}

@media (max-width: 980px) {
	:root {
		--wp--custom--layout--page-gutter: var(--wp--preset--spacing--32);
		--halis-section-sm: var(--wp--preset--spacing--64);
		--halis-section-md: var(--wp--preset--spacing--80);
		--halis-section-lg: var(--wp--preset--spacing--96);
	}
}

@media (max-width: 640px) {
	:root {
		--wp--custom--layout--page-gutter: var(--wp--preset--spacing--16);
		--halis-section-sm: var(--wp--preset--spacing--48);
		--halis-section-md: var(--wp--preset--spacing--64);
		--halis-section-lg: var(--wp--preset--spacing--80);
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
}

button,
input,
textarea,
select {
	font: inherit;
}

h1,
h2,
h3,
h4,
p,
figure {
	margin-top: 0;
}

h1,
h2,
h3,
h4 {
	text-wrap: balance;
}

/* Typography roles.
 * These complement WordPress' native .has-*-font-size classes.
 */
:where(.type-display, .has-display-font-size) {
	font-size: var(--wp--preset--font-size--display);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.025em;
}

:where(.type-title-md, .has-title-md-font-size) {
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -0.028em;
}

:where(.type-title-sm, .has-title-sm-font-size) {
	font-size: var(--wp--preset--font-size--title-sm);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.035em;
}

:where(.type-lead, .has-lead-font-size) {
	font-size: var(--wp--preset--font-size--lead);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: -0.015em;
}

:where(.type-body, .has-body-font-size) {
	font-size: var(--wp--preset--font-size--body);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0;
}

:where(.type-small, .has-small-font-size) {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.005em;
}

:where(.type-micro, .has-micro-font-size) {
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.01em;
}

:focus-visible {
	outline: 0;
	box-shadow: var(--halis-focus);
}

/* Layout primitives
 * Horizontal page gutters are owned by theme.json/root padding.
 * .container only caps the content measure; it must not add a second gutter.
 */
.container {
	width: 100%;
	max-width: var(--halis-container);
	margin-inline: auto;
}

.section {
	padding-block: var(--halis-section-md);
}

.section--small {
	padding-block: var(--halis-section-sm);
}

.section--large {
	padding-block: var(--halis-section-lg);
}

/* Action primitives */
.button {
	display: inline-flex;
	min-height: 3.5rem;
	align-items: center;
	justify-content: center;
	gap: var(--halis-space-1);
	padding-inline: var(--halis-space-3);
	border: 1px solid transparent;
	border-radius: var(--halis-radius-pill);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition:
		background-color var(--halis-duration-fast) var(--halis-ease),
		border-color var(--halis-duration-fast) var(--halis-ease),
		color var(--halis-duration-fast) var(--halis-ease);
}

.button--primary {
	background: var(--halis-accent);
	color: var(--halis-surface);
}

.button--primary:hover {
	background: var(--halis-navy-mid);
}

.button--secondary {
	border-color: var(--halis-line);
	background: var(--halis-surface);
	color: var(--halis-ink);
}

.button--secondary:hover {
	border-color: rgba(7, 32, 58, 0.26);
	background: var(--halis-surface-alt);
}

/* Gutenberg core Button: global Fill interaction, owned by the theme. */
.wp-block-button.is-style-fill .wp-block-button__link {
	transition:
		background-color var(--halis-duration-fast) var(--halis-ease),
		border-color var(--halis-duration-fast) var(--halis-ease),
		color var(--halis-duration-fast) var(--halis-ease);
}

.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:focus-visible {
	background-color: var(--halis-navy-mid);
	color: var(--halis-surface);
}

.wp-block-button.is-style-fill .wp-block-button__link:active {
	background-color: var(--halis-navy-dark);
	color: var(--halis-surface);
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: var(--halis-space-1);
	color: var(--halis-ink);
	font-weight: 500;
}

/* Media is rounded; editorial/data structures are square by default. */
.media-surface {
	overflow: hidden;
	border-radius: var(--halis-radius-lg);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}


/* Global header */
:root {
	--halis-header-height: 5rem;
	--halis-admin-bar-offset: 0px;
}

.admin-bar {
	--halis-admin-bar-offset: 32px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: calc(var(--halis-admin-bar-offset) + 0.75rem);
	left: 0.75rem;
	z-index: 999;
	width: auto;
	height: auto;
	padding: var(--halis-space-1) var(--halis-space-2);
	clip: auto;
	overflow: visible;
	border-radius: var(--halis-radius-sm);
	background: var(--halis-surface);
	color: var(--halis-ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.site-header {
	position: fixed;
	top: var(--halis-admin-bar-offset);
	left: 0;
	z-index: 100;
	width: 100%;
	border-bottom: 1px solid var(--halis-line);
	background: var(--halis-bg);
	transition:
		background-color var(--halis-duration-fast) var(--halis-ease),
		border-color var(--halis-duration-fast) var(--halis-ease);
}

.home .site-header:not(.is-scrolled):not(.is-menu-open),
.page-id-169 .site-header:not(.is-scrolled):not(.is-menu-open) {
	border-bottom-color: transparent;
	background: transparent;
}

.site-header__inner {
	display: grid;
	grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
	min-height: var(--halis-header-height);
	align-items: center;
	gap: var(--halis-space-4);
}

.site-header__brand {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	min-width: 0;
	color: var(--halis-ink);
}

.site-header__wordmark {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1;
	white-space: nowrap;
}

.site-header__logo {
	width: auto;
	max-width: 11rem;
	max-height: 2.75rem;
	object-fit: contain;
}

.site-navigation {
	justify-self: center;
}

.site-header__actions {
	display: flex;
	align-items: center;
	justify-self: end;
	gap: var(--halis-space-2);
}

.site-header__cta {
	min-height: 2.75rem;
	padding-inline: var(--halis-space-3);
	font-size: var(--wp--preset--font-size--small);
}

.site-main {
	padding-top: var(--halis-header-height);
}

@media (max-width: 980px) {
	:root {
		--halis-header-height: 4.25rem;
	}

	.site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--halis-space-2);
	}

	.site-header__wordmark {
		font-size: 1.125rem;
	}
}

@media (max-width: 782px) {
	.admin-bar {
		--halis-admin-bar-offset: 46px;
	}
}

@media (max-width: 480px) {
	.site-header__wordmark {
		font-size: 1rem;
	}
}


/* Home hero */
.home .site-main {
	padding-top: 0;
}

.home-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: var(--halis-hero-height-desktop, clamp(42rem, 88svh, 56.25rem));
	align-items: center;
	overflow: hidden;
	background-color: var(--halis-bg);
	background-image: var(--halis-hero-bg-desktop, none);
	background-position: var(--halis-hero-position-desktop, 50% 50%);
	background-repeat: no-repeat;
	background-size: cover;
}

.home-hero__media {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.home-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/* Native Gutenberg media used by the homepage hero. */
.home-hero__media-image.wp-block-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.home-hero__media-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.home-hero__media-image--mobile {
	display: none;
}

.home-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	padding-top: calc(var(--halis-header-height) + var(--halis-space-8));
	padding-bottom: var(--halis-space-8);
}

.home-hero__content {
	width: min(52rem, 62vw);
	--wp--style--block-gap: 0;
}

.home-hero__content > * {
	margin-block-start: 0;
}

.home-hero__title {
	max-width: var(--halis-hero-heading-width-desktop, 8.4ch);
	margin-bottom: var(--halis-space-3);
	color: var(--halis-ink);
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.06;
	letter-spacing: -0.025em;
}

.home-hero__title span {
	display: block;
}

.home-hero__title span:first-child {
	white-space: nowrap;
}

.home-hero__lead {
	max-width: var(--halis-hero-paragraph-width-desktop, 38rem);
	margin-top: 0;
	margin-bottom: var(--halis-space-4);
	color: rgba(16, 36, 63, 0.92);
	font-weight: 450;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--halis-space-2);
	margin: 0;
}

.home-hero__actions .wp-block-button {
	margin: 0;
}

.home-hero__actions .wp-block-button__link {
	display: inline-flex;
	min-height: 3.5rem;
	align-items: center;
	justify-content: center;
}

.home-hero__secondary .wp-block-button__link {
	border-color: var(--halis-line);
	background: var(--halis-surface);
	color: var(--halis-ink);
}

.home-hero__secondary .wp-block-button__link:hover,
.home-hero__secondary .wp-block-button__link:focus-visible {
	border-color: rgba(7, 32, 58, 0.26);
	background: var(--halis-surface-alt);
	color: var(--halis-ink);
}

@media (max-width: 980px) {
	.home-hero {
		min-height: var(--halis-hero-height-tablet, min(52rem, 100svh));
		align-items: flex-start;
	}

	.home-hero__inner {
		align-items: flex-start;
		padding-top: calc(var(--halis-header-height) + var(--halis-space-8));
		padding-bottom: var(--halis-space-8);
	}

	.home-hero__content {
		width: min(100%, 42rem);
	}

	.home-hero__title {
		max-width: var(--halis-hero-heading-width-tablet, var(--halis-hero-heading-width-desktop, 9ch));
	}

	.home-hero__lead {
		max-width: var(--halis-hero-paragraph-width-tablet, var(--halis-hero-paragraph-width-desktop, 34rem));
	}
}

@media (max-width: 767px) {
	.home-hero {
		background-image: var(--halis-hero-bg-mobile, var(--halis-hero-bg-desktop, none));
		background-position: var(--halis-hero-position-mobile, var(--halis-hero-position-desktop, 50% 50%));
	}
}

@media (max-width: 640px) {
	.home-hero {
		min-height: var(--halis-hero-height-mobile, 46rem);
	}

	.home-hero__image,
	.home-hero__media-image img {
		object-position: center;
	}

	.home-hero__inner {
		padding-top: calc(var(--halis-header-height) + var(--halis-space-4));
		padding-bottom: var(--halis-space-6);
	}

	.home-hero__title {
		max-width: var(--halis-hero-heading-width-mobile, var(--halis-hero-heading-width-tablet, var(--halis-hero-heading-width-desktop, 100%)));
		font-size: var(--wp--preset--font-size--title-md);
		line-height: 1.08;
		letter-spacing: -0.025em;
	}

	.home-hero__title span:first-child {
		white-space: nowrap;
	}

	.home-hero__lead {
		max-width: var(--halis-hero-paragraph-width-mobile, var(--halis-hero-paragraph-width-tablet, var(--halis-hero-paragraph-width-desktop, 100%)));
		font-size: var(--wp--preset--font-size--body);
		line-height: 1.5;
	}

	.home-hero__actions {
		flex-wrap: nowrap;
		gap: var(--halis-space-1);
	}

	.home-hero__actions .button,
	.home-hero__actions .wp-block-button,
	.home-hero__actions .wp-block-button__link {
		width: auto;
		min-width: 0;
		white-space: nowrap;
	}

	.home-hero__actions .wp-block-button__link {
		padding-inline: var(--halis-space-2);
	}
}


@media (max-width: 350px) {
	.home-hero__actions {
		gap: var(--halis-space-1);
	}

	.home-hero__actions .button,
	.home-hero__actions .wp-block-button__link {
		padding-inline: var(--halis-space-1);
		font-size: var(--wp--preset--font-size--micro);
	}
}


.home-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(
		--halis-hero-gradient,
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.78) 0%,
			rgba(255, 255, 255, 0.64) 26%,
			rgba(255, 255, 255, 0.24) 48%,
			rgba(255, 255, 255, 0) 66%
		)
	);
	pointer-events: none;
}

@media (max-width: 767px) {
	.home-hero::after {
		background: var(
			--halis-hero-gradient-mobile,
			var(
				--halis-hero-gradient,
				linear-gradient(
					90deg,
					rgba(255, 255, 255, 0.78) 0%,
					rgba(255, 255, 255, 0.64) 26%,
					rgba(255, 255, 255, 0.24) 48%,
					rgba(255, 255, 255, 0) 66%
				)
			)
		);
	}
}

/* Home company / positioning */
:where(.home-company) {
	background: var(--halis-surface);
}

.home-company__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 0.85fr);
	align-items: start;
	gap: var(--halis-space-12);
	min-height: clamp(24rem, 28vw, 30rem);
}

:where(.home-company__title) {
	max-width: 12ch;
	margin-bottom: 0;
	font-weight: 600;
	line-height: 1.07;
	letter-spacing: -0.03em;
}


.home-company__content {
	align-self: end;
	padding-top: 0;
}


.home-company__link {
	margin-top: 0;
}


@media (max-width: 900px) {
	.home-company__inner {
		grid-template-columns: 1fr;
		gap: var(--halis-space-8);
		min-height: 0;
	}

	:where(.home-company__title) {
		max-width: 11ch;
	}

	.home-company__content {
		align-self: auto;
		padding-top: 0;
	}

}

@media (max-width: 640px) {
	.home-company__inner {
		gap: var(--halis-space-6);
	}

	:where(.home-company__title) {
		max-width: 100%;
		line-height: 1.08;
		letter-spacing: -0.03em;
	}

	.home-company__link {
		margin-top: var(--halis-space-3);
	}
}



/* Home services */
.home-services {
	background: var(--halis-bg);
}

.home-services__container {
	--wp--style--block-gap: 0;
}

.home-services__container > * {
	margin-block-start: 0;
}

.home-services__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(22rem, 1.05fr) auto;
	align-items: start;
	gap: var(--halis-space-8);
	margin-bottom: var(--halis-space-8);
}

.home-services__title {
	margin-bottom: 0;
}

.home-services__intro {
	max-width: 34rem;
	margin-bottom: 0;
	padding-top: var(--halis-space-1);
}

.home-services__actions {
	justify-self: end;
	margin: 0;
}

.home-services__all {
	margin: 0;
	white-space: nowrap;
}

.home-services__showcase {
	width: 100%;
	margin-block-start: 0;
}

.home-services__grid {
	display: grid;
	grid-template-columns: minmax(20rem, 0.78fr) minmax(0, 1.22fr);
	align-items: stretch;
	gap: var(--halis-space-10);
}

.home-services__media {
	position: relative;
	min-height: 38rem;
	overflow: hidden;
	border-radius: var(--halis-radius-lg);
	background: var(--halis-surface-alt);
	box-shadow: var(--halis-shadow-media);
}

.home-services__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	transform: scale(1.015);
	transition:
		opacity var(--halis-duration-media) var(--halis-ease),
		transform var(--halis-duration-media) var(--halis-ease);
}

.home-services__image.is-active {
	opacity: 1;
	transform: scale(1);
}

.home-services__list {
	border-top: 0;
}

.home-services__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--halis-space-4);
	padding-block: var(--halis-space-4);
	border-bottom: 1px solid var(--halis-line);
	color: var(--halis-muted);
	text-decoration: none;
	transition: color var(--halis-duration-fast) var(--halis-ease);
}

.home-services__item:hover,
.home-services__item:focus-visible,
.home-services__item.is-featured {
	color: var(--halis-ink);
}

.home-services__item-copy {
	display: block;
}

.home-services__item-title {
	display: block;
	margin-bottom: var(--halis-space-1);
	font-size: clamp(1.8rem, 2.7vw, 2.8rem);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.045em;
}

.home-services__item-description {
	display: block;
	max-width: 42rem;
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

.home-services__item-arrow {
	display: grid;
	width: 3rem;
	height: 3rem;
	flex: 0 0 auto;
	place-items: center;
	border: 1px solid var(--halis-line);
	border-radius: 50%;
	color: var(--halis-ink);
	font-size: 1.1rem;
	transition:
		background-color var(--halis-duration-fast) var(--halis-ease),
		color var(--halis-duration-fast) var(--halis-ease),
		transform var(--halis-duration-fast) var(--halis-ease);
}

.home-services__item-arrow svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}

.home-services__item:hover .home-services__item-arrow,
.home-services__item:focus-visible .home-services__item-arrow,
.home-services__item.is-featured .home-services__item-arrow {
	border-color: var(--halis-accent);
	background: var(--halis-accent);
	color: var(--halis-surface);
	transform: translate(0.1rem, -0.1rem);
}

.home-services__item:last-child {
	border-bottom: 0;
}

@media (max-width: 1000px) {
	.home-services__header {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.9fr);
	}

	.home-services__actions {
		grid-column: 2;
		justify-self: start;
	}

	.home-services__grid {
		grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.2fr);
		gap: var(--halis-space-6);
	}

	.home-services__media {
		min-height: 31rem;
	}
}

@media (max-width: 760px) {
	.home-services__header,
	.home-services__grid {
		grid-template-columns: 1fr;
	}

	.home-services__header {
		gap: var(--halis-space-3);
		margin-bottom: var(--halis-space-6);
	}

	.home-services__intro {
		max-width: 38rem;
		padding-top: 0;
	}

	.home-services__actions {
		grid-column: auto;
		justify-self: start;
		margin-top: var(--halis-space-1);
	}

	.home-services__grid {
		gap: var(--halis-space-6);
	}

	.home-services__media {
		min-height: 25rem;
	}

	.home-services__item {
		gap: var(--halis-space-2);
		padding-block: var(--halis-space-3);
	}

	.home-services__item-title {
		font-size: clamp(1.65rem, 8vw, 2.2rem);
	}

	.home-services__item-arrow {
		width: 2.75rem;
		height: 2.75rem;
	}
}

@media (max-width: 430px) {
	.home-services__media {
		min-height: 21rem;
	}

	.home-services__item {
		align-items: start;
	}

	.home-services__item-description {
		font-size: var(--wp--preset--font-size--micro);
	}

	.home-services__item-arrow {
		width: 2.5rem;
		height: 2.5rem;
	}
}


/* Travel professionals */
:where(.home-travel-pro) {
	background: var(--halis-bg);
}

.home-travel-pro__media {
	min-width: 0;
	height: clamp(38rem, 46vw, 44rem);
	overflow: hidden;
	border-radius: var(--halis-radius-lg);
	background: var(--halis-surface-alt);
}

.home-travel-pro__media > .wp-block-image.home-travel-pro__image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

.home-travel-pro__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.home-travel-pro__actions {
	margin: 0;
}


@media (max-width: 760px) {
	.home-travel-pro__media {
		height: auto;
		aspect-ratio: 4 / 3;
	}
}


/* Private & group transfers */
/* Temporarily hidden on the homepage. The section remains available as the halis/home-private-transfer pattern. */
.home .home-private-transfer {
	display: none;
}

:where(.home-private-transfer) {
	background: var(--halis-surface);
}

.home-private-transfer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	align-items: start;
	gap: var(--halis-space-12);
}

.home-private-transfer__content {
	max-width: 36rem;
	align-self: center;
}

:where(.home-private-transfer__title) {
	margin-bottom: var(--halis-space-3);
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -0.03em;
}

:where(.home-private-transfer__intro) {
	max-width: 32rem;
	margin-bottom: var(--halis-space-6);
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.55;
}

.home-private-transfer__actions {
	margin: 0;
}

.home-private-transfer__cta {
	margin: 0;
	white-space: nowrap;
}

.home-private-transfer__visual {
	position: relative;
	height: clamp(38rem, 46vw, 44rem);
	margin-top: var(--halis-space-6);
	overflow: hidden;
	border-radius: var(--halis-radius-lg);
	background: var(--halis-surface-alt);
	color: var(--halis-ink);
}

.home-private-transfer__route.wp-block-separator {
	position: absolute;
	left: 20%;
	bottom: 27%;
	width: 60%;
	height: 2px;
	margin: 0;
	border: 0;
	background: currentColor;
	opacity: 1;
	transform: rotate(-16deg);
	transform-origin: left center;
}

.home-private-transfer__point {
	position: absolute;
	z-index: 1;
	margin: 0;
	font-size: clamp(3.5rem, 5vw, 5rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.05em;
}

.home-private-transfer__point--a {
	left: 14%;
	bottom: 16%;
}

.home-private-transfer__point--b {
	top: 16%;
	right: 14%;
}

@media (max-width: 980px) {
	.home-private-transfer__inner {
		gap: var(--halis-space-8);
	}

	.home-private-transfer__visual {
		height: 32rem;
		margin-top: var(--halis-space-4);
	}
}

@media (max-width: 760px) {
	.home-private-transfer__inner {
		grid-template-columns: 1fr;
		gap: var(--halis-space-6);
	}

	.home-private-transfer__content {
		max-width: 42rem;
		align-self: auto;
	}

	.home-private-transfer__visual {
		height: auto;
		min-height: 22rem;
		margin-top: 0;
	}

	.home-private-transfer__cta {
		white-space: normal;
	}
}

/* Why Halis */
:where(.home-why) {
	background: var(--halis-bg);
}

:where(.home-why__statement) {
	max-width: 74rem;
	margin-bottom: 0;
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -0.03em;
}

@media (max-width: 980px) {
	:where(.home-why__statement) {
		max-width: 60rem;
	}
}

@media (max-width: 760px) {
}


/* Final CTA */
.home-final-cta__inner {
	margin-bottom: 0;
}

.home-final-cta__inner > .wp-block-group {
	min-width: 0;
	margin-bottom: 0;
}

.home-final-cta__card,
:where(.home-final-cta__visual) {
	height: 40rem;
	min-height: 0;
	border-radius: var(--halis-radius-lg);
	overflow: hidden;
}

:where(.home-final-cta__card) {
	position: relative;
	justify-content: flex-start;
}

.home-final-cta__content {
	position: relative;
	z-index: 1;
}

:where(.home-final-cta__title) {
	max-width: 8ch;
	margin-bottom: var(--halis-space-3);
	color: var(--halis-surface);
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -0.03em;
}

:where(.home-final-cta__copy) {
	max-width: 28rem;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.55;
}

.home-final-cta__button {
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
}

.home-final-cta__button .wp-block-button__link {
	display: flex;
	width: 100%;
	min-height: 3.5rem;
	align-items: center;
	justify-content: space-between;
	gap: var(--halis-space-2);
	padding-inline: var(--halis-space-3);
	border: 0;
	border-radius: var(--halis-radius-pill);
	background: var(--halis-surface);
	color: var(--halis-accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.home-final-cta__button .wp-block-button__link::after {
	content: "";
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 auto;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6H18V14H16.5V8.5L7 18L6 17L15.5 7.5H10V6Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6H18V14H16.5V8.5L7 18L6 17L15.5 7.5H10V6Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--halis-duration-fast) var(--halis-ease);
}

.home-final-cta__button .wp-block-button__link:hover,
.home-final-cta__button .wp-block-button__link:focus-visible {
	background: var(--halis-surface-alt);
	color: var(--halis-accent);
}

.home-final-cta__button .wp-block-button__link:hover::after,
.home-final-cta__button .wp-block-button__link:focus-visible::after {
	transform: translate(2px, -2px);
}

:where(.home-final-cta__visual) {
	background: var(--halis-surface-alt);
}

.home-final-cta__image.wp-block-image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

.home-final-cta__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 980px) {
	.home-final-cta__card,
	:where(.home-final-cta__visual) {
		height: 34rem;
	}

}

@media (max-width: 760px) {
	.home-final-cta__inner {
		flex-direction: column;
	}

	.home-final-cta__inner > .wp-block-group {
		width: 100%;
		flex-basis: auto !important;
	}

	:where(.home-final-cta__card) {
		height: auto;
		min-height: 30rem;
	}

	:where(.home-final-cta__title) {
		max-width: 9ch;
	}

	:where(.home-final-cta__visual) {
		height: 24rem;
		min-height: 0;
	}
}

/* Fleet showroom */
.home-fleet-section {
	overflow: hidden;
	padding-block: var(--halis-space-4);
	background: var(--halis-bg);
}

.home-fleet-section > .home-fleet-showroom {
	width: 100%;
	max-width: none !important;
	margin-inline: 0 !important;
}

.home-fleet-section__header {
	text-align: center;
}

.home-fleet-section__title,
.home-fleet-showroom__title {
	margin-bottom: var(--halis-space-4);
	font-size: clamp(3.25rem, 5vw, 4.5rem);
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -0.03em;
}

.home-fleet-section__intro,
.home-fleet-showroom__intro {
	max-width: 42rem;
	margin: 0 auto var(--halis-space-4);
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.55;
}

.home-fleet-showroom__header {
	text-align: center;
}

.home-fleet-showroom__tabs {
	display: flex;
	justify-content: center;
	gap: var(--halis-space-6);
}

.home-fleet-showroom__tab {
	padding: var(--halis-space-1) 0;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 500;
	cursor: pointer;
	transition:
		border-color var(--halis-duration-fast) var(--halis-ease),
		color var(--halis-duration-fast) var(--halis-ease);
}

.home-fleet-showroom__tab:hover,
.home-fleet-showroom__tab:focus-visible,
.home-fleet-showroom__tab.is-active {
	border-bottom-color: var(--halis-accent);
	color: var(--halis-ink);
}

.home-fleet-showroom__viewport {
	position: relative;
	margin-top: var(--halis-space-4);
}

.home-fleet-showroom__track {
	--fleet-slide-width: min(72vw, 68rem);
	display: flex;
	align-items: center;
	gap: var(--halis-space-4);
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	cursor: grab;
	user-select: none;
	-webkit-overflow-scrolling: touch;
}

.home-fleet-showroom__track::-webkit-scrollbar {
	display: none;
}

.home-fleet-showroom__track::before,
.home-fleet-showroom__track::after {
	content: "";
	flex: 0 0 max(var(--halis-space-4), calc((100vw - var(--fleet-slide-width)) / 2));
}

.home-fleet-showroom__track.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
}

.home-fleet-showroom__slide {
	flex: 0 0 var(--fleet-slide-width);
	scroll-snap-align: center;
	opacity: 0.42;
	transform: scale(0.88);
	transform-origin: center;
	transition:
		opacity var(--halis-duration-media) var(--halis-ease),
		transform var(--halis-duration-media) var(--halis-ease);
}

.home-fleet-showroom__slide.is-active {
	opacity: 1;
	transform: scale(1);
}

.home-fleet-showroom__media {
	display: flex;
	height: clamp(13rem, 15vw, 15rem);
	align-items: center;
	justify-content: center;
}

.home-fleet-showroom__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
	-webkit-user-drag: none;
}

.home-fleet-showroom__nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	width: 3.5rem;
	height: 3.5rem;
	place-items: center;
	padding: 0;
	border: 1px solid var(--halis-line);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.88);
	color: var(--halis-ink);
	cursor: pointer;
	transform: translateY(-50%);
	transition:
		background-color var(--halis-duration-fast) var(--halis-ease),
		transform var(--halis-duration-fast) var(--halis-ease);
}

.home-fleet-showroom__nav:hover {
	background: var(--halis-surface);
	transform: translateY(-50%) scale(1.04);
}

.home-fleet-showroom__nav svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}

.home-fleet-showroom__nav--prev {
	left: var(--halis-gutter);
}

.home-fleet-showroom__nav--next {
	right: var(--halis-gutter);
}

.home-fleet-showroom__details {
	margin-top: var(--halis-space-3);
}

.home-fleet-showroom__info {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"title cta"
		"description cta"
		"meta meta";
	align-items: end;
	column-gap: var(--halis-space-4);
	row-gap: var(--halis-space-2);
	max-width: 68rem;
	margin-inline: auto;
	text-align: left;
}

.home-fleet-showroom__info[hidden] {
	display: none;
}

.home-fleet-showroom__info.is-active {
	animation: halis-fleet-info-enter 260ms var(--halis-ease) both;
}

@keyframes halis-fleet-info-enter {
	from {
		opacity: 0;
		transform: translateY(6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-fleet-showroom__info.is-active {
		animation: none;
	}
}

.home-fleet-showroom__vehicle-title {
	grid-area: title;
	margin-bottom: 0;
	font-size: clamp(2.25rem, 3vw, 3rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.05em;
}

.home-fleet-showroom__description {
	grid-area: description;
	max-width: 42rem;
	margin: 0;
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.55;
}

.home-fleet-showroom__meta {
	grid-area: meta;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: none;
	margin: var(--halis-space-1) 0 0;
}

.home-fleet-showroom__meta-item {
	padding: var(--halis-space-2) var(--halis-space-3);
	border-right: 1px solid var(--halis-line);
}

.home-fleet-showroom__meta-item:first-child {
	padding-left: 0;
}

.home-fleet-showroom__meta-item:last-child {
	border-right: 0;
}

.home-fleet-showroom__meta dt {
	margin-bottom: var(--halis-space-1);
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.home-fleet-showroom__meta dd {
	margin: 0;
	color: var(--halis-ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.45;
}

.home-fleet-showroom__cta {
	grid-area: cta;
	align-self: end;
	justify-self: end;
}

.home-fleet-showroom__cta span {
	display: inline-flex;
}

.home-fleet-showroom__cta svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}

@media (max-width: 980px) {
	.home-fleet-showroom__tabs {
		gap: var(--halis-space-4);
	}

	.home-fleet-showroom__track {
		--fleet-slide-width: min(78vw, 54rem);
	}

	.home-fleet-showroom__media {
		height: 18rem;
	}
}

@media (max-width: 760px) {
	.home-fleet-section {
		padding-block: var(--halis-section-lg);
	}

	.home-fleet-section__header,
	.home-fleet-showroom__header {
		text-align: left;
	}

	.home-fleet-section__title,
	.home-fleet-showroom__title {
		font-size: clamp(2.75rem, 12vw, 3.75rem);
	}

	.home-fleet-section__intro,
	.home-fleet-showroom__intro {
		margin-left: 0;
	}

	.home-fleet-showroom__tabs {
		justify-content: flex-start;
		gap: var(--halis-space-4);
		overflow-x: auto;
		scrollbar-width: none;
	}

	.home-fleet-showroom__tabs::-webkit-scrollbar {
		display: none;
	}

	.home-fleet-showroom__track {
		--fleet-slide-width: calc(100vw - 4rem);
		gap: var(--halis-space-2);
	}

	.home-fleet-showroom__track::before,
	.home-fleet-showroom__track::after {
		flex-basis: var(--halis-space-4);
	}

	.home-fleet-showroom__media {
		height: 18rem;
	}

	.home-fleet-showroom__nav {
		display: none;
	}

	.home-fleet-showroom__info {
		display: block;
	}

	.home-fleet-showroom__meta {
		grid-template-columns: 1fr;
		margin-top: var(--halis-space-4);
	}

	.home-fleet-showroom__meta-item {
		padding: var(--halis-space-2) 0;
		border-right: 0;
		text-align: left;
	}

	.home-fleet-showroom__meta-item + .home-fleet-showroom__meta-item {
		border-top: 1px solid var(--halis-line);
	}

	.home-fleet-showroom__vehicle-title,
	.home-fleet-showroom__description {
		text-align: left;
	}

	.home-fleet-showroom__vehicle-title {
		margin-bottom: var(--halis-space-2);
	}

	.home-fleet-showroom__cta {
		width: 100%;
		margin-top: var(--halis-space-4);
	}
}


/* Editorial footer */
.site-footer {
	background: var(--halis-navy-dark);
	color: var(--halis-surface);
}

.site-footer__inner {
	padding-top: var(--halis-space-12);
	padding-bottom: var(--halis-space-4);
}

.site-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(10rem, 0.72fr) minmax(12rem, 0.9fr);
	gap: var(--halis-space-8);
	align-items: start;
}

.site-footer--has-legal .site-footer__top {
	grid-template-columns:
		minmax(0, 1.8fr)
		minmax(10rem, 0.7fr)
		minmax(12rem, 0.9fr)
		minmax(9rem, 0.62fr);
}

.site-footer__lead {
	max-width: 38rem;
}

.site-footer .site-footer__lead-title {
	max-width: 10ch;
	margin: 0 0 var(--halis-space-3);
	color: var(--halis-surface);
	font-size: clamp(3rem, 5vw, 5rem);
	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -0.03em;
}

.site-footer .site-footer__lead-copy {
	max-width: 34rem;
	margin: 0 0 var(--halis-space-4);
	color: rgba(255, 255, 255, 0.68);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.55;
}

.site-footer .site-footer__cta {
	display: flex;
	width: min(100%, 28rem);
	align-items: center;
	justify-content: space-between;
	gap: var(--halis-space-3);
	padding-bottom: var(--halis-space-2);
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
	color: var(--halis-surface);
	font-size: 1.0625rem;
	font-weight: 500;
	text-decoration: none;
	transition:
		border-color var(--halis-duration-fast) var(--halis-ease),
		opacity var(--halis-duration-fast) var(--halis-ease);
}

.site-footer__cta:hover {
	border-color: var(--halis-surface);
	opacity: 0.84;
}

.site-footer__cta-icon {
	display: inline-flex;
	flex: 0 0 auto;
}

.site-footer__cta-icon svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: currentColor;
}

.site-footer .site-footer__nav-title {
	margin: 0 0 var(--halis-space-3);
	color: var(--halis-surface);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.3;
}

.site-footer__menu {
	display: grid;
	gap: var(--halis-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__menu li {
	margin: 0;
}

.site-footer__menu a {
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	transition: color var(--halis-duration-fast) var(--halis-ease);
}

.site-footer__menu a:hover,
.site-footer__menu a:focus-visible {
	color: var(--halis-surface);
}

.site-footer .site-footer__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--halis-space-4);
	margin-top: var(--halis-space-12);
	padding-top: var(--halis-space-3);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer .site-footer__coverage,
.site-footer .site-footer__copyright {
	margin: 0;
	color: rgba(255, 255, 255, 0.52);
	font-size: var(--wp--preset--font-size--micro);
	line-height: 1.5;
}

.site-footer .site-footer__coverage { order: 1; }
.site-footer .site-footer__copyright { order: 2; }

.site-footer .site-footer__legal {
	order: 3;
	margin: 0;
	color: rgba(255, 255, 255, 0.65);
	font-size: var(--wp--preset--font-size--micro);
	line-height: 1.5;
	text-align: left;
}

@media (min-width: 981px) {
	.site-footer__meta.wp-block-group {
		display: grid !important;
		grid-template-columns: minmax(0, 2fr) minmax(10rem, 0.72fr) minmax(12rem, 0.9fr);
		column-gap: var(--halis-space-8);
	}
	.site-footer .site-footer__coverage { grid-column: 1; }
	.site-footer .site-footer__copyright { grid-column: 2; }
	.site-footer .site-footer__legal { grid-column: 3; }
}

.site-footer__legal a,
.site-footer__legal a:hover {
	color: rgba(255, 255, 255, 0.82);
	background: transparent;
	text-decoration: none;
	text-shadow: none;
	transition: none;
}

.site-footer__legal a:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.site-footer__legal a::selection,
.site-footer__legal span::selection {
	color: var(--halis-navy-dark);
	background: #fff;
}

.site-footer__wordmark {
	display: flex;
	width: 100%;
	align-items: flex-end;
	gap: 0.18em;
	margin-top: var(--halis-space-10);
	overflow: visible;
	color: var(--halis-surface);
	font-size: clamp(7.5rem, 16.2vw, 15rem);
	font-weight: 600;
	line-height: 0.84;
	letter-spacing: -0.085em;
	white-space: nowrap;
}

.site-footer__wordmark span {
	display: block;
}

@media (max-width: 980px) {
	.site-footer__inner {
		padding-top: var(--halis-space-10);
	}

	.site-footer__top,
	.site-footer--has-legal .site-footer__top {
		grid-template-columns: minmax(0, 1.55fr) repeat(2, minmax(9rem, 0.72fr));
		gap: var(--halis-space-6);
	}

	.site-footer--has-legal .site-footer__nav-group:last-child {
		grid-column: 2 / -1;
	}

	.site-footer .site-footer__meta {
		margin-top: var(--halis-space-10);
	}

	.site-footer__wordmark {
		margin-top: var(--halis-space-8);
		font-size: clamp(6rem, 16vw, 11rem);
	}
}

@media (max-width: 760px) {
	.site-footer__inner {
		padding-top: var(--halis-space-8);
		padding-bottom: var(--halis-space-2);
	}

	.site-footer__top,
	.site-footer--has-legal .site-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--halis-space-6) var(--halis-space-4);
	}

	.site-footer__lead {
		grid-column: 1 / -1;
		max-width: none;
	}

	.site-footer .site-footer__lead-title {
		max-width: 9ch;
		font-size: clamp(2.75rem, 13vw, 4.5rem);
	}

	.site-footer .site-footer__lead-copy {
		max-width: 30rem;
	}

	.site-footer .site-footer__cta {
		width: 100%;
	}

	.site-footer--has-legal .site-footer__nav-group:last-child {
		grid-column: auto;
	}

	.site-footer .site-footer__meta {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--halis-space-1);
		margin-top: var(--halis-space-8);
	}

	.site-footer__wordmark {
		display: block;
		margin-top: var(--halis-space-8);
		font-size: clamp(5.25rem, 24vw, 9rem);
		line-height: 0.76;
		white-space: normal;
	}

	.site-footer__wordmark span + span {
		margin-top: var(--halis-space-1);
	}
}

@media (max-width: 430px) {
	.site-footer__top,
	.site-footer--has-legal .site-footer__top {
		grid-template-columns: 1fr;
	}

	.site-footer__lead,
	.site-footer--has-legal .site-footer__nav-group:last-child {
		grid-column: auto;
	}

	.site-footer__wordmark {
		font-size: clamp(4.75rem, 25vw, 7rem);
	}
}


/* Hybrid block template parts */
.site-header.wp-block-group,
.site-footer.wp-block-group,
.site-header .wp-block-group,
.site-footer .wp-block-group {
	margin-block-start: 0;
}

.site-header .wp-block-site-title {
	margin: 0;
}

.site-header__brand.site-header__wordmark {
	display: flex;
	height: 100%;
	align-items: center;
	margin: 0;
	line-height: 1;
	text-align: center;
}

.site-header__brand a {
	display: inline-flex;
	align-items: center;
	color: inherit;
	line-height: 1;
	text-decoration: none;
}

.site-header__actions.wp-block-buttons {
	margin: 0;
}

.site-header__actions .wp-block-button {
	margin: 0;
}

.site-header__actions .wp-block-button__link {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding-inline: var(--halis-space-3);
	border: 0;
	border-radius: var(--halis-radius-pill);
	background: var(--halis-accent);
	color: var(--halis-surface);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.site-header__actions .wp-block-button__link:hover {
	background: var(--halis-navy-mid);
}

/* WPML language selector alongside the primary header action. */
.site-header__languages,
.site-mobile-drawer__languages {
	position: relative;
	margin: 0;
}

.site-header__languages {
	display: flex;
	align-self: center;
	align-items: center;
	line-height: 1;
}

.site-header__languages .wpml-ls,
.site-header__languages .wpml-ls > ul,
.site-header__languages .wpml-ls > ul > li {
	display: flex;
	align-items: center;
	line-height: 1;
}

.site-header__languages .wpml-ls,
.site-mobile-drawer__languages .wpml-ls {
	width: 5rem;
	max-width: none;
	padding: 0;
	border: 0;
	background: transparent;
}

.site-header__languages .wpml-ls > ul,
.site-mobile-drawer__languages .wpml-ls > ul {
	margin: 0 !important;
	padding: 0;
	list-style: none;
}

.site-header__languages .wpml-ls li,
.site-mobile-drawer__languages .wpml-ls li {
	float: none;
	margin: 0;
	padding: 0;
}

.site-header__languages .wpml-ls-link,
.site-header__languages .wpml-ls-item-toggle,
.site-mobile-drawer__languages .wpml-ls-link,
.site-mobile-drawer__languages .wpml-ls-item-toggle {
	display: flex;
	min-height: 2.75rem;
	align-items: center;
	gap: 0.4rem;
	padding: 0 0.65rem;
	border: 0;
	background: transparent;
	color: var(--halis-ink);
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background-color var(--halis-duration-fast) var(--halis-ease),
		border-color var(--halis-duration-fast) var(--halis-ease);
}

.site-header__languages .wpml-ls-item-toggle,
.site-mobile-drawer__languages .wpml-ls-item-toggle {
	position: relative;
	padding-right: 1.8rem;
	border: 1px solid var(--halis-line);
	border-radius: var(--halis-radius-pill);
	background: var(--halis-surface);
}

.site-header__languages .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after,
.site-mobile-drawer__languages .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
	content: "";
	position: absolute;
	right: 0.72rem;
	top: 50%;
	display: block;
	width: 0.38rem;
	height: 0.38rem;
	margin-top: -0.28rem;
	border: 0;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--halis-duration-fast) var(--halis-ease);
}

.site-header__languages .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle[aria-expanded="true"]::after,
.site-mobile-drawer__languages .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle[aria-expanded="true"]::after {
	margin-top: -0.05rem;
	transform: rotate(225deg);
}

.site-header__languages .wpml-ls-link br,
.site-mobile-drawer__languages .wpml-ls-link br {
	display: none;
}

.site-header__languages .wpml-ls-native,
.site-mobile-drawer__languages .wpml-ls-native {
	font-size: 0;
}

.site-header__languages a[lang="en-US"] > .wpml-ls-native::after,
.site-mobile-drawer__languages a[lang="en-US"] > .wpml-ls-native::after {
	content: "EN";
	font-size: 0.8rem;
}

.site-header__languages a[lang="it-IT"] > .wpml-ls-native::after,
.site-mobile-drawer__languages a[lang="it-IT"] > .wpml-ls-native::after {
	content: "IT";
	font-size: 0.8rem;
}

.site-header__languages .wpml-ls-flag,
.site-mobile-drawer__languages .wpml-ls-flag {
	display: block;
	width: 18px;
	height: 12px;
	object-fit: cover;
	transform: translateY(1px);
}

.site-header__languages .wpml-ls-sub-menu,
.site-mobile-drawer__languages .wpml-ls-sub-menu {
	top: calc(100% + 0.5rem);
	right: 0;
	left: 0;
	z-index: 1200;
	margin: 0;
	padding: 0.25rem;
	overflow: hidden;
	border: 1px solid var(--halis-line);
	border-radius: 0.75rem;
	background: var(--halis-surface);
	box-shadow: 0 0.65rem 1.75rem rgba(7, 32, 58, 0.12);
}

.site-header__languages .wpml-ls-sub-menu .wpml-ls-link,
.site-mobile-drawer__languages .wpml-ls-sub-menu .wpml-ls-link {
	min-height: 2.4rem;
	padding: 0 0.55rem;
	border: 0;
	border-radius: 0.5rem;
}

.site-header__languages .wpml-ls-item-toggle:hover,
.site-header__languages .wpml-ls-sub-menu .wpml-ls-link:hover,
.site-mobile-drawer__languages .wpml-ls-item-toggle:hover,
.site-mobile-drawer__languages .wpml-ls-sub-menu .wpml-ls-link:hover {
	background: var(--halis-surface-alt);
}

.site-header__languages .wpml-ls-link:focus-visible,
.site-header__languages .wpml-ls-item-toggle:focus-visible,
.site-mobile-drawer__languages .wpml-ls-link:focus-visible,
.site-mobile-drawer__languages .wpml-ls-item-toggle:focus-visible {
	outline: 2px solid var(--halis-accent);
	outline-offset: 2px;
}

@media (max-width: 980px) {
	.site-header__actions > .site-header__languages {
		display: none;
	}

	.site-header__mobile-language {
		display: flex;
		align-items: center;
		align-self: center;
		margin: 0;
		transform: translateY(0.5rem);
	}
}

.site-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
	position: static;
	display: block;
}

.site-navigation .wp-block-navigation__responsive-container-content {
	align-items: center;
}

.site-navigation .wp-block-navigation__container {
	display: flex;
	align-items: center;
	gap: var(--halis-space-4);
}

.site-navigation .wp-block-navigation-item {
	margin: 0;
}

.site-navigation .wp-block-navigation-item__content {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	color: rgba(16, 36, 63, 0.82);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: -0.01em;
	white-space: nowrap;
	transition:
		color var(--halis-duration-fast) var(--halis-ease),
		opacity var(--halis-duration-fast) var(--halis-ease);
}

.site-navigation .wp-block-navigation__container:hover > .wp-block-navigation-item > .wp-block-navigation-item__content {
	opacity: 0.48;
}

.site-navigation .wp-block-navigation-item__content:hover,
.site-navigation .wp-block-navigation-item__content:focus-visible {
	color: var(--halis-ink);
	opacity: 1 !important;
}

/* Header services dropdown */
.site-navigation .wp-block-navigation-submenu {
	position: relative;
	z-index: 10002;
}

.site-navigation .wp-block-navigation__submenu-icon {
	width: 0.7rem;
	height: 0.7rem;
	margin-left: 0.35rem;
	color: currentColor;
	transition: transform 180ms var(--halis-ease);
}

.site-navigation .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content + .wp-block-navigation__submenu-icon,
.site-navigation .wp-block-navigation-submenu:focus-within > .wp-block-navigation-item__content + .wp-block-navigation__submenu-icon {
	transform: rotate(180deg);
}

.site-navigation .wp-block-navigation__submenu-container {
	min-width: 19rem !important;
	margin-top: var(--halis-space-2) !important;
	padding: var(--halis-space-1) !important;
	border: 1px solid var(--halis-line) !important;
	border-radius: var(--halis-radius-md) !important;
	background: rgba(255, 255, 255, 0.98) !important;
	box-shadow:
		0 1.125rem 2.8rem rgba(4, 23, 44, 0.12),
		0 0.2rem 0.75rem rgba(4, 23, 44, 0.05) !important;
	overflow: visible;
	z-index: 10003 !important;
}

.site-navigation .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(var(--halis-space-2) * -1);
	height: var(--halis-space-2);
	background: transparent;
}

.site-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
}

.site-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item + .wp-block-navigation-item {
	margin-top: 0.125rem;
}

.site-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.7rem 0.8rem !important;
	border-radius: var(--halis-radius-sm);
	color: var(--halis-ink);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.35;
	opacity: 1;
	transition:
		background-color 160ms var(--halis-ease),
		color 160ms var(--halis-ease),
		padding-left 160ms var(--halis-ease);
}

.site-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.site-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	padding-left: 1rem !important;
	background: var(--halis-surface-alt);
	color: var(--halis-accent);
}

.halis-menu-overlay {
	position: fixed;
	left: 0;
	right: 0;
	top: var(--halis-header-overlay-top, var(--halis-header-height));
	bottom: 0;
	z-index: 9998;
	pointer-events: none;
	background: rgba(4, 12, 22, 0.48);
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 140ms var(--halis-ease),
		visibility 0s linear 140ms;
}

.halis-menu-overlay.is-visible {
	opacity: 1;
	visibility: visible;
	transition:
		opacity 140ms var(--halis-ease),
		visibility 0s;
}

.site-header {
	z-index: 10000;
	isolation: isolate;
}

@media (max-width: 980px) {
	.halis-menu-overlay {
		display: none;
	}
}

.site-footer__lead > *,
.site-footer__nav-group > *,
.site-footer__meta > *,
.site-footer__wordmark > * {
	margin-block-start: 0;
}

.site-footer__cta-wrap.wp-block-buttons {
	margin: 0;
}

.site-footer__cta-wrap .wp-block-button {
	width: min(100%, 28rem);
	margin: 0;
}

.site-footer__cta.wp-block-button {
	padding: 0;
	border: 0;
	background: transparent;
}

.site-footer__cta .wp-block-button__link {
	display: flex;
	width: 100%;
	min-height: 0;
	align-items: center;
	justify-content: space-between;
	gap: var(--halis-space-3);
	padding: 0 0 var(--halis-space-2);
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 0;
	background: transparent;
	color: var(--halis-surface);
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	transition:
		border-color var(--halis-duration-fast) var(--halis-ease),
		opacity var(--halis-duration-fast) var(--halis-ease);
}

.site-footer__cta .wp-block-button__link:hover {
	border-color: var(--halis-surface);
	background: transparent;
	opacity: 0.84;
}

.site-footer .site-footer__nav {
	margin: 0;
}

.site-footer__nav .wp-block-navigation__container {
	display: grid;
	gap: var(--halis-space-2);
	margin: 0;
	padding: 0;
}

.site-footer__nav .wp-block-navigation-item {
	margin: 0;
}

.site-footer__nav .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	transition: color var(--halis-duration-fast) var(--halis-ease);
}

.site-footer__nav .wp-block-navigation-item__content:hover,
.site-footer__nav .wp-block-navigation-item__content:focus-visible {
	color: var(--halis-surface);
}

.site-footer__wordmark .site-footer__wordmark-line {
	margin: 0;
	color: var(--halis-surface);
	font: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}

@media (max-width: 980px) {
	.site-footer__top {
		margin-block-start: 0;
	}
}

@media (max-width: 760px) {
	.site-footer__cta-wrap .wp-block-button {
		width: 100%;
	}
}


/* Frontend WordPress admin bar toggle */
html.halis-admin-bar-hidden {
	margin-top: 0 !important;
}

html.halis-admin-bar-hidden #wpadminbar {
	display: none !important;
}

html.halis-admin-bar-hidden body.admin-bar {
	--halis-admin-bar-offset: 0px;
}

.halis-admin-bar-toggle {
	position: fixed;
	right: var(--halis-space-2);
	bottom: var(--halis-space-2);
	z-index: 100000;
	display: inline-flex;
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--halis-radius-pill);
	background: var(--halis-navy-dark);
	color: var(--halis-surface);
	box-shadow: 0 8px 24px rgba(4, 23, 44, 0.18);
	cursor: pointer;
	transition:
		transform var(--halis-duration-fast) var(--halis-ease),
		background-color var(--halis-duration-fast) var(--halis-ease);
}

.halis-admin-bar-toggle:hover {
	transform: translateY(-2px);
	background: var(--halis-navy-mid);
}

.halis-admin-bar-toggle__icon {
	width: 1.125rem;
	height: 1.125rem;
}

.halis-admin-bar-toggle__icon--show {
	display: none;
}

html.halis-admin-bar-hidden .halis-admin-bar-toggle__icon--hide {
	display: none;
}

html.halis-admin-bar-hidden .halis-admin-bar-toggle__icon--show {
	display: block;
}

@media (max-width: 640px) {
	.halis-admin-bar-toggle {
		right: var(--halis-space-1);
		bottom: var(--halis-space-1);
	}
}


/* Full block theme content templates */
.halis-content-shell {
	background: var(--halis-surface);
}

.halis-content-shell > .container {
	display: grid;
	gap: var(--halis-space-6);
}

.halis-content-title {
	max-width: 16ch;
	margin: 0;
	color: var(--halis-ink);
	font-size: clamp(3.25rem, 6vw, 5.5rem);
	font-weight: 600;
	line-height: 0.96;
	letter-spacing: -0.055em;
}

.halis-page,
.halis-single {
	display: grid;
	gap: var(--halis-space-6);
}

.halis-page__content,
.halis-single__content {
	max-width: 72rem;
}

.halis-page__content > :first-child,
.halis-single__content > :first-child {
	margin-block-start: 0;
}

.halis-page__content > :last-child,
.halis-single__content > :last-child {
	margin-block-end: 0;
}

/* Privacy and cookie pages: simple, readable document layout. */
body.page-id-3 .halis-content-shell,
body.page-id-295 .halis-content-shell {
	padding-top: calc(var(--halis-header-height) + var(--halis-space-8));
	padding-bottom: var(--halis-section-lg);
}
body.page-id-3 .halis-content-shell > .container,
body.page-id-295 .halis-content-shell > .container {
	max-width: var(--halis-container);
}
body.page-id-3 .halis-page,
body.page-id-295 .halis-page {
	gap: var(--halis-space-6);
	min-width: 0;
}
body.page-id-3 .halis-page__content,
body.page-id-295 .halis-page__content {
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0 !important;
	color: var(--halis-ink);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.75;
	overflow-wrap: anywhere;
}
body.page-id-3 .halis-content-title,
body.page-id-295 .halis-content-title {
	max-width: none;
	margin: 0;
	font-size: var(--wp--preset--font-size--display);
	line-height: .98;
	letter-spacing: -.05em;
}
body.page-id-3 .halis-page__content > *,
body.page-id-295 .halis-page__content > * {
	max-width: none !important;
	margin-inline: 0 !important;
}
body.page-id-3 .halis-page__content p,
body.page-id-295 .halis-page__content p {
	margin-block: 0 1.25rem;
}
body.page-id-3 .halis-page__content > p:first-child,
body.page-id-295 .halis-page__content > p:first-child {
	margin-bottom: 2rem;
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.65;
}
body.page-id-3 .halis-page__content h2,
body.page-id-295 .halis-page__content h2 {
	margin: 2.5rem 0 .75rem;
	color: var(--halis-ink);
	font-size: var(--wp--preset--font-size--title-sm);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.03em;
}
body.page-id-3 .halis-page__content > p:first-child + h2,
body.page-id-295 .halis-page__content > p:first-child + h2 {
	margin-top: 0;
}
body.page-id-3 .halis-page__content a,
body.page-id-295 .halis-page__content a {
	color: var(--halis-ink);
	text-decoration-color: var(--halis-accent);
	text-underline-offset: .2em;
}
body.page-id-295 .wpconsent-cookie-policy {
	min-width: 0;
	max-width: 100%;
}
body.page-id-295 .halis-page__content table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: .875rem;
}
body.page-id-295 .halis-page__content th,
body.page-id-295 .halis-page__content td {
	padding: .875rem;
	border-bottom: 1px solid var(--halis-line);
	text-align: left;
	vertical-align: top;
}
@media (max-width: 760px) {
	body.page-id-3 .halis-content-shell,
	body.page-id-295 .halis-content-shell {
		padding-top: calc(var(--halis-header-height) + var(--halis-space-6));
		padding-bottom: var(--halis-section-lg);
	}
	body.page-id-3 .halis-page,
	body.page-id-295 .halis-page {
		gap: var(--halis-space-4);
	}
	body.page-id-3 .halis-content-title,
	body.page-id-295 .halis-content-title {
		font-size: var(--wp--preset--font-size--title-md);
	}
	body.page-id-3 .halis-page__content,
	body.page-id-295 .halis-page__content,
	body.page-id-3 .halis-page__content > p:first-child,
	body.page-id-295 .halis-page__content > p:first-child {
		font-size: var(--wp--preset--font-size--body);
		line-height: 1.7;
	}
	body.page-id-3 .halis-page__content > p:first-child,
	body.page-id-295 .halis-page__content > p:first-child {
		margin-bottom: var(--halis-space-4);
		font-size: var(--wp--preset--font-size--lead);
	}
	body.page-id-3 .halis-page__content h2,
	body.page-id-295 .halis-page__content h2 {
		margin-top: 2rem;
		font-size: var(--wp--preset--font-size--title-sm);
	}
	body.page-id-3 .halis-page__content > p:first-child + h2,
	body.page-id-295 .halis-page__content > p:first-child + h2 {
		margin-top: 0;
	}
	body.page-id-295 .halis-page__content th,
	body.page-id-295 .halis-page__content td {
		padding: .75rem;
	}
	body.page-id-295 .halis-page__content th:nth-child(1),
	body.page-id-295 .halis-page__content td:nth-child(1) { min-width: 10rem; }
	body.page-id-295 .halis-page__content th:nth-child(2),
	body.page-id-295 .halis-page__content td:nth-child(2) { min-width: 14rem; }
	body.page-id-295 .halis-page__content th:nth-child(3),
	body.page-id-295 .halis-page__content td:nth-child(3) { min-width: 5rem; }
}
/* First visit consent backdrop, controlled by the banner visibility. */
.halis-consent-backdrop {
	position: fixed;
	inset: 0;
	z-index: 899999;
	background: rgba(0, 0, 0, 0.42);
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease;
}

.halis-consent-backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.halis-consent-backdrop { transition: none; }
}

.halis-single__meta {
	gap: var(--halis-space-2);
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--small);
}

.halis-single__featured {
	overflow: hidden;
	border-radius: var(--halis-radius-lg);
}

.halis-query {
	display: grid;
	gap: var(--halis-space-6);
}

.halis-query .wp-block-post-template {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--halis-line);
}

.halis-query__item {
	display: grid;
	gap: var(--halis-space-2);
	padding-block: var(--halis-space-4);
	border-bottom: 1px solid var(--halis-line);
}

.halis-query__title {
	margin: 0;
	font-size: clamp(2rem, 3.2vw, 3rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.halis-query__title a {
	color: inherit;
	text-decoration: none;
}

.halis-query__excerpt {
	max-width: 48rem;
	margin: 0;
	color: var(--halis-muted);
}

.halis-archive-description {
	max-width: 48rem;
	margin: 0;
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--lead);
}

.halis-404 {
	display: grid;
	gap: var(--halis-space-4);
	min-height: 50vh;
	align-content: center;
}

.halis-404__copy {
	max-width: 34rem;
	margin: 0;
	color: var(--halis-muted);
	font-size: var(--wp--preset--font-size--lead);
}

.halis-404 .wp-block-button__link {
	display: inline-flex;
	min-height: 3.5rem;
	align-items: center;
	justify-content: center;
	padding-inline: var(--halis-space-3);
	border-radius: var(--halis-radius-pill);
	background: var(--halis-accent);
	color: var(--halis-surface);
	font-weight: 600;
	text-decoration: none;
}

@media (max-width: 760px) {
	.halis-content-shell > .container,
	.halis-page,
	.halis-single {
		gap: var(--halis-space-4);
	}

	.halis-content-title {
		font-size: clamp(2.5rem, 12vw, 4rem);
	}
}


/* Footer interaction refinements */
.site-footer__nav .wp-block-navigation-item__content {
	transition:
		color var(--halis-duration-fast) var(--halis-ease),
		opacity var(--halis-duration-fast) var(--halis-ease);
}

.site-footer__nav .wp-block-navigation__container:hover > .wp-block-navigation-item > .wp-block-navigation-item__content {
	opacity: 0.42;
}

.site-footer__nav .wp-block-navigation-item__content:hover,
.site-footer__nav .wp-block-navigation-item__content:focus-visible {
	color: var(--halis-surface);
	opacity: 1 !important;
}

.site-footer .site-footer__cta {
	display: block;
	width: min(100%, 28rem);
	margin: 0;
	padding: 0;
	border: 0;
}

.site-footer__cta-link {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: var(--halis-space-3);
	padding-bottom: var(--halis-space-2);
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
	color: var(--halis-surface);
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition:
		border-color var(--halis-duration-fast) var(--halis-ease),
		color var(--halis-duration-fast) var(--halis-ease);
}

.site-footer__cta-link::after {
	content: "↗";
	flex: 0 0 auto;
	font-size: 1rem;
	line-height: 1;
	transition: transform var(--halis-duration-fast) var(--halis-ease);
}

.site-footer__cta-link:hover,
.site-footer__cta-link:focus-visible {
	border-color: var(--halis-surface);
	color: var(--halis-surface);
}

.site-footer__cta-link:hover::after,
.site-footer__cta-link:focus-visible::after {
	transform: translate(2px, -2px);
}

.site-footer__wordmark {
	margin-top: 0;
	padding-top: var(--halis-space-8);
	line-height: 1.1;
}

@media (max-width: 760px) {
	.site-footer__wordmark {
		margin-top: 0;
		padding-top: var(--halis-space-6);
	}
}


/* Hero buttons: keep hover flat */
.home-hero__actions .button:hover,
.home-hero__actions .button:focus-visible {
	transform: none;
}


/* Homepage CTAs: flat hover across all sections */
.home .button:hover,
.home .button:focus-visible,
.home .wp-block-button__link:hover,
.home .wp-block-button__link:focus-visible {
	transform: none;
}


/* Block theme shell: remove WordPress root block gap and keep the footer flush
 * with the viewport on short pages. */
.wp-site-blocks {
	display: flex;
	min-height: 100dvh;
	flex-direction: column;
}

.wp-site-blocks > .site-main,
.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > .site-footer {
	margin-block-start: 0;
}

.wp-site-blocks > .site-footer {
	flex: 1 0 auto;
	margin-block-end: 0;
	background: var(--halis-navy-dark);
}


/* Smooth page scrolling */
html {
	scroll-padding-top: calc(var(--halis-header-height) + var(--halis-space-2));
}

html.has-halis-smooth-scroll {
	scroll-behavior: auto;
}


/* Core Button variation: Halis Text Link */
.wp-block-button.is-style-halis-text-link {
	display: inline-flex;
	margin: 0;
}

.wp-block-button.is-style-halis-text-link .wp-block-button__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--halis-space-1);
	padding: 0 0 var(--halis-space-1);
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--halis-ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition: color var(--halis-duration-fast) var(--halis-ease);
}

.wp-block-button.is-style-halis-text-link .wp-block-button__link::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: var(--halis-space-4);
	height: 1px;
	background: currentColor;
	transition: width var(--halis-duration-fast) var(--halis-ease);
}

.wp-block-button.is-style-halis-text-link .wp-block-button__link::after {
	content: "";
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 auto;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6H18V14H16.5V8.5L7 18L6 17L15.5 7.5H10V6Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6H18V14H16.5V8.5L7 18L6 17L15.5 7.5H10V6Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--halis-duration-fast) var(--halis-ease);
}

.wp-block-button.is-style-halis-text-link .wp-block-button__link:hover,
.wp-block-button.is-style-halis-text-link .wp-block-button__link:focus-visible {
	background: transparent;
	color: var(--halis-navy-mid);
}

.wp-block-button.is-style-halis-text-link .wp-block-button__link:hover::before,
.wp-block-button.is-style-halis-text-link .wp-block-button__link:focus-visible::before {
	width: 100%;
}

.wp-block-button.is-style-halis-text-link .wp-block-button__link:hover::after,
.wp-block-button.is-style-halis-text-link .wp-block-button__link:focus-visible::after {
	transform: translate(2px, -2px);
}

.wp-block-button.is-style-halis-text-link .wp-block-button__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}


/* Core Button variation: Halis Arrow Icon */
.wp-block-button.is-style-halis-arrow-icon .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--halis-space-1);
}

.wp-block-button.is-style-halis-arrow-icon .wp-block-button__link::after {
	content: "";
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 auto;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6H18V14H16.5V8.5L7 18L6 17L15.5 7.5H10V6Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6H18V14H16.5V8.5L7 18L6 17L15.5 7.5H10V6Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--halis-duration-fast) var(--halis-ease);
}

.wp-block-button.is-style-halis-arrow-icon .wp-block-button__link:hover::after,
.wp-block-button.is-style-halis-arrow-icon .wp-block-button__link:focus-visible::after {
	transform: translate(2px, -2px);
}


/* Contact page: reuse the native Halis Hero block with page-scale spacing. */
.page-id-169 .home-hero {
	min-height: var(--halis-hero-height-desktop, 700px);
}

.page-id-169 .home-hero__inner {
	padding-top: calc(var(--halis-header-height) + var(--halis-space-8));
	padding-bottom: var(--halis-space-8);
}

.page-id-169 .home-hero__content {
	width: min(46rem, 58vw);
}

.page-id-169 .home-hero__title {
	max-width: 10ch;
}

.page-id-169 .home-hero__actions {
	display: flex;
}

/* Contact mobile layout follows the service landing spacing. */
@media (max-width: 640px) {
 .page-id-169 .site-main { padding-top: var(--halis-header-height); }
 .page-id-169 .has-global-padding { padding-left: 16px !important; padding-right: 16px !important; }
 .page-id-169 #contact-hero .home-hero__inner { padding-top: var(--halis-space-6); padding-bottom: var(--halis-space-6); }
 .page-id-169 #request-a-quote { padding-top: var(--halis-space-6) !important; padding-bottom: var(--halis-space-6) !important; }
 .page-id-169 .contact-quote__layout { row-gap: 48px !important; }
 .page-id-169 .contact-quote__aside { margin-top: 24px !important; }
 .page-id-169 .contact-quote__map { margin-top: 32px !important; }
}

/* Contact hero: keep navigation readable above the stock photograph. */
.page-id-169 .site-header:not(.is-scrolled):not(.is-menu-open) {
	background: #fff;
}

@media (max-width: 980px) {
	.page-id-169 .home-hero {
		min-height: var(--halis-hero-height-tablet, 650px);
	}

	.page-id-169 .home-hero__inner {
		padding-top: calc(var(--halis-header-height) + var(--halis-space-8));
		padding-bottom: var(--halis-space-8);
	}

	.page-id-169 .home-hero__content {
		width: min(100%, 42rem);
	}
}

@media (max-width: 640px) {
	.page-id-169 .home-hero {
		min-height: 520px;
	}

	.page-id-169 .home-hero__inner {
		padding-top: calc(var(--halis-header-height) + var(--halis-space-6));
		padding-bottom: var(--halis-space-6);
	}
}

/* Fleet showroom: centered editorial composition */
@media (min-width: 761px) {
	.home-fleet-showroom__track {
		--fleet-slide-width: min(66vw, 64rem);
		gap: var(--halis-space-4);
	}

	.home-fleet-showroom__slide {
		opacity: 0.32;
		transform: scale(0.84);
	}

	.home-fleet-showroom__slide.is-active {
		opacity: 1;
		transform: scale(1);
	}

	.home-fleet-showroom__media {
		height: clamp(17rem, 19vw, 20rem);
	}

	.home-fleet-showroom__nav--prev {
		left: max(
			var(--halis-gutter),
			calc((100vw - var(--halis-container)) / 2 + var(--halis-space-2))
		);
	}

	.home-fleet-showroom__nav--next {
		right: max(
			var(--halis-gutter),
			calc((100vw - var(--halis-container)) / 2 + var(--halis-space-2))
		);
	}

	.home-fleet-showroom__details {
		margin-top: var(--halis-space-2);
	}

	.home-fleet-showroom__info {
		grid-template-columns: 1fr;
		grid-template-areas:
			"title"
			"description"
			"meta"
			"cta";
		justify-items: center;
		row-gap: var(--halis-space-2);
		max-width: 52rem;
		text-align: center;
	}

	.home-fleet-showroom__vehicle-title {
		font-size: clamp(2.5rem, 3vw, 3.25rem);
	}

	.home-fleet-showroom__description {
		max-width: 44rem;
		text-align: center;
	}

	.home-fleet-showroom__meta {
		grid-template-columns: minmax(18rem, auto) auto;
		width: auto;
		margin-top: var(--halis-space-2);
		justify-content: center;
	}

	.home-fleet-showroom__meta-item {
		padding: var(--halis-space-2) var(--halis-space-3);
		text-align: center;
	}

	.home-fleet-showroom__meta-item:first-child {
		padding-left: var(--halis-space-3);
	}

	.home-fleet-showroom__cta {
		justify-self: center;
		margin-top: var(--halis-space-2);
	}
}

@media (max-width: 980px) and (min-width: 761px) {
	.home-fleet-showroom__track {
		--fleet-slide-width: min(72vw, 48rem);
	}

	.home-fleet-showroom__media {
		height: 17rem;
	}

	.home-fleet-showroom__meta {
		grid-template-columns: minmax(16rem, auto) auto;
	}
}

@media (max-width: 760px) {
	.home-fleet-showroom__details {
		margin-top: 0;
	}

	.home-fleet-showroom__info {
		max-width: none;
		text-align: left;
	}

	.home-fleet-showroom__meta {
		margin-top: var(--halis-space-3);
	}

	.home-fleet-showroom__cta {
		margin-top: var(--halis-space-3);
	}
}


/* Mobile header drawer */
.site-header__mobile-controls,
.site-header__mobile-toggle-wrap,
.site-mobile-drawer {
	display: none !important;
}

@media (max-width: 980px) {
	.site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.site-header:has(.site-header__mobile-toggle-wrap) .site-header__actions,
	.site-header:has(.site-header__mobile-toggle-wrap) .site-navigation {
		display: none !important;
	}

	.site-header__mobile-controls {
		display: flex !important;
		align-items: center;
		justify-self: end;
		margin: 0;
	}

	.site-header__mobile-toggle-wrap.wp-block-buttons {
		display: flex !important;
		justify-self: end;
		margin: 0;
	}

	.site-header__mobile-toggle-wrap .wp-block-button {
		margin: 0;
	}

	.site-header__mobile-toggle {
		margin: 0;
	}

	.site-header__mobile-toggle .wp-block-button__link {
		position: relative;
		display: inline-flex;
		width: 2.75rem;
		height: 2.75rem;
		min-height: 2.75rem;
		align-items: center;
		justify-content: center;
		padding: 0;
		border: 1px solid var(--halis-line);
		border-radius: var(--halis-radius-pill);
		background: var(--halis-surface);
		color: transparent;
		font-size: 0;
		cursor: pointer;
		transition:
			border-color var(--halis-duration-fast) var(--halis-ease),
			background-color var(--halis-duration-fast) var(--halis-ease);
	}

	.site-header__mobile-toggle .wp-block-button__link::before,
	.site-header__mobile-toggle .wp-block-button__link::after {
		position: absolute;
		width: 1.125rem;
		height: 1.5px;
		border-radius: var(--halis-radius-pill);
		background: var(--halis-ink);
		content: "";
		transform-origin: center;
		transition: transform var(--halis-duration-fast) var(--halis-ease);
	}

	.site-header__mobile-toggle .wp-block-button__link::before {
		transform: translateY(-3.5px);
	}

	.site-header__mobile-toggle .wp-block-button__link::after {
		transform: translateY(3.5px);
	}

	.site-header.is-mobile-menu-open .site-header__mobile-toggle .wp-block-button__link::before {
		transform: rotate(45deg);
	}

	.site-header.is-mobile-menu-open .site-header__mobile-toggle .wp-block-button__link::after {
		transform: rotate(-45deg);
	}

	.home .site-header:not(.is-scrolled):not(.is-menu-open) .site-header__mobile-toggle .wp-block-button__link,
	.page-id-169 .site-header:not(.is-scrolled):not(.is-menu-open) .site-header__mobile-toggle .wp-block-button__link {
		border-color: rgba(7, 32, 58, 0.22);
		background: transparent;
	}

	.site-header__mobile-toggle .wp-block-button__link:hover,
	.site-header__mobile-toggle .wp-block-button__link:focus-visible {
		border-color: rgba(7, 32, 58, 0.28);
		background: var(--halis-surface-alt);
	}

	.home .site-header:not(.is-scrolled):not(.is-menu-open) .site-header__mobile-toggle .wp-block-button__link:hover,
	.home .site-header:not(.is-scrolled):not(.is-menu-open) .site-header__mobile-toggle .wp-block-button__link:focus-visible,
	.page-id-169 .site-header:not(.is-scrolled):not(.is-menu-open) .site-header__mobile-toggle .wp-block-button__link:hover,
	.page-id-169 .site-header:not(.is-scrolled):not(.is-menu-open) .site-header__mobile-toggle .wp-block-button__link:focus-visible {
		background: rgba(244, 247, 251, 0.18);
	}

	.site-header__mobile-toggle .wp-block-button__link:focus-visible {
		outline: 2px solid var(--halis-accent);
		outline-offset: 2px;
	}

	.site-mobile-drawer {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		max-height: calc(100dvh - var(--halis-admin-bar-offset) - var(--halis-header-height));
		overflow-y: auto;
		border-top: 1px solid var(--halis-line);
		border-bottom: 1px solid var(--halis-line);
		background: var(--halis-bg);
		box-shadow: 0 1.25rem 2.5rem rgba(4, 23, 44, 0.12);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-0.75rem);
		transition:
			opacity var(--halis-duration-fast) var(--halis-ease),
			transform var(--halis-duration-fast) var(--halis-ease),
			visibility var(--halis-duration-fast) var(--halis-ease);
	}

	.site-header:has(.site-header__mobile-toggle-wrap) .site-mobile-drawer {
		display: block !important;
	}

	.site-header.is-mobile-menu-open .site-mobile-drawer {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.site-mobile-drawer__inner {
		padding-top: var(--halis-space-3);
		padding-bottom: var(--halis-space-3);
	}

	.site-mobile-drawer__nav {
		display: flex;
		flex-direction: column;
	}

	.site-mobile-drawer__item {
		margin: 0;
		border-bottom: 1px solid var(--halis-line);
	}


	.site-mobile-drawer__item a {
		display: flex;
		align-items: center;
		min-height: 3.25rem;
		color: var(--halis-ink);
		font-size: 1.125rem;
		font-weight: 500;
		line-height: 1.25;
		letter-spacing: -0.02em;
		text-decoration: none;
		transition: opacity var(--halis-duration-fast) var(--halis-ease);
	}

	.site-mobile-drawer__item a:hover,
	.site-mobile-drawer__item a:focus-visible {
		opacity: 0.62;
	}

	.site-mobile-drawer__cta-wrap.wp-block-buttons {
		width: 100%;
		margin: var(--halis-space-3) 0 0;
	}

	.site-mobile-drawer__cta-wrap .wp-block-button {
		width: 100%;
		margin: 0;
	}

	.site-mobile-drawer__cta .wp-block-button__link {
		display: inline-flex;
		width: 100%;
		min-height: 3.5rem;
		align-items: center;
		justify-content: center;
		padding-inline: var(--halis-space-3);
		border-radius: var(--halis-radius-pill);
		background: var(--halis-accent);
		color: var(--halis-surface);
		font-size: 0.9375rem;
		font-weight: 600;
		line-height: 1;
		text-decoration: none;
		transition: background-color var(--halis-duration-fast) var(--halis-ease);
	}

	.site-mobile-drawer__cta .wp-block-button__link:hover,
	.site-mobile-drawer__cta .wp-block-button__link:focus-visible {
		background: var(--halis-navy-mid);
	}

	.site-mobile-drawer__cta .wp-block-button__link:focus-visible,
	.site-mobile-drawer__item a:focus-visible {
		outline: 2px solid var(--halis-accent);
		outline-offset: 3px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-header__mobile-toggle .wp-block-button__link::before,
	.site-header__mobile-toggle .wp-block-button__link::after,
	.site-mobile-drawer {
		transition: none;
	}
}



/* Core Details variation: Halis Accordion */
.wp-block-details.is-style-halis-accordion {
	width: 100%;
}

.wp-block-details.is-style-halis-accordion > summary {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: var(--halis-space-2);
	cursor: pointer;
	list-style: none;
}

.wp-block-details.is-style-halis-accordion > summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.is-style-halis-accordion > summary::marker {
	content: "";
}

.wp-block-details.is-style-halis-accordion .halis-details__chevron {
	width: var(--halis-space-3);
	height: var(--halis-space-3);
	flex: 0 0 auto;
	fill: currentColor;
	transition: transform var(--halis-duration-fast) var(--halis-ease);
}

.wp-block-details.is-style-halis-accordion[open] .halis-details__chevron {
	transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-details.is-style-halis-accordion .halis-details__chevron {
		transition: none;
	}
}

/* Gutenberg Hero style: clear text, separate mobile photograph. */
.home-hero.is-style-readable::after {
 background: linear-gradient(90deg, var(--halis-surface) 0%, var(--halis-surface) 50%, transparent 78%);
}
@media (min-width: 768px) and (max-width: 980px) {
 .home-hero.is-style-readable::after {
  background: linear-gradient(90deg, var(--halis-surface) 0%, var(--halis-surface) 65%, transparent 100%);
 }
 .home-hero.is-style-readable .home-hero__content { width: min(100%, 34rem); }
}
@media (max-width: 767px) {
 .home-hero.is-style-readable {
  display: flex; flex-direction: column; align-items: stretch;
  min-height: 0; background-image: none; background-color: var(--halis-surface);
 }
 .home-hero.is-style-readable::after { display: none; }
 .home-hero.is-style-readable::before {
  content: ""; display: block; order: 2; flex: none; width: 100%;
  height: 320px; background-image: var(--halis-hero-bg-mobile, var(--halis-hero-bg-desktop));
  background-size: cover; background-repeat: no-repeat;
  background-position: var(--halis-hero-position-mobile, 50% 85%);
 }
 .home-hero.is-style-readable .home-hero__inner {
  order: 1; width: 100%; padding-top: var(--halis-space-6); padding-bottom: var(--halis-space-6);
 }
 .home-hero.is-style-readable .home-hero__content { width: 100%; }
 .home-hero.is-style-readable .home-hero__title {
  font-size: var(--wp--preset--font-size--title-md); line-height: 1.05;
 }
 .home-hero.is-style-readable .home-hero__actions { flex-wrap: wrap; }
}

/* Gutenberg cinematic hero: full photograph with white text. */
.home-hero.is-style-cinematic { background-color: var(--halis-navy-dark); }
.home-hero.is-style-cinematic .home-hero__title { color: var(--halis-surface); }
.home-hero.is-style-cinematic .home-hero__lead { color: var(--halis-surface); }
.home-hero.is-style-cinematic .home-hero__actions .is-style-fill .wp-block-button__link {
 background: var(--halis-surface); color: var(--halis-ink);
}
.home-hero.is-style-cinematic .home-hero__actions .is-style-fill .wp-block-button__link:hover,
.home-hero.is-style-cinematic .home-hero__actions .is-style-fill .wp-block-button__link:focus-visible {
 background: var(--halis-surface-alt) !important;
 border-color: rgba(7, 32, 58, 0.26);
 color: var(--halis-ink) !important;
}
.home-hero.is-style-cinematic .home-hero__secondary .wp-block-button__link {
 background: transparent; color: var(--halis-surface); border-color: var(--halis-surface);
}
.home-hero.is-style-cinematic .home-hero__secondary .wp-block-button__link:hover {
 background: var(--halis-surface); color: var(--halis-ink);
}
@media (max-width: 767px) {
 .home-hero.is-style-cinematic { align-items: flex-start; }
 .home-hero.is-style-cinematic .home-hero__inner {
  padding-top: var(--halis-space-6); padding-bottom: var(--halis-space-6);
 }
 .home-hero.is-style-cinematic .home-hero__actions { flex-wrap: wrap; }
}
.home-hero.is-style-cinematic .home-hero__inner { padding-top: var(--halis-space-8); padding-bottom: var(--halis-space-8); }
@media (max-width: 767px) { .home-hero.is-style-cinematic .home-hero__inner { padding-top: var(--halis-space-6); padding-bottom: var(--halis-space-6); } }

/* Cinematic hero: one shared left-aligned copy column. */
.home-hero.is-style-cinematic .home-hero__content {
 width: min(100%, 48rem); text-align: left;
}
.home-hero.is-style-cinematic .home-hero__content > .home-hero__title,
.home-hero.is-style-cinematic .home-hero__content > .home-hero__lead,
.home-hero.is-style-cinematic .home-hero__content > .home-hero__actions {
 width: 100%; max-width: 100%; margin-inline: 0; text-align: left;
}
/* Keep introductory copy comfortably readable while giving headings room to wrap. */
.home-hero.is-style-cinematic .home-hero__content > .home-hero__lead {
 max-width: 42rem;
}
.home-hero.is-style-cinematic .home-hero__actions {
 justify-content: flex-start; align-self: flex-start;
}
.home-hero.is-style-cinematic .home-hero__actions > .wp-block-button { margin-inline: 0; }

/* About: editable media synchronized with the benefit accordion. */
.halis-image-accordion__media { min-width: 0; align-self: start; }
.halis-image-accordion.is-enhanced .halis-image-accordion__media {
 display: grid; position: sticky; top: 112px; aspect-ratio: 1 / 1;
}
.halis-image-accordion.is-enhanced .halis-image-accordion__photo {
 grid-area: 1 / 1; width: 100%; margin: 0; opacity: 0; visibility: hidden;
 transition: opacity 420ms ease, visibility 420ms; pointer-events: none;
}
.halis-image-accordion.is-enhanced .halis-image-accordion__photo.is-active {
 opacity: 1; visibility: visible;
}
.halis-image-accordion.is-enhanced .halis-image-accordion__photo img {
 width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover;
}
.halis-image-accordion.is-enhanced details { overflow: hidden; }
@media (max-width: 767px) {
 .halis-image-accordion.is-enhanced .halis-image-accordion__media { position: relative; top: auto; }
}
@media (prefers-reduced-motion: reduce) {
 .halis-image-accordion.is-enhanced .halis-image-accordion__photo { transition: none; }
}

/* Keep About accordion rows at full column width in every open state. */
.halis-image-accordion .wp-block-group.is-layout-flex {
 width: 100%;
 min-width: 0;
 align-items: stretch;
}

/* Contact conditional fields and embedded location map. */
#srfm-form-188 .halis-conditional-hidden { display: none !important; }
.contact-quote__map { overflow: hidden; width: 100%; }
.contact-quote__map iframe { max-width: 100%; }

/* Match the Midi Coach catalog framing to the other fleet images. */
.home-fleet-showroom__media:has(img[src*="halis-midi-coach-30-seats"]) {
	container-type: size;
}
.home-fleet-showroom__media img[src*="halis-midi-coach-30-seats"] {
	width: min(100%, 262.5cqh);
	height: auto;
	max-height: 100%;
	aspect-ratio: 2032 / 774;
	object-fit: cover;
	object-position: 50% 55%;
}

/* Preserve the outline drawing after WordPress sanitizes icon SVG attributes. */
.page-id-714 #amenities .wp-block-icon svg,
.page-id-714 #amenities .wp-block-icon svg path,
.page-id-714 #amenities .wp-block-icon svg rect {
 fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
@media (max-width: 980px) {
.page-id-714 #amenities .is-layout-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
.page-id-714 #amenities .is-layout-grid, .page-id-714 #fleet-gallery .is-layout-grid { grid-template-columns: minmax(0,1fr); }
}

/* Fleet disclaimer paragraphs read as one compact note. */
.page-id-714 #amenities > .wp-block-group > p + p { margin-block-start: 8px !important; }

.page-id-714 #amenities > .wp-block-group { row-gap: 0; }
.page-id-714 #amenities > .wp-block-group > .is-layout-grid { margin-block-start: 48px; }
.page-id-714 #amenities > .wp-block-group > p { margin-block-end: 0; }
.page-id-714 #amenities > .wp-block-group > .is-layout-grid + p { margin-block-start: 48px; }
.page-id-714 #amenities > .wp-block-group > p + p { margin-block-start: 8px !important; }


/* Fleet booking notes: aligned panel with the site's rounded surfaces. */
.page-id-714 #amenities > .wp-block-group > .is-layout-grid ~ p {
 box-sizing: border-box;
 width: 100%;
 align-self: stretch;
 max-width: none;
 background: #F4F7FB;
 border: 0;
 border-radius: 0;
 padding-inline: 32px;
 color: #07203A;
 line-height: 1.6;
}
.page-id-714 #amenities > .wp-block-group > .is-layout-grid + p {
 padding-block: 24px 8px;
 border-radius: 32px 32px 0 0;
 font-weight: 600;
}
.page-id-714 #amenities > .wp-block-group > .is-layout-grid + p + p {
 margin-block-start: 0 !important;
 padding-block: 0 24px;
 border-radius: 0 0 32px 32px;
}
@media (max-width: 640px) {
 .page-id-714 #amenities > .wp-block-group > .is-layout-grid ~ p { padding-inline: 24px; }
}

/* Fleet CTA: let the mobile card follow its content. */
@media (max-width: 760px) {
 .page-id-714 .home-final-cta__card {
  height: auto;
  min-height: 0;
  padding: 32px 24px !important;
 }
}

@media (max-width: 760px) { .page-id-714 .fleet-booking-confirmation { display: block; } }

/* Midi gallery photo shares the same frame as the other photographs. */
.page-id-714 #fleet-gallery img.wp-image-757 {
 width: 100%;
 aspect-ratio: 16 / 9;
 object-fit: cover !important;
 object-position: 50% 70%;
 border-radius: 32px;
}

/* About hero: match the Contact mobile height. */
@media (max-width: 640px) {
 .page-id-633 #about-hero.home-hero { min-height: 520px; }
 .page-id-633 #about-hero .home-hero__inner { padding-top: var(--halis-space-6); padding-bottom: var(--halis-space-6); }
}

/* Halis mobile menu: full-height panel and service detail view. */
.halis-mobile-menu-backdrop { position: fixed; inset: 0; z-index: 99; background: rgba(7,32,58,.48); opacity: 0; visibility: hidden; transition: opacity 250ms ease, visibility 250ms; }
.halis-mobile-menu-backdrop.is-visible { opacity: 1; visibility: visible; }
@media (max-width: 980px) {
 body.halis-mobile-menu-open { overflow: hidden; }
 .site-header:has(.site-header__mobile-toggle-wrap) .site-mobile-drawer {
  position: fixed; inset: 0 0 auto auto; width: min(100vw,480px);
  height: 100vh; height: 100dvh; max-height: none; margin: 0;
  border: 0; background: var(--halis-bg); box-shadow: none;
  overflow: hidden; transform: translateX(100%); z-index: 101;
  transition: transform 250ms ease, opacity 250ms ease, visibility 250ms;
 }
 .site-header.is-mobile-menu-open .site-mobile-drawer { transform: translateX(0); }
 .site-mobile-drawer .site-mobile-drawer__inner {
  display: grid; grid-template-rows: auto minmax(0,1fr) auto;
  width: 100%; max-width: none; height: 100%; min-height: 0; margin: 0;
  padding: calc(24px + env(safe-area-inset-top)) 24px calc(20px + env(safe-area-inset-bottom)) !important;
 }
 .site-mobile-drawer__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--halis-line); }
 .site-mobile-drawer__brand { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.04em; }
 .site-mobile-drawer__brand a { color: var(--halis-ink); text-decoration: none; }
 .site-mobile-drawer .wp-block-buttons { margin: 0; }
 .site-mobile-drawer .wp-block-button { margin: 0; }
 .site-mobile-drawer__close button { position: relative; display: block; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 1px solid var(--halis-line); border-radius: 50%; background: transparent; color: transparent; font-size: 0; }
 .site-mobile-drawer__close button::before,.site-mobile-drawer__close button::after { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 1.5px; background: var(--halis-ink); transform: translate(-50%, -50%) rotate(45deg); transform-origin: center; }
 .site-mobile-drawer__close button::after { transform: translate(-50%, -50%) rotate(-45deg); }
 .site-mobile-drawer__views { min-height: 0; overflow: hidden; }
 .site-mobile-drawer__view { height: 100%; overflow-y: auto; overscroll-behavior: contain; padding-top: 8px; }
 .site-mobile-drawer__view[hidden] { display: none !important; }
 .site-mobile-drawer__item { margin: 0; border-bottom: 1px solid var(--halis-line); }
 .site-mobile-drawer__item a,.site-mobile-drawer__services button {
  display: flex; width: 100%; min-height: 68px; align-items: center; justify-content: space-between;
  padding: 16px 0; border: 0; border-radius: 0; background: transparent; color: var(--halis-ink);
  font: inherit; font-size: 18px; font-weight: 500; line-height: 1.3; letter-spacing: -.02em; text-align: left; text-decoration: none;
 }
 .site-mobile-drawer__services-wrap { width: 100%; border-bottom: 1px solid var(--halis-line); }
 .site-mobile-drawer__services-wrap .wp-block-button { width: 100%; }
 .site-mobile-drawer__services button::after { content: ""; width: 8px; height: 8px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); margin-right: 4px; }
 .site-mobile-drawer__back button { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; padding: 8px 0; background: transparent; border: 0; border-radius: 0; color: var(--halis-ink); font: inherit; font-size: 14px; font-weight: 500; }
 .site-mobile-drawer__back button::before { content: ""; width: 8px; height: 8px; border-bottom: 1.5px solid currentColor; border-left: 1.5px solid currentColor; transform: rotate(45deg); margin-left: 4px; }
 .site-mobile-drawer__title { margin: 4px 0 12px; font-size: 28px; line-height: 1.15; font-weight: 500; }
 .site-mobile-drawer__view--services .site-mobile-drawer__item a { min-height: 60px; font-size: 16px; }
 .site-mobile-drawer__footer { padding-top: 18px; border-top: 1px solid var(--halis-line); }
 .site-mobile-drawer__contact-label { margin: 0 0 8px; font-size: 14px; font-weight: 500; }
 .site-mobile-drawer__contacts { margin: 0; font-size: 13px; line-height: 1.8; }
 .site-mobile-drawer__contacts a { color: var(--halis-ink); text-decoration: none; }
 .site-mobile-drawer .site-mobile-drawer__cta-wrap { margin-top: 16px; }
 .site-mobile-drawer .site-mobile-drawer__cta-wrap,.site-mobile-drawer__cta-wrap .wp-block-button { width: 100%; }
 .site-mobile-drawer.is-detail-open .site-mobile-drawer__footer { display: none; }
 .site-mobile-drawer button:focus-visible,.site-mobile-drawer a:focus-visible { outline: 2px solid var(--halis-accent); outline-offset: 3px; }
}
@media (prefers-reduced-motion: reduce) { .halis-mobile-menu-backdrop,.site-header .site-mobile-drawer { transition: none; } }


/* Mobile navigation: white header and clean close icon. */
@media (max-width: 980px) {

 .site-header .site-mobile-drawer { background: #fff !important; }
 .site-mobile-drawer__close-wrap { flex: 0 0 44px; width: 44px; min-width: 44px; }
 .site-mobile-drawer__close { width: 44px; min-width: 44px; }
 .site-mobile-drawer__close button { box-sizing: border-box; width: 44px !important; min-width: 44px; height: 44px; padding: 0; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; }
}

@media (max-width: 980px) {
 .site-header .site-header__mobile-toggle .wp-block-button__link { background: #fff !important; }
}

/* Mobile menu: aligned SVG close icon and single contact action. */
@media (max-width: 980px) {
 .site-mobile-drawer__top { display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center; }
 .site-mobile-drawer__close-wrap { justify-self: end; align-self: center; }
 .site-mobile-drawer__close button { line-height: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 6l12 12M18 6L6 18' stroke='%2307203a' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important; background-position: center !important; background-repeat: no-repeat !important; background-size: 24px 24px !important; }
 .site-mobile-drawer__close button::before,.site-mobile-drawer__close button::after { display: none !important; }
 .site-mobile-drawer__footer { border-top: 0; padding-top: 20px; }
 .site-mobile-drawer .site-mobile-drawer__footer .site-mobile-drawer__cta-wrap { margin-top: 0; }
}

/* Reset close-button wrappers so theme button spacing cannot shift the X. */
@media (max-width: 980px) {
 .site-mobile-drawer__top { position: relative; min-height: 44px; }
 .site-mobile-drawer__brand { display: flex; align-items: center; height: 44px; margin: 0 !important; }
 .site-mobile-drawer__close-wrap { position: absolute; right: 0; top: 0; display: block !important; width: 44px !important; height: 44px; margin: 0 !important; padding: 0 !important; border: 0 !important; gap: 0 !important; }
 .site-mobile-drawer__close.wp-block-button { display: block; box-sizing: border-box; width: 44px !important; height: 44px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
 .site-mobile-drawer__close button { display: block; margin: 0 !important; padding: 0 !important; transform: none !important; }
}

/* Mobile footer rhythm and white wordmark over the homepage hero. */
@media (max-width: 760px) {
 .site-footer .site-footer__meta { margin-top: 40px; padding-top: 24px; gap: 16px; }
 .site-footer .site-footer__coverage,.site-footer .site-footer__copyright,.site-footer .site-footer__legal { margin: 0; line-height: 1.65; }
 .site-footer .site-footer__wordmark { margin-top: 56px; }
}
@media (max-width: 980px) {
 .home .site-header:not(.is-scrolled):not(.is-menu-open) .site-header__brand,.home .site-header:not(.is-scrolled):not(.is-menu-open) .site-header__brand a { color: #fff !important; }
 .site-header.is-scrolled .site-header__brand,.site-header.is-scrolled .site-header__brand a { color: var(--halis-ink) !important; }
 .site-header__brand a { transition: color 200ms ease; }
}

/* Legal pages: keep responsive gutters on body, beyond late WP global styles. */
@media (max-width: 980px) {
 body.page-id-3, body.page-id-295 { --wp--custom--layout--page-gutter: 32px; }
}
@media (max-width: 640px) {
 body.page-id-3, body.page-id-295 { --wp--custom--layout--page-gutter: 16px; }
}

/* Contextual benefit icons shared by service landings. */
#why-halis .halis-benefit-icon { flex: 0 0 32px; width: 32px; margin: 0 !important; }
#why-halis .halis-benefit-icon svg { display: block; width: 32px; height: 32px; }
#why-halis .halis-benefit-icon svg, #why-halis .halis-benefit-icon svg path { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Partners: native B2B sections, using the shared landing measure. */
.page-id-835 { --wp--custom--layout--page-gutter: 64px; }
.page-id-835 .partners-section { padding-block: var(--halis-section-lg); }
.page-id-835 .partners-audience { gap: 64px; align-items: start; }
.page-id-835 .partners-audience__intro { align-items: flex-start; }
.page-id-835 .partners-audience__intro h2 { max-width: 10ch; }
.page-id-835 .partners-eyebrow { font-weight: 600; letter-spacing: .12em; }
.page-id-835 .partners-audience__list { gap: 32px; }
.page-id-835 .partners-audience__item { padding-top: 24px; border-top: 1px solid var(--halis-line); align-items: flex-start; min-width: 0; }
.page-id-835 .partners-icon { flex: 0 0 32px; width: 32px; }
.page-id-835 .partners-icon svg { display: block; width: 32px; height: 32px; }
.page-id-835 .partners-icon svg, .page-id-835 .partners-icon svg path { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.page-id-835 .partners-support__header { max-width: 900px; align-items: flex-start; margin-bottom: 64px; }
.page-id-835 .partners-support__rows { border-bottom: 1px solid var(--halis-line); }
.page-id-835 .partners-support__row { grid-template-columns: 64px minmax(0,1fr) minmax(0,1.1fr); gap: 48px; padding-block: 40px; border-top: 1px solid var(--halis-line); align-items: start; margin: 0; }
.page-id-835 .partners-service-link a { font-weight: 600; border-bottom: 1px solid var(--halis-line); padding-bottom: 4px; }
.page-id-835 .partners-service-link a:hover { border-color: var(--halis-ink); }
.page-id-835 .partners-process { padding-block: var(--halis-section-lg); }
.page-id-835 .partners-process__inner { align-items: stretch; }
.page-id-835 .partners-process__inner > h2 { max-width: 18ch; }
.page-id-835 .partners-process__steps { gap: 32px; }
.page-id-835 .partners-process__steps > .wp-block-group { align-items: flex-start; min-width: 0; }
.page-id-835 #partners-hero .home-hero__content { max-width: 48rem; }
@media (max-width: 980px) {
 .page-id-835 { --wp--custom--layout--page-gutter: 32px; }
 .page-id-835 .partners-audience { grid-template-columns: minmax(0,1fr); gap: 48px; }
 .page-id-835 .partners-audience__intro h2 { max-width: none; }
 .page-id-835 .partners-support__row { gap: 24px; grid-template-columns: 48px minmax(0,1fr) minmax(0,1.2fr); }
}
@media (max-width: 640px) {
 .page-id-835 { --wp--custom--layout--page-gutter: 16px; }
 .page-id-835 #partners-hero.home-hero { min-height: 520px; }
 .page-id-835 .partners-audience__list { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .page-id-835 .partners-support__header { margin-bottom: 32px; }
 .page-id-835 .partners-support__row { grid-template-columns: 32px minmax(0,1fr); gap: 16px; padding-block: 32px; }
 .page-id-835 .partners-support__row > .wp-block-group { grid-column: 2; }
 .page-id-835 .partners-process__inner { gap: 32px; }
 .page-id-835 .partners-process__steps { grid-template-columns: minmax(0,1fr); gap: 16px; }
 .page-id-835 .home-final-cta__card { height: auto; min-height: 0; padding: 32px 24px !important; }
}

/* Keep the Partners audience headings within their grid columns. */
.page-id-835 .partners-audience__item h3 { width: 100%; max-width: 100%; }

/* Partners CTA copy on the shared navy card. */
.page-id-835 .home-final-cta__card p { color: rgba(255,255,255,.78); }

/* Partners: experience and B2B planning priorities. */
.page-id-835 .partners-expertise__grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:96px; align-items:center; }
.page-id-835 .partners-expertise__number { font-size:clamp(112px,13vw,184px);line-height:.85;letter-spacing:-.07em;font-weight:500; }
.page-id-835 .partners-expertise__caption { margin-top:16px!important; }
.page-id-835 .partners-expertise__image { margin:40px 0 0!important; }
.page-id-835 .partners-expertise__image img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:24px; }
.page-id-835 .partners-expertise__copy { display:flex;flex-direction:column;gap:24px;min-width:0; }
.page-id-835 .partners-expertise__copy h2 { max-width:15ch; }
.page-id-835 .partners-expertise__notes { border-left:2px solid var(--halis-line);padding-left:24px;margin-top:8px; }
.page-id-835 .partners-expertise__notes h3 { margin-bottom:8px!important; }
.page-id-835 .partners-expertise__notes p + h3 { margin-top:24px!important; }
.page-id-835 .partners-priorities__grid { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:80px;align-items:start; }
.page-id-835 .partners-priorities__intro { display:flex;flex-direction:column;gap:24px; }
.page-id-835 .partners-priorities__row { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:32px; padding:28px 0; border-bottom:1px solid var(--halis-line);margin:0;align-items:start; }
.page-id-835 .partners-priorities__row h3 { width:100%;max-width:100%; }
.page-id-835 .partners-priorities__labels { border-top:1px solid var(--halis-ink);padding:16px 0; }
.page-id-835 .partners-priorities__labels p { font-weight:600; }
.page-id-835 .partners-priorities__link { margin-top:32px!important;font-weight:600; }
.page-id-835 .partners-priorities__link a { border-bottom:1px solid var(--halis-line);padding-bottom:4px; }
@media(max-width:980px){
.page-id-835 .partners-expertise__grid { gap:48px; }
.page-id-835 .partners-priorities__grid { grid-template-columns:minmax(0,1fr);gap:48px; }
}
@media(max-width:640px){
.page-id-835 .partners-expertise__grid { grid-template-columns:minmax(0,1fr);gap:40px; }
.page-id-835 .partners-expertise__number { font-size:120px; }
.page-id-835 .partners-expertise__image { margin-top:24px!important; }
.page-id-835 .partners-expertise__copy h2 { max-width:none; }
.page-id-835 .partners-priorities__row { grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 0; }
.page-id-835 .partners-priorities__labels { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 0; }
}
/* Partners: balanced experience composition and mobile priorities. */
.page-id-835 .partners-expertise__header { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:end;margin-bottom:56px; }
.page-id-835 .partners-expertise__header h2 { max-width:18ch; }
.page-id-835 .partners-expertise__body { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start; }
.page-id-835 .partners-expertise__image { margin:0!important; }
.page-id-835 .partners-expertise__image img { aspect-ratio:4/3; }
.page-id-835 .partners-expertise__stat { display:flex;align-items:center;gap:24px;padding-top:24px;margin-top:24px;border-top:1px solid var(--halis-line); }
.page-id-835 .partners-expertise__number { font-size:88px;flex-shrink:0; }
.page-id-835 .partners-expertise__caption { margin:0!important;max-width:15ch; }
.page-id-835 .partners-expertise__copy { gap:32px; }
@media(max-width:980px){
.page-id-835 .partners-expertise__header,.page-id-835 .partners-expertise__body { gap:40px; }
}
@media(max-width:640px){
.page-id-835 .partners-expertise__header,.page-id-835 .partners-expertise__body { grid-template-columns:minmax(0,1fr);gap:24px; }
.page-id-835 .partners-expertise__header { margin-bottom:32px; }
.page-id-835 .partners-expertise__image img { aspect-ratio:16/10; }
.page-id-835 .partners-expertise__stat { padding-top:20px;margin-top:20px;gap:20px; }
.page-id-835 .partners-expertise__number { font-size:72px; }
.page-id-835 .partners-expertise__caption { font-size:18px; }
.page-id-835 .partners-expertise__copy { gap:24px; }
.page-id-835 .partners-priorities { padding-block:64px; }
.page-id-835 .partners-priorities__grid { gap:32px; }
.page-id-835 .partners-priorities__intro { gap:16px; }
.page-id-835 .partners-priorities__labels { display:none; }
.page-id-835 .partners-priorities__matrix { border-top:1px solid var(--halis-ink); }
.page-id-835 .partners-priorities__row { gap:12px;padding-block:24px; }
.page-id-835 .partners-priorities__row h3 { font-size:20px;line-height:1.3;max-width:30ch; }
.page-id-835 .partners-priorities__row p { font-size:16px;line-height:1.5; }
.page-id-835 .partners-priorities__link { line-height:1.5; }
}
/* Partners experience: one aligned introduction above two equal columns. */
.page-id-835 .partners-expertise__header { display:block; margin-bottom:40px; }
.page-id-835 .partners-expertise__header h2 { max-width:20ch; }
.page-id-835 .partners-expertise__header > p { margin-top:24px!important; max-width:48rem; }
.page-id-835 .partners-expertise__body { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.page-id-835 .partners-expertise__image img { aspect-ratio:16/10; object-fit:cover; }
.page-id-835 .partners-expertise__copy > p { margin:0!important; }
.page-id-835 .partners-expertise__notes { margin-top:0; }
@media(max-width:980px){.page-id-835 .partners-expertise__body { gap:40px; }}
@media(max-width:640px){.page-id-835 .partners-expertise__header { margin-bottom:32px; }.page-id-835 .partners-expertise__header h2 { max-width:none; }.page-id-835 .partners-expertise__header > p { margin-top:16px!important; }.page-id-835 .partners-expertise__body { grid-template-columns:minmax(0,1fr);gap:32px; }}

/* Partners experience: editorial proof panel and two practical benefits. */
.page-id-835 .partners-advantage__intro { max-width:960px;margin-bottom:48px; }
.page-id-835 .partners-advantage__intro h2 { max-width:20ch; }
.page-id-835 .partners-advantage__intro > p { margin-top:24px!important;max-width:46rem; }
.page-id-835 .partners-advantage__grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:stretch; }
.page-id-835 .partners-advantage__anchor { padding:48px;border-radius:28px;display:flex;flex-direction:column; }
.page-id-835 .partners-advantage__metric { margin-bottom:48px; }
.page-id-835 .partners-advantage__number { font-size:clamp(112px,11vw,160px);line-height:.85;letter-spacing:-.065em;font-weight:500;color:#fff; }
.page-id-835 .partners-advantage__caption { margin-top:20px!important;max-width:15ch;color:#fff; }
.page-id-835 .partners-advantage__statement { margin-top:auto!important;max-width:22ch;color:#fff;font-weight:500; }
.page-id-835 .partners-advantage__copy { margin-top:16px!important;color:rgba(255,255,255,.75); }
.page-id-835 .partners-advantage__benefits { display:grid;grid-template-rows:1fr 1fr;gap:24px; }
.page-id-835 .partners-advantage__benefit { margin:0;padding:40px;border-radius:28px;grid-template-columns:32px minmax(0,1fr);gap:24px;align-items:start;border:1px solid var(--halis-line); }
.page-id-835 .partners-advantage__benefit-copy { min-width:0; }
.page-id-835 .partners-advantage__benefit h3 { max-width:20ch;width:100%; }
.page-id-835 .partners-advantage__benefit-copy > p { margin-top:20px!important; }
@media(max-width:980px){
.page-id-835 .partners-advantage__anchor { padding:32px; }
.page-id-835 .partners-advantage__benefit { padding:32px;gap:20px; }
}
@media(max-width:640px){
.page-id-835 .partners-advantage__intro { margin-bottom:32px; }
.page-id-835 .partners-advantage__intro h2 { max-width:none; }
.page-id-835 .partners-advantage__intro > p { margin-top:16px!important; }
.page-id-835 .partners-advantage__grid { grid-template-columns:minmax(0,1fr);gap:16px; }
.page-id-835 .partners-advantage__anchor { padding:32px 24px;border-radius:24px; }
.page-id-835 .partners-advantage__number { font-size:112px; }
.page-id-835 .partners-advantage__metric { margin-bottom:32px; }
.page-id-835 .partners-advantage__benefits { gap:16px;grid-template-rows:auto; }
.page-id-835 .partners-advantage__benefit { padding:28px 24px;border-radius:24px;gap:20px; }
.page-id-835 .partners-advantage__benefit h3 { font-size:24px;line-height:1.2;max-width:none; }
.page-id-835 .partners-advantage__benefit-copy > p { margin-top:16px!important;font-size:16px; }
}

.page-id-835 .partners-advantage__number { font-size:clamp(112px,11vw,160px)!important; }
@media(max-width:640px){.page-id-835 .partners-advantage__number { font-size:112px!important; }}

/* Partners benefit cards: copy without repeated icons. */
.page-id-835 .partners-advantage__benefit { display: block; }

/* About: practical route knowledge. */
.page-id-633 .about-route-knowledge__intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:start;margin-bottom:48px;}
.page-id-633 .about-route-knowledge__intro h2{max-width:19ch;}
.page-id-633 .about-route-knowledge__cards{gap:32px;align-items:stretch;}
.page-id-633 .about-route-knowledge__card{padding:32px 0 0;border-top:1px solid var(--halis-line);min-width:0;}
.page-id-633 .about-route-knowledge__card h3{max-width:17ch;}
.page-id-633 .about-route-knowledge__card p{margin-top:20px!important;}
@media(max-width:980px){.page-id-633 .about-route-knowledge__intro{gap:32px;}.page-id-633 .about-route-knowledge__cards{gap:24px;}}
@media(max-width:640px){.page-id-633 .about-route-knowledge{padding-top:64px!important;padding-bottom:64px!important;}.page-id-633 .about-route-knowledge__intro{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:32px;}.page-id-633 .about-route-knowledge__intro h2{max-width:none;}.page-id-633 .about-route-knowledge__cards{grid-template-columns:minmax(0,1fr);gap:32px;}.page-id-633 .about-route-knowledge__card{padding-top:24px;}.page-id-633 .about-route-knowledge__card h3{max-width:none;}.page-id-633 .about-route-knowledge__card p{margin-top:16px!important;}}

/* CTA cards follow their content rather than a fixed hero-sized height. */
.home-final-cta .home-final-cta__card {
 height: auto;
 min-height: 0;
}
.home-final-cta .home-final-cta__visual {
 position: relative;
 height: auto;
 min-height: 0;
 align-self: stretch;
}
.home-final-cta .home-final-cta__visual .home-final-cta__image {
 position: absolute;
 inset: 0;
 height: 100%;
}
@media (max-width: 767px) {
 .home-final-cta .home-final-cta__card {
  height: auto;
  min-height: 0;
  padding: var(--wp--preset--spacing--32) var(--wp--preset--spacing--24) !important;
 }
 .home-final-cta .home-final-cta__visual {
  height: clamp(16rem, 65vw, 24rem);
 }
}
