/*
 * Local-only Aloha Auto visual system.
 * Printed after Astra Customizer CSS; do not copy this file to production.
 */

:root {
	--aloha-navy: #17345f;
	--aloha-blue: #046bd2;
	--aloha-cyan: #25aff9;
	--aloha-accent: #f05222;
	--aloha-ink: #152238;
	--aloha-muted: #526177;
	--aloha-surface: #f4f7fb;
	--aloha-border: #d7e0ec;
}

/* Gutenberg's full-width blocks extend a few pixels beyond the mobile
 * document edge. Clip only that decorative bleed, not vertical content. */
html {
	overflow-x: hidden;
	scroll-padding-top: 156px;
}

@supports (overflow: clip) {
	html {
		overflow-x: clip;
	}
}

/* Neutralize the previous fixed-header experiment before defining one source
 * of truth. Its mobile top/height values were the cause of the overflow. */
body {
	padding-top: 0 !important;
	padding-bottom: 0;
	/* `hidden` on the horizontal axis makes body a non-scrolling ancestor,
	 * which prevents a sticky masthead from ever sticking in Chromium. */
	overflow-x: clip !important;
	overflow-y: visible !important;
	color: var(--aloha-ink);
	font-family: Inter, Arial, sans-serif;
}

.main-header-bar {
	position: relative !important;
	inset: auto !important;
	width: auto !important;
	z-index: auto !important;
}

.ast-header-break-point .main-header-bar-navigation,
.ast-header-break-point .ast-mobile-popup-content {
	position: static !important;
	top: auto !important;
	height: auto !important;
	overflow: visible !important;
	z-index: auto !important;
}

#masthead,
body.ast-theme-transparent-header #masthead {
	position: sticky !important;
	top: 0;
	left: auto;
	right: auto;
	z-index: 1000;
	background: #fff;
	box-shadow: 0 3px 18px rgb(15 35 64 / 12%);
}

.ast-theme-transparent-header .main-header-bar,
.ast-theme-transparent-header .ast-primary-header-bar,
.main-header-bar,
.ast-primary-header-bar {
	background: #fff !important;
}

.main-header-menu .menu-link,
.ast-header-break-point .main-header-menu .menu-link,
.site-title a,
.site-title a:focus,
.site-title a:hover {
	color: var(--aloha-navy) !important;
}

.main-header-menu .menu-link {
	font-size: 0.9rem;
	font-weight: 700;
}

/* Astra's default dotted indicator is too subtle on the imported palette. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--aloha-accent) !important;
	outline-offset: 3px;
}

.site-branding {
	max-width: 245px;
}

.custom-logo-link img,
.site-logo-img img {
	max-height: 62px;
	width: auto;
	object-fit: contain;
}

.site-title {
	font-size: clamp(1rem, 1.5vw, 1.28rem);
	line-height: 1.15;
}

.aloha-utility-bar {
	background: var(--aloha-navy);
	color: #fff;
}

.aloha-utility-bar__inner {
	display: flex;
	min-height: 38px;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}

.aloha-utility-bar a {
	color: #fff;
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
}

.aloha-button,
.aloha-utility-bar__booking {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 0.25rem 0.85rem;
	border-radius: 4px;
	background: var(--aloha-accent);
	box-shadow: 0 1px 0 rgb(0 0 0 / 12%);
}

.aloha-button:hover,
.aloha-utility-bar__booking:hover,
.aloha-utility-bar__booking:focus {
	background: #cf3c13;
	color: #fff;
}

/* Repair the very low-contrast service-page title bands. */
body.page-id-37 .entry-content > h1.wp-block-heading,
body.page-id-50 .entry-content > h1.wp-block-heading,
body.page-id-61 .entry-content > h1.wp-block-heading,
body.page-id-101 .entry-content > h1.wp-block-heading {
	margin-block: 1.5rem 2rem;
	padding: clamp(1.2rem, 3vw, 2.25rem);
	border-left: 6px solid var(--aloha-accent);
	border-radius: 2px;
	background: var(--aloha-navy) !important;
	color: #fff !important;
	line-height: 1.18;
}

body.page-id-37 .entry-content > h1.wp-block-heading *,
body.page-id-50 .entry-content > h1.wp-block-heading *,
body.page-id-61 .entry-content > h1.wp-block-heading *,
body.page-id-101 .entry-content > h1.wp-block-heading * {
	color: inherit !important;
}

/* Use a clean, shared type rhythm across Gutenberg and Elementor. */
.elementor-kit-15,
.elementor-kit-15 .elementor-widget-text-editor,
.elementor-kit-15 .elementor-widget,
button,
input,
select,
textarea {
	font-family: Inter, Arial, sans-serif;
}

.elementor-kit-15 h1,
.elementor-kit-15 h2,
.elementor-kit-15 h3,
.entry-content h1,
.entry-content h2,
.entry-content h3 {
	color: var(--aloha-ink);
	letter-spacing: -0.018em;
	line-height: 1.18;
}

.entry-content h3,
.elementor-kit-15 h3 {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.aloha-local-lead {
	margin: 1.25rem 0;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--aloha-accent);
	background: #fff7f2;
	color: var(--aloha-ink);
	font-size: 1.1rem;
	font-weight: 700;
}

.aloha-local-inline-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.55rem 1rem;
	border-radius: 4px;
	background: var(--aloha-accent);
	color: #fff !important;
	font-weight: 800;
	text-decoration: none;
}

.aloha-local-inline-cta:hover,
.aloha-local-inline-cta:focus {
	background: #cf3c13;
	color: #fff;
}

.aloha-local-home-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.25rem 0;
}

.aloha-local-home-cta a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 1rem;
	border: 2px solid var(--aloha-accent);
	border-radius: 4px;
	background: var(--aloha-accent);
	color: #fff !important;
	font-weight: 800;
	text-decoration: none;
}

.aloha-local-home-cta a + a {
	border-color: var(--aloha-navy);
	background: transparent;
	color: var(--aloha-navy) !important;
}

.aloha-local-home-cta a:hover,
.aloha-local-home-cta a:focus {
	border-color: #cf3c13;
	background: #cf3c13;
	color: #fff !important;
}

/* Shared conversion action used beneath long service introductions. */
.aloha-local-service-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.5rem 0;
}

.aloha-local-service-cta a {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 1rem;
	border: 2px solid var(--aloha-accent);
	border-radius: 4px;
	background: var(--aloha-accent);
	color: #fff !important;
	font-weight: 800;
	text-decoration: none;
}

.aloha-local-service-cta a + a {
	border-color: var(--aloha-navy);
	background: #fff;
	color: var(--aloha-navy) !important;
}

.aloha-local-service-cta a:hover,
.aloha-local-service-cta a:focus {
	border-color: #cf3c13;
	background: #cf3c13;
	color: #fff !important;
}

.aloha-local-page-title {
	max-width: 1200px;
	margin: 2rem auto 1rem;
	padding-inline: 2rem;
}

.aloha-local-blog-header {
	margin: 2rem 0 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 3px solid var(--aloha-accent);
}

.aloha-local-blog-header h1 {
	margin: 0;
	color: var(--aloha-ink);
}

/* The service heading arrived as nearly white text on a pale grey field.
 * Give it the same unmistakable hierarchy as the rest of the local system. */
body.home #services > h2.wp-block-heading.has-ast-global-color-7-background-color {
	margin-bottom: 0;
	padding: clamp(0.85rem, 2vw, 1.15rem) 1.25rem;
	border-left: 5px solid var(--aloha-accent);
	border-radius: 4px 34px 34px 4px;
	background: var(--aloha-navy) !important;
	color: #fff !important;
	line-height: 1.2;
}

/* This one heading deliberately used Astra's pale colour as foreground text
 * on white. The page needs the normal dark text colour instead. */
body.page-id-50 .entry-content h3.has-ast-global-color-7-color {
	color: var(--aloha-navy) !important;
}

/* The homepage's imported travel feed is intentionally suppressed locally. */
body.home .wp-block-latest-posts,
body.home .wp-block-latest-posts__list {
	display: none !important;
}

/* Contact page: replace the unrelated detective imagery with the existing
 * workshop image, preserve a high-contrast heading, and align the content. */
body.page-id-290 .elementor-290 .elementor-element-69fc99e {
	position: relative;
	background-color: var(--aloha-navy) !important;
	background-image: linear-gradient(90deg, rgb(12 31 57 / 90%), rgb(12 31 57 / 54%)), url('/wp-content/uploads/2025/03/autoservis.jpg') !important;
	background-position: center, 68% 44% !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

body.page-id-290 .elementor-290 .elementor-element-69fc99e .elementor-background-slideshow,
body.page-id-290 .elementor-290 .elementor-element-69fc99e .swiper,
body.page-id-290 .elementor-290 .elementor-element-69fc99e .swiper-wrapper {
	display: none !important;
}

body.page-id-290 .elementor-290 .elementor-element-b6b5024 h1,
body.page-id-290 .elementor-290 .elementor-element-69fc99e h1 {
	color: #fff !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: clamp(2rem, 4vw, 3.4rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.08 !important;
	text-shadow: 0 2px 12px rgb(0 0 0 / 35%);
}

body.page-id-290 .elementor-290 .elementor-element-a3fc045,
body.page-id-290 .elementor-290 .elementor-element-c1bd48c,
body.page-id-290 .elementor-290 .elementor-element-d0933c3 {
	border: 1px solid var(--aloha-border);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgb(19 52 95 / 10%);
}

body.page-id-290 .elementor-290 .elementor-element-a3fc045 {
	background: #fff;
	padding: clamp(1.25rem, 3vw, 2.5rem) !important;
}

body.page-id-290 .elementor-290 .elementor-element-35f11d4 .elementor-heading-title,
body.page-id-290 .elementor-290 .elementor-element-78d64d9 .elementor-heading-title {
	color: var(--aloha-navy) !important;
	font-family: Inter, Arial, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: -0.025em !important;
}

body.page-id-290 .elementor-290 .elementor-element-35f11d4 .elementor-heading-title {
	font-size: clamp(1.65rem, 2.6vw, 2.2rem) !important;
}

body.page-id-290 .elementor-290 .elementor-element-65e3c3a p {
	color: var(--aloha-muted) !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.6 !important;
}

body.page-id-290 .elementor-290 .elementor-element-a3fc045 a[href^='tel:'],
body.page-id-290 .elementor-290 .elementor-element-a3fc045 a[href^='mailto:'] {
	display: inline-block;
	margin-block: 0.35rem;
	color: var(--aloha-blue) !important;
	font-size: 1.1rem;
	font-weight: 800;
}

body.page-id-290 .elementor-290 .elementor-element-d0933c3 {
	background: var(--aloha-surface);
	padding: 0 !important;
}

body.page-id-290 .elementor-290 .elementor-element-d0933c3 > .elementor-widget-container {
	padding: clamp(1.25rem, 3vw, 2.5rem) !important;
}

body.page-id-290 .elementor-290 input:not([type='submit']),
body.page-id-290 .elementor-290 textarea {
	border: 1px solid #a9b8ca;
	border-radius: 4px;
	background: #fff;
	color: var(--aloha-ink);
}

body.page-id-290 .elementor-290 input[type='submit'] {
	border: 0;
	border-radius: 4px;
	background: var(--aloha-accent);
	color: #fff;
	font-weight: 800;
}

body.page-id-290 .elementor-290 input[type='submit']:hover,
body.page-id-290 .elementor-290 input[type='submit']:focus {
	background: #cf3c13;
}

.aloha-local-form-anchor {
	display: block;
	position: relative;
	top: -128px;
	visibility: hidden;
}

#wpcf7-f5-p290-o1 {
	scroll-margin-top: 0;
}

/* Keep the contact form comfortably readable on large screens and make each
 * input a usable touch target. Elementor otherwise caps this section at 50%. */
@media (min-width: 922px) {
	body.page-id-290 .elementor-290 .elementor-element-6de8d74 {
		--width: min(100%, 760px) !important;
		width: min(100%, 760px) !important;
		margin-inline: auto;
	}
}

body.page-id-290 .elementor-290 .elementor-element-d0933c3,
body.page-id-290 .elementor-290 .elementor-element-d0933c3 .wpcf7 {
	width: 100%;
}

body.page-id-290 .elementor-290 .wpcf7 input:not([type='hidden']):not([type='submit']),
body.page-id-290 .elementor-290 .wpcf7 textarea,
body.page-id-290 .elementor-290 .wpcf7 input[type='submit'] {
	min-height: 48px;
}

body.page-id-290 .elementor-290 .wpcf7 textarea {
	min-height: 150px;
}

body.page-id-290 .elementor-290 .wpcf7 input[type='submit'] {
	padding-inline: 1.25rem;
}

/* A roadside-assistance visitor needs the emergency route to read as a
 * primary action, rather than a small generic contact button. */
body.page-id-101 .entry-content .wp-block-buttons {
	padding-block: clamp(1.5rem, 4vw, 2.5rem) !important;
}

body.page-id-101 .entry-content .wp-block-button__link {
	display: inline-flex;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.2rem;
	border: 2px solid var(--aloha-accent);
	border-radius: 5px;
	background: var(--aloha-accent);
	box-shadow: 0 8px 18px rgb(240 82 34 / 26%);
	color: #fff !important;
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
}

body.page-id-101 .entry-content .wp-block-button__link:hover,
body.page-id-101 .entry-content .wp-block-button__link:focus {
	border-color: #cf3c13;
	background: #cf3c13;
	color: #fff !important;
}

.aloha-local-form-note {
	margin: 0 0 1rem;
	padding: 0.8rem 1rem;
	border-left: 4px solid var(--aloha-accent);
	background: #fff7f2;
	color: #733013;
	font-size: 0.9rem;
}

.aloha-local-footer-contact {
	padding: 1rem 0;
	background: var(--aloha-navy);
	color: #fff;
}

/* The imported Astra footer contained only a generic theme promotion. The
 * local footer below retains copyright plus usable company contact details. */
.site-footer {
	display: none !important;
}

.aloha-local-footer-contact .ast-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 1.2rem;
}

.aloha-local-footer-contact a {
	color: #fff;
	font-weight: 700;
}

.aloha-local-footer-contact__copyright {
	margin-left: auto;
	color: #d8e8f8;
	font-size: 0.82rem;
}

.aloha-mobile-cta {
	display: none;
}

@media (max-width: 921px) {
	body {
		padding-bottom: 58px;
	}

	/* The homepage already contains clear primary actions in its hero and its
	 * closing panel. Keep the fixed bar for detail pages, where it remains a
	 * useful shortcut, but do not let a duplicate CTA cover homepage content. */
	body.home {
		padding-bottom: 0;
	}

	body.home .aloha-mobile-cta {
		display: none;
	}

	body.ast-theme-transparent-header #masthead {
		position: sticky !important;
	}

	.site-branding {
		max-width: calc(100% - 70px);
	}

	.site-title {
		font-size: 1rem;
	}

	.custom-logo-link img,
	.site-logo-img img {
		max-height: 52px;
	}

	.aloha-utility-bar {
		display: none;
	}

	.aloha-mobile-cta {
		position: fixed;
		z-index: 1100;
		bottom: 0;
		left: 0;
		display: grid;
		width: 100%;
		grid-template-columns: 1fr 1fr;
		box-shadow: 0 -4px 16px rgb(15 35 64 / 18%);
	}

	.aloha-mobile-cta a {
		display: flex;
		min-height: 58px;
		align-items: center;
		justify-content: center;
		background: var(--aloha-navy);
		color: #fff;
		font-weight: 800;
		text-decoration: none;
	}

	.aloha-mobile-cta a + a {
		background: var(--aloha-accent);
	}

	/* A roadside-assistance visitor needs a direct call to remain the obvious
	 * primary action, including in the persistent mobile bar. */
	body.page-id-101 .aloha-mobile-cta {
		grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
	}

	body.page-id-101 .aloha-mobile-cta a:first-child {
		background: var(--aloha-accent);
		font-size: 1rem;
	}

	body.page-id-101 .aloha-mobile-cta a + a {
		background: var(--aloha-navy);
		font-size: 0.84rem;
	}

	body.page-id-290 .elementor-290 .elementor-element-69fc99e {
		background-position: center, 70% 25% !important;
	}

	body.page-id-290 .elementor-290 .elementor-element-a3fc045 {
		padding: 1.25rem !important;
	}

	body.page-id-290 .elementor-290 .elementor-element-d0933c3 > .elementor-widget-container {
		padding: 1.25rem !important;
	}

	#wpcf7-f5-p290-o1 {
		scroll-margin-top: 0;
	}

	html {
		scroll-padding-top: 112px;
	}

	.aloha-local-footer-contact {
		padding-bottom: 1.4rem;
	}

	.aloha-local-footer-contact__copyright {
		width: 100%;
		margin-left: 0;
	}
}

@media (max-width: 600px) {
	/* The two service grids contained portrait images at their native 3:4
	 * ratio, producing six very tall cards before a visitor reached a CTA. */
	body.home #services > .wp-block-columns {
		gap: 1.5rem;
		margin-top: 1.5rem !important;
	}

	body.home #services .wp-block-image {
		margin-block: 0 !important;
	}

	body.home #services .wp-block-image img {
		display: block;
		width: 100% !important;
		height: 190px !important;
		border-radius: 24px !important;
		aspect-ratio: auto !important;
		object-fit: cover !important;
	}

	body.home #services .wp-block-column h3.wp-block-heading {
		margin-top: 0.75rem !important;
		padding: 0.85rem 1rem !important;
	}

	body.home #services .wp-block-column > p {
		margin-block: 0.5rem !important;
		padding-block: 0 !important;
	}

	/* The imported tyre-service lead was designed with desktop display type.
	 * Scale it to a readable mobile rhythm without changing the source copy. */
	body.page-id-61 .entry-content > .wp-block-heading + .wp-block-group > h2 {
		padding-block: 0 !important;
		font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
		line-height: 1.15 !important;
	}

	body.page-id-61 .entry-content > .wp-block-heading + .wp-block-group > p {
		font-size: 1.0625rem !important;
		line-height: 1.65 !important;
	}

	/* Turn the long mobile autoservis service list into calm, scannable
	 * headings instead of large underlined links separated by heavy rules. */
	body.page-id-37 .entry-content h3:has(a) {
		margin: 0.8rem 0 0.35rem !important;
		padding: 0.8rem 1rem !important;
		border: 1px solid var(--aloha-border);
		border-left: 4px solid var(--aloha-accent);
		border-radius: 5px;
		background: #fff;
		box-shadow: 0 2px 8px rgb(15 35 64 / 7%);
		font-size: 1.08rem !important;
		line-height: 1.35;
	}

	body.page-id-37 .entry-content h3:has(a) a {
		color: var(--aloha-navy) !important;
		font-weight: 800;
		text-decoration: none !important;
	}
}

/* -------------------------------------------------------------------------
 * Premium workshop presentation
 *
 * These are deliberately component-scoped rather than a wholesale Astra
 * override. The local PHP layer can add the matching blocks without making
 * the service diary or long-form advice pages feel like a different site.
 * ------------------------------------------------------------------------- */

:root {
	--aloha-midnight: #07182c;
	--aloha-deep-navy: #0b2749;
	--aloha-electric: #36b5ff;
	--aloha-electric-soft: #cceeff;
	--aloha-orange: #ff6332;
	--aloha-orange-deep: #e6471b;
	--aloha-paper: #f7faff;
	--aloha-steel: #94a7bb;
	--aloha-shadow-xl: 0 26px 70px rgb(5 24 47 / 18%);
	--aloha-shadow-card: 0 14px 34px rgb(5 24 47 / 11%);
	--aloha-radius-xl: 28px;
	--aloha-radius-lg: 18px;
}

/* An intentionally quieter, more technical visual language: one rich dark
 * neutral, one electric signal colour and the existing orange conversion
 * colour. It keeps the page confident without turning into a car-tuning
 * aesthetic. */
.aloha-premium-section {
	position: relative;
	margin-block: clamp(3.75rem, 8vw, 7.5rem);
	color: var(--aloha-ink);
}

.aloha-premium-section--soft {
	margin-inline: calc(50% - 50vw);
	padding: clamp(3.75rem, 7vw, 7rem) max(1.25rem, calc((100vw - 1200px) / 2));
	background:
		radial-gradient(circle at 88% 14%, rgb(54 181 255 / 13%), transparent 26rem),
		linear-gradient(180deg, #f8fbff 0%, #eef5fa 100%);
}

.aloha-premium-section--ink {
	margin-inline: calc(50% - 50vw);
	padding: clamp(3.75rem, 7vw, 7rem) max(1.25rem, calc((100vw - 1200px) / 2));
	background:
		radial-gradient(circle at 82% 5%, rgb(54 181 255 / 18%), transparent 27rem),
		linear-gradient(135deg, var(--aloha-midnight), var(--aloha-deep-navy));
	color: #fff;
}

.aloha-premium-section__eyebrow,
.aloha-premium-hero__eyebrow,
.aloha-premium-cta__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1rem;
	color: var(--aloha-blue);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.aloha-premium-section__eyebrow::before,
.aloha-premium-hero__eyebrow::before,
.aloha-premium-cta__eyebrow::before {
	width: 1.75rem;
	height: 2px;
	background: currentcolor;
	content: '';
}

.aloha-premium-section--ink .aloha-premium-section__eyebrow,
.aloha-premium-hero__eyebrow,
.aloha-premium-cta__eyebrow {
	color: var(--aloha-electric-soft);
}

.aloha-premium-section__title,
.aloha-premium-services__title,
.aloha-premium-trust__title,
.aloha-premium-process__title,
.aloha-premium-before-after__title,
.aloha-premium-cta__title {
	max-width: 16ch;
	margin: 0;
	color: var(--aloha-midnight);
	font-size: clamp(2rem, 4.1vw, 3.8rem);
	font-weight: 850;
	letter-spacing: -0.052em;
	line-height: 1.02;
}

.aloha-premium-section--ink .aloha-premium-section__title,
.aloha-premium-cta__title {
	color: #fff;
}

.aloha-premium-section__intro,
.aloha-premium-services__intro,
.aloha-premium-trust__intro,
.aloha-premium-process__intro,
.aloha-premium-before-after__intro,
.aloha-premium-cta__intro {
	max-width: 42rem;
	margin: 1.15rem 0 0;
	color: var(--aloha-muted);
	font-size: clamp(1.02rem, 1.4vw, 1.17rem);
	line-height: 1.7;
}

.aloha-premium-section--ink .aloha-premium-section__intro,
.aloha-premium-cta__intro {
	color: #dce8f5;
}

/* Full-bleed brand moment. It accepts either a background supplied by the
 * content block or an accessible <picture>/<img> inside __media. */
.aloha-premium-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	align-items: center;
	min-height: clamp(34rem, 57vw, 46rem);
	margin: 0 calc(50% - 50vw) clamp(4rem, 8vw, 7rem);
	padding: clamp(4.5rem, 10vw, 8rem) max(1.35rem, calc((100vw - 1200px) / 2));
	overflow: hidden;
	background: var(--aloha-midnight);
	color: #fff;
}

.aloha-premium-hero::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(90deg, rgb(4 18 35 / 97%) 0%, rgb(7 24 44 / 88%) 39%, rgb(7 24 44 / 48%) 68%, rgb(7 24 44 / 62%) 100%),
		linear-gradient(180deg, rgb(7 24 44 / 4%), rgb(7 24 44 / 75%));
	content: '';
}

.aloha-premium-hero::after {
	position: absolute;
	z-index: -1;
	right: -12rem;
	bottom: -17rem;
	width: min(54vw, 50rem);
	aspect-ratio: 1;
	border: 1px solid rgb(159 222 255 / 24%);
	border-radius: 50%;
	box-shadow: 0 0 0 4rem rgb(54 181 255 / 5%), 0 0 0 9rem rgb(54 181 255 / 4%);
	content: '';
	pointer-events: none;
}

.aloha-premium-hero__media {
	position: absolute;
	z-index: -2;
	inset: 0;
	margin: 0;
}

.aloha-premium-hero__media picture,
.aloha-premium-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.aloha-premium-hero__media img {
	object-fit: cover;
	object-position: center;
}

.aloha-premium-hero__content {
	position: relative;
	max-width: 48rem;
}

.aloha-premium-hero__eyebrow {
	margin-bottom: 1.2rem;
	color: var(--aloha-electric-soft);
}

.aloha-premium-hero__title {
	max-width: 11.5ch;
	margin: 0;
	color: #fff;
	font-size: clamp(3rem, 6.6vw, 6.05rem);
	font-weight: 850;
	letter-spacing: -0.068em;
	line-height: 0.93;
	text-wrap: balance;
}

.aloha-premium-hero__title em {
	color: var(--aloha-electric);
	font-style: normal;
}

.aloha-premium-hero__lead {
	max-width: 35rem;
	margin: 1.5rem 0 0;
	color: #e4eef7;
	font-size: clamp(1.08rem, 1.55vw, 1.25rem);
	line-height: 1.65;
}

.aloha-premium-hero__actions,
.aloha-premium-cta__actions,
.aloha-premium-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 2rem;
}

.aloha-premium-button,
.aloha-premium-hero__actions a,
.aloha-premium-cta__actions a {
	display: inline-flex;
	min-height: 3.45rem;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1.2rem;
	border: 1px solid var(--aloha-orange);
	border-radius: 999px;
	background: var(--aloha-orange);
	box-shadow: 0 10px 22px rgb(255 99 50 / 25%);
	color: #fff !important;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.aloha-premium-button:hover,
.aloha-premium-button:focus,
.aloha-premium-hero__actions a:hover,
.aloha-premium-hero__actions a:focus,
.aloha-premium-cta__actions a:hover,
.aloha-premium-cta__actions a:focus {
	border-color: var(--aloha-orange-deep);
	background: var(--aloha-orange-deep);
	box-shadow: 0 13px 29px rgb(230 71 27 / 35%);
	color: #fff !important;
	transform: translateY(-2px);
}

.aloha-premium-button--quiet,
.aloha-premium-hero__actions a + a,
.aloha-premium-cta__actions a + a {
	border-color: rgb(255 255 255 / 45%);
	background: rgb(255 255 255 / 7%);
	box-shadow: none;
	color: #fff !important;
	backdrop-filter: blur(8px);
}

.aloha-premium-button--quiet:hover,
.aloha-premium-button--quiet:focus,
.aloha-premium-hero__actions a + a:hover,
.aloha-premium-hero__actions a + a:focus,
.aloha-premium-cta__actions a + a:hover,
.aloha-premium-cta__actions a + a:focus {
	border-color: #fff;
	background: #fff;
	box-shadow: none;
	color: var(--aloha-midnight) !important;
}

.aloha-premium-hero__signals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.aloha-premium-hero__signals li {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.48rem 0.72rem;
	border: 1px solid rgb(199 234 255 / 25%);
	border-radius: 999px;
	background: rgb(3 18 34 / 37%);
	color: #dceeff;
	font-size: 0.82rem;
	font-weight: 700;
	backdrop-filter: blur(7px);
}

.aloha-premium-hero__signals li::before {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--aloha-electric);
	box-shadow: 0 0 0 3px rgb(54 181 255 / 18%);
	content: '';
}

/* Service cards: image-led and editorial instead of a generic three-column
 * WordPress grid. The linked card remains one clear interactive target. */
.aloha-premium-services {
	position: relative;
	margin-block: clamp(4rem, 9vw, 8rem);
}

.aloha-premium-services__head,
.aloha-premium-trust__head,
.aloha-premium-process__head,
.aloha-premium-before-after__head {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(16rem, 0.75fr);
	align-items: end;
	gap: 2rem 4rem;
	margin-bottom: clamp(2rem, 4vw, 3.6rem);
}

.aloha-premium-services__head .aloha-premium-services__intro,
.aloha-premium-trust__head .aloha-premium-trust__intro,
.aloha-premium-process__head .aloha-premium-process__intro,
.aloha-premium-before-after__head .aloha-premium-before-after__intro {
	justify-self: end;
	margin: 0;
}

.aloha-premium-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.2vw, 1.55rem);
}

.aloha-premium-service-card {
	position: relative;
	display: flex;
	min-height: 32rem;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	border: 1px solid rgb(15 43 75 / 10%);
	border-radius: var(--aloha-radius-xl);
	background: var(--aloha-midnight);
	box-shadow: var(--aloha-shadow-card);
	color: #fff;
	isolation: isolate;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.aloha-premium-service-card:hover,
.aloha-premium-service-card:focus-within {
	box-shadow: var(--aloha-shadow-xl);
	transform: translateY(-6px);
}

.aloha-premium-service-card__media {
	position: absolute;
	z-index: -2;
	inset: 0;
	margin: 0;
}

.aloha-premium-service-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 550ms cubic-bezier(.2, .7, .2, 1);
}

.aloha-premium-service-card:hover .aloha-premium-service-card__media img,
.aloha-premium-service-card:focus-within .aloha-premium-service-card__media img {
	transform: scale(1.055);
}

.aloha-premium-service-card::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(180deg, rgb(4 18 35 / 5%) 28%, rgb(4 18 35 / 93%) 100%);
	content: '';
}

.aloha-premium-service-card__content {
	padding: clamp(1.4rem, 3vw, 2rem);
}

.aloha-premium-service-card__index {
	display: inline-flex;
	margin-bottom: 1rem;
	color: var(--aloha-electric-soft);
	font-size: 0.77rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.aloha-premium-service-card__title {
	margin: 0;
	color: #fff !important;
	font-size: clamp(1.65rem, 2.6vw, 2.25rem);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 1.05;
}

.aloha-premium-service-card__text {
	margin: 0.82rem 0 0;
	color: #d7e6f2;
	font-size: 0.98rem;
	line-height: 1.62;
}

.aloha-premium-service-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin-top: 1.25rem;
	color: #fff !important;
	font-size: 0.9rem;
	font-weight: 800;
	text-decoration: none !important;
}

.aloha-premium-service-card__link::after {
	display: inline-grid;
	width: 1.55rem;
	height: 1.55rem;
	place-items: center;
	border-radius: 50%;
	background: var(--aloha-orange);
	color: #fff;
	content: '→';
	font-size: 1.05rem;
	line-height: 1;
	transition: transform 180ms ease;
}

.aloha-premium-service-card__link:hover::after,
.aloha-premium-service-card__link:focus::after {
	transform: translateX(3px);
}

/* A low-noise credibility strip that does not fabricate figures. Content
 * controls the wording; this only makes concise fact items feel intentional. */
.aloha-premium-trust {
	position: relative;
	margin: clamp(4rem, 9vw, 8rem) calc(50% - 50vw);
	padding: clamp(3.5rem, 7vw, 6rem) max(1.25rem, calc((100vw - 1200px) / 2));
	overflow: hidden;
	background: var(--aloha-midnight);
	color: #fff;
}

.aloha-premium-trust::after {
	position: absolute;
	top: -18rem;
	right: -8rem;
	width: 38rem;
	aspect-ratio: 1;
	border: 1px solid rgb(111 199 255 / 20%);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgb(54 181 255 / 4%), 0 0 0 11rem rgb(54 181 255 / 3%);
	content: '';
	pointer-events: none;
}

.aloha-premium-trust > * {
	position: relative;
	z-index: 1;
}

.aloha-premium-trust__title {
	color: #fff;
}

.aloha-premium-trust__intro {
	color: #d5e5f2;
}

.aloha-premium-trust__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: clamp(2rem, 4vw, 3.4rem);
	border: 1px solid rgb(177 221 250 / 20%);
	border-radius: var(--aloha-radius-lg);
	overflow: hidden;
	background: rgb(177 221 250 / 20%);
}

.aloha-premium-trust__item {
	min-height: 9.5rem;
	padding: clamp(1.3rem, 3vw, 2rem);
	background: rgb(8 31 57 / 78%);
}

.aloha-premium-trust__item strong,
.aloha-premium-trust__item b {
	display: block;
	color: #fff;
	font-size: clamp(1.08rem, 1.8vw, 1.35rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.aloha-premium-trust__item span,
.aloha-premium-trust__item p {
	display: block;
	margin: 0.55rem 0 0;
	color: #c7dced;
	font-size: 0.92rem;
	line-height: 1.55;
}

/* The process grid makes the booking journey feel simple without adding
 * artificial animation or claims. */
.aloha-premium-process {
	margin-block: clamp(4rem, 9vw, 8rem);
}

.aloha-premium-process__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.4rem);
	counter-reset: aloha-process;
}

.aloha-premium-process__item {
	position: relative;
	min-height: 15.5rem;
	padding: clamp(1.4rem, 3.1vw, 2.15rem);
	border: 1px solid var(--aloha-border);
	border-radius: var(--aloha-radius-lg);
	background: #fff;
	box-shadow: 0 4px 14px rgb(9 38 70 / 5%);
	counter-increment: aloha-process;
}

.aloha-premium-process__item::before {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	margin-bottom: 2.9rem;
	border-radius: 50%;
	background: var(--aloha-electric-soft);
	color: var(--aloha-deep-navy);
	content: '0' counter(aloha-process);
	font-size: 0.82rem;
	font-weight: 850;
}

.aloha-premium-process__item:not(:last-child)::after {
	position: absolute;
	top: 3.1rem;
	right: clamp(-1rem, -1.3vw, -0.5rem);
	z-index: 2;
	width: clamp(1.25rem, 2vw, 2.5rem);
	height: 1px;
	background: var(--aloha-electric);
	content: '';
}

.aloha-premium-process__item h3,
.aloha-premium-process__item strong {
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(1.2rem, 1.9vw, 1.48rem);
	font-weight: 850;
	letter-spacing: -0.033em;
	line-height: 1.16;
}

.aloha-premium-process__item p {
	margin: 0.7rem 0 0;
	color: var(--aloha-muted);
	font-size: 0.95rem;
	line-height: 1.6;
}

/* Before / after work gets a dedicated visual frame. Each figure is kept
 * legible in the absence of a JavaScript comparison slider. */
.aloha-premium-before-after {
	margin-block: clamp(4rem, 9vw, 8rem);
}

.aloha-premium-before-after__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.4vw, 1.8rem);
}

.aloha-premium-before-after__item {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--aloha-radius-xl);
	background: var(--aloha-midnight);
	box-shadow: var(--aloha-shadow-card);
}

.aloha-premium-before-after__item img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.aloha-premium-before-after__item figcaption,
.aloha-premium-before-after__caption {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.8rem 0.9rem;
	border: 1px solid rgb(255 255 255 / 27%);
	border-radius: 10px;
	background: rgb(5 24 47 / 72%);
	color: #fff;
	font-size: 0.86rem;
	font-weight: 750;
	line-height: 1.3;
	backdrop-filter: blur(9px);
}

.aloha-premium-before-after__label {
	display: inline-flex;
	flex: 0 0 auto;
	padding: 0.25rem 0.5rem;
	border-radius: 999px;
	background: var(--aloha-orange);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Final conversion moment; colour and contrast intentionally guide the eye
 * to booking while leaving a secondary call option available. */
.aloha-premium-cta {
	position: relative;
	isolation: isolate;
	margin: clamp(4rem, 9vw, 8rem) calc(50% - 50vw) 0;
	padding: clamp(4rem, 8vw, 7rem) max(1.25rem, calc((100vw - 1200px) / 2));
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 22%, rgb(54 181 255 / 21%), transparent 25rem),
		linear-gradient(112deg, var(--aloha-midnight), #0a315e);
	color: #fff;
}

.aloha-premium-cta::after {
	position: absolute;
	z-index: -1;
	right: max(-13rem, calc((100vw - 1200px) / -2));
	bottom: -20rem;
	width: 46rem;
	aspect-ratio: 1;
	border: 1px solid rgb(168 224 255 / 20%);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgb(54 181 255 / 5%), 0 0 0 11rem rgb(54 181 255 / 3%);
	content: '';
}

.aloha-premium-cta__inner {
	position: relative;
	z-index: 1;
	max-width: 49rem;
}

/* Elevate the three core service pages too. The imported source content
 * remains fully present; only the hierarchy, image framing and rhythm are
 * given enough editorial weight to match the redesigned homepage. */
body.page-id-37 .entry-content,
body.page-id-50 .entry-content,
body.page-id-61 .entry-content,
body.page-id-1608 .entry-content {
	padding-bottom: clamp(2rem, 5vw, 4rem);
}

body.page-id-37 .entry-content > h1.wp-block-heading,
body.page-id-50 .entry-content > h1.wp-block-heading,
body.page-id-61 .entry-content > h1.wp-block-heading,
body.page-id-1608 .entry-content > h1.wp-block-heading {
	position: relative;
	margin-top: clamp(1rem, 3vw, 2.5rem);
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
	padding: clamp(2rem, 5vw, 4.2rem) clamp(1.5rem, 5.5vw, 5.25rem);
	overflow: hidden;
	border: 0;
	border-left: 0;
	border-radius: var(--aloha-radius-xl);
	background:
		radial-gradient(circle at 93% 18%, rgb(54 181 255 / 27%), transparent 20rem),
		linear-gradient(115deg, var(--aloha-midnight), var(--aloha-deep-navy)) !important;
	box-shadow: var(--aloha-shadow-card);
	color: #fff !important;
	font-size: clamp(2.1rem, 4.5vw, 4.2rem);
	font-weight: 850;
	letter-spacing: -0.055em;
	line-height: 1.03;
}

body.page-id-37 .entry-content > h1.wp-block-heading::after,
body.page-id-50 .entry-content > h1.wp-block-heading::after,
body.page-id-61 .entry-content > h1.wp-block-heading::after,
body.page-id-1608 .entry-content > h1.wp-block-heading::after {
	position: absolute;
	top: -12rem;
	right: -14rem;
	width: 35rem;
	aspect-ratio: 1;
	border: 1px solid rgb(168 224 255 / 26%);
	border-radius: 50%;
	box-shadow: 0 0 0 4rem rgb(54 181 255 / 5%), 0 0 0 9rem rgb(54 181 255 / 3%);
	content: '';
	pointer-events: none;
}

body.page-id-37 .entry-content > h1.wp-block-heading *,
body.page-id-50 .entry-content > h1.wp-block-heading *,
body.page-id-61 .entry-content > h1.wp-block-heading *,
body.page-id-1608 .entry-content > h1.wp-block-heading * {
	position: relative;
	z-index: 1;
	color: inherit !important;
}

body.page-id-37 .entry-content > h2,
body.page-id-50 .entry-content > h2,
body.page-id-61 .entry-content > h2,
body.page-id-1608 .entry-content > h2 {
	position: relative;
	margin-top: clamp(2.7rem, 5vw, 4.8rem);
	margin-bottom: 1rem;
	padding-top: 1rem;
	color: var(--aloha-midnight) !important;
	font-size: clamp(1.7rem, 3.1vw, 2.65rem);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 1.08;
}

body.page-id-37 .entry-content > h2::before,
body.page-id-50 .entry-content > h2::before,
body.page-id-61 .entry-content > h2::before,
body.page-id-1608 .entry-content > h2::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 2.7rem;
	height: 3px;
	border-radius: 99px;
	background: var(--aloha-orange);
	content: '';
}

body.page-id-37 .entry-content > h2 + p,
body.page-id-50 .entry-content > h2 + p,
body.page-id-61 .entry-content > h2 + p,
body.page-id-1608 .entry-content > h2 + p {
	max-width: 48rem;
	color: var(--aloha-muted);
	font-size: 1.04rem;
	line-height: 1.72;
}

body.page-id-37 .entry-content > figure.wp-block-image,
body.page-id-50 .entry-content > figure.wp-block-image,
body.page-id-61 .entry-content > figure.wp-block-image,
body.page-id-1608 .entry-content > figure.wp-block-image {
	margin-block: clamp(2rem, 4vw, 3.5rem);
	overflow: hidden;
	border-radius: var(--aloha-radius-xl);
	box-shadow: var(--aloha-shadow-card);
}

body.page-id-37 .entry-content > figure.wp-block-image img,
body.page-id-50 .entry-content > figure.wp-block-image img,
body.page-id-61 .entry-content > figure.wp-block-image img,
body.page-id-1608 .entry-content > figure.wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0 !important;
}

body.page-id-37 .entry-content > .wp-block-columns,
body.page-id-50 .entry-content > .wp-block-columns,
body.page-id-61 .entry-content > .wp-block-columns,
body.page-id-1608 .entry-content > .wp-block-columns {
	gap: clamp(1rem, 2.6vw, 2rem);
	margin-block: clamp(2rem, 5vw, 4rem);
}

body.page-id-37 .entry-content > .wp-block-columns > .wp-block-column,
body.page-id-50 .entry-content > .wp-block-columns > .wp-block-column,
body.page-id-61 .entry-content > .wp-block-columns > .wp-block-column,
body.page-id-1608 .entry-content > .wp-block-columns > .wp-block-column {
	border-radius: var(--aloha-radius-lg);
}

body.page-id-37 .entry-content > h3,
body.page-id-50 .entry-content > h3,
body.page-id-61 .entry-content > h3,
body.page-id-1608 .entry-content > h3 {
	margin-top: 2rem;
	color: var(--aloha-deep-navy) !important;
	font-weight: 800;
	letter-spacing: -0.028em;
	line-height: 1.17;
}

@media (max-width: 921px) {
	.aloha-premium-section--soft,
	.aloha-premium-section--ink,
	.aloha-premium-trust,
	.aloha-premium-cta {
		padding-inline: 1.25rem;
	}

	.aloha-premium-hero {
		min-height: min(42rem, 83vh);
		padding: clamp(4.2rem, 13vw, 6.5rem) 1.25rem;
	}

	.aloha-premium-hero::before {
		background:
			linear-gradient(180deg, rgb(4 18 35 / 80%) 0%, rgb(4 18 35 / 90%) 57%, rgb(4 18 35 / 96%) 100%),
			linear-gradient(90deg, rgb(4 18 35 / 40%), rgb(4 18 35 / 40%));
	}

	.aloha-premium-hero__title {
		max-width: 10.8ch;
		font-size: clamp(2.85rem, 12vw, 4.5rem);
	}

	.aloha-premium-services__head,
	.aloha-premium-trust__head,
	.aloha-premium-process__head,
	.aloha-premium-before-after__head {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.aloha-premium-services__head .aloha-premium-services__intro,
	.aloha-premium-trust__head .aloha-premium-trust__intro,
	.aloha-premium-process__head .aloha-premium-process__intro,
	.aloha-premium-before-after__head .aloha-premium-before-after__intro {
		justify-self: start;
	}

	.aloha-premium-service-grid,
	.aloha-premium-trust__grid,
	.aloha-premium-process__grid {
		grid-template-columns: 1fr;
	}

	.aloha-premium-service-card {
		min-height: 25rem;
	}

	.aloha-premium-trust__grid {
		gap: 1px;
	}

	.aloha-premium-trust__item {
		min-height: auto;
	}

	.aloha-premium-process__item {
		min-height: 0;
	}

	.aloha-premium-process__item::before {
		margin-bottom: 1.5rem;
	}

	.aloha-premium-process__item:not(:last-child)::after {
		display: none;
	}

	body.page-id-37 .entry-content > h1.wp-block-heading,
	body.page-id-50 .entry-content > h1.wp-block-heading,
	body.page-id-61 .entry-content > h1.wp-block-heading,
	body.page-id-1608 .entry-content > h1.wp-block-heading {
		margin-inline: 0;
		border-radius: 20px;
	}
}

@media (max-width: 600px) {
	.aloha-premium-section {
		margin-block: 3.75rem;
	}

	.aloha-premium-hero {
		min-height: 39rem;
		margin-bottom: 3.75rem;
	}

	.aloha-premium-hero__lead {
		font-size: 1rem;
		line-height: 1.58;
	}

	.aloha-premium-hero__actions,
	.aloha-premium-cta__actions,
	.aloha-premium-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.aloha-premium-button,
	.aloha-premium-hero__actions a,
	.aloha-premium-cta__actions a {
		width: 100%;
	}

	.aloha-premium-hero__signals {
		gap: 0.5rem;
	}

	.aloha-premium-hero__signals li {
		font-size: 0.76rem;
	}

	.aloha-premium-service-card {
		min-height: 23rem;
		border-radius: 20px;
	}

	.aloha-premium-before-after__grid {
		grid-template-columns: 1fr;
	}

	.aloha-premium-before-after__item {
		border-radius: 20px;
	}

	body.page-id-37 .entry-content > h1.wp-block-heading,
	body.page-id-50 .entry-content > h1.wp-block-heading,
	body.page-id-61 .entry-content > h1.wp-block-heading,
	body.page-id-1608 .entry-content > h1.wp-block-heading {
		padding: 1.7rem 1.3rem;
		font-size: clamp(2rem, 10vw, 2.85rem);
	}

	body.page-id-37 .entry-content > h2,
	body.page-id-50 .entry-content > h2,
	body.page-id-61 .entry-content > h2,
	body.page-id-1608 .entry-content > h2 {
		margin-top: 3rem;
		font-size: clamp(1.55rem, 8vw, 2.1rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.aloha-premium-button,
	.aloha-premium-hero__actions a,
	.aloha-premium-cta__actions a,
	.aloha-premium-service-card,
	.aloha-premium-service-card__media img,
	.aloha-premium-service-card__link::after {
		transition: none !important;
	}

	.aloha-premium-button:hover,
	.aloha-premium-button:focus,
	.aloha-premium-hero__actions a:hover,
	.aloha-premium-hero__actions a:focus,
	.aloha-premium-cta__actions a:hover,
	.aloha-premium-cta__actions a:focus,
	.aloha-premium-service-card:hover,
	.aloha-premium-service-card:focus-within,
	.aloha-premium-service-card:hover .aloha-premium-service-card__media img,
	.aloha-premium-service-card:focus-within .aloha-premium-service-card__media img,
	.aloha-premium-service-card__link:hover::after,
	.aloha-premium-service-card__link:focus::after {
		transform: none;
	}
}

/* Locality pages keep their established URLs, but make the one real workshop
 * location and the visitor's next step obvious instead of masquerading as a
 * separate branch. */
.aloha-local-service-page__locality {
	padding: clamp(4.5rem, 8vw, 7rem) 1.25rem;
	background: linear-gradient(135deg, #f7fbfe 0%, #edf7fc 58%, #e4f1f9 100%);
}

.aloha-local-service-page__locality-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: clamp(2rem, 4vw, 3.35rem);
}

.aloha-local-service-page__locality-card {
	min-width: 0;
	min-height: 17.5rem;
	padding: clamp(1.3rem, 2.8vw, 1.9rem);
	border: 1px solid rgb(11 40 72 / 9%);
	border-radius: 1.25rem;
	background: rgb(255 255 255 / 88%);
	box-shadow: 0 1rem 2.2rem rgb(10 43 75 / 7%);
}

.aloha-local-service-page__locality-card .aloha-local-service-page__service-number {
	margin-bottom: 1.45rem;
}

.aloha-local-service-page__locality-card h3 {
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	line-height: 1.1;
}

.aloha-local-service-page__locality-card ul {
	display: grid;
	gap: 0.72rem;
	margin: 1.2rem 0 0;
	padding: 0;
	list-style: none;
}

.aloha-local-service-page__locality-card li {
	position: relative;
	padding-left: 1.1rem;
	color: var(--aloha-muted);
	font-size: 0.94rem;
	line-height: 1.55;
}

.aloha-local-service-page__locality-card li::before {
	position: absolute;
	top: 0.62em;
	left: 0;
	width: 0.38rem;
	height: 0.38rem;
	border-radius: 50%;
	background: var(--aloha-orange);
	content: '';
}

.aloha-local-service-page__locality-card address {
	margin: 1.15rem 0 1rem;
	color: var(--aloha-muted);
	font-style: normal;
	font-size: 0.98rem;
	line-height: 1.65;
}

.aloha-local-service-page__locality-card--map {
	background: var(--aloha-midnight);
}

.aloha-local-service-page__locality-card--map h3,
.aloha-local-service-page__locality-card--map address {
	color: #fff !important;
}

.aloha-local-service-page__locality-card--map address {
	color: rgb(255 255 255 / 76%) !important;
}

.aloha-local-service-page__locality-card--map a {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	margin-top: 0.45rem;
	color: #9fdcff !important;
	font-size: 0.9rem;
	font-weight: 800;
	text-decoration: none;
}

.aloha-local-service-page__locality-card--map .aloha-local-service-page__workshop-link {
	display: flex;
	margin-top: 0.9rem;
	color: #fff !important;
}

.aloha-local-service-page__locality-card--map a:hover,
.aloha-local-service-page__locality-card--map a:focus {
	color: #fff !important;
	text-decoration: underline;
}

.aloha-local-service-page__locality-card--faq dl {
	display: grid;
	gap: 0.9rem;
	margin: 1.15rem 0 0;
}

.aloha-local-service-page__locality-card--faq dl div {
	display: grid;
	gap: 0.18rem;
}

.aloha-local-service-page__locality-card--faq dt {
	color: var(--aloha-midnight);
	font-size: 0.88rem;
	font-weight: 800;
}

.aloha-local-service-page__locality-card--faq dd {
	margin: 0;
	color: var(--aloha-muted);
	font-size: 0.84rem;
	line-height: 1.45;
}

@media (max-width: 920px) {
	.aloha-local-service-page__locality-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aloha-local-service-page__locality-card--faq {
		grid-column: span 2;
		min-height: 0;
	}

	.aloha-local-service-page__locality-card--faq dl {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.aloha-local-service-page__locality {
		padding: 3.75rem 1.25rem;
	}

	.aloha-local-service-page__locality-grid,
	.aloha-local-service-page__locality-card--faq dl {
		grid-template-columns: 1fr;
	}

	.aloha-local-service-page__locality-card,
	.aloha-local-service-page__locality-card--faq {
		grid-column: auto;
		min-height: 0;
	}
}

/* Customer guides use a calm reading rhythm: answer first, a short safe
 * checklist second, then a visible next step. They intentionally avoid the
 * flat wall of legacy Gutenberg text. */
.aloha-diary-article-intro__reader-note {
	max-width: 43rem;
	margin: 0.95rem 0 0;
	color: rgb(223 242 255 / 82%);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.45;
}

/* Astra leaves archive posts a large inherited top margin. The diary has its
 * own opening hero, so remove that empty band and let the page begin with its
 * useful editorial context. */
body.blog .content-area.primary {
	margin-top: 0 !important;
}

body.blog .aloha-diary-hero {
	margin-top: 0;
}

/* The technical article visual is decorative, not a pretend photograph or a
 * redundant label such as "Kola" beside a headline that already says TPMS. */
.aloha-diary-article-intro__visual .aloha-diary-visual__shape span {
	font-size: 0;
}

.aloha-customer-guide {
	display: grid;
	gap: 0;
}

body.single-post .ast-article-single .entry-content .aloha-customer-guide__lead {
	margin: 0;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border: 1px solid #d8e9f4;
	border-radius: 1.1rem;
	background: linear-gradient(125deg, #f2f9fd, #fbfdff);
	color: #183c60;
	font-size: clamp(1.06rem, 2vw, 1.2rem);
	font-weight: 700;
	line-height: 1.7;
}

.aloha-customer-guide__section {
	margin-top: clamp(2.25rem, 5vw, 3.6rem);
}

body.single-post .ast-article-single .entry-content .aloha-customer-guide__section h2 {
	margin-top: 0;
}

.aloha-customer-guide__section p {
	margin-bottom: 0;
}

.aloha-customer-guide__section p + p {
	margin-top: 1rem;
}

.aloha-customer-guide__steps {
	padding: clamp(1.25rem, 3vw, 1.7rem);
	border: 1px solid #dbeaf3;
	border-radius: 1.25rem;
	background: #f8fbfd;
}

body.single-post .ast-article-single .entry-content .aloha-customer-guide__steps h2 {
	margin-bottom: 1.25rem;
	padding-top: 0;
	border-top: 0;
}

.aloha-customer-guide__steps ol {
	display: grid;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: aloha-guide-step;
}

.aloha-customer-guide__steps li {
	position: relative;
	min-height: 2.25rem;
	padding-left: 3.15rem;
	counter-increment: aloha-guide-step;
}

.aloha-customer-guide__steps li::before {
	position: absolute;
	top: 0.05rem;
	left: 0;
	display: grid;
	width: 2.2rem;
	height: 2.2rem;
	place-items: center;
	border-radius: 50%;
	background: #dff2fd;
	color: #0765a8;
	content: counter(aloha-guide-step, decimal-leading-zero);
	font-size: 0.72rem;
	font-weight: 900;
}

.aloha-customer-guide__warning {
	position: relative;
	margin-top: clamp(2.25rem, 5vw, 3.6rem);
	padding: clamp(1.45rem, 3.5vw, 2.1rem);
	overflow: hidden;
	border-radius: 1.25rem;
	background: linear-gradient(125deg, #08223f, #0c4d7f);
	box-shadow: 0 1.15rem 2.5rem rgb(7 32 61 / 13%);
}

.aloha-customer-guide__warning::after {
	position: absolute;
	top: -5rem;
	right: -3rem;
	width: 14rem;
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 15%);
	border-radius: 50%;
	box-shadow: 0 0 0 1.25rem rgb(255 255 255 / 5%), 0 0 0 2.8rem rgb(255 255 255 / 3%);
	content: '';
}

.aloha-customer-guide__warning > * {
	position: relative;
	z-index: 1;
}

.aloha-customer-guide__warning > p {
	margin: 0 0 0.55rem;
	color: #9fdcff;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.single-post .ast-article-single .entry-content .aloha-customer-guide__warning h2 {
	max-width: 21ch;
	margin: 0;
	padding: 0;
	border: 0;
	color: #fff !important;
}

.aloha-customer-guide__warning > span {
	display: block;
	max-width: 43rem;
	margin-top: 0.8rem;
	color: rgb(255 255 255 / 82%);
	line-height: 1.68;
}

.aloha-customer-guide__service {
	padding: clamp(1.3rem, 3vw, 1.8rem);
	border-left: 4px solid var(--aloha-orange);
	border-radius: 0 1rem 1rem 0;
	background: #fff8f4;
}

body.single-post .ast-article-single .entry-content .aloha-customer-guide__service h2 {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.aloha-customer-guide__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	align-items: stretch;
	margin-top: 1.35rem;
}

.aloha-customer-guide__actions a {
	display: inline-flex;
	min-height: 2.85rem;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	font-size: 0.86rem;
	font-weight: 850;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
}

.aloha-customer-guide__service-link {
	gap: 0.55rem;
	background: var(--aloha-orange);
	color: #fff !important;
}

.aloha-customer-guide__service-link:hover,
.aloha-customer-guide__service-link:focus {
	background: var(--aloha-orange-deep);
	color: #fff !important;
}

.aloha-customer-guide__call {
	flex-direction: column;
	border: 1px solid #8db4cc;
	color: #124e7c !important;
}

.aloha-customer-guide__call:hover,
.aloha-customer-guide__call:focus {
	border-color: #124e7c;
	background: #eef8fd;
	color: #092d4f !important;
}

.aloha-customer-guide__call strong {
	font-size: 0.73rem;
}

.aloha-customer-guide__note {
	margin: 1.5rem 0 0;
	color: #64798c;
	font-size: 0.86rem;
	font-style: italic;
	line-height: 1.55;
}

@media (max-width: 600px) {
	.aloha-diary-article-intro__reader-note {
		font-size: 0.75rem;
	}

	.aloha-customer-guide__actions {
		flex-direction: column;
	}

	.aloha-customer-guide__actions a {
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
 * Local service landing pages
 *
 * The imported Gutenberg layouts carry inline spacing, old link colours and
 * a portrait media grid that cannot form a credible landing page. These
 * styles are intentionally scoped to the replacement template emitted by
 * aloha_local_ui_premium_service_pages().
 * ------------------------------------------------------------------------- */

.aloha-local-service-page {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	overflow: hidden;
	background: #fff;
	color: var(--aloha-ink);
}

.aloha-local-service-page *,
.aloha-local-service-page *::before,
.aloha-local-service-page *::after {
	box-sizing: border-box;
}

.aloha-local-service-page__container {
	width: min(1200px, 100%);
	margin-inline: auto;
}

/* The service page itself deliberately breaks out of Astra's content
 * container.  It therefore needs its own modest gutter here, not the
 * viewport-sized gutter used by the full-width sections below.  Applying
 * both at once left only a narrow strip for the two-column hero on wide
 * screens. */
.aloha-local-service-page__hero-inner {
	width: min(1200px, calc(100% - 2.5rem));
	margin-inline: auto;
}

.aloha-local-service-page__hero {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(118deg, #07192d 0%, #0a2849 62%, #0d315a 100%);
	color: #fff;
}

.aloha-local-service-page__hero::before {
	position: absolute;
	top: -24rem;
	left: -18rem;
	width: 43rem;
	aspect-ratio: 1;
	border: 1px solid rgb(111 199 255 / 15%);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgb(111 199 255 / 3%), 0 0 0 11rem rgb(111 199 255 / 2%);
	content: '';
	pointer-events: none;
}

.aloha-local-service-page__hero-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(23rem, 1.08fr);
	align-items: stretch;
	gap: clamp(2.25rem, 5.5vw, 5.75rem);
	padding-block: clamp(2.3rem, 5vw, 4rem);
}

.aloha-local-service-page__hero-copy {
	align-self: center;
	padding-block: clamp(2.25rem, 6vw, 5.2rem);
}

.aloha-local-service-page__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1.05rem;
	color: #cfeeff;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.25;
	text-transform: uppercase;
}

.aloha-local-service-page__eyebrow::before {
	width: 1.65rem;
	height: 2px;
	background: currentcolor;
	content: '';
}

.aloha-local-service-page__eyebrow--dark {
	color: var(--aloha-blue);
}

.aloha-local-service-page__hero h1 {
	max-width: 13ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(3rem, 5.8vw, 5.65rem);
	font-weight: 850;
	letter-spacing: -0.067em;
	line-height: 0.95;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	text-wrap: balance;
}

.aloha-local-service-page__lede {
	max-width: 37rem;
	margin: 1.45rem 0 0;
	color: #dceaf4;
	font-size: clamp(1.02rem, 1.45vw, 1.18rem);
	line-height: 1.68;
}

.aloha-local-service-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.aloha-local-service-page__button {
	display: inline-flex;
	min-height: 3.25rem;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.15rem;
	border: 1px solid var(--aloha-orange);
	border-radius: 999px;
	background: var(--aloha-orange);
	box-shadow: 0 10px 22px rgb(255 99 50 / 24%);
	color: #fff !important;
	font-size: 0.92rem;
	font-weight: 850;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.aloha-local-service-page__button:hover,
.aloha-local-service-page__button:focus {
	border-color: var(--aloha-orange-deep);
	background: var(--aloha-orange-deep);
	box-shadow: 0 14px 28px rgb(230 71 27 / 31%);
	color: #fff !important;
	transform: translateY(-2px);
}

.aloha-local-service-page__button--quiet {
	border-color: rgb(255 255 255 / 42%);
	background: rgb(255 255 255 / 7%);
	box-shadow: none;
	color: #fff !important;
}

.aloha-local-service-page__button--quiet:hover,
.aloha-local-service-page__button--quiet:focus {
	border-color: #fff;
	background: #fff;
	box-shadow: none;
	color: var(--aloha-midnight) !important;
}

.aloha-local-service-page__signals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 1.8rem 0 0;
	padding: 0;
	list-style: none;
}

.aloha-local-service-page__signals li {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.45rem 0.67rem;
	border: 1px solid rgb(202 237 255 / 24%);
	border-radius: 999px;
	background: rgb(3 18 34 / 25%);
	color: #d7eaf7;
	font-size: 0.79rem;
	font-weight: 700;
	line-height: 1.3;
}

.aloha-local-service-page__signals li::before {
	width: 0.42rem;
	height: 0.42rem;
	border-radius: 50%;
	background: var(--aloha-electric);
	content: '';
}

.aloha-local-service-page__hero-media {
	position: relative;
	align-self: stretch;
	min-height: 31rem;
	margin: 0;
	overflow: hidden;
	border-radius: clamp(1.25rem, 3vw, 2rem);
	box-shadow: 0 25px 56px rgb(0 11 26 / 31%);
}

.aloha-local-service-page__hero-visual {
	position: relative;
	display: grid;
	min-height: 31rem;
	place-items: center;
	overflow: hidden;
	border: 1px solid rgb(169 222 255 / 18%);
	border-radius: clamp(1.25rem, 3vw, 2rem);
	background:
		linear-gradient(135deg, transparent 0 48%, rgb(255 111 65 / 80%) 48.2% 50.1%, transparent 50.4% 100%),
		radial-gradient(circle at 52% 47%, transparent 0 17%, rgb(151 217 255 / 21%) 17.4% 18.5%, transparent 18.9% 32%, rgb(151 217 255 / 12%) 32.4% 33.5%, transparent 33.9%),
		linear-gradient(145deg, #123f68, #081e39 72%);
	box-shadow: 0 25px 56px rgb(0 11 26 / 31%);
}

.aloha-local-service-page__hero-visual::before,
.aloha-local-service-page__hero-visual::after {
	position: absolute;
	border: 1px solid rgb(188 231 255 / 20%);
	border-radius: 50%;
	content: '';
}

.aloha-local-service-page__hero-visual::before {
	width: 72%;
	aspect-ratio: 1;
	box-shadow: 0 0 0 3rem rgb(141 210 255 / 3%), 0 0 0 8rem rgb(141 210 255 / 2%);
}

.aloha-local-service-page__hero-visual::after {
	right: 11%;
	bottom: 12%;
	width: 1.25rem;
	height: 1.25rem;
	border: 0;
	background: var(--aloha-orange);
	box-shadow: 0 0 0 0.7rem rgb(255 99 50 / 18%);
}

.aloha-local-service-page__hero-visual span {
	position: relative;
	z-index: 1;
	max-width: 8ch;
	color: rgb(229 247 255 / 61%);
	font-size: clamp(2.6rem, 5vw, 5rem);
	font-weight: 850;
	letter-spacing: -0.075em;
	line-height: 0.88;
	text-align: center;
	white-space: pre-line;
}

.aloha-local-service-page__hero-media::after {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	width: clamp(4.25rem, 8vw, 7.25rem);
	height: 3px;
	border-radius: 99px;
	background: var(--aloha-orange);
	box-shadow: 0 0 0 5px rgb(255 99 50 / 16%);
	content: '';
}

.aloha-local-service-page__hero-media picture,
.aloha-local-service-page__hero-media img {
	display: block;
	width: 100%;
	height: 100%;
}

.aloha-local-service-page__hero-media img {
	object-fit: cover;
	object-position: center;
}

.aloha-local-service-page--autoservis .aloha-local-service-page__hero-media img {
	object-position: 56% center;
}

.aloha-local-service-page--pneuservis .aloha-local-service-page__hero-media img {
	/* The portrait customer photo intentionally gives the tyre and wheel the
	 * visual priority. This position keeps the wheel in view when the media
	 * changes from the desktop card to the shallow mobile card. */
	object-position: 42% 56%;
}

.aloha-local-service-page--karosarna .aloha-local-service-page__hero-media img {
	object-position: 39% center;
}

.aloha-local-service-page__services {
	padding: clamp(4.75rem, 9vw, 8rem) 1.25rem;
	background: #fff;
}

.aloha-local-service-page__section-head {
	display: grid;
	grid-template-columns: minmax(0, 0.96fr) minmax(16rem, 0.7fr);
	align-items: end;
	gap: 1.5rem clamp(2rem, 5vw, 5rem);
	margin-bottom: clamp(2rem, 4vw, 3.2rem);
}

.aloha-local-service-page__section-head h2,
.aloha-local-service-page__cta h2 {
	max-width: 18ch;
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(2rem, 3.9vw, 3.65rem);
	font-weight: 850;
	letter-spacing: -0.055em;
	line-height: 1.02;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

.aloha-local-service-page__section-head > p {
	max-width: 29rem;
	margin: 0;
	color: var(--aloha-muted);
	font-size: 1rem;
	line-height: 1.68;
}

.aloha-local-service-page__service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.3rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.aloha-local-service-page__service-card {
	min-height: 14rem;
	padding: clamp(1.25rem, 2.6vw, 1.8rem);
	border: 1px solid rgb(14 48 83 / 13%);
	border-radius: var(--aloha-radius-lg);
	background: #fff;
	box-shadow: 0 6px 20px rgb(9 38 70 / 5%);
}

.aloha-local-service-page__service-card--linked {
	padding: 0;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.aloha-local-service-page__service-card-link {
	display: flex;
	min-height: 14rem;
	height: 100%;
	flex-direction: column;
	padding: clamp(1.25rem, 2.6vw, 1.8rem);
	color: inherit !important;
	text-decoration: none !important;
}

.aloha-local-service-page__service-card-link:hover,
.aloha-local-service-page__service-card-link:focus {
	color: inherit !important;
	text-decoration: none !important;
}

.aloha-local-service-page__service-card--linked:hover,
.aloha-local-service-page__service-card--linked:focus-within {
	border-color: rgb(33 117 180 / 36%);
	box-shadow: 0 16px 32px rgb(9 38 70 / 13%);
	transform: translateY(-3px);
}

.aloha-local-service-page__service-card-link:focus-visible {
	outline: 3px solid var(--aloha-orange);
	outline-offset: -3px;
}

.aloha-local-service-page__service-number {
	display: grid;
	width: 2.35rem;
	height: 2.35rem;
	place-items: center;
	margin-bottom: clamp(1.5rem, 3.5vw, 2.65rem);
	border-radius: 50%;
	background: #dff2ff;
	color: var(--aloha-deep-navy);
	font-size: 0.77rem;
	font-weight: 850;
}

.aloha-local-service-page__service-card h3 {
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(1.16rem, 1.8vw, 1.42rem);
	font-weight: 850;
	letter-spacing: -0.032em;
	line-height: 1.15;
}

.aloha-local-service-page__service-card p {
	margin: 0.72rem 0 0;
	color: var(--aloha-muted);
	font-size: 0.94rem;
	line-height: 1.6;
}

.aloha-local-service-page__service-card-link-label {
	display: inline-flex;
	gap: 0.42rem;
	align-items: center;
	margin-top: auto;
	padding-top: 1.3rem;
	color: var(--aloha-blue);
	font-size: 0.79rem;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.aloha-local-service-page__service-card-link-label span {
	font-size: 1.05em;
	transition: transform 180ms ease;
}

.aloha-local-service-page__service-card--linked:hover .aloha-local-service-page__service-card-link-label span,
.aloha-local-service-page__service-card-link:focus-visible .aloha-local-service-page__service-card-link-label span {
	transform: translateX(0.2rem);
}

.aloha-local-service-page__steps {
	padding: clamp(4.5rem, 8vw, 7rem) 1.25rem;
	background: linear-gradient(180deg, #f1f8fd 0%, #e7f2f9 100%);
}

.aloha-local-service-page__section-head--light {
	margin-bottom: clamp(1.8rem, 3.8vw, 3rem);
}

.aloha-local-service-page__step-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 1px;
	overflow: hidden;
	border: 1px solid rgb(13 49 85 / 12%);
	border-radius: var(--aloha-radius-lg);
	background: rgb(13 49 85 / 12%);
	list-style: none;
}

.aloha-local-service-page__step-grid li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 12.2rem;
	padding: clamp(1.3rem, 3vw, 2rem);
	background: rgb(255 255 255 / 82%);
}

.aloha-local-service-page__step-grid span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.3rem;
	min-height: 1.55rem;
	border-radius: 999px;
	background: #dff2ff;
	color: var(--aloha-deep-navy);
	font-size: 0.73rem;
	font-weight: 850;
}

.aloha-local-service-page__step-grid h3 {
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(1.15rem, 1.75vw, 1.4rem);
	font-weight: 850;
	letter-spacing: -0.032em;
	line-height: 1.15;
}

.aloha-local-service-page__step-grid p {
	margin: 0.68rem 0 0;
	color: var(--aloha-muted);
	font-size: 0.94rem;
	line-height: 1.6;
}

.aloha-local-service-page__cta {
	position: relative;
	overflow: hidden;
	padding: clamp(4.5rem, 8vw, 7rem) 1.25rem;
	background:
		radial-gradient(circle at 89% 24%, rgb(54 181 255 / 19%), transparent 24rem),
		linear-gradient(112deg, var(--aloha-midnight), #0a315e);
	color: #fff;
}

.aloha-local-service-page__cta::after {
	position: absolute;
	right: -15rem;
	bottom: -23rem;
	width: 47rem;
	aspect-ratio: 1;
	border: 1px solid rgb(168 224 255 / 18%);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgb(54 181 255 / 4%), 0 0 0 11rem rgb(54 181 255 / 3%);
	content: '';
	pointer-events: none;
}

.aloha-local-service-page__cta-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem 4rem;
}

.aloha-local-service-page__cta h2 {
	color: #fff !important;
}

.aloha-local-service-page__cta p:not(.aloha-local-service-page__eyebrow) {
	max-width: 38rem;
	margin: 1.1rem 0 0;
	color: #d6e7f4;
	font-size: 1rem;
	line-height: 1.68;
}

.aloha-local-service-page__cta .aloha-local-service-page__actions {
	flex: 0 0 auto;
	margin-top: 0;
}

@media (max-width: 900px) {
	/* Astra keeps a 1.25rem content gutter on smaller screens. A raw 100vw
	 * child includes the desktop scrollbar on Windows and therefore clips its
	 * right edge. Bleed by the actual parent gutter instead of by 100vw. */
	.aloha-local-service-page,
	.aloha-local-contact-page {
		width: calc(100% + 2.5rem);
		margin-inline: -1.25rem;
	}

	.aloha-local-service-page__hero-inner {
		grid-template-columns: 1fr;
		gap: 1.8rem;
		/* The desktop rule already gives this inner wrapper its mobile gutter. */
		padding-inline: 0;
	}

	.aloha-local-service-page__hero-copy {
		padding-top: clamp(2.5rem, 8vw, 4.5rem);
		padding-bottom: 0;
	}

	.aloha-local-service-page__hero-media,
	.aloha-local-service-page__hero-visual {
		min-height: min(32rem, 72vw);
	}

	.aloha-local-service-page__services,
	.aloha-local-service-page__steps,
	.aloha-local-service-page__cta {
		padding-inline: 1.25rem;
	}

	.aloha-local-service-page__section-head {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.aloha-local-service-page__section-head > p {
		max-width: 42rem;
	}

	.aloha-local-service-page__service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aloha-local-service-page__step-grid {
		grid-template-columns: 1fr;
	}

	.aloha-local-service-page__step-grid li {
		min-height: 0;
	}

	.aloha-local-service-page__cta-inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 600px) {
	.aloha-local-service-page__hero-inner {
		padding-top: 1.25rem;
		padding-bottom: 1.25rem;
	}

	.aloha-local-service-page__hero h1 {
		max-width: 12.5ch;
		font-size: clamp(2.7rem, 12vw, 4.2rem);
	}

	.aloha-local-service-page__hero-media,
	.aloha-local-service-page__hero-visual {
		min-height: 22rem;
		border-radius: 1.15rem;
	}

	.aloha-local-service-page__actions,
	.aloha-local-service-page__cta .aloha-local-service-page__actions {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.aloha-local-service-page__button {
		width: 100%;
	}

	.aloha-local-service-page__service-grid {
		grid-template-columns: 1fr;
	}

	.aloha-local-service-page__service-card {
		min-height: 0;
	}

	.aloha-local-service-page__service-number {
		margin-bottom: 1.55rem;
	}
}

/* -------------------------------------------------------------------------
 * Local contact page
 * ------------------------------------------------------------------------- */

.aloha-local-contact-page {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	background: #fff;
	color: var(--aloha-ink);
}

.aloha-local-contact-page *,
.aloha-local-contact-page *::before,
.aloha-local-contact-page *::after {
	box-sizing: border-box;
}

.aloha-local-contact-page__container {
	width: min(1200px, 100%);
	margin-inline: auto;
}

.aloha-local-contact-page__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(5rem, 10vw, 9rem) max(1.25rem, calc((100vw - 1200px) / 2));
	background:
		radial-gradient(circle at 81% 38%, rgb(60 182 255 / 18%), transparent 25rem),
		linear-gradient(125deg, #071a30 0%, #0b3159 100%);
	color: #fff;
}

.aloha-local-contact-page__hero::after {
	position: absolute;
	right: -15rem;
	bottom: -23rem;
	width: 49rem;
	aspect-ratio: 1;
	border: 1px solid rgb(175 226 255 / 17%);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgb(94 191 250 / 4%), 0 0 0 12rem rgb(94 191 250 / 3%);
	content: '';
	pointer-events: none;
}

.aloha-local-contact-page__hero .aloha-local-contact-page__container {
	position: relative;
	z-index: 1;
	max-width: 1200px;
}

.aloha-local-contact-page__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1.1rem;
	color: #cdeeff;
	font-size: 0.74rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.aloha-local-contact-page__eyebrow::before {
	width: 1.65rem;
	height: 2px;
	background: currentcolor;
	content: '';
}

.aloha-local-contact-page__eyebrow--dark {
	color: var(--aloha-blue);
}

.aloha-local-contact-page__hero h1 {
	max-width: 12ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(3rem, 6.2vw, 5.85rem);
	font-family: Inter, Arial, sans-serif !important;
	font-weight: 850;
	letter-spacing: -0.069em;
	line-height: 0.94;
	text-wrap: balance;
}

.aloha-local-contact-page__hero p:not(.aloha-local-contact-page__eyebrow) {
	max-width: 42rem;
	margin: 1.5rem 0 0;
	color: #d9eaf6;
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	line-height: 1.7;
}

.aloha-local-contact-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.72rem;
	margin-top: 2rem;
}

.aloha-local-contact-page__actions a {
	display: inline-flex;
	min-height: 3.25rem;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.14rem;
	border: 1px solid var(--aloha-orange);
	border-radius: 999px;
	background: var(--aloha-orange);
	box-shadow: 0 10px 22px rgb(255 99 50 / 24%);
	color: #fff !important;
	font-size: 0.92rem;
	font-weight: 850;
	line-height: 1.2;
	text-decoration: none !important;
}

.aloha-local-contact-page__actions a:hover,
.aloha-local-contact-page__actions a:focus {
	border-color: var(--aloha-orange-deep);
	background: var(--aloha-orange-deep);
	color: #fff !important;
}

.aloha-local-contact-page__actions .aloha-local-contact-page__quiet {
	border-color: rgb(255 255 255 / 38%);
	background: rgb(255 255 255 / 7%);
	box-shadow: none;
}

.aloha-local-contact-page__actions .aloha-local-contact-page__quiet:hover,
.aloha-local-contact-page__actions .aloha-local-contact-page__quiet:focus {
	border-color: #fff;
	background: #fff;
	color: var(--aloha-midnight) !important;
}

.aloha-local-contact-page__details {
	position: relative;
	z-index: 2;
	margin-top: clamp(-2.7rem, -4vw, -2rem);
	padding-inline: 1.25rem;
}

.aloha-local-contact-page__detail-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid rgb(13 48 85 / 12%);
	border-radius: var(--aloha-radius-lg);
	background: #dbe9f3;
	box-shadow: var(--aloha-shadow-xl);
}

.aloha-local-contact-page__detail-card {
	display: flex;
	min-height: 8.9rem;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.25rem, 3vw, 1.85rem);
	border-right: 1px solid rgb(13 48 85 / 12%);
	background: #fff;
	color: var(--aloha-midnight) !important;
	text-decoration: none !important;
}

.aloha-local-contact-page__detail-card:last-child {
	border-right: 0;
}

.aloha-local-contact-page__detail-card span {
	color: var(--aloha-blue);
	font-size: 0.73rem;
	font-weight: 850;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.aloha-local-contact-page__detail-card strong {
	margin-top: 0.66rem;
	font-size: clamp(1rem, 1.65vw, 1.26rem);
	font-weight: 850;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.aloha-local-contact-page__detail-card small {
	margin-top: 0.44rem;
	color: var(--aloha-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.aloha-local-contact-page__detail-card:hover,
.aloha-local-contact-page__detail-card:focus {
	background: #f5fbff;
}

.aloha-local-contact-page__main {
	padding: clamp(5rem, 10vw, 9rem) max(1.25rem, calc((100vw - 1200px) / 2));
}

.aloha-local-contact-page__main-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(20rem, 0.82fr);
	align-items: start;
	gap: clamp(2rem, 6vw, 6rem);
}

.aloha-local-contact-page__form-wrap h2 {
	max-width: 10ch;
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(2.25rem, 4.3vw, 4rem);
	font-family: Inter, Arial, sans-serif !important;
	font-weight: 850;
	letter-spacing: -0.065em;
	line-height: 0.98;
}

.aloha-local-contact-page__form-wrap > p:not(.aloha-local-contact-page__eyebrow) {
	max-width: 39rem;
	margin: 1.15rem 0 0;
	color: var(--aloha-muted);
	font-size: 1rem;
	line-height: 1.68;
}

.aloha-local-contact-page__form {
	margin-top: 2.2rem;
	padding: clamp(1.3rem, 3.5vw, 2.2rem);
	border: 1px solid rgb(13 48 85 / 12%);
	border-radius: var(--aloha-radius-lg);
	background: #f5f9fc;
}

.aloha-local-contact-page__form .aloha-local-form-note {
	display: none;
}

.aloha-local-contact-page__form .wpcf7 form > p {
	margin: 0 0 1.05rem;
}

.aloha-local-contact-page__form .wpcf7 label {
	display: block;
	color: var(--aloha-midnight);
	font-size: 0.88rem;
	font-weight: 800;
	line-height: 1.45;
}

.aloha-local-contact-page__form .wpcf7 input:not([type='submit']),
.aloha-local-contact-page__form .wpcf7 textarea {
	width: 100%;
	margin-top: 0.45rem;
	padding: 0.78rem 0.9rem;
	border: 1px solid rgb(16 53 89 / 20%);
	border-radius: 0.68rem;
	background: #fff;
	box-shadow: none;
	color: var(--aloha-ink);
	font: inherit;
	line-height: 1.45;
}

.aloha-local-contact-page__form .wpcf7 textarea {
	min-height: 9rem;
	resize: vertical;
}

.aloha-local-contact-page__form .wpcf7 input:not([type='submit']):focus,
.aloha-local-contact-page__form .wpcf7 textarea:focus {
	border-color: var(--aloha-blue);
	outline: 3px solid rgb(54 181 255 / 18%);
	outline-offset: 1px;
}

.aloha-local-contact-page__form .wpcf7 input[type='submit'] {
	min-height: 3rem;
	padding: 0.7rem 1.1rem;
	border: 1px solid var(--aloha-orange);
	border-radius: 999px;
	background: var(--aloha-orange);
	color: #fff;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 850;
	cursor: pointer;
}

.aloha-local-contact-page__form .wpcf7 input[type='submit']:hover,
.aloha-local-contact-page__form .wpcf7 input[type='submit']:focus {
	border-color: var(--aloha-orange-deep);
	background: var(--aloha-orange-deep);
}

.aloha-local-contact-page__map-wrap {
	overflow: hidden;
	border: 1px solid rgb(13 48 85 / 12%);
	border-radius: var(--aloha-radius-lg);
	background: #f5f9fc;
	box-shadow: var(--aloha-shadow-card);
}

.aloha-local-contact-page__map-card {
	position: relative;
	min-height: clamp(20rem, 31vw, 29rem);
	overflow: hidden;
	background: #dce8ec;
}

.aloha-local-contact-page__map-card::before {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(180deg, rgb(3 23 43 / 2%) 33%, rgb(3 23 43 / 34%) 100%);
	content: '';
	pointer-events: none;
}

.aloha-local-contact-page__map-frame {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #dce8ec;
	filter: saturate(0.86) contrast(1.03);
}

.aloha-local-contact-page__map-location,
.aloha-local-contact-page__map-route {
	position: relative;
	z-index: 2;
}

.aloha-local-contact-page__map-location {
	position: absolute;
	top: 1rem;
	left: 1rem;
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	max-width: calc(100% - 2rem);
	padding: 0.7rem 0.9rem;
	border: 1px solid rgb(255 255 255 / 40%);
	border-radius: 14px;
	background: rgb(5 29 52 / 88%);
	box-shadow: 0 10px 24px rgb(2 17 31 / 24%);
	color: #fff;
	backdrop-filter: blur(8px);
}

.aloha-local-contact-page__map-location > span:last-child {
	display: grid;
	gap: 0.13rem;
}

.aloha-local-contact-page__map-location b {
	font-size: 0.9rem;
	font-weight: 850;
}

.aloha-local-contact-page__map-location small {
	color: #cbe7fa;
	font-size: 0.75rem;
	line-height: 1.25;
}

.aloha-local-contact-page__map-pin {
	width: 1.65rem;
	height: 1.65rem;
	flex: 0 0 auto;
	border: 2px solid #fff;
	border-radius: 50% 50% 50% 0;
	background: var(--aloha-orange);
	box-shadow: 0 0 0 0.3rem rgb(255 100 49 / 16%);
	transform: rotate(-45deg);
}

.aloha-local-contact-page__map-pin::after {
	position: absolute;
	top: 0.4rem;
	left: 0.4rem;
	width: 0.46rem;
	height: 0.46rem;
	border-radius: 50%;
	background: #fff;
	content: '';
}


.aloha-local-contact-page__map-route {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.72rem 1rem;
	border: 1px solid rgb(255 255 255 / 46%);
	border-radius: 999px;
	background: rgb(5 29 52 / 91%);
	box-shadow: 0 10px 24px rgb(2 17 31 / 24%);
	color: #fff !important;
	font-size: 0.9rem;
	font-weight: 800;
	text-decoration: none;
	backdrop-filter: blur(8px);
}

.aloha-local-contact-page__map-route:hover,
.aloha-local-contact-page__map-route:focus {
	border-color: #fff;
	background: #fff;
	color: var(--aloha-midnight) !important;
}

.aloha-local-contact-page__map-wrap p {
	margin: 0;
	padding: 1.3rem 1.45rem;
	color: var(--aloha-muted);
	font-size: 0.94rem;
	line-height: 1.65;
}

.aloha-local-contact-page__map-wrap > p strong {
	color: var(--aloha-midnight);
	font-size: 1rem;
}

.aloha-local-contact-page__map-wrap small {
	font-size: 0.82rem;
}

@media (max-width: 850px) {
	.aloha-local-contact-page__hero,
	.aloha-local-contact-page__main {
		padding-inline: 1.25rem;
	}

	.aloha-local-contact-page__detail-grid,
	.aloha-local-contact-page__main-grid {
		grid-template-columns: 1fr;
	}

	.aloha-local-contact-page__detail-card {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid rgb(13 48 85 / 12%);
	}

	.aloha-local-contact-page__detail-card:last-child {
		border-bottom: 0;
	}

	.aloha-local-contact-page__map-card {
		min-height: min(29rem, 88vw);
	}
}

@media (max-width: 600px) {
	.aloha-local-contact-page__hero h1 {
		font-size: clamp(2.7rem, 12vw, 4.1rem);
	}

	.aloha-local-contact-page__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.aloha-local-contact-page__actions a {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aloha-local-service-page__button {
		transition: none !important;
	}

	.aloha-local-service-page__button:hover,
	.aloha-local-service-page__button:focus {
		transform: none;
	}
}

/* Homepage composition emitted by aloha_local_ui_premium_home(). The longer
 * BEM names deliberately isolate this visual replacement from the imported
 * Gutenberg blocks on the service detail pages. */
.aloha-premium-home {
	position: relative;
	margin: 0;
	padding: 0;
	/* Its children intentionally break out to the viewport edge. Clipping this
	 * wrapper would cut those full-bleed bands at Astra's content padding on
	 * phones; each coloured band handles its own decoration overflow instead. */
	overflow: visible;
	background: #fff;
	color: var(--aloha-ink);
}

.aloha-premium-home__hero {
	position: relative;
	margin: 0 calc(50% - 50vw);
	padding: clamp(1.2rem, 3vw, 2.5rem) max(1.3rem, calc((100vw - 1200px) / 2));
	overflow: hidden;
	background:
		radial-gradient(circle at 68% 24%, rgb(54 181 255 / 16%), transparent 30rem),
		linear-gradient(118deg, var(--aloha-midnight), var(--aloha-deep-navy));
	color: #fff;
	isolation: isolate;
}

.aloha-premium-home__hero::before {
	position: absolute;
	z-index: -1;
	top: -21rem;
	left: -18rem;
	width: 42rem;
	aspect-ratio: 1;
	border: 1px solid rgb(183 231 255 / 14%);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgb(54 181 255 / 3%), 0 0 0 11rem rgb(54 181 255 / 2%);
	content: '';
	pointer-events: none;
}

.aloha-premium-home__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.91fr) minmax(22rem, 1.09fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 6rem);
	min-height: clamp(32rem, 50vw, 42rem);
}

.aloha-premium-home__hero-content {
	position: relative;
	z-index: 2;
	max-width: 42rem;
	padding-block: clamp(3rem, 7vw, 6rem);
}

.aloha-premium-home__eyebrow,
.aloha-premium-home__section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1rem;
	font-size: 0.74rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.aloha-premium-home__eyebrow {
	color: var(--aloha-electric-soft);
}

.aloha-premium-home__eyebrow::before,
.aloha-premium-home__section-kicker::before {
	width: 1.7rem;
	height: 2px;
	background: currentcolor;
	content: '';
}

.aloha-premium-home__eyebrow span {
	color: var(--aloha-electric);
}

.aloha-premium-home__title {
	/* Keep the service name whole: breaking "Autoservis" mid-word makes the
	 * otherwise deliberate editorial headline look like a rendering defect. */
	max-width: 13.25ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(3rem, 6vw, 5.75rem);
	font-weight: 850;
	letter-spacing: -0.073em;
	line-height: 0.94;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	text-wrap: balance;
}

.aloha-premium-home__title-word {
	white-space: nowrap;
}

.aloha-premium-home__lede {
	max-width: 36rem;
	margin: clamp(1.35rem, 2.2vw, 1.8rem) 0 0;
	color: #dbe9f4;
	font-size: clamp(1.03rem, 1.45vw, 1.2rem);
	line-height: 1.68;
}

.aloha-premium-home__actions,
.aloha-premium-home__contact-actions,
.aloha-premium-service-ribbon__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.aloha-premium-home .aloha-premium-button,
.aloha-premium-service-ribbon__booking,
.aloha-premium-service-ribbon__call {
	display: inline-flex;
	min-height: 3.4rem;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1.2rem;
	border: 1px solid var(--aloha-orange);
	border-radius: 999px;
	background: var(--aloha-orange);
	box-shadow: 0 10px 22px rgb(255 99 50 / 24%);
	color: #fff !important;
	font-size: 0.93rem;
	font-weight: 850;
	line-height: 1.15;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.aloha-premium-home .aloha-premium-button:hover,
.aloha-premium-home .aloha-premium-button:focus,
.aloha-premium-service-ribbon__booking:hover,
.aloha-premium-service-ribbon__booking:focus,
.aloha-premium-service-ribbon__call:hover,
.aloha-premium-service-ribbon__call:focus {
	border-color: var(--aloha-orange-deep);
	background: var(--aloha-orange-deep);
	box-shadow: 0 14px 28px rgb(230 71 27 / 31%);
	color: #fff !important;
	transform: translateY(-2px);
}

.aloha-premium-home .aloha-premium-button--secondary,
.aloha-premium-service-ribbon__call {
	border-color: rgb(255 255 255 / 39%);
	background: rgb(255 255 255 / 7%);
	box-shadow: none;
	backdrop-filter: blur(9px);
}

.aloha-premium-home .aloha-premium-button--secondary:hover,
.aloha-premium-home .aloha-premium-button--secondary:focus,
.aloha-premium-service-ribbon__call:hover,
.aloha-premium-service-ribbon__call:focus {
	border-color: #fff;
	background: #fff;
	box-shadow: none;
	color: var(--aloha-midnight) !important;
}

.aloha-premium-home__hero-media {
	position: relative;
	z-index: 1;
	align-self: stretch;
	min-height: 29rem;
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
	border-radius: clamp(1.25rem, 3vw, 2rem);
	box-shadow: 0 25px 55px rgb(0 12 29 / 33%);
}

.aloha-premium-home__hero-media::before {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(120deg, rgb(4 20 39 / 28%), transparent 48%, rgb(4 20 39 / 26%));
	content: '';
	pointer-events: none;
}

.aloha-premium-home__hero-media::after {
	position: absolute;
	z-index: 2;
	right: 1rem;
	bottom: 1rem;
	width: clamp(4rem, 8vw, 7rem);
	height: 3px;
	border-radius: 99px;
	background: var(--aloha-electric);
	box-shadow: 0 0 0 5px rgb(54 181 255 / 18%);
	content: '';
}

.aloha-premium-home__hero-media picture,
.aloha-premium-home__service-media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.aloha-premium-home__hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* The short fact strip avoids invented ratings/metrics: it gives existing
 * contact and location facts a much stronger visual role. */
.aloha-premium-home__trust {
	position: relative;
	z-index: 4;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	max-width: 1120px;
	margin: clamp(-2.4rem, -3.8vw, -1.8rem) auto clamp(4.5rem, 9vw, 8rem);
	overflow: hidden;
	border: 1px solid rgb(18 51 88 / 12%);
	border-radius: var(--aloha-radius-lg);
	background: #dbe8f2;
	box-shadow: var(--aloha-shadow-xl);
}

.aloha-premium-home__trust-item {
	display: flex;
	align-items: flex-start;
	gap: 0;
	min-height: 8.2rem;
	padding: clamp(1.25rem, 2.7vw, 1.7rem);
	background: #fff;
}

.aloha-premium-home__trust-icon {
	display: grid;
	flex: 0 0 auto;
	width: 2.3rem;
	height: 2.3rem;
	place-items: center;
	border-radius: 50%;
	background: var(--aloha-electric-soft);
	color: var(--aloha-deep-navy);
	font-size: 0.71rem;
	font-weight: 850;
	letter-spacing: 0.04em;
}

.aloha-premium-home__trust-copy {
	min-width: 0;
}

.aloha-premium-home__trust-copy strong,
.aloha-premium-home__trust-copy a {
	display: block;
}

.aloha-premium-home__trust-copy strong {
	color: var(--aloha-midnight);
	font-size: 0.94rem;
	font-weight: 850;
	line-height: 1.28;
}

.aloha-premium-home__trust-copy a {
	margin-top: 0.4rem;
	color: var(--aloha-blue) !important;
	font-size: 0.84rem;
	font-weight: 750;
	line-height: 1.45;
	text-decoration-color: rgb(4 107 210 / 28%);
	text-underline-offset: 0.18em;
}

.aloha-premium-home__section,
.aloha-premium-home__process {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 0;
}

.aloha-premium-home__section-heading,
.aloha-premium-home__process {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(17rem, 0.72fr);
	align-items: end;
	gap: 2rem 5rem;
}

.aloha-premium-home__section-kicker {
	color: var(--aloha-blue);
}

/* Keep the kicker and display heading together in the first editorial
 * column; the short explanatory copy occupies the quieter second column. */
.aloha-premium-home__section-heading .aloha-premium-home__section-kicker {
	grid-column: 1;
	grid-row: 1;
	margin-bottom: 0;
}

.aloha-premium-home__section-heading h2,
.aloha-premium-home__process h2,
.aloha-premium-home__contact-copy h2 {
	max-width: 14ch;
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(2rem, 4vw, 3.7rem);
	font-weight: 850;
	letter-spacing: -0.057em;
	line-height: 1.02;
	text-wrap: balance;
}

.aloha-premium-home__section-heading h2 {
	grid-column: 1;
	grid-row: 2;
}

.aloha-premium-home__section-heading > p:last-child,
.aloha-premium-home__process-intro > p:last-child {
	align-self: end;
	max-width: 35rem;
	margin: 0;
	color: var(--aloha-muted);
	font-size: 1rem;
	line-height: 1.68;
}

.aloha-premium-home__section-heading > p:last-child {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.aloha-premium-home__services {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	margin-top: clamp(2rem, 4vw, 3.5rem);
}

/* The real Google review widget remains the source of truth. Its surrounding
 * frame belongs to the local system, while all of the widget's own controls,
 * ratings and review content are left intact. */
.aloha-premium-home__reviews {
	max-width: 1200px;
	margin: clamp(4.5rem, 9vw, 8rem) auto;
}

.aloha-premium-home__reviews-widget {
	position: relative;
	margin-top: clamp(2rem, 4vw, 3.5rem);
	padding: clamp(1rem, 3vw, 2rem);
	overflow: hidden;
	border: 1px solid rgb(13 47 79 / 11%);
	border-radius: var(--aloha-radius-xl);
	background:
		radial-gradient(circle at 92% 2%, rgb(54 181 255 / 13%), transparent 20rem),
		#fff;
	box-shadow: var(--aloha-shadow-card);
}

.aloha-premium-home__reviews-widget .ti-widget {
	max-width: none !important;
	margin: 0 !important;
	white-space: normal;
}

.aloha-premium-home__reviews-widget .ti-widget-container {
	max-width: none !important;
}

.aloha-premium-home__reviews-widget .ti-footer {
	border-radius: 14px;
}

.aloha-premium-home__service-card {
	position: relative;
	display: flex;
	min-height: clamp(22rem, 28vw, 25rem);
	aspect-ratio: 16 / 10;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	border: 1px solid rgb(13 39 69 / 10%);
	border-radius: var(--aloha-radius-xl);
	background: var(--aloha-midnight);
	box-shadow: var(--aloha-shadow-card);
	color: #fff !important;
	text-decoration: none !important;
	isolation: isolate;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.aloha-premium-home__service-card:hover,
.aloha-premium-home__service-card:focus,
.aloha-premium-home__service-card:focus-visible {
	box-shadow: var(--aloha-shadow-xl);
	transform: translateY(-6px);
}

.aloha-premium-home__service-media {
	position: absolute;
	z-index: -2;
	inset: 0;
	margin: 0;
}

.aloha-premium-home__service-media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(4 20 39 / 4%) 25%, rgb(4 20 39 / 93%) 100%);
	content: '';
}

.aloha-premium-home__service-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 580ms cubic-bezier(.2, .7, .2, 1);
}

.aloha-premium-home__service-media--tyres,
.aloha-premium-home__service-media--bodywork {
	display: grid;
	place-items: center;
	padding: 2rem;
	overflow: hidden;
}

.aloha-premium-home__service-media--tyres {
	background:
		radial-gradient(circle at 50% 50%, rgb(164 220 255 / 22%) 0 12%, transparent 12.5%),
		radial-gradient(circle at 50% 50%, transparent 0 20%, rgb(153 211 250 / 17%) 20.5% 21.7%, transparent 22.2% 31%, rgb(153 211 250 / 13%) 31.5% 33%, transparent 33.5%),
		linear-gradient(135deg, #15385f, #081d35 62%);
}

.aloha-premium-home__service-media--bodywork {
	background:
		linear-gradient(118deg, transparent 0 43%, rgb(255 114 70 / 80%) 43.2% 45.5%, transparent 45.8% 100%),
		linear-gradient(148deg, transparent 0 61%, rgb(105 197 246 / 54%) 61.4% 63.2%, transparent 63.6% 100%),
		linear-gradient(135deg, #0e385d, #071a31 67%);
}

.aloha-premium-home__service-media--photo {
	display: block;
	padding: 0;
	background: none;
}

.aloha-premium-home__service-media--photo::before {
	display: none;
}

.aloha-premium-home__service-media--photo img {
	object-position: 74% center;
}

.aloha-premium-home__service-media--tyres-photo img {
	object-position: center 65%;
}

.aloha-premium-home__service-media--tyres::before,
.aloha-premium-home__service-media--bodywork::before {
	position: absolute;
	z-index: 0;
	width: 66%;
	aspect-ratio: 1;
	border: 1px solid rgb(205 238 255 / 26%);
	border-radius: 50%;
	box-shadow: 0 0 0 2.1rem rgb(205 238 255 / 4%), 0 0 0 5.5rem rgb(205 238 255 / 3%);
	content: '';
}

.aloha-premium-home__service-media--bodywork::before {
	border-radius: 28% 72% 52% 48% / 44% 34% 66% 56%;
	transform: rotate(-18deg);
}

.aloha-premium-home__service-media--tyres span,
.aloha-premium-home__service-media--bodywork span {
	position: relative;
	z-index: 1;
	color: rgb(233 247 255 / 45%);
	font-size: clamp(1.7rem, 4vw, 3rem);
	font-weight: 850;
	letter-spacing: -0.065em;
	line-height: 0.9;
	text-align: center;
}

.aloha-premium-home__service-card:hover .aloha-premium-home__service-media img,
.aloha-premium-home__service-card:focus-within .aloha-premium-home__service-media img {
	transform: scale(1.055);
}

.aloha-premium-home__service-body {
	position: relative;
	z-index: 1;
	padding: clamp(1.35rem, 3vw, 2rem);
}

.aloha-premium-home__service-label {
	margin: 0 0 0.9rem;
	color: var(--aloha-electric-soft);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.105em;
	line-height: 1.2;
	text-transform: uppercase;
}

.aloha-premium-home__service-body h3 {
	max-width: 12ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(1.55rem, 2.5vw, 2.25rem);
	font-weight: 850;
	letter-spacing: -0.05em;
	line-height: 1.05;
}

.aloha-premium-home__service-body h3 a {
	color: #fff !important;
	text-decoration: none !important;
}

.aloha-premium-home__service-body > p:not(.aloha-premium-home__service-label) {
	max-width: 30rem;
	margin: 0.85rem 0 0;
	color: #d5e5f2;
	font-size: 0.96rem;
	line-height: 1.58;
}

.aloha-premium-home__service-link,
.aloha-premium-home__map-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: 1.2rem;
	color: #fff !important;
	font-size: 0.88rem;
	font-weight: 850;
	text-decoration: none !important;
}

.aloha-premium-home__service-link span {
	display: inline-grid;
	width: 1.55rem;
	height: 1.55rem;
	place-items: center;
	border-radius: 50%;
	background: var(--aloha-orange);
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	transition: transform 180ms ease;
}

.aloha-premium-home__service-link:hover span,
.aloha-premium-home__service-link:focus span {
	transform: translateX(3px);
}

/* Homepage service navigation: every card has one clear destination. The
 * images are genuine owner-gallery photographs, so the visual detail always
 * remains tied to a service a visitor can actually open. */
.aloha-premium-home__work-gallery {
	max-width: 1200px;
	margin: clamp(4.5rem, 9vw, 7.5rem) auto 0;
	padding: clamp(1.4rem, 4vw, 3.1rem);
	border: 1px solid rgb(13 47 79 / 10%);
	border-radius: var(--aloha-radius-xl);
	background:
		radial-gradient(circle at 96% 0%, rgb(54 181 255 / 13%), transparent 23rem),
		#f4f9fd;
}

.aloha-premium-home__work-gallery-head {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(16rem, 0.72fr);
	align-items: end;
	gap: 1.25rem 4rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.4rem);
}

.aloha-premium-home__work-gallery-head .aloha-premium-home__section-kicker,
.aloha-premium-home__service-directory-head .aloha-premium-home__section-kicker {
	margin: 0 0 0.55rem;
}

.aloha-premium-home__work-gallery-head h2,
.aloha-premium-home__service-directory-head h2 {
	max-width: 15ch;
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(1.9rem, 3.6vw, 3.15rem);
	font-weight: 850;
	letter-spacing: -0.055em;
	line-height: 1.04;
	text-wrap: balance;
}

.aloha-premium-home__work-gallery-head > p {
	max-width: 34rem;
	margin: 0;
	color: var(--aloha-muted);
	font-size: 0.98rem;
	line-height: 1.62;
}

.aloha-premium-home__work-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.9rem, 1.8vw, 1.25rem);
}

.aloha-premium-home__work-card {
	display: grid;
	grid-template-rows: minmax(12rem, 14.5rem) auto;
	overflow: hidden;
	border: 1px solid rgb(13 47 79 / 11%);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 0.8rem 2rem rgb(8 36 64 / 7%);
	color: var(--aloha-midnight) !important;
	text-decoration: none !important;
	transition: transform 200ms ease, box-shadow 200ms ease;
}

.aloha-premium-home__work-card:hover,
.aloha-premium-home__work-card:focus,
.aloha-premium-home__work-card:focus-visible {
	box-shadow: var(--aloha-shadow-card);
	transform: translateY(-4px);
}

.aloha-premium-home__work-card figure {
	margin: 0;
	overflow: hidden;
	background: var(--aloha-midnight);
}

.aloha-premium-home__work-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 520ms cubic-bezier(.2, .7, .2, 1);
}

.aloha-premium-home__work-card:hover img,
.aloha-premium-home__work-card:focus img {
	transform: scale(1.045);
}

.aloha-premium-home__work-card-copy {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.35rem 0.75rem;
	padding: 1.15rem 1.15rem 1.25rem;
}

.aloha-premium-home__work-card strong {
	grid-column: 1;
	color: var(--aloha-midnight);
	font-size: 1.1rem;
	font-weight: 850;
	letter-spacing: -0.032em;
	line-height: 1.15;
}

.aloha-premium-home__work-card small {
	grid-column: 1;
	color: var(--aloha-muted);
	font-size: 0.84rem;
	line-height: 1.48;
}

.aloha-premium-home__work-card i,
.aloha-premium-home__service-directory-grid i {
	display: inline-grid;
	width: 1.85rem;
	height: 1.85rem;
	place-items: center;
	border-radius: 50%;
	background: var(--aloha-orange);
	color: #fff;
	font-size: 1rem;
	font-style: normal;
	font-weight: 850;
	line-height: 1;
}

.aloha-premium-home__work-card i {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
}

.aloha-premium-home__service-directory {
	max-width: 1200px;
	margin: clamp(4.5rem, 8vw, 6.5rem) auto 0;
}

.aloha-premium-home__service-directory-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1.25rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.3rem);
}

.aloha-premium-home__service-directory-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.aloha-premium-home__service-directory-grid a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.35rem 0.8rem;
	min-height: 8.9rem;
	padding: 1.1rem 1.1rem 1.15rem;
	border: 1px solid rgb(13 47 79 / 11%);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 0.7rem 1.6rem rgb(8 36 64 / 5%);
	color: var(--aloha-midnight) !important;
	text-decoration: none !important;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.aloha-premium-home__service-directory-grid a:hover,
.aloha-premium-home__service-directory-grid a:focus,
.aloha-premium-home__service-directory-grid a:focus-visible {
	border-color: rgb(4 107 210 / 28%);
	box-shadow: var(--aloha-shadow-card);
	transform: translateY(-3px);
}

.aloha-premium-home__service-directory-grid strong {
	grid-column: 1;
	color: var(--aloha-midnight);
	font-size: 1rem;
	font-weight: 850;
	letter-spacing: -0.024em;
	line-height: 1.2;
}

.aloha-premium-home__service-directory-grid span {
	grid-column: 1;
	align-self: start;
	color: var(--aloha-muted);
	font-size: 0.8rem;
	line-height: 1.45;
}

.aloha-premium-home__service-directory-grid i {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: end;
}

.aloha-premium-home__process {
	grid-template-columns: minmax(16rem, 0.74fr) minmax(0, 1.26fr);
	align-items: start;
	gap: clamp(2rem, 6vw, 6rem);
	margin-top: clamp(4.5rem, 10vw, 9rem);
	margin-bottom: clamp(4.5rem, 9vw, 8rem);
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1.4rem, 5vw, 4.7rem);
	border-radius: var(--aloha-radius-xl);
	background:
		radial-gradient(circle at 88% 15%, rgb(54 181 255 / 15%), transparent 26rem),
		linear-gradient(180deg, #f4f9fd, #edf5fa);
}

.aloha-premium-home__process-intro > p:last-child {
	margin-top: 1.2rem;
}

.aloha-premium-home__process-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 1px;
	border-radius: 14px;
	background: rgb(81 114 143 / 20%);
	list-style: none;
	overflow: hidden;
}

.aloha-premium-home__process-step {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 15.5rem;
	padding: clamp(1.2rem, 2.5vw, 1.6rem);
	background: rgb(255 255 255 / 76%);
}

.aloha-premium-home__step-number {
	display: grid;
	width: 2.35rem;
	height: 2.35rem;
	place-items: center;
	margin-bottom: 2.8rem;
	border-radius: 50%;
	background: var(--aloha-electric-soft);
	color: var(--aloha-deep-navy);
	font-size: 0.71rem;
	font-weight: 850;
	letter-spacing: 0.04em;
}

.aloha-premium-home__process-step h3 {
	margin: 0;
	color: var(--aloha-midnight) !important;
	font-size: clamp(1.12rem, 1.6vw, 1.36rem);
	font-weight: 850;
	letter-spacing: -0.032em;
	line-height: 1.14;
}

.aloha-premium-home__process-step p {
	margin: 0.65rem 0 0;
	color: var(--aloha-muted);
	font-size: 0.91rem;
	line-height: 1.58;
}

/* A visible route into the diary gives visitors useful help before they need
 * to call. It is deliberately topic-led rather than a generic "blog" block. */
.aloha-premium-home__diary {
	position: relative;
	display: grid;
	grid-template-columns: minmax(16rem, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(1.75rem, 5vw, 5rem);
	align-items: center;
	margin: 0 auto clamp(4.5rem, 9vw, 8rem);
	padding: clamp(2rem, 5vw, 4.2rem);
	border-radius: var(--aloha-radius-xl);
	overflow: hidden;
	background:
		radial-gradient(circle at 87% 10%, rgb(52 181 255 / 22%), transparent 19rem),
		linear-gradient(118deg, #071b33 0%, #0b315d 72%, #114a7e 100%);
	box-shadow: 0 24px 48px rgb(5 25 49 / 16%);
	color: #fff;
}

.aloha-premium-home__diary::after {
	position: absolute;
	right: -14rem;
	bottom: -18rem;
	width: 35rem;
	aspect-ratio: 1;
	border: 1px solid rgb(174 225 255 / 16%);
	border-radius: 50%;
	box-shadow: 0 0 0 4rem rgb(125 211 255 / 3%), 0 0 0 9rem rgb(125 211 255 / 2%);
	content: '';
	pointer-events: none;
}

.aloha-premium-home__diary-copy,
.aloha-premium-home__diary-topics {
	position: relative;
	z-index: 1;
}

.aloha-premium-home__diary .aloha-premium-home__section-kicker {
	color: #9edcff;
}

.aloha-premium-home__diary h2 {
	max-width: 12ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(2rem, 3.8vw, 3.4rem);
	font-weight: 850;
	letter-spacing: -0.06em;
	line-height: 1.02;
}

.aloha-premium-home__diary-copy > p:not(.aloha-premium-home__section-kicker) {
	max-width: 34rem;
	margin: 1.05rem 0 0;
	color: #d9e9f5;
	font-size: 1rem;
	line-height: 1.65;
}

.aloha-premium-home__diary-link {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	margin-top: 1.5rem;
	color: #fff !important;
	font-size: 0.92rem;
	font-weight: 850;
	text-decoration: none !important;
}

.aloha-premium-home__diary-link span {
	color: var(--aloha-electric);
	font-size: 1.25rem;
	transition: transform 180ms ease;
}

.aloha-premium-home__diary-link:hover span,
.aloha-premium-home__diary-link:focus span {
	transform: translateX(0.22rem);
}

.aloha-premium-home__diary-topics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.72rem;
}

.aloha-premium-home__diary-topics a {
	display: flex;
	min-height: 11.5rem;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.15rem;
	border: 1px solid rgb(191 231 255 / 21%);
	border-radius: 16px;
	background: rgb(5 24 45 / 30%);
	color: #fff !important;
	text-decoration: none !important;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.aloha-premium-home__diary-topics a:hover,
.aloha-premium-home__diary-topics a:focus {
	border-color: rgb(163 222 255 / 56%);
	background: rgb(19 66 109 / 68%);
	transform: translateY(-3px);
}

.aloha-premium-home__diary-topics strong {
	font-size: 1rem;
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.16;
}

.aloha-premium-home__diary-topics span {
	margin-top: 0.65rem;
	color: #c8e2f2;
	font-size: 0.8rem;
	line-height: 1.5;
}

@media (max-width: 921px) {
	.aloha-premium-home__diary {
		grid-template-columns: 1fr;
		gap: 1.7rem;
	}
}

@media (max-width: 600px) {
	.aloha-premium-home__diary {
		margin-bottom: 3.8rem;
		padding: 1.45rem;
		border-radius: 20px;
	}

	.aloha-premium-home__diary-topics {
		grid-template-columns: 1fr;
	}

	.aloha-premium-home__diary-topics a {
		min-height: 0;
	}
}

.aloha-premium-home__contact-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem 5rem;
	margin: 0 calc(50% - 50vw);
	padding: clamp(3.6rem, 7vw, 6.5rem) max(1.3rem, calc((100vw - 1200px) / 2));
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 15%, rgb(54 181 255 / 20%), transparent 28rem),
		linear-gradient(112deg, var(--aloha-midnight), #0a315e);
	color: #fff;
	isolation: isolate;
}

.aloha-premium-home__contact-panel::after {
	position: absolute;
	z-index: -1;
	right: -17rem;
	bottom: -24rem;
	width: 47rem;
	aspect-ratio: 1;
	border: 1px solid rgb(168 224 255 / 20%);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgb(54 181 255 / 4%), 0 0 0 11rem rgb(54 181 255 / 3%);
	content: '';
}

.aloha-premium-home__contact-copy {
	position: relative;
	z-index: 1;
	max-width: 40rem;
}

.aloha-premium-home__contact-copy .aloha-premium-home__section-kicker {
	color: var(--aloha-electric-soft);
}

.aloha-premium-home__contact-copy h2 {
	color: #fff !important;
}

.aloha-premium-home__contact-copy > p:not(.aloha-premium-home__section-kicker) {
	max-width: 37rem;
	margin: 1.15rem 0 0;
	color: #d9e8f4;
	font-size: 1.05rem;
	line-height: 1.68;
}

.aloha-premium-home__address {
	display: inline-flex;
	margin-top: 1.35rem;
	color: #bcdcf0;
	font-size: 0.92rem;
	font-style: normal;
	font-weight: 750;
	line-height: 1.5;
}

.aloha-premium-home__contact-actions {
	position: relative;
	z-index: 1;
	align-self: center;
	flex: 0 1 18rem;
	flex-direction: column;
	align-items: stretch;
	min-width: min(100%, 18rem);
	margin: 0;
}

.aloha-premium-home__contact-actions .aloha-premium-button {
	width: 100%;
}

.aloha-premium-home__map-link {
	justify-content: center;
	margin-top: 0.3rem;
	color: #dfeffc !important;
	text-decoration: underline !important;
	text-decoration-color: rgb(223 239 252 / 35%) !important;
	text-underline-offset: 0.22em;
}

.aloha-premium-home__map-link span {
	color: var(--aloha-electric);
	font-size: 1.05rem;
}

/* Compact conversion ribbon inserted under the existing core service-page
 * title. It creates a consistent next step without replacing its long-form
 * source material. */
.aloha-premium-service-ribbon {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.4rem 2rem;
	margin: -1.1rem 0 clamp(2.2rem, 4vw, 3.3rem);
	padding: clamp(1.15rem, 2.5vw, 1.5rem) clamp(1.2rem, 3vw, 2rem);
	border: 1px solid rgb(54 181 255 / 20%);
	border-radius: var(--aloha-radius-lg);
	background: linear-gradient(110deg, #0b2749, #0d3d70);
	box-shadow: var(--aloha-shadow-card);
	color: #fff;
}

.aloha-premium-service-ribbon > p {
	max-width: 33rem;
	margin: 0;
	color: #e0edf7;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.48;
}

.aloha-premium-service-ribbon__actions {
	margin: 0;
}

.aloha-premium-service-ribbon__booking,
.aloha-premium-service-ribbon__call {
	min-height: 2.9rem;
	padding-inline: 0.95rem;
	font-size: 0.83rem;
}

@media (max-width: 921px) {
	.aloha-premium-home__hero {
		padding-inline: 1.25rem;
	}

	.aloha-premium-home__hero-grid {
		grid-template-columns: 1fr;
		min-height: min(43rem, 79vh);
	}

	.aloha-premium-home__hero-content {
		align-self: end;
		padding-top: clamp(4rem, 13vw, 6rem);
		padding-bottom: clamp(3.3rem, 10vw, 5rem);
	}

	.aloha-premium-home__hero-media {
		position: absolute;
		/* A negative stack level falls behind this isolated hero's navy
		 * background on phones. Keep the genuine workshop image behind the
		 * copy, but inside the visible stacking context. */
		z-index: 0;
		inset: 0;
		min-height: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.aloha-premium-home__hero-media::before {
		background: linear-gradient(180deg, rgb(4 18 35 / 34%) 0%, rgb(4 18 35 / 81%) 62%, rgb(4 18 35 / 98%) 100%);
	}

	.aloha-premium-home__hero-media::after {
		right: 1.25rem;
		bottom: 1.3rem;
	}

	.aloha-premium-home__trust {
		grid-template-columns: 1fr;
		max-width: calc(100% - 2.5rem);
		margin-top: -1.7rem;
	}

	.aloha-premium-home__trust-item {
		min-height: auto;
	}

	.aloha-premium-home__section,
	.aloha-premium-home__process,
	.aloha-premium-home__reviews {
		max-width: none;
		margin-inline: 0;
	}

	.aloha-premium-home__section-heading,
	.aloha-premium-home__process {
		grid-template-columns: 1fr;
		gap: 1.2rem;
	}

	.aloha-premium-home__section-heading > p:last-child {
		grid-column: auto;
		grid-row: auto;
		margin-top: 0;
	}

	.aloha-premium-home__services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aloha-premium-home__service-card {
		min-height: clamp(20rem, 43vw, 23rem);
	}

	.aloha-premium-home__work-gallery-head {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.aloha-premium-home__work-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aloha-premium-home__service-directory-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aloha-premium-home__process-steps {
		grid-template-columns: 1fr;
	}

	.aloha-premium-home__process-step {
		min-height: 0;
	}

	.aloha-premium-home__step-number {
		margin-bottom: 1.5rem;
	}

	.aloha-premium-home__contact-panel {
		grid-template-columns: 1fr;
		padding-inline: 1.25rem;
	}

	.aloha-premium-home__contact-actions {
		align-items: stretch;
		min-width: 0;
	}

	.aloha-premium-service-ribbon {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 680px) {
	.aloha-premium-home__services,
	.aloha-premium-home__work-gallery-grid,
	.aloha-premium-home__service-directory-grid {
		grid-template-columns: 1fr;
	}

	.aloha-premium-home__service-card {
		min-height: 19.5rem;
		aspect-ratio: auto;
	}

	.aloha-premium-home__work-gallery {
		padding: 1.15rem;
		border-radius: 20px;
	}

	.aloha-premium-home__work-card {
		grid-template-rows: 13.5rem auto;
	}

	.aloha-premium-home__service-directory-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.aloha-premium-home__service-directory-grid a {
		min-height: 7.8rem;
	}
}

@media (max-width: 600px) {
	.aloha-premium-home__hero {
		min-height: 39rem;
	}

	.aloha-premium-home__title {
		max-width: 13.25ch;
		font-size: clamp(2.75rem, 12vw, 4.3rem);
	}

	.aloha-premium-home__lede {
		font-size: 1rem;
		line-height: 1.58;
	}

	.aloha-premium-home__actions,
	.aloha-premium-home__contact-actions,
	.aloha-premium-service-ribbon__actions {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.aloha-premium-home .aloha-premium-button,
	.aloha-premium-service-ribbon__booking,
	.aloha-premium-service-ribbon__call {
		width: 100%;
	}

	.aloha-premium-home__trust {
		max-width: calc(100% - 2rem);
	}

	.aloha-premium-home__section-heading h2,
	.aloha-premium-home__process h2,
	.aloha-premium-home__contact-copy h2 {
		font-size: clamp(1.9rem, 9vw, 2.55rem);
	}

	.aloha-premium-home__service-card,
	.aloha-premium-home__process {
		border-radius: 20px;
	}

	.aloha-premium-home__service-body {
		padding: 1.3rem;
	}

	.aloha-premium-home__contact-panel {
		padding-block: 3.8rem;
	}

	.aloha-premium-service-ribbon {
		margin-top: -0.5rem;
		border-radius: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aloha-premium-home .aloha-premium-button,
	.aloha-premium-home__service-card,
	.aloha-premium-home__service-media img,
	.aloha-premium-home__service-link span,
	.aloha-premium-service-ribbon__booking,
	.aloha-premium-service-ribbon__call {
		transition: none !important;
	}

	.aloha-premium-home .aloha-premium-button:hover,
	.aloha-premium-home .aloha-premium-button:focus,
	.aloha-premium-home__service-card:hover,
	.aloha-premium-home__service-card:focus-within,
	.aloha-premium-home__service-card:hover .aloha-premium-home__service-media img,
	.aloha-premium-home__service-card:focus-within .aloha-premium-home__service-media img,
	.aloha-premium-home__service-link:hover span,
	.aloha-premium-home__service-link:focus span,
	.aloha-premium-service-ribbon__booking:hover,
	.aloha-premium-service-ribbon__booking:focus,
	.aloha-premium-service-ribbon__call:hover,
	.aloha-premium-service-ribbon__call:focus {
		transform: none;
	}
}

/* -------------------------------------------------------------------------
 * Header and direct-call refinements
 * ------------------------------------------------------------------------- */

#masthead,
body.ast-theme-transparent-header #masthead {
	border-bottom: 1px solid rgb(13 49 85 / 9%);
	box-shadow: 0 9px 30px rgb(12 35 64 / 11%);
}

.aloha-utility-bar {
	border-bottom: 1px solid rgb(255 255 255 / 12%);
	background: #0d2e55;
}

.aloha-utility-bar__inner {
	min-height: 40px;
	justify-content: space-between;
	gap: 1rem;
}

.aloha-utility-bar__meta {
	color: #bcd9ec;
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.025em;
}

.aloha-utility-bar .aloha-utility-bar__call {
	display: inline-flex;
	min-height: 30px;
	align-items: center;
	gap: 0.5rem;
	padding: 0.2rem 0.82rem;
	border: 1px solid rgb(255 255 255 / 23%);
	border-radius: 999px;
	background: rgb(255 255 255 / 7%);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.aloha-utility-bar .aloha-utility-bar__call strong {
	color: #fff;
	font-weight: 850;
}

.aloha-utility-bar .aloha-utility-bar__call:hover,
.aloha-utility-bar .aloha-utility-bar__call:focus {
	border-color: var(--aloha-orange);
	background: var(--aloha-orange);
	color: #fff;
	transform: translateY(-1px);
}

.aloha-local-footer-contact__call {
	display: inline-flex;
	min-height: 2.45rem;
	align-items: center;
	gap: 0.45rem;
	margin-left: auto;
	padding: 0.45rem 0.88rem;
	border-radius: 999px;
	background: var(--aloha-orange);
	box-shadow: 0 8px 18px rgb(0 13 31 / 20%);
	color: #fff !important;
	font-size: 0.8rem;
	text-decoration: none !important;
}

.aloha-local-footer-contact__call span {
	font-weight: 750;
}

.aloha-local-footer-contact__call strong {
	font-weight: 850;
}

.aloha-local-footer-contact__call:hover,
.aloha-local-footer-contact__call:focus {
	background: var(--aloha-orange-deep);
	color: #fff !important;
}

.aloha-local-footer-contact a.aloha-local-footer-contact__studio {
	color: #c7dfef;
	font-size: 0.82rem;
	font-weight: 750;
	text-decoration: none;
}

.aloha-local-footer-contact a.aloha-local-footer-contact__studio:hover,
.aloha-local-footer-contact a.aloha-local-footer-contact__studio:focus {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

.aloha-local-footer-contact__studio span {
	color: var(--aloha-electric);
}

.aloha-premium-home__hero-media img {
	object-position: 65% center;
}

/* The header brand is one compact, readable unit: a crisp local mark plus a
 * real text link.  It replaces the tiny imported logo and oversized static
 * site title without changing the production Customizer records. */
#ast-desktop-header .site-branding,
#ast-mobile-header .site-branding {
	display: inline-flex;
	flex: 0 1 auto;
	align-items: center;
	gap: 0.65rem;
	max-width: none;
	min-width: 0;
}

#ast-desktop-header .site-logo-img,
#ast-mobile-header .site-logo-img {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	padding-right: 0;
	line-height: 0;
}

#ast-desktop-header .aloha-local-header-logo-link,
#ast-mobile-header .aloha-local-header-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	text-decoration: none;
}

#ast-desktop-header .ast-site-title-wrap,
#ast-mobile-header .ast-site-title-wrap {
	min-width: 0;
	margin: 0;
}

#ast-desktop-header .aloha-site-title,
#ast-mobile-header .aloha-site-title {
	display: block;
	line-height: 1;
}

#ast-desktop-header .aloha-site-title > a,
#ast-mobile-header .aloha-site-title > a {
	display: grid;
	gap: 0.14rem;
	color: var(--aloha-navy) !important;
	text-decoration: none;
}

#ast-desktop-header .aloha-site-title__name,
#ast-mobile-header .aloha-site-title__name {
	font-size: 1.05rem;
	font-weight: 850;
	letter-spacing: -0.035em;
	line-height: 1;
}

#ast-desktop-header .aloha-site-title__place,
#ast-mobile-header .aloha-site-title__place {
	color: #46708f;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.045em;
	line-height: 1;
	text-transform: uppercase;
}

#ast-desktop-header .aloha-local-header-logo-link:focus-visible,
#ast-mobile-header .aloha-local-header-logo-link:focus-visible,
#ast-desktop-header .aloha-site-title > a:focus-visible,
#ast-mobile-header .aloha-site-title > a:focus-visible {
	outline: 3px solid var(--aloha-orange);
	outline-offset: 4px;
}

@media (min-width: 922px) {
	#ast-desktop-header .ast-primary-header-bar,
	#ast-desktop-header .main-header-bar {
		min-height: 74px;
	}

	#ast-desktop-header .ast-primary-header-bar .ast-container,
	#ast-desktop-header .main-header-bar .ast-container {
		min-height: 74px;
	}

	#ast-desktop-header .site-branding {
		max-width: none;
	}

	#ast-desktop-header .custom-logo-link img,
	#ast-desktop-header .site-logo-img img {
		display: block;
		width: 60px;
		height: 60px;
		max-width: none;
		max-height: none;
		object-fit: contain;
	}

	#ast-desktop-header .main-header-menu {
		align-items: stretch;
		gap: 0.1rem;
	}

	#ast-desktop-header .main-header-menu .menu-link {
		position: relative;
		display: flex;
		min-height: 74px;
		align-items: center;
		padding-inline: 0.78rem;
		border-radius: 0.55rem 0.55rem 0 0;
		font-size: 0.84rem;
		font-weight: 800;
		letter-spacing: -0.01em;
		transition: background-color 160ms ease, color 160ms ease;
	}

	#ast-desktop-header .main-header-menu .menu-link::after {
		position: absolute;
		right: 0.78rem;
		bottom: 0;
		left: 0.78rem;
		height: 3px;
		border-radius: 99px 99px 0 0;
		background: transparent;
		content: '';
	}

	#ast-desktop-header .main-header-menu .menu-item.current-menu-item > .menu-link::after,
	#ast-desktop-header .main-header-menu .menu-item.current_page_item > .menu-link::after {
		background: var(--aloha-orange);
	}

	#ast-desktop-header .main-header-menu .menu-link:hover,
	#ast-desktop-header .main-header-menu .menu-link:focus {
		background: #f0f7fc;
		color: var(--aloha-navy) !important;
	}
}

@media (min-width: 922px) and (max-width: 1180px) {
	#ast-desktop-header .site-branding {
		gap: 0.48rem;
	}

	#ast-desktop-header .custom-logo-link img,
	#ast-desktop-header .site-logo-img img {
		width: 52px;
		height: 52px;
	}

	#ast-desktop-header .aloha-site-title__name {
		font-size: 0.92rem;
	}

	#ast-desktop-header .aloha-site-title__place {
		font-size: 0.57rem;
	}

	#ast-desktop-header .main-header-menu .menu-link {
		min-height: 68px;
		padding-inline: 0.43rem;
		font-size: 0.7rem;
	}
}

@media (max-width: 921px) {
	body,
	body.home {
		padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
	}

	body.home .aloha-mobile-cta {
		display: block !important;
	}

	#ast-mobile-header .ast-primary-header-bar,
	#ast-mobile-header .main-header-bar {
		min-height: 68px;
	}

	#ast-mobile-header .site-branding {
		max-width: none;
		gap: 0.5rem;
	}

	#ast-mobile-header .custom-logo-link img,
	#ast-mobile-header .site-logo-img img {
		display: block;
		width: 50px;
		height: 50px;
		max-width: none;
		max-height: none;
		object-fit: contain;
	}

	#ast-mobile-header .aloha-site-title__name {
		font-size: 0.94rem;
	}

	#ast-mobile-header .aloha-site-title__place {
		font-size: 0.58rem;
	}

	[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal,
	[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle {
	display: inline-grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 1px solid rgb(13 49 85 / 14%) !important;
	border-radius: 12px;
	background: #eef7fc !important;
	box-shadow: none !important;
	color: var(--aloha-navy) !important;
}

	[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:hover,
	[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:focus,
	[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle:hover,
	[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle:focus {
		border-color: var(--aloha-orange) !important;
		background: var(--aloha-orange) !important;
		color: #fff !important;
}

	#ast-mobile-header .ast-mobile-popup-content {
		border-top: 1px solid rgb(13 49 85 / 9%);
		background: #fff;
		box-shadow: 0 18px 28px rgb(10 35 64 / 12%);
	}

	#ast-mobile-header .ast-mobile-popup-content .main-header-menu {
		padding: 0.6rem 1rem 1rem;
	}

	#ast-mobile-header .ast-mobile-popup-content .main-header-menu .menu-link {
		display: flex;
		min-height: 50px;
		align-items: center;
		padding: 0.7rem 0.75rem;
		border-bottom: 1px solid rgb(13 49 85 / 9%);
		border-radius: 0.65rem;
		font-size: 0.98rem;
		font-weight: 800;
	}

	#ast-mobile-site-navigation .menu-link {
		display: flex;
		min-height: 50px;
		align-items: center;
		padding: 0.7rem 0.75rem;
		border-bottom: 1px solid rgb(13 49 85 / 9%);
		border-radius: 0.65rem;
		font-size: 0.98rem;
		font-weight: 800;
	}

	#ast-mobile-header .ast-mobile-popup-content .main-header-menu .menu-link:hover,
	#ast-mobile-header .ast-mobile-popup-content .main-header-menu .menu-link:focus {
		background: #eff7fc;
		color: var(--aloha-navy) !important;
	}

	#ast-mobile-site-navigation .menu-link:hover,
	#ast-mobile-site-navigation .menu-link:focus {
		background: #eff7fc;
		color: var(--aloha-navy) !important;
	}

	.aloha-mobile-cta {
		position: fixed;
		z-index: 1100;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		padding-bottom: env(safe-area-inset-bottom);
		background: var(--aloha-orange);
		box-shadow: 0 -7px 22px rgb(7 25 46 / 24%);
	}

	.aloha-mobile-cta .aloha-mobile-cta__call {
		display: flex;
		min-height: 70px;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		padding: 0.75rem 1.25rem;
		background: var(--aloha-orange);
		color: #fff;
		font-size: 0.88rem;
		font-weight: 800;
		line-height: 1.18;
		text-decoration: none !important;
	}

	.aloha-mobile-cta .aloha-mobile-cta__call span {
		font-weight: 800;
		white-space: nowrap;
	}

	.aloha-mobile-cta .aloha-mobile-cta__call strong {
		font-size: 0.92rem;
		font-weight: 850;
		white-space: nowrap;
	}

	.aloha-local-footer-contact__call {
		display: none;
	}

	.aloha-premium-home__hero-media img {
		object-position: 58% center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aloha-utility-bar .aloha-utility-bar__call {
		transition: none;
	}

	.aloha-utility-bar .aloha-utility-bar__call:hover,
	.aloha-utility-bar .aloha-utility-bar__call:focus {
		transform: none;
	}
}

/* -------------------------------------------------------------------------
 * Service diary: editorial archive and article reading experience
 * ------------------------------------------------------------------------- */

body.blog .content-area.primary {
	width: 100%;
}

body.blog .site-content {
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.aloha-diary-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(17rem, 0.75fr);
	gap: clamp(1.5rem, 5vw, 5rem);
	align-items: end;
	margin: clamp(1.25rem, 3vw, 2.5rem) 0 2rem;
	padding: clamp(1.7rem, 5vw, 4.25rem);
	border-radius: 30px;
	overflow: hidden;
	background:
		radial-gradient(circle at 86% 10%, rgb(55 181 255 / 28%) 0 1px, transparent 1px 100%),
		radial-gradient(circle at 97% 86%, rgb(255 99 50 / 30%) 0, transparent 35%),
		linear-gradient(132deg, #071b33 0%, #0b315d 58%, #10518a 100%);
	box-shadow: 0 25px 55px rgb(5 25 49 / 18%);
	color: #fff;
}

.aloha-diary-hero::after {
	position: absolute;
	top: -12rem;
	right: -7rem;
	width: 31rem;
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: 50%;
	box-shadow: 0 0 0 3rem rgb(255 255 255 / 4%), 0 0 0 6.5rem rgb(255 255 255 / 3%);
	content: '';
	pointer-events: none;
}

.aloha-diary-hero__copy,
.aloha-diary-hero__topics {
	position: relative;
	z-index: 1;
}

.aloha-diary-hero__eyebrow,
.aloha-diary-article-intro__topic,
.aloha-diary-article-actions > div > p {
	margin: 0 0 0.8rem;
	color: #9fdcff;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.aloha-diary-hero h1 {
	max-width: 11ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(2.35rem, 5vw, 4.5rem);
	font-weight: 850;
	letter-spacing: -0.065em;
	line-height: 0.98;
}

.aloha-diary-hero__copy > p:last-child {
	max-width: 37rem;
	margin: 1.25rem 0 0;
	color: #d7eafa;
	font-size: 1.05rem;
	line-height: 1.65;
}

.aloha-diary-hero__topics {
	display: grid;
	gap: 0.7rem;
	align-self: center;
}

.aloha-diary-hero__topics a {
	display: flex;
	min-height: 3.85rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.8rem 1rem 0.8rem 1.15rem;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 14px;
	background: rgb(255 255 255 / 9%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
	color: #fff !important;
	font-size: 0.9rem;
	font-weight: 800;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.aloha-diary-hero__topics strong {
	display: grid;
	width: 1.8rem;
	height: 1.8rem;
	place-items: center;
	border-radius: 50%;
	background: var(--aloha-orange);
	color: #fff;
	font-size: 1.05rem;
}

.aloha-diary-hero__topics a:hover,
.aloha-diary-hero__topics a:focus {
	border-color: rgb(255 255 255 / 55%);
	background: rgb(255 255 255 / 17%);
	color: #fff !important;
	transform: translateX(3px);
}

body.blog .site-main > .ast-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.6rem);
	margin: 0 !important;
}

body.blog .site-main > .ast-row > .ast-article-post {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.blog .site-main > .ast-row > .ast-article-post:first-child {
	grid-column: 1 / -1;
}

.aloha-diary-card {
	display: flex;
	height: 100%;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgb(15 54 94 / 11%);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 13px 30px rgb(7 32 61 / 8%);
	transition: box-shadow 220ms ease, transform 220ms ease, border-color 220ms ease;
}

.aloha-diary-card:hover,
.aloha-diary-card:focus-within {
	border-color: rgb(4 107 210 / 24%);
	box-shadow: 0 22px 42px rgb(7 32 61 / 15%);
	transform: translateY(-4px);
}

.aloha-diary-card__media {
	position: relative;
	display: block;
	min-height: 12.5rem;
	overflow: hidden;
	background: linear-gradient(135deg, #0a2e55, #0d5590);
	color: #fff !important;
	text-decoration: none;
}

.aloha-diary-card__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(4 21 41 / 3%) 25%, rgb(4 21 41 / 48%) 100%);
	content: '';
	pointer-events: none;
}

.aloha-diary-card__media img,
.aloha-diary-article-intro__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 440ms ease;
}

.aloha-diary-card:hover .aloha-diary-card__media img,
.aloha-diary-card:focus-within .aloha-diary-card__media img {
	transform: scale(1.045);
}

.aloha-diary-visual__shape {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: linear-gradient(135deg, #092542, #0c4b7b);
}

.aloha-diary-visual__shape::before,
.aloha-diary-visual__shape::after {
	position: absolute;
	width: clamp(11rem, 22vw, 17rem);
	aspect-ratio: 1;
	border: 2px solid rgb(154 220 255 / 42%);
	border-radius: 50%;
	box-shadow: 0 0 0 1.3rem rgb(154 220 255 / 8%), 0 0 0 3rem rgb(154 220 255 / 6%), 0 0 0 5.5rem rgb(154 220 255 / 5%);
	content: '';
}

.aloha-diary-visual__shape::after {
	width: 1rem;
	background: var(--aloha-orange);
	box-shadow: 0 0 0 0.5rem rgb(255 99 50 / 20%);
}

.aloha-diary-visual__shape span {
	position: relative;
	z-index: 1;
	max-width: 10ch;
	color: rgb(255 255 255 / 78%);
	font-size: clamp(1.45rem, 3vw, 2.25rem);
	font-weight: 850;
	letter-spacing: -0.06em;
	line-height: 0.95;
	text-align: center;
}

.aloha-diary-visual--drivetrain .aloha-diary-visual__shape,
.aloha-diary-visual--roadside .aloha-diary-visual__shape {
	background: linear-gradient(135deg, #0c1e35, #29445e);
}

.aloha-diary-visual--care .aloha-diary-visual__shape,
.aloha-diary-visual--service .aloha-diary-visual__shape {
	background: linear-gradient(135deg, #0c365b, #1676a7);
}

.aloha-diary-visual--tyres .aloha-diary-visual__shape::before {
	border-color: rgb(188 230 255 / 47%);
	box-shadow: 0 0 0 1.2rem rgb(188 230 255 / 10%), 0 0 0 2.7rem rgb(188 230 255 / 7%), 0 0 0 5rem rgb(188 230 255 / 5%);
}

.aloha-diary-card__body {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 2.5vw, 1.8rem);
}

.aloha-diary-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin: 0 0 0.8rem;
	color: #0b69b5;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.025em;
	line-height: 1.3;
}

.aloha-diary-card__meta span + span::before {
	display: inline-block;
	margin-right: 0.75rem;
	color: #95a7b9;
	content: '•';
}

.aloha-diary-card h2 {
	margin: 0;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 1.08;
}

.aloha-diary-card h2 a {
	color: var(--aloha-ink) !important;
	text-decoration: none;
}

.aloha-diary-card h2 a:hover,
.aloha-diary-card h2 a:focus {
	color: #0a6fc1 !important;
}

/* New virtual guides are introduced as a clear editorial block, not as a
 * second anonymous wall of cards. They remain inside the existing archive
 * grid and use the same visual language as the established articles. */
.aloha-diary-new-guides {
	grid-column: 1 / -1;
	margin: clamp(0.8rem, 2vw, 1.5rem) 0 clamp(0.5rem, 2vw, 1.25rem);
	padding: clamp(1.4rem, 3vw, 2.25rem);
	border: 1px solid #dbeaf3;
	border-radius: 22px;
	background: linear-gradient(135deg, #f3faff, #fff);
}

.aloha-diary-new-guides__header {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(18rem, 1.05fr);
	gap: 0.8rem clamp(1.5rem, 4vw, 4rem);
	align-items: end;
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.aloha-diary-new-guides__header > p {
	grid-column: 1;
	margin: 0 0 -0.45rem;
	color: #0a69b7;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.aloha-diary-new-guides__header h2 {
	grid-column: 1;
	margin: 0;
	color: var(--aloha-ink);
	font-size: clamp(1.65rem, 3vw, 2.45rem);
	font-weight: 850;
	letter-spacing: -0.055em;
	line-height: 1.02;
}

.aloha-diary-new-guides__header > span {
	grid-column: 2;
	grid-row: 1 / span 2;
	max-width: 33rem;
	color: var(--aloha-muted);
	font-size: 0.95rem;
	line-height: 1.65;
}

.aloha-diary-new-guides__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.9rem, 2vw, 1.35rem);
}

.aloha-diary-new-guides .aloha-diary-card h3 {
	margin: 0;
	font-size: clamp(1.18rem, 1.8vw, 1.48rem);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 1.08;
}

.aloha-diary-new-guides .aloha-diary-card h3 a {
	color: var(--aloha-ink) !important;
	text-decoration: none;
}

.aloha-diary-new-guides .aloha-diary-card h3 a:hover,
.aloha-diary-new-guides .aloha-diary-card h3 a:focus {
	color: #0a6fc1 !important;
}

@media (max-width: 860px) {
	.aloha-diary-new-guides__header {
		grid-template-columns: 1fr;
	}

	.aloha-diary-new-guides__header > span {
		grid-column: 1;
		grid-row: auto;
	}

	.aloha-diary-new-guides__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.aloha-diary-new-guides {
		padding: 1.1rem;
		border-radius: 18px;
	}

	.aloha-diary-new-guides__grid {
		grid-template-columns: 1fr;
	}
}

.aloha-diary-card__excerpt {
	margin: 0.95rem 0 1.35rem;
	color: var(--aloha-muted);
	font-size: 0.94rem;
	line-height: 1.65;
}

.aloha-diary-card__link {
	display: inline-flex;
	gap: 0.55rem;
	align-items: center;
	margin-top: auto;
	color: #0a69b7 !important;
	font-size: 0.88rem;
	font-weight: 850;
	text-decoration: none !important;
}

.aloha-diary-card__link span {
	display: grid;
	width: 1.45rem;
	height: 1.45rem;
	place-items: center;
	border-radius: 50%;
	background: #e6f5ff;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.aloha-diary-card__link:hover span,
.aloha-diary-card__link:focus span {
	background: var(--aloha-orange);
	color: #fff;
	transform: translateX(3px);
}

.aloha-diary-card--featured {
	display: grid;
	grid-template-columns: minmax(16rem, 0.9fr) minmax(0, 1.1fr);
	min-height: 22rem;
}

.aloha-diary-card--featured .aloha-diary-card__media {
	min-height: 100%;
}

.aloha-diary-card--featured .aloha-diary-card__body {
	justify-content: center;
	padding: clamp(1.6rem, 4vw, 3.3rem);
}

.aloha-diary-card--featured h2 {
	font-size: clamp(1.7rem, 3.6vw, 2.65rem);
}

.aloha-diary-card--featured .aloha-diary-card__excerpt {
	max-width: 39rem;
	font-size: 1rem;
}

body.blog .ast-pagination {
	margin-top: 2.25rem;
}

body.blog .ast-pagination .page-numbers {
	border-radius: 10px;
	font-weight: 800;
}

/* Article pages deliberately have a quieter, easier-to-scan reading column. */
body.single-post .ast-article-single {
	overflow: hidden;
	padding: 0 !important;
	border: 1px solid rgb(15 54 94 / 10%);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 45px rgb(7 32 61 / 9%);
}

.aloha-diary-article-intro {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(9rem, 0.4fr);
	gap: 1rem;
	min-height: 10rem;
	padding: clamp(1.3rem, 3vw, 2.25rem);
	overflow: hidden;
	background: linear-gradient(130deg, #08213e, #0d4f81);
}

.aloha-diary-article-intro::after {
	position: absolute;
	top: -5rem;
	right: -3rem;
	width: 17rem;
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 15%);
	border-radius: 50%;
	box-shadow: 0 0 0 1.5rem rgb(255 255 255 / 5%), 0 0 0 3.5rem rgb(255 255 255 / 4%);
	content: '';
	pointer-events: none;
}

.aloha-diary-article-intro__copy,
.aloha-diary-article-intro__visual {
	position: relative;
	z-index: 1;
}

.aloha-diary-article-intro__copy {
	align-self: center;
}

.aloha-diary-article-intro__back {
	display: inline-flex;
	gap: 0.55rem;
	align-items: center;
	align-self: start;
	width: max-content;
	max-width: 100%;
	color: #dff2ff !important;
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
}

.aloha-diary-article-intro__back:hover,
.aloha-diary-article-intro__back:focus {
	color: #fff !important;
	text-decoration: underline;
}

.aloha-diary-article-intro__topic {
	margin: 1.05rem 0 0.6rem;
}

.aloha-diary-article-intro h1 {
	max-width: 19ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(1.85rem, 4.1vw, 3.6rem);
	font-weight: 850;
	letter-spacing: -0.065em;
	line-height: 1.02;
}

.aloha-diary-article-intro__visual {
	grid-column: 2;
	min-height: 8rem;
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 16px;
	background: rgb(255 255 255 / 7%);
}

.aloha-diary-article-intro__visual .aloha-diary-visual__shape {
	background: transparent;
}

.aloha-diary-article-intro__visual .aloha-diary-visual__shape::before {
	width: 5.25rem;
	box-shadow: 0 0 0 0.7rem rgb(154 220 255 / 9%), 0 0 0 1.5rem rgb(154 220 255 / 7%);
}

body.single-post .ast-article-single .entry-header {
	margin: 0;
	padding: clamp(1.5rem, 4vw, 3.35rem) clamp(1.3rem, 5vw, 5.5rem) 1.25rem;
}

body.single-post .ast-article-single .entry-title {
	max-width: 20ch;
	margin: 0;
	color: var(--aloha-ink) !important;
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 850;
	letter-spacing: -0.065em;
	line-height: 1.01;
}

body.single-post .ast-article-single .entry-meta {
	display: none;
}

body.single-post .ast-article-single .entry-content {
	max-width: 50rem;
	margin: 0 auto;
	padding: 0 clamp(1.3rem, 5vw, 5.5rem) clamp(2rem, 5vw, 4.75rem);
	color: #324255;
	font-size: 1.04rem;
	line-height: 1.78;
}

body.single-post .ast-article-single .entry-content > :first-child {
	margin-top: 0;
	color: #24364a;
	font-size: 1.16rem;
	font-weight: 600;
	line-height: 1.72;
}

body.single-post .ast-article-single .entry-content h2 {
	margin-top: 2.8rem;
	padding-top: 1.15rem;
	border-top: 1px solid #dce7f0;
	color: #112b48;
	font-size: clamp(1.4rem, 2.7vw, 2rem);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 1.16;
}

body.single-post .ast-article-single .entry-content h3 {
	color: #173e67;
	font-weight: 800;
}

body.single-post .ast-article-single .entry-content li + li {
	margin-top: 0.45rem;
}

body.single-post .ast-article-single .entry-content blockquote {
	margin: 2rem 0;
	padding: 1.2rem 1.35rem;
	border: 0;
	border-left: 4px solid var(--aloha-orange);
	border-radius: 0 14px 14px 0;
	background: #eff8fe;
	color: #17466f;
	font-weight: 650;
}

body.single-post .ast-article-single .entry-content table {
	border: 1px solid #d6e3ed;
	border-radius: 12px;
	box-shadow: 0 8px 22px rgb(15 54 94 / 7%);
}

.aloha-diary-article-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.5rem;
	align-items: center;
	max-width: 54rem;
	margin: 1.5rem auto 2.5rem;
	padding: clamp(1.4rem, 3vw, 2rem);
	border-radius: 20px;
	background: linear-gradient(130deg, #0a2a4c, #0c4c7d);
	box-shadow: 0 20px 40px rgb(7 32 61 / 16%);
	color: #fff;
}

.aloha-diary-article-actions > div > p {
	margin-bottom: 0.45rem;
}

.aloha-diary-article-actions h2 {
	margin: 0;
	color: #fff !important;
	font-size: clamp(1.3rem, 2.5vw, 1.85rem);
	font-weight: 850;
	letter-spacing: -0.05em;
	line-height: 1.05;
}

.aloha-diary-article-actions > div > span {
	display: block;
	max-width: 37rem;
	margin-top: 0.7rem;
	color: #d5eaf9;
	font-size: 0.92rem;
	line-height: 1.55;
}

.aloha-diary-article-actions__links {
	display: grid;
	gap: 0.65rem;
	min-width: 13rem;
}

.aloha-diary-article-actions__links a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 0.9rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 850;
	line-height: 1.15;
	text-align: center;
	text-decoration: none !important;
}

.aloha-diary-article-actions__back {
	border: 1px solid rgb(255 255 255 / 28%);
	color: #fff !important;
}

.aloha-diary-article-actions__call {
	flex-direction: column;
	background: var(--aloha-orange);
	color: #fff !important;
}

.aloha-diary-article-actions__call strong {
	color: #fff;
	font-size: 0.75rem;
}

.aloha-diary-article-actions__back:hover,
.aloha-diary-article-actions__back:focus {
	border-color: #fff;
	background: rgb(255 255 255 / 10%);
	color: #fff !important;
}

.aloha-diary-article-actions__call:hover,
.aloha-diary-article-actions__call:focus {
	background: var(--aloha-orange-deep);
	color: #fff !important;
}

/* The page no longer embeds a third-party review carousel. This block keeps
 * the route to live Google feedback useful, factual and exceptionally light. */
.aloha-premium-home__reviews--lean {
	display: flex;
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: end;
	justify-content: space-between;
	padding: clamp(1.7rem, 4vw, 3rem);
	border: 1px solid #d9eaf6;
	border-radius: var(--aloha-radius-xl);
	background: linear-gradient(115deg, #eef9ff, #f8fcff 60%, #e7f5fd);
	box-shadow: 0 15px 34px rgb(5 24 47 / 8%);
}

.aloha-premium-home__reviews--lean .aloha-premium-home__section-heading {
	margin: 0;
}

.aloha-premium-home__reviews--lean .aloha-premium-home__section-heading h2 {
	max-width: 19ch;
}

.aloha-premium-home__reviews-link {
	display: inline-flex;
	min-height: 3.2rem;
	flex: 0 0 auto;
	gap: 0.7rem;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.15rem;
	border-radius: 999px;
	background: var(--aloha-orange);
	box-shadow: 0 10px 22px rgb(240 82 34 / 23%);
	color: #fff !important;
	font-size: 0.9rem;
	font-weight: 850;
	text-decoration: none !important;
	transition: background-color 180ms ease, transform 180ms ease;
}

.aloha-premium-home__reviews-link:hover,
.aloha-premium-home__reviews-link:focus {
	background: var(--aloha-orange-deep);
	color: #fff !important;
	transform: translateY(-2px);
}

@media (max-width: 921px) {
	.aloha-diary-hero {
		grid-template-columns: 1fr;
		gap: 1.6rem;
		margin: 1rem 0 1.5rem;
		border-radius: 22px;
	}

	.aloha-diary-hero h1 {
		font-size: clamp(2.25rem, 10vw, 3.4rem);
	}

	.aloha-diary-hero__topics {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.aloha-diary-hero__topics a {
		min-height: 4.8rem;
		padding: 0.7rem;
		font-size: 0.78rem;
		line-height: 1.2;
	}

	.aloha-diary-hero__topics strong {
		display: none;
	}

	body.blog .site-main > .ast-row {
		grid-template-columns: 1fr;
	}

	body.blog .site-main > .ast-row > .ast-article-post:first-child {
		grid-column: auto;
	}

	.aloha-diary-card--featured {
		grid-template-columns: minmax(10rem, 0.72fr) minmax(0, 1fr);
		min-height: 18rem;
	}

	.aloha-diary-card--featured .aloha-diary-card__body {
		padding: 1.35rem;
	}

	.aloha-diary-card--featured h2 {
		font-size: clamp(1.35rem, 5vw, 1.85rem);
	}

	.aloha-diary-card--featured .aloha-diary-card__excerpt {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	body.single-post .ast-article-single {
		border-radius: 18px;
	}

	.aloha-diary-article-actions {
		grid-template-columns: 1fr;
		margin-right: 0;
		margin-left: 0;
	}

	.aloha-diary-article-actions__links {
		grid-template-columns: 1fr 1fr;
		min-width: 0;
	}
}

@media (max-width: 600px) {
	.aloha-diary-hero {
		padding: 1.45rem;
	}

	.aloha-diary-hero__copy > p:last-child {
		font-size: 0.95rem;
	}

	.aloha-diary-hero__topics {
		grid-template-columns: 1fr;
	}

	.aloha-diary-hero__topics a {
		min-height: 3.2rem;
		padding: 0.65rem 0.85rem;
	}

	.aloha-diary-card--featured {
		grid-template-columns: 1fr;
	}

	.aloha-diary-card--featured .aloha-diary-card__media {
		min-height: 11.25rem;
	}

	.aloha-diary-card__media {
		min-height: 10.5rem;
	}

	.aloha-diary-card__body {
		padding: 1.2rem;
	}

	.aloha-diary-article-intro {
		grid-template-columns: minmax(0, 1fr) 5.7rem;
		min-height: 8rem;
		padding: 1.1rem;
	}

	.aloha-diary-article-intro__visual {
		min-height: 5.7rem;
		border-radius: 12px;
	}

	.aloha-diary-article-intro__visual .aloha-diary-visual__shape span {
		font-size: 0.78rem;
	}

	body.single-post .ast-article-single .entry-title {
		font-size: clamp(1.85rem, 8vw, 2.5rem);
	}

	body.single-post .ast-article-single .entry-content {
		font-size: 1rem;
	}

	body.single-post .ast-article-single .entry-content > :first-child {
		font-size: 1.06rem;
	}

	.aloha-diary-article-actions {
		padding: 1.25rem;
		border-radius: 16px;
	}

	.aloha-diary-article-actions__links {
		grid-template-columns: 1fr;
	}

	.aloha-premium-home__reviews--lean {
		align-items: stretch;
		flex-direction: column;
		padding: 1.4rem;
		border-radius: 20px;
	}

	.aloha-premium-home__reviews-link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aloha-diary-card,
	.aloha-diary-card__media img,
	.aloha-diary-hero__topics a,
	.aloha-diary-card__link span,
	.aloha-premium-home__reviews-link {
		transition: none !important;
	}

	.aloha-diary-card:hover,
	.aloha-diary-card:focus-within,
	.aloha-diary-hero__topics a:hover,
	.aloha-diary-hero__topics a:focus,
	.aloha-diary-card__link:hover span,
	.aloha-diary-card__link:focus span,
	.aloha-premium-home__reviews-link:hover,
	.aloha-premium-home__reviews-link:focus {
		transform: none;
	}
}
